diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..54a0cd3
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,7 @@
+# don't look above this dir
+root = true
+
+[**.{yaml,yml}]
+indent_style = space
+indent_style = 2
+trim_trailing_whitespace = true
diff --git a/.github/workflows/compare_build.yml b/.github/workflows/compare_build.yml
new file mode 100644
index 0000000..8d775ef
--- /dev/null
+++ b/.github/workflows/compare_build.yml
@@ -0,0 +1,18 @@
+---
+name: Compare build
+# yamllint disable-line rule:truthy
+on: [push, pull_request]
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ - name: Compare
+ run: |
+ cd build
+ ./build -file ../haproxy-spec.yaml > haproxy_spec_to_compare.yaml
+ diff -u haproxy_spec.yaml haproxy_spec_to_compare.yaml
+ - name: YAML script validation
+ run: |
+ chmod +x ./scripts/lint-yaml.sh
+ ./scripts/lint-yaml.sh
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..1bc0d6c
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,14 @@
+---
+name: Yaml Lint
+# yamllint disable-line rule:truthy
+on: [push, pull_request]
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ - name: yaml-lint
+ uses: ibiqlik/action-yamllint@master
+ with:
+ file_or_dir: .
+ config_file: .yamllint.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..202721a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,37 @@
+---
+stages:
+ - lint
+compare build:
+ stage: lint
+ image:
+ # I just like pinning things, this version is latest, not special in any way
+ name: alpine:3.10.3
+ entrypoint: [""]
+ tags:
+ - go
+ script:
+ # try building it and compare if resulting file is equal to what is commited.
+ - cd build
+ - ./build -file ../haproxy-spec.yaml > haproxy_spec_to_compare.yaml
+ - diff -u haproxy_spec_to_compare.yaml haproxy_spec.yaml
+yamllint:
+ stage: lint
+ image:
+ name: cytopia/yamllint:latest
+ entrypoint: [""]
+ tags:
+ - go
+ script:
+ # to test locally, run: docker run --rm -v $(pwd):/data cytopia/yamllint .
+ - /bin/sh -c "yamllint -f colored ."
+ - chmod +x ./scripts/lint-yaml.sh
+ - /bin/sh -c ./scripts/lint-yaml.sh
+lint-commit-msg:
+ stage: lint
+ image:
+ name: haproxytech/check-commit:latest
+ entrypoint: [""]
+ tags:
+ - go
+ script:
+ - go run /check.go
diff --git a/.yamllint.yml b/.yamllint.yml
new file mode 100644
index 0000000..cb99c69
--- /dev/null
+++ b/.yamllint.yml
@@ -0,0 +1,14 @@
+---
+extends: default
+
+ignore: |
+ build/
+
+rules:
+ line-length: disable
+ trailing-spaces:
+ level: warning
+ new-line-at-end-of-file:
+ level: warning
+ empty-lines:
+ level: warning
diff --git a/README.md b/README.md
index 96ccb77..d4a734f 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,43 @@
# 
+
+
+
+:warning: This project has been merged with [client-native](https://github.com/haproxytech/client-native) project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## HAProxy Data Plane API Specification
This is the [OpenAPI 2.0 (fka Swagger)](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md) specification for the [HAProxy Data Plane API project](https://github.com/haproxytech/dataplaneapi)
-## Contributing
+## Contributing
-When contributing change files located it paths/ and models/ directories and the haproxy-spec.yaml, and then build the resulting one-file spec using the build binary in build directory:
+When contributing, change files located in paths/ and models/ directories and the haproxy-spec.yaml, and then build the resulting one-file spec `build/haproxy_spec.yaml`.
-```
+On linux, use the `build` binary:
+
+```bash
+cd build
./build -file ../haproxy-spec.yaml > haproxy_spec.yaml
```
+On MacOS, you will need golang installed:
+
+```bash
+cd build
+go run build.go -file ../haproxy-spec.yaml > haproxy_spec.yaml
+```
+
For commit messages and general style please follow the haproxy project's [CONTRIBUTING guide](https://github.com/haproxy/haproxy/blob/master/CONTRIBUTING) and use that where applicable.
diff --git a/build/go.mod b/build/go.mod
index 29e7275..e3af0b2 100644
--- a/build/go.mod
+++ b/build/go.mod
@@ -2,4 +2,4 @@ module github.com/haproxytech/dataplaneapi-specification/build
go 1.12
-require gopkg.in/yaml.v2 v2.2.2
+require gopkg.in/yaml.v2 v2.2.8
diff --git a/build/go.sum b/build/go.sum
index bd555a3..ba2a066 100644
--- a/build/go.sum
+++ b/build/go.sum
@@ -1,3 +1,5 @@
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/build/haproxy_spec.yaml b/build/haproxy_spec.yaml
index 9e051f6..9f64df1 100644
--- a/build/haproxy_spec.yaml
+++ b/build/haproxy_spec.yaml
@@ -16,10 +16,11 @@ externalDocs:
definitions:
site:
additionalProperties: false
- description: "Site configuration. Sites are considered as one service and all farms
- connected to that service.\nFarms are connected to service using use-backend and
- default_backend directives. Sites let you\nconfigure simple HAProxy configurations,
- for more advanced options use /haproxy/configuration \nendpoints.\n"
+ description: |
+ Site configuration. Sites are considered as one service and all farms connected to that service.
+ Farms are connected to service using use-backend and default_backend directives. Sites let you
+ configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
+ endpoints.
example:
farms:
- balance:
@@ -139,7 +140,7 @@ definitions:
description: |
Sites array. Sites are considered as one service and all farms connected to that service.
Farms are connected to service using use-backend and default_backend directives. Sites let you
- configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
+ configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
endpoints.
type: array
items:
@@ -148,6 +149,10 @@ definitions:
additionalProperties: false
description: HAProxy global configuration
properties:
+ chroot:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: Chroot
cpu_maps:
items:
properties:
@@ -173,6 +178,35 @@ definitions:
external_check:
type: boolean
x-display-name: External Check
+ group:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: Group
+ log_send_hostname:
+ properties:
+ enabled:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ param:
+ pattern: ^[^\s]+$
+ type: string
+ required:
+ - enabled
+ type: object
+ x-display-name: Log Send Hostname
+ lua_loads:
+ items:
+ properties:
+ file:
+ pattern: ^[^\s]+$
+ type: string
+ required:
+ - file
+ type: object
+ x-go-name: LuaLoad
+ type: array
master-worker:
type: boolean
x-display-name: Master Worker Mode
@@ -219,21 +253,48 @@ definitions:
ssl_default_bind_ciphers:
type: string
x-display-name: SSL Default Bind Ciphers
+ ssl_default_bind_ciphersuites:
+ type: string
+ x-display-name: SSL Default Bind Ciphersuites
ssl_default_bind_options:
type: string
x-display-name: SSL Default Bind Options
+ ssl_default_server_ciphers:
+ type: string
+ x-display-name: SSL Default Server Ciphers
+ ssl_default_server_ciphersuites:
+ type: string
+ x-display-name: SSL Default Server Ciphersuites
+ ssl_default_server_options:
+ type: string
+ x-display-name: SSL Default Server Options
+ ssl_mode_async:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: Asynchronous TLS I/O operations
stats_timeout:
type: integer
x-nullable: true
tune_ssl_default_dh_param:
type: integer
x-display-name: SSL Default DH Parameter Size
+ user:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: User
title: Global
type: object
defaults:
additionalProperties: false
description: HAProxy defaults configuration
properties:
+ abortonclose:
+ enum:
+ - enabled
+ - disabled
+ type: string
adv_check:
enum:
- ssl-hello-chk
@@ -243,10 +304,20 @@ definitions:
- pgsql-check
- tcp-check
- redis-check
+ - httpchk
type: string
x-display-name: Advanced Check
+ allbackups:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: All Backups
balance:
$ref: '#/definitions/balance'
+ bind_process:
+ pattern: ^[^\s]+$
+ type: string
check_timeout:
type: integer
x-nullable: true
@@ -307,6 +378,14 @@ definitions:
x-display-name: External Check Path
forwardfor:
$ref: '#/definitions/forwardfor'
+ http-buffer-request:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: HTTP bufferrequest
+ http-check:
+ $ref: '#/definitions/http-check'
http-use-htx:
enum:
- enabled
@@ -330,8 +409,15 @@ definitions:
http_request_timeout:
type: integer
x-nullable: true
- httpchk:
- $ref: '#/definitions/httpchk'
+ http_reuse:
+ enum:
+ - aggressive
+ - always
+ - never
+ - safe
+ type: string
+ httpchk_params:
+ $ref: '#/definitions/httpchk_params'
httplog:
type: boolean
x-display-name: HTTP Log
@@ -348,6 +434,12 @@ definitions:
log_tag:
pattern: ^[^\s]+$
type: string
+ logasap:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: Log ASAP
maxconn:
type: integer
x-display-name: Max Connections
@@ -357,6 +449,12 @@ definitions:
- tcp
- http
type: string
+ monitor_uri:
+ $ref: '#/definitions/monitor_uri'
+ mysql_check_params:
+ $ref: '#/definitions/mysql_check_params'
+ pgsql_check_params:
+ $ref: '#/definitions/pgsql_check_params'
queue_timeout:
type: integer
x-nullable: true
@@ -368,9 +466,25 @@ definitions:
server_timeout:
type: integer
x-nullable: true
+ smtpchk_params:
+ $ref: '#/definitions/smtpchk_params'
+ stats_options:
+ $ref: '#/definitions/stats_options'
tcplog:
type: boolean
x-display-name: TCP Log
+ tunnel_timeout:
+ type: integer
+ x-nullable: true
+ unique_id_format:
+ type: string
+ x-display-name: Unique ID format
+ unique_id_header:
+ type: string
+ x-dependency:
+ unique_id_format:
+ required: true
+ x-display-name: Unique ID header
title: Defaults
type: object
frontend:
@@ -383,6 +497,9 @@ definitions:
mode: http
name: test_frontend
properties:
+ bind_process:
+ pattern: ^[^\s]+$
+ type: string
clflog:
type: boolean
x-dependency:
@@ -423,6 +540,12 @@ definitions:
x-dependency:
mode:
value: http
+ http-buffer-request:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: HTTP bufferrequest
http-use-htx:
enum:
- enabled
@@ -472,6 +595,12 @@ definitions:
log_tag:
pattern: ^[A-Za-z0-9-_.:]+$
type: string
+ logasap:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: Log ASAP
maxconn:
type: integer
x-display-name: Max Connections
@@ -481,16 +610,31 @@ definitions:
- http
- tcp
type: string
+ monitor_fail:
+ $ref: '#/definitions/monitor_fail'
+ monitor_uri:
+ $ref: '#/definitions/monitor_uri'
name:
pattern: ^[A-Za-z0-9-_.:]+$
type: string
x-nullable: false
+ stats_options:
+ $ref: '#/definitions/stats_options'
tcplog:
type: boolean
x-dependency:
mode:
value: tcp
x-display-name: TCP Log
+ unique_id_format:
+ type: string
+ x-display-name: Unique ID format
+ unique_id_header:
+ type: string
+ x-dependency:
+ unique_id_format:
+ required: true
+ x-display-name: Unique ID header
required:
- name
title: Frontend
@@ -505,17 +649,23 @@ definitions:
additionalProperties: false
description: HAProxy backend configuration
example:
+ adv_check: httpchk
balance:
algorithm: roundrobin
forwardfor:
enabled: enabled
- httpchk:
- method: OPTIONS
+ httpchk_params:
+ method: GET
uri: /check
version: HTTP/1.1
mode: http
name: test_backend
properties:
+ abortonclose:
+ enum:
+ - enabled
+ - disabled
+ type: string
adv_check:
enum:
- ssl-hello-chk
@@ -525,10 +675,20 @@ definitions:
- pgsql-check
- tcp-check
- redis-check
+ - httpchk
type: string
x-display-name: Advanced Check
+ allbackups:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: All Backups
balance:
$ref: '#/definitions/balance'
+ bind_process:
+ pattern: ^[^\s]+$
+ type: string
check_timeout:
type: integer
x-nullable: true
@@ -580,10 +740,19 @@ definitions:
- avalanche
type: string
type: object
+ http-buffer-request:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-display-name: HTTP bufferrequest
+ http-check:
+ $ref: '#/definitions/http-check'
http-use-htx:
enum:
- enabled
- disabled
+ pattern: ^[^\s]+$
type: string
x-dependency:
mode:
@@ -617,8 +786,18 @@ definitions:
mode:
value: http
x-nullable: true
- httpchk:
- $ref: '#/definitions/httpchk'
+ http_reuse:
+ enum:
+ - aggressive
+ - always
+ - never
+ - safe
+ type: string
+ x-dependency:
+ mode:
+ value: http
+ httpchk_params:
+ $ref: '#/definitions/httpchk_params'
x-dependency:
mode:
value: http
@@ -630,10 +809,14 @@ definitions:
- http
- tcp
type: string
+ mysql_check_params:
+ $ref: '#/definitions/mysql_check_params'
name:
pattern: ^[A-Za-z0-9-_.:]+$
type: string
x-nullable: false
+ pgsql_check_params:
+ $ref: '#/definitions/pgsql_check_params'
queue_timeout:
type: integer
x-nullable: true
@@ -645,6 +828,10 @@ definitions:
server_timeout:
type: integer
x-nullable: true
+ smtpchk_params:
+ $ref: '#/definitions/smtpchk_params'
+ stats_options:
+ $ref: '#/definitions/stats_options'
stick_table:
properties:
expire:
@@ -675,6 +862,9 @@ definitions:
- binary
type: string
type: object
+ tunnel_timeout:
+ type: integer
+ x-nullable: true
required:
- name
title: Backend
@@ -685,6 +875,51 @@ definitions:
type: array
items:
$ref: '#/definitions/backend'
+ peer_section:
+ additionalProperties: false
+ description: HAProxy peer_section configuration
+ properties:
+ name:
+ pattern: ^[A-Za-z0-9-_.:]+$
+ type: string
+ x-nullable: false
+ required:
+ - name
+ title: Peer Section
+ type: object
+ peer_sections:
+ title: Peer_Section
+ description: HAProxy peer_section array
+ type: array
+ items:
+ $ref: '#/definitions/peer_section'
+ peer_entry:
+ description: Peer Entry from peers table
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ type: string
+ name:
+ pattern: ^[A-Za-z0-9-_.:]+$
+ type: string
+ x-nullable: false
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ required:
+ - name
+ - address
+ - port
+ title: Peer Entry
+ type: object
+ peer_entries:
+ title: Peer entries
+ description: HAProxy peer entries array
+ type: array
+ items:
+ $ref: '#/definitions/peer_entry'
bind:
additionalProperties: false
description: HAProxy frontend bind configuration
@@ -693,6 +928,8 @@ definitions:
name: http
port: 80
properties:
+ accept_netscaler_cip:
+ type: integer
accept_proxy:
type: boolean
address:
@@ -704,18 +941,176 @@ definitions:
pattern: ^[^\s]+$
type: string
x-display-name: ALPN Protocols
+ backlog:
+ type: string
+ ca_ignore_err:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ ca_sign_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ ca_sign_pass:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ x-display-name: Passphrase
+ ca_verify_file:
+ type: string
+ x-dependency:
+ ca_file:
+ value: true
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ crt_ignore_err:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ crt_list:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ curves:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ defer_accept:
+ type: boolean
+ ecdhe:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ expose_fd_listeners:
+ type: boolean
+ force_sslv3:
+ type: boolean
+ force_tlsv10:
+ type: boolean
+ force_tlsv11:
+ type: boolean
+ force_tlsv12:
+ type: boolean
+ force_tlsv13:
+ type: boolean
+ generate_certificates:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ gid:
+ type: integer
+ x-display-name: Group ID
+ group:
+ type: string
+ x-display-name: Group name
+ id:
+ type: string
+ x-display-name: Socket ID
+ interface:
+ type: string
+ level:
+ enum:
+ - user
+ - operator
+ - admin
+ type: string
+ maxconn:
+ type: integer
+ mode:
+ type: string
+ mss:
+ type: string
name:
pattern: ^[^\s]+$
type: string
x-nullable: false
+ namespace:
+ type: string
+ nice:
+ type: integer
+ no_ca_names:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_sslv3:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tls_tickets:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv10:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv11:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv12:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv13:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ npn:
+ type: string
port:
maximum: 65535
minimum: 1
type: integer
x-nullable: true
+ port-range-end:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ prefer_client_ciphers:
+ type: boolean
process:
pattern: ^[^\s]+$
type: string
+ proto:
+ type: string
+ x-display-name: Protocol name
+ severity_output:
+ enum:
+ - none
+ - number
+ - string
+ type: string
+ x-display-name: Format
ssl:
type: boolean
ssl_cafile:
@@ -731,13 +1126,44 @@ definitions:
x-dependency:
ssl:
value: true
+ ssl_max_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ ssl_min_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ strict_sni:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
tcp_user_timeout:
type: integer
x-nullable: true
+ tfo:
+ type: boolean
+ tls_ticket_keys:
+ type: string
transparent:
type: boolean
+ uid:
+ type: string
+ user:
+ type: string
v4v6:
type: boolean
+ v6only:
+ type: boolean
verify:
enum:
- none
@@ -763,7 +1189,6 @@ definitions:
example:
address: 10.1.1.1
check: enabled
- max-connections: 500
name: www
port: 8080
weight: 80
@@ -795,6 +1220,10 @@ definitions:
type: string
allow_0rtt:
type: boolean
+ alpn:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: ALPN Protocols
backup:
enum:
- enabled
@@ -805,41 +1234,171 @@ definitions:
- enabled
- disabled
type: string
+ check-sni:
+ pattern: ^[^\s]+$
+ type: string
check-ssl:
enum:
- enabled
- disabled
type: string
- cookie:
+ check_alpn:
pattern: ^[^\s]+$
type: string
- downinter:
- type: integer
- x-nullable: true
- fastinter:
- type: integer
+ x-display-name: Protocols
+ check_proto:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: Name
+ check_via_socks4:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ cookie:
+ pattern: ^[^\s]+$
+ type: string
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ downinter:
+ type: integer
+ x-nullable: true
+ error_limit:
+ type: integer
+ x-display-name: Error count
+ fall:
+ type: integer
+ x-display-name: Nr. of consecutive failed checks
+ x-nullable: true
+ fastinter:
+ type: integer
x-nullable: true
+ force_sslv3:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv10:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv11:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv12:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv13:
+ enum:
+ - enabled
+ - disabled
+ type: string
health_check_port:
maximum: 65535
minimum: 1
type: integer
x-nullable: true
+ id:
+ type: integer
+ x-nullable: true
+ init-addr:
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: true
inter:
type: integer
x-nullable: true
+ log_proto:
+ enum:
+ - legacy
+ - octet-count
+ type: string
maintenance:
enum:
- enabled
- disabled
type: string
+ max_reuse:
+ type: integer
+ x-nullable: true
maxconn:
type: integer
- x-display-name: Max Connections
+ x-display-name: Max Concurrent Connections
+ x-nullable: true
+ maxqueue:
+ type: integer
+ x-display-name: Max Number of Connections
+ x-nullable: true
+ minconn:
+ type: integer
x-nullable: true
name:
pattern: ^[^\s]+$
type: string
x-nullable: false
+ namespace:
+ type: string
+ no_sslv3:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv10:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv11:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv12:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv13:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_verifyhost:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ npn:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ observe:
+ enum:
+ - layer4
+ - layer7
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
on-error:
enum:
- fastinter
@@ -855,11 +1414,65 @@ definitions:
enum:
- shutdown-backup-sessions
type: string
+ pool_low_conn:
+ type: integer
+ x-nullable: true
+ pool_max_conn:
+ type: integer
+ x-nullable: true
+ pool_purge_delay:
+ type: integer
+ x-nullable: true
port:
maximum: 65535
minimum: 1
type: integer
x-nullable: true
+ proto:
+ pattern: ^[^\s]+$
+ type: string
+ proxy-v2-options:
+ items:
+ enum:
+ - ssl
+ - cert-cn
+ - ssl-cipher
+ - cert-sig
+ - cert-key
+ - authority
+ - crc32c
+ - unique-id
+ type: string
+ type: array
+ redir:
+ type: string
+ x-display-name: Prefix
+ resolve-net:
+ pattern: ^[^,\s][^\,]*[^,\s]*$
+ type: string
+ x-dependency:
+ resolvers:
+ required: true
+ resolve-prefer:
+ enum:
+ - ipv4
+ - ipv6
+ type: string
+ x-dependency:
+ resolvers:
+ required: true
+ resolve_opts:
+ pattern: ^[^,\s][^\,]*[^,\s]*$
+ type: string
+ resolvers:
+ pattern: ^[^\s]+$
+ type: string
+ x-dynamic-enum:
+ operation: getResolvers
+ property: name
+ rise:
+ type: integer
+ x-nullable: true
send-proxy:
enum:
- enabled
@@ -870,6 +1483,30 @@ definitions:
- enabled
- disabled
type: string
+ send_proxy_v2_ssl:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ send_proxy_v2_ssl_cn:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ slowstart:
+ type: integer
+ x-nullable: true
+ sni:
+ pattern: ^[^\s]+$
+ type: string
+ socks4:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ check-via-socks4:
+ required: true
+ source:
+ type: string
ssl:
enum:
- enabled
@@ -888,6 +1525,39 @@ definitions:
x-dependency:
ssl:
value: enabled
+ ssl_max_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ ssl_min_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ ssl_reuse:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ stick:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ tcp_ut:
+ type: integer
+ tfo:
+ enum:
+ - enabled
+ - disabled
+ type: string
tls_tickets:
enum:
- enabled
@@ -896,6 +1566,8 @@ definitions:
x-dependency:
ssl:
value: enabled
+ track:
+ type: string
verify:
enum:
- none
@@ -904,6 +1576,13 @@ definitions:
x-dependency:
ssl:
value: enabled
+ verifyhost:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ verify:
+ value: required
weight:
type: integer
x-nullable: true
@@ -926,7 +1605,7 @@ definitions:
cond_test: '{ src 192.168.0.0/16 }'
hdr_format: '%T'
hdr_name: X-Haproxy-Current-Date
- id: 0
+ index: 0
type: add-header
properties:
acl_file:
@@ -956,6 +1635,37 @@ definitions:
type:
value: auth
x-display-name: Authentication Realm
+ cache_name:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: cache-use
+ x-display-name: Cache Name
+ capture_id:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: capture
+ x-display-name: Capture SlotID
+ x-nullable: true
+ capture_len:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: capture
+ x-display-name: Capture Len
+ capture_sample:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: capture
+ x-display-name: Capture Sample
cond:
enum:
- if
@@ -973,15 +1683,40 @@ definitions:
operation: getACLs
property: acl_name
deny_status:
+ enum:
+ - 200
+ - 400
+ - 403
+ - 405
+ - 408
+ - 425
+ - 429
+ - 500
+ - 502
+ - 503
+ - 504
type: integer
x-dependency:
type:
value:
- deny
- tarpit
- x-nullable: false
+ x-nullable: true
+ expr:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value:
+ - do-resolve
+ - set-dst
+ - set-dst-port
+ - set-priority-class
+ - set-priority-offset
+ - set-src
+ - set-src-port
+ x-display-name: Standard HAProxy expression
hdr_format:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -993,7 +1728,6 @@ definitions:
- add-header
x-display-name: Header Format
hdr_match:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -1003,7 +1737,6 @@ definitions:
- replace-value
x-display-name: Header Match
hdr_name:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -1015,7 +1748,23 @@ definitions:
- set-header
- replace-value
x-display-name: Header Name
- id:
+ hint_format:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: early-hint
+ x-display-name: Hint Format
+ hint_name:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: early-hint
+ x-display-name: Hint Name
+ index:
type: integer
x-nullable: true
log_level:
@@ -1034,63 +1783,250 @@ definitions:
type:
required: true
value: set-log-level
- path_fmt:
+ lua_action:
+ pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: set-path
- query-fmt:
+ value: lua
+ lua_params:
type: string
x-dependency:
type:
- required: true
- value: set-query
- redir_code:
- enum:
- - 301
- - 302
- - 303
- type: integer
- x-dependency:
- type:
- value: redirect
- x-display-name: Redirect Code
- redir_option:
+ value: lua
+ map_file:
+ pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: redirect
- x-display-name: Redirect Option
- redir_type:
- enum:
- - location
- - prefix
- - scheme
+ value:
+ - set-map
+ - del-map
+ map_keyfmt:
+ pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: redirect
- x-display-name: Redirect Type
- redir_value:
+ value:
+ - set-map
+ - del-map
+ x-display-name: Map Key Format
+ map_valuefmt:
pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: redirect
- x-display-name: Redirect Value
- spoe_engine:
- pattern: ^[^\s]+$
+ value: set-map
+ x-display-name: Map Value Format
+ mark_value:
+ pattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$
type: string
x-dependency:
type:
required: true
- value: send-spoe-group
- x-display-name: SPOE Engine
- spoe_group:
+ value: set-mark
+ x-display-name: Mark Value
+ method_fmt:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-method
+ nice_value:
+ maximum: 1024
+ minimum: -1024
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: set-nice
+ x-display-name: Nice Value
+ x-nullable: false
+ path_fmt:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value:
+ - set-path
+ - replace-path
+ path_match:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value:
+ - set-path
+ - replace-path
+ protocol:
+ enum:
+ - ipv4
+ - ipv6
+ type: string
+ x-dependency:
+ type:
+ required: false
+ value: do-resolve
+ x-display-name: Protocol
+ query-fmt:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-query
+ redir_code:
+ enum:
+ - 301
+ - 302
+ - 303
+ - 307
+ - 308
+ type: integer
+ x-dependency:
+ type:
+ value: redirect
+ x-display-name: Redirect Code
+ x-nullable: true
+ redir_option:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: redirect
+ x-display-name: Redirect Option
+ redir_type:
+ enum:
+ - location
+ - prefix
+ - scheme
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: redirect
+ x-display-name: Redirect Type
+ redir_value:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: redirect
+ x-display-name: Redirect Value
+ resolvers:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: do-resolve
+ x-display-name: Resolvers
+ return_content:
+ type: string
+ x-dependency:
+ return_content_format:
+ required: true
+ value:
+ - errofile
+ - errorfiles
+ - file
+ - lf-file
+ - string
+ - lf-string
+ return_content_format:
+ enum:
+ - default-errorfile
+ - errorfile
+ - errorfiles
+ - file
+ - lf-file
+ - string
+ - lf-string
+ type: string
+ x-dependency:
+ type:
+ value: return
+ return_content_type:
+ type: string
+ x-dependency:
+ type:
+ value: return
+ x-display-name: Return content type
+ x-nullable: true
+ return_hdrs:
+ items:
+ properties:
+ fmt:
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ - fmt
+ type: object
+ type: array
+ x-dependency:
+ return_content_format:
+ value:
+ - file
+ - lf-file
+ - string
+ - lf-string
+ x-go-name: ReturnHeaders
+ return_status_code:
+ maximum: 599
+ minimum: 200
+ type: integer
+ x-dependency:
+ type:
+ value: return
+ x-display-name: Return Error Code
+ x-nullable: true
+ sc_expr:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: sc-set-gpt0
+ x-display-name: ScSet Expression Value
+ sc_id:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value:
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - sc-set-gpt0
+ sc_int:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: sc-set-gpt0
+ x-display-name: ScSet Integer Value
+ x-nullable: true
+ service_name:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: use-service
+ spoe_engine:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: send-spoe-group
+ x-display-name: SPOE Engine
+ spoe_group:
pattern: ^[^\s]+$
type: string
x-dependency:
@@ -1098,6 +2034,68 @@ definitions:
required: true
value: send-spoe-group
x-display-name: SPOE Group
+ strict_mode:
+ enum:
+ - "on"
+ - "off"
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: strict-mode
+ tos_value:
+ pattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-tos
+ x-display-name: Tos Value
+ track-sc0-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc0
+ x-display-name: track-sc0 Key
+ track-sc0-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc0
+ x-display-name: track-sc0 Table
+ track-sc1-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc1
+ x-display-name: track-sc1 Key
+ track-sc1-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc1
+ x-display-name: track-sc1 Table
+ track-sc2-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc2
+ x-display-name: track-sc2 Key
+ track-sc2-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc2
+ x-display-name: track-sc2 Table
type:
enum:
- allow
@@ -1112,12 +2110,44 @@ definitions:
- set-header
- set-log-level
- set-path
+ - replace-path
- set-query
- set-uri
- set-var
- send-spoe-group
- add-acl
- del-acl
+ - capture
+ - track-sc0
+ - track-sc1
+ - track-sc2
+ - set-map
+ - del-map
+ - cache-use
+ - disable-l7-retry
+ - early-hint
+ - replace-uri
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - do-resolve
+ - set-dst
+ - set-dst-port
+ - sc-set-gpt0
+ - set-mark
+ - set-nice
+ - set-method
+ - set-priority-class
+ - set-priority-offset
+ - set-src
+ - set-src-por
+ - wait-for-handshake
+ - set-tos
+ - silent-drop
+ - unset-var
+ - strict-mode
+ - lua
+ - use-service
+ - return
type: string
x-nullable: false
uri-fmt:
@@ -1125,7 +2155,15 @@ definitions:
x-dependency:
type:
required: true
- value: set-uri
+ value:
+ - set-uri
+ - replace-uri
+ uri-match:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: replace-uri
var_expr:
type: string
x-dependency:
@@ -1139,16 +2177,21 @@ definitions:
x-dependency:
type:
required: true
- value: set-var
+ value:
+ - set-var
+ - do-resolve
+ - unset-var
var_scope:
pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: set-var
+ value:
+ - set-var
+ - unset-var
required:
- - id
+ - index
- type
title: HTTP Request Rule
type: object
@@ -1167,7 +2210,7 @@ definitions:
cond_test: '{ src 192.168.0.0/16 }'
hdr_format: '%T'
hdr_name: X-Haproxy-Current-Date
- id: 0
+ index: 0
type: add-header
properties:
acl_file:
@@ -1189,6 +2232,22 @@ definitions:
- add-acl
- del-acl
x-display-name: ACK Key Format
+ capture_id:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: capture
+ x-display-name: Capture SlotID
+ x-nullable: true
+ capture_sample:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: capture
+ x-display-name: Capture Sample
cond:
enum:
- if
@@ -1206,7 +2265,6 @@ definitions:
operation: getACLs
property: acl_name
hdr_format:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -1218,7 +2276,6 @@ definitions:
- add-header
x-display-name: Header Format
hdr_match:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -1228,7 +2285,6 @@ definitions:
- replace-value
x-display-name: Header Match
hdr_name:
- pattern: ^[^\s]+$
type: string
x-dependency:
type:
@@ -1240,7 +2296,7 @@ definitions:
- set-header
- replace-value
x-display-name: Header Name
- id:
+ index:
type: integer
x-nullable: true
log_level:
@@ -1259,16 +2315,76 @@ definitions:
type:
required: true
value: set-log-level
+ lua_action:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: lua
+ lua_params:
+ type: string
+ x-dependency:
+ type:
+ value: lua
+ map_file:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value:
+ - set-map
+ - del-map
+ map_keyfmt:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value:
+ - set-map
+ - del-map
+ x-display-name: Map Key Format
+ map_valuefmt:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-map
+ x-display-name: Map Value Format
+ mark_value:
+ pattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-mark
+ x-display-name: Mark Value
+ nice_value:
+ maximum: 1024
+ minimum: -1024
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: set-nice
+ x-display-name: Nice Value
+ x-nullable: false
redir_code:
enum:
- 301
- 302
- 303
+ - 307
+ - 308
type: integer
x-dependency:
type:
value: redirect
x-display-name: Redirect Code
+ x-nullable: true
redir_option:
type: string
x-dependency:
@@ -1295,6 +2411,30 @@ definitions:
required: true
value: redirect
x-display-name: Redirect Value
+ sc_expr:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: sc-set-gpt0
+ x-display-name: ScSet Expression Value
+ sc_id:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value:
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - sc-set-gpt0
+ sc_int:
+ type: integer
+ x-dependency:
+ type:
+ required: true
+ value: sc-set-gpt0
+ x-display-name: ScSet Integer Value
+ x-nullable: true
spoe_engine:
pattern: ^[^\s]+$
type: string
@@ -1323,22 +2463,100 @@ definitions:
x-dependency:
type:
value: set-status
- type:
+ strict_mode:
enum:
- - allow
- - deny
- - redirect
- - add-header
- - set-header
- - del-header
- - set-log-level
- - set-var
- - set-status
- - send-spoe-group
- - replace-header
- - replace-value
- - add-acl
+ - "on"
+ - "off"
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: strict-mode
+ tos_value:
+ pattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-tos
+ x-display-name: Tos Value
+ track-sc0-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc0
+ x-display-name: track-sc0 Key
+ track-sc0-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc0
+ x-display-name: track-sc0 Table
+ track-sc1-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc1
+ x-display-name: track-sc1 Key
+ track-sc1-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc1
+ x-display-name: track-sc1 Table
+ track-sc2-key:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: track-sc2
+ x-display-name: track-sc2 Key
+ track-sc2-table:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ value: track-sc2
+ x-display-name: track-sc2 Table
+ type:
+ enum:
+ - allow
+ - deny
+ - redirect
+ - add-header
+ - set-header
+ - del-header
+ - set-log-level
+ - set-var
+ - set-status
+ - send-spoe-group
+ - replace-header
+ - replace-value
+ - add-acl
- del-acl
+ - capture
+ - set-map
+ - del-map
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - sc-set-gpt0
+ - set-mark
+ - set-nice
+ - set-tos
+ - silent-drop
+ - unset-var
+ - track-sc0
+ - track-sc1
+ - track-sc2
+ - strict-mode
+ - lua
type: string
x-nullable: false
var_expr:
@@ -1354,16 +2572,20 @@ definitions:
x-dependency:
type:
required: true
- value: set-var
+ value:
+ - set-var
+ - unset-var
var_scope:
pattern: ^[^\s]+$
type: string
x-dependency:
type:
required: true
- value: set-var
+ value:
+ - set-var
+ - unset-var
required:
- - id
+ - index
- type
title: HTTP Response Rule
type: object
@@ -1379,13 +2601,33 @@ definitions:
example:
cond: if
cond_test: '{ src 192.168.0.0/16 }'
- id: 0
- type: accept
+ index: 0
+ type: connection
properties:
action:
enum:
- accept
+ - capture
+ - do-resolve
+ - expect-netscaler-cip
+ - expect-proxy
- reject
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - sc-set-gpt0
+ - send-spoe-group
+ - set-dst-port
+ - set-dst
+ - set-priority
+ - set-src
+ - set-var
+ - silent-drop
+ - track-sc0
+ - track-sc1
+ - track-sc2
+ - unset-var
+ - use-service
+ - lua
type: string
x-dependency:
type:
@@ -1395,6 +2637,31 @@ definitions:
- content
- session
x-nullable: false
+ capture_len:
+ type: integer
+ x-dependency:
+ action:
+ required: true
+ value: capture
+ type:
+ required: true
+ value:
+ - connection
+ - content
+ x-display-name: Capture Length
+ capture_sample:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: capture
+ type:
+ required: true
+ value:
+ - connection
+ - content
+ x-display-name: Capture Sample
cond:
enum:
- if
@@ -1423,9 +2690,157 @@ definitions:
freeFormat: true
operation: getACLs
property: acl_name
- id:
+ expr:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value:
+ - do-resolve
+ - set-var
+ - set-src
+ - set-priority
+ - set-dst
+ - set-dst-port
+ type:
+ value:
+ - session
+ - connection
+ - content
+ x-display-name: Standard HAProxy expression
+ gpt_value:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: sc-set-gpt0
+ type:
+ required: true
+ value:
+ - connection
+ - content
+ - session
+ x-display-name: Sticky counter value
+ index:
type: integer
x-nullable: true
+ lua_action:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: lua
+ type:
+ value:
+ - connection
+ - content
+ x-display-name: Lua action name
+ lua_params:
+ type: string
+ x-dependency:
+ action:
+ value: lua
+ type:
+ value:
+ - connection
+ - content
+ x-display-name: Lua action params
+ priority_type:
+ enum:
+ - class
+ - offset
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: set-priority
+ type:
+ value:
+ - content
+ resolve_protocol:
+ enum:
+ - ipv4
+ - ipv6
+ type: string
+ x-dependency:
+ action:
+ required: false
+ value: do-resolve
+ type:
+ required: true
+ value:
+ - content
+ x-display-name: Protocol
+ resolve_resolvers:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: do-resolve
+ type:
+ required: true
+ value:
+ - content
+ x-display-name: Resolvers
+ resolve_var:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: do-resolve
+ type:
+ required: true
+ value:
+ - content
+ x-display-name: Variable name
+ sc_inc_id:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value:
+ - sc-inc-gpc0
+ - sc-inc-gpc1
+ - sc-set-gpt0
+ type:
+ required: true
+ value:
+ - connection
+ - content
+ - session
+ x-display-name: Sticky counter ID
+ service_name:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: use-service
+ type:
+ value: content
+ x-display-name: Service name
+ spoe_engine_name:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: send-spoe-group
+ type:
+ required: true
+ value:
+ - content
+ x-display-name: Engine name
+ spoe_group_name:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: send-spoe-group
+ type:
+ required: true
+ value:
+ - content
+ x-display-name: Group name
timeout:
type: integer
x-dependency:
@@ -1433,6 +2848,36 @@ definitions:
required: true
value: inspect-delay
x-nullable: true
+ track_key:
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value:
+ - track-sc0
+ - track-sc1
+ - track-sc2
+ type:
+ value:
+ - session
+ - connection
+ - content
+ x-display-name: Sample expression rule
+ track_table:
+ type: string
+ x-dependency:
+ action:
+ required: false
+ value:
+ - track-sc0
+ - track-sc1
+ - track-sc2
+ type:
+ value:
+ - session
+ - connection
+ - content
+ x-display-name: Optional table name
type:
enum:
- connection
@@ -1441,8 +2886,36 @@ definitions:
- session
type: string
x-nullable: false
+ var_name:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value:
+ - set-var
+ - unset-var
+ type:
+ value:
+ - session
+ - content
+ x-display-name: Variable name
+ var_scope:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value:
+ - set-var
+ - unset-var
+ type:
+ value:
+ - session
+ - content
+ x-display-name: Variable scope
required:
- - id
+ - index
- type
title: TCP Request Rule
type: object
@@ -1458,13 +2931,14 @@ definitions:
example:
cond: if
cond_test: '{ src 192.168.0.0/16 }'
- id: 0
- type: accept
+ index: 0
+ type: content
properties:
action:
enum:
- accept
- reject
+ - lua
type: string
x-dependency:
type:
@@ -1492,9 +2966,27 @@ definitions:
freeFormat: true
operation: getACLs
property: acl_name
- id:
+ index:
type: integer
x-nullable: true
+ lua_action:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ action:
+ required: true
+ value: lua
+ type:
+ value: content
+ x-display-name: Lua action name
+ lua_params:
+ type: string
+ x-dependency:
+ action:
+ value: lua
+ type:
+ value: content
+ x-display-name: Lua action params
timeout:
type: integer
x-dependency:
@@ -1509,7 +3001,7 @@ definitions:
type: string
x-nullable: false
required:
- - id
+ - index
- type
title: TCP Response Rule
type: object
@@ -1526,7 +3018,7 @@ definitions:
example:
cond: if
cond_test: '{ req_ssl_sni -i www.example.com }'
- id: 0
+ index: 0
name: test_backend
properties:
cond:
@@ -1545,7 +3037,7 @@ definitions:
freeFormat: true
operation: getACLs
property: acl_name
- id:
+ index:
type: integer
x-nullable: true
name:
@@ -1557,7 +3049,7 @@ definitions:
property: name
x-nullable: false
required:
- - id
+ - index
- name
title: Backend Switching Rule
type: object
@@ -1574,7 +3066,7 @@ definitions:
example:
cond: if
cond_test: '{ req_ssl_sni -i www.example.com }'
- id: 0
+ index: 0
target_server: www
properties:
cond:
@@ -1593,7 +3085,7 @@ definitions:
freeFormat: true
operation: getACLs
property: acl_name
- id:
+ index:
type: integer
x-nullable: true
target_server:
@@ -1604,7 +3096,7 @@ definitions:
property: name
x-nullable: false
required:
- - id
+ - index
- target_server
title: Server Switching Rule
type: object
@@ -1618,7 +3110,7 @@ definitions:
additionalProperties: false
description: HAProxy filters
example:
- id: 0
+ index: 0
trace_name: name
trace_rnd_parsing: true
type: trace
@@ -1630,7 +3122,7 @@ definitions:
type:
required: true
value: cache
- id:
+ index:
type: integer
x-nullable: true
spoe_config:
@@ -1678,7 +3170,7 @@ definitions:
type: string
x-nullable: false
required:
- - id
+ - index
- type
title: Filter
type: object
@@ -1693,9 +3185,9 @@ definitions:
description: Define a pattern used to create an entry in a stickiness table or matching
condition or associate a user to a server.
example:
- id: 0
+ index: 0
pattern: src
- type: storeonly
+ type: match
properties:
cond:
enum:
@@ -1713,7 +3205,7 @@ definitions:
freeFormat: true
operation: getACLs
property: acl_name
- id:
+ index:
type: integer
x-nullable: true
pattern:
@@ -1732,7 +3224,7 @@ definitions:
type: string
x-nullable: false
required:
- - id
+ - index
- type
- pattern
title: Stick Rule
@@ -1805,7 +3297,7 @@ definitions:
value: false
global:
type: boolean
- id:
+ index:
type: integer
x-nullable: true
length:
@@ -1852,7 +3344,7 @@ definitions:
nolog:
type: boolean
required:
- - id
+ - index
title: Log Target
type: object
log_targets:
@@ -1876,14 +3368,14 @@ definitions:
pattern: ^[^\s]+$
type: string
x-nullable: false
- id:
+ index:
type: integer
x-nullable: true
value:
type: string
x-nullable: false
required:
- - id
+ - index
- acl_name
- criterion
- value
@@ -1898,63 +3390,11 @@ definitions:
native_stats:
description: HAProxy stats array
items:
- description: Stats from one runtime API
- properties:
- error:
- type: string
- runtimeAPI:
- type: string
- stats:
- items:
- $ref: '#/definitions/native_stat'
- type: array
- title: Stats collection
- type: object
- x-go-name: NativeStatsCollection
+ $ref: '#/definitions/native_stats_collection'
title: Stats Array
type: array
- x-go-name: NativeStats
native_stat:
description: Current stats for one object.
- example:
- name: frontend_test
- stats:
- bin: 4326578
- bout: 889901290
- comp_byp: 0
- comp_in: 0
- comp_out: 0
- comp_rsp: 0
- conn_rate: 12
- conn_rate_max: 456
- conn_tot: 45682
- dcon: 0
- dreq: 4
- dresp: 1
- dses: 0
- ereq: 54
- hrsp_1xx: 0
- hrsp_2xx: 165
- hrsp_3xx: 12
- hrsp_4xx: 50
- hrsp_5xx: 4
- hrsp_other: 0
- iid: 0
- intercepted: 346
- mode: http
- pid: 3204
- rate: 64
- rate_lim: 20000
- rate_max: 4000
- req_rate: 49
- req_rate_max: 3965
- req_total: 1254786
- scur: 129
- slim: 2000
- smax: 2000
- status: UP
- stot: 12902
- type: frontend
properties:
backend_name:
type: string
@@ -1963,442 +3403,7 @@ definitions:
name:
type: string
stats:
- properties:
- act:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- addr:
- type: string
- x-dependency:
- type: server
- agent_code:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- agent_desc:
- type: string
- x-dependency:
- type: server
- agent_duration:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- agent_fall:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- agent_health:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- agent_rise:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- agent_status:
- enum:
- - UNK
- - INI
- - SOCKERR
- - L40K
- - L4TOUT
- - L4CON
- - L7OK
- - L7STS
- type: string
- x-dependency:
- type: server
- algo:
- type: string
- x-dependency:
- type: backend
- bck:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- bin:
- type: integer
- x-nullable: true
- bout:
- type: integer
- x-nullable: true
- check_code:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- check_desc:
- type: string
- x-dependency:
- type: server
- check_duration:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- check_fall:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- check_health:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- check_rise:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- check_status:
- enum:
- - UNK
- - INI
- - SOCKERR
- - L40K
- - L4TOUT
- - L4CON
- - L6OK
- - L6TOUT
- - L6RSP
- - L7OK
- - L7OKC
- - L7TOUT
- - L7RSP
- - L7STS
- type: string
- x-dependency:
- type: server
- chkdown:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- chkfail:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- cli_abrt:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- comp_byp:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- comp_in:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- comp_out:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- comp_rsp:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- conn_rate:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- conn_rate_max:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- conn_tot:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- cookie:
- type: string
- x-dependency:
- type:
- - server
- - backend
- ctime:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- dcon:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- downtime:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- dreq:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- dresp:
- type: integer
- x-nullable: true
- dses:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- econ:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- ereq:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- eresp:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- hanafail:
- type: string
- x-dependency:
- type: server
- hrsp_1xx:
- type: integer
- x-nullable: true
- hrsp_2xx:
- type: integer
- x-nullable: true
- hrsp_3xx:
- type: integer
- x-nullable: true
- hrsp_4xx:
- type: integer
- x-nullable: true
- hrsp_5xx:
- type: integer
- x-nullable: true
- hrsp_other:
- type: integer
- x-nullable: true
- iid:
- type: integer
- x-nullable: true
- intercepted:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- lastchg:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- lastsess:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- lbtot:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- mode:
- enum:
- - tcp
- - http
- - health
- - unknown
- type: string
- pid:
- type: integer
- x-nullable: true
- qcur:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- qlimit:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- qmax:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- qtime:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- rate:
- type: integer
- x-nullable: true
- rate_lim:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- rate_max:
- type: integer
- x-nullable: true
- req_rate:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- req_rate_max:
- type: integer
- x-dependency:
- type: frontend
- x-nullable: true
- req_tot:
- type: integer
- x-dependency:
- type:
- - frontend
- - backend
- x-nullable: true
- rtime:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- scur:
- type: integer
- x-nullable: true
- sid:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- slim:
- type: integer
- x-nullable: true
- smax:
- type: integer
- x-nullable: true
- srv_abrt:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- status:
- enum:
- - UP
- - DOWN
- - NOLB
- - MAINT
- - no check
- type: string
- stot:
- type: integer
- x-nullable: true
- throttle:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- tracked:
- type: integer
- x-dependency:
- type: server
- x-nullable: true
- ttime:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- weight:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- wredis:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- wretr:
- type: integer
- x-dependency:
- type:
- - server
- - backend
- x-nullable: true
- type: object
- x-go-name: NativeStatStats
+ $ref: '#/definitions/native_stat_stats'
type:
enum:
- backend
@@ -2407,999 +3412,4856 @@ definitions:
type: string
title: Stats
type: object
- x-go-name: NativeStat
- error:
- additionalProperties:
- type: string
- description: API Error
+ native_stat_stats:
+ example:
+ bin: 4326578
+ bout: 889901290
+ comp_byp: 0
+ comp_in: 0
+ comp_out: 0
+ comp_rsp: 0
+ conn_rate: 12
+ conn_rate_max: 456
+ conn_tot: 45682
+ dcon: 0
+ dreq: 4
+ dresp: 1
+ dses: 0
+ ereq: 54
+ hrsp_1xx: 0
+ hrsp_2xx: 165
+ hrsp_3xx: 12
+ hrsp_4xx: 50
+ hrsp_5xx: 4
+ hrsp_other: 0
+ iid: 0
+ intercepted: 346
+ mode: http
+ pid: 3204
+ rate: 64
+ rate_lim: 20000
+ rate_max: 4000
+ req_rate: 49
+ req_rate_max: 3965
+ req_total: 1254786
+ scur: 129
+ slim: 2000
+ smax: 2000
+ status: UP
+ stot: 12902
properties:
- code:
+ act:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- message:
+ addr:
type: string
+ x-dependency:
+ type: server
+ agent_code:
+ type: integer
+ x-dependency:
+ type: server
x-nullable: true
- required:
- - code
- - message
- title: Error
- type: object
- endpoint:
- description: Endpoint definition
- properties:
- description:
- description: Endpoint description
+ agent_desc:
type: string
- title:
- description: Endpoint title
+ x-dependency:
+ type: server
+ agent_duration:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ agent_fall:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ agent_health:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ agent_rise:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ agent_status:
+ enum:
+ - UNK
+ - INI
+ - SOCKERR
+ - L40K
+ - L4TOUT
+ - L4CON
+ - L7OK
+ - L7STS
type: string
- url:
- description: Path to the endpoint
+ x-dependency:
+ type: server
+ algo:
type: string
- title: Endpoint
- type: object
- endpoints:
- title: Endpoints Array
- description: Collection of endpoints
- type: array
- items:
- $ref: '#/definitions/endpoint'
- process_infos:
- description: General HAProxy process information
- example:
- haproxy:
- address: 127.0.0.1
- pid: 1234
- processes: 4
- release_date: "2016-03-11"
- time: "2018-07-02T12:00:00.124Z"
- uptime: 8
- version: 1.7-dev1-868ab3-148
- items:
- properties:
- error:
- type: string
- info:
- properties:
- active_peers:
- type: integer
- x-nullable: true
- busy_polling:
- type: integer
- x-nullable: true
- bytes_out_rate:
- type: integer
- x-nullable: true
- compress_bps_in:
- type: integer
- x-nullable: true
- compress_bps_out:
- type: integer
- x-nullable: true
- compress_bps_rate_lim:
- type: integer
- x-nullable: true
- conn_rate:
- type: integer
- x-nullable: true
- conn_rate_limit:
- type: integer
- x-nullable: true
- connected_peers:
- type: integer
- x-nullable: true
- cum_conns:
- type: integer
- x-nullable: true
- cum_req:
- type: integer
- x-nullable: true
- cum_ssl_conns:
- type: integer
- x-nullable: true
- curr_conns:
- type: integer
- x-nullable: true
- curr_ssl_conns:
- type: integer
- x-nullable: true
- dropped_logs:
- type: integer
- x-nullable: true
- failed_resolutions:
- type: integer
- x-nullable: true
- hard_max_conn:
- type: integer
- x-nullable: true
- idle_pct:
- type: integer
- x-nullable: true
- jobs:
- type: integer
- x-nullable: true
- listeners:
- type: integer
- x-nullable: true
- max_conn:
- type: integer
- x-nullable: true
- max_conn_rate:
- type: integer
- x-nullable: true
- max_pipes:
- type: integer
- x-nullable: true
- max_sess_rate:
- type: integer
- x-nullable: true
- max_sock:
- type: integer
- x-nullable: true
- max_ssl_conns:
- type: integer
- x-nullable: true
- max_ssl_rate:
- type: integer
- x-nullable: true
- max_zlib_mem_usage:
- type: integer
- x-nullable: true
- mem_max_mb:
- type: integer
- x-nullable: true
- nbthread:
- description: Number of threads
- type: integer
- x-display-name: Number of Threads
- x-nullable: true
- node:
- type: string
- pid:
- description: Process id of the replying worker process
- type: integer
- x-display-name: PID
- x-nullable: true
- pipes_free:
- type: integer
- x-nullable: true
- pipes_used:
- type: integer
- x-nullable: true
- pool_alloc_mb:
- type: integer
- x-nullable: true
- pool_failed:
- type: integer
- x-nullable: true
- pool_used_mb:
- type: integer
- x-nullable: true
- process_num:
- description: Process number
- type: integer
- x-display-name: Process Number
- x-nullable: true
- processes:
- description: Number of spawned processes
- type: integer
- x-display-name: Number of processes
- x-nullable: true
- release_date:
- description: HAProxy version release date
- format: date
- type: string
- run_queue:
- type: integer
- x-nullable: true
- sess_rate:
- type: integer
- x-nullable: true
- sess_rate_limit:
- type: integer
- x-nullable: true
- ssl_backend_key_rate:
- type: integer
- x-nullable: true
- ssl_backend_max_key_rate:
- type: integer
- x-nullable: true
- ssl_cache_lookups:
- type: integer
- x-nullable: true
- ssl_cache_misses:
- type: integer
- x-nullable: true
- ssl_frontend_key_rate:
- type: integer
- x-nullable: true
- ssl_frontend_max_key_rate:
- type: integer
- x-nullable: true
- ssl_frontend_session_reuse:
- type: integer
- x-nullable: true
- ssl_rate:
- type: integer
- x-nullable: true
- ssl_rate_limit:
- type: integer
- x-nullable: true
- stopping:
- type: integer
- x-nullable: true
- tasks:
- type: integer
- x-nullable: true
- total_bytes_out:
- type: integer
- x-nullable: true
- ulimit_n:
- type: integer
- x-nullable: true
- unstoppable:
- type: integer
- x-nullable: true
- uptime:
- description: HAProxy uptime in s
- type: integer
- x-nullable: true
- version:
- description: HAProxy version string
- type: string
- zlib_mem_usage:
- type: integer
- x-nullable: true
- type: object
- x-go-name: ProcessInfoItem
- runtimeAPI:
- type: string
- type: object
- x-go-name: ProcessInfo
- title: HAProxy Information
- type: array
- transaction:
- description: HAProxy configuration transaction
- example:
- _version: 2
- id: 273e3385-2d0c-4fb1-aa27-93cbb31ff203
- status: in_progress
- properties:
- _version:
+ x-dependency:
+ type: backend
+ bck:
type: integer
- id:
- pattern: ^[^\s]+$
- type: string
- status:
- enum:
- - failed
- - in_progress
- - success
- type: string
- title: Configuration transaction
- type: object
- transactions:
- title: Transactions array
- description: Configuration transactions array
- type: array
- items:
- $ref: "#/definitions/transaction"
- info:
- description: General API, OS and hardware information
- example:
- api:
- build_date: "2019-08-21T17:31:56.000Z"
- version: v1.2.1 45a3288.dev
- system:
- cpu_info:
- model: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
- num_cpus: 4
- hostname: test
- mem_info:
- dataplaneapi_memory: 44755536
- free_memory: 5790642176
- total_memory: 16681517056
- os_string: 'Linux 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019'
- time: 1566401525
- uptime: 87340
- properties:
- api:
- properties:
- build_date:
- description: HAProxy Dataplane API build date
- format: date-time
- type: string
- version:
- description: HAProxy Dataplane API version string
- type: string
- type: object
- system:
- properties:
- cpu_info:
- properties:
- model:
- type: string
- num_cpus:
- description: Number of logical CPUs
- type: integer
- type: object
- hostname:
- description: Hostname where the HAProxy is running
- type: string
- mem_info:
- properties:
- dataplaneapi_memory:
- type: integer
- free_memory:
- type: integer
- total_memory:
- type: integer
- type: object
- os_string:
- description: OS string
- type: string
- time:
- description: Current time in milliseconds since Epoch.
- type: integer
- uptime:
- description: System uptime
- type: integer
- x-nullable: true
- type: object
- title: Information
- type: object
- reload:
- description: HAProxy reload
- example:
- id: 2019-01-03-44
- status: in_progress
- properties:
- id:
- pattern: ^\d{4}-\d{2}-\d{2}-\d+$
- type: string
- reload_timestamp:
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ bin:
type: integer
- response:
- type: string
- status:
- enum:
- - failed
- - in_progress
- - succeeded
- type: string
- title: HAProxy reload
- type: object
- reloads:
- title: HAProxy Reloads Array
- description: HAProxy reloads array
- type: array
- items:
- $ref: "#/definitions/reload"
- runtime_server:
- description: Runtime transient server properties
- example:
- address: 127.0.0.5
- admin_state: up
- operational_state: up
- port: 80
- server_id: 1
- server_name: web_server
- properties:
- address:
- pattern: ^[^\s]+$
- readOnly: true
- type: string
- x-nullable: false
- admin_state:
- enum:
- - ready
- - maint
- - drain
- type: string
- id:
- readOnly: true
- type: string
- name:
- readOnly: true
+ x-nullable: true
+ bout:
+ type: integer
+ x-nullable: true
+ check_code:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ check_desc:
type: string
- operational_state:
+ x-dependency:
+ type: server
+ check_duration:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ check_fall:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ check_health:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ check_rise:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ check_status:
enum:
- - up
- - down
- - stopping
+ - UNK
+ - INI
+ - SOCKERR
+ - L40K
+ - L4TOUT
+ - L4CON
+ - L6OK
+ - L6TOUT
+ - L6RSP
+ - L7OK
+ - L7OKC
+ - L7TOUT
+ - L7RSP
+ - L7STS
type: string
- port:
- maximum: 65535
- minimum: 0
- readOnly: true
+ x-dependency:
+ type: server
+ chkdown:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- title: Runtime Server
- type: object
- runtime_servers:
- title: HAProxy Runtime Servers Array
- description: HAProxy runtime servers array
- type: array
- items:
- $ref: "#/definitions/runtime_server"
- stick_table:
- description: Stick Table Information
- properties:
- fields:
- items:
- properties:
- field:
- enum:
- - server_id
- - gpc0
- - gpc0_rate
- - gpc1
- - gpc1_rate
- - conn_cnt
- - conn_cur
- - conn_rate
- - sess_cnt
- - sess_rate
- - http_req_cnt
- - http_req_rate
- - http_err_cnt
- - http_err_rate
- - bytes_in_cnt
- - bytes_in_rate
- - bytes_out_cnt
- - bytes_out_rate
- type: string
- period:
- type: integer
- x-dependency:
- type:
- value: rate
- type:
- enum:
- - rate
- - counter
- type: string
- type: object
- x-go-name: StickTableField
- type: array
- name:
- type: string
- process:
- description: Process number if master-worker mode
+ chkfail:
type: integer
+ x-dependency:
+ type: server
x-nullable: true
- size:
+ cli_abrt:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- type:
- enum:
- - ip
- - ipv6
- - integer
- - string
- - binary
+ comp_byp:
+ type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
+ x-nullable: true
+ comp_in:
+ type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
+ x-nullable: true
+ comp_out:
+ type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
+ x-nullable: true
+ comp_rsp:
+ type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
+ x-nullable: true
+ conn_rate:
+ type: integer
+ x-dependency:
+ type: frontend
+ x-nullable: true
+ conn_rate_max:
+ type: integer
+ x-dependency:
+ type: frontend
+ x-nullable: true
+ conn_tot:
+ type: integer
+ x-dependency:
+ type: frontend
+ x-nullable: true
+ cookie:
type: string
- used:
+ x-dependency:
+ type:
+ - server
+ - backend
+ ctime:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- title: Stick Table
- type: object
- stick_tables:
- title: Stick Tables Array
- description: Array of runtime stick tables
- type: array
- items:
- $ref: "#/definitions/stick_table"
- stick_table_entry:
- description: One entry in stick table
- properties:
- bytes_in_cnt:
+ dcon:
type: integer
+ x-dependency:
+ type: frontend
x-nullable: true
- bytes_in_rate:
+ downtime:
type: integer
+ x-dependency:
+ type: server
x-nullable: true
- bytes_out_cnt:
+ dreq:
type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
x-nullable: true
- bytes_out_rate:
+ dresp:
type: integer
x-nullable: true
- conn_cnt:
+ dses:
type: integer
+ x-dependency:
+ type: frontend
x-nullable: true
- conn_cur:
+ econ:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- conn_rate:
+ ereq:
type: integer
+ x-dependency:
+ type: frontend
x-nullable: true
- exp:
+ eresp:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- gpc0:
+ hanafail:
+ type: string
+ x-dependency:
+ type: server
+ hrsp_1xx:
type: integer
x-nullable: true
- gpc0_rate:
+ hrsp_2xx:
type: integer
x-nullable: true
- gpc1:
+ hrsp_3xx:
type: integer
x-nullable: true
- gpc1_rate:
+ hrsp_4xx:
type: integer
x-nullable: true
- http_err_cnt:
+ hrsp_5xx:
type: integer
x-nullable: true
- http_err_rate:
+ hrsp_other:
type: integer
x-nullable: true
- http_req_cnt:
+ iid:
type: integer
x-nullable: true
- http_req_rate:
+ intercepted:
type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
x-nullable: true
- id:
- type: string
- key:
- type: string
- server_id:
+ lastchg:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- sess_cnt:
+ lastsess:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- sess_rate:
+ lbtot:
type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
x-nullable: true
- use:
- type: boolean
- title: Stick Table Entry
- type: object
- stick_table_entries:
- title: Stick Tables Entries
- description: Entries of one runtime stick table
- type: array
- items:
- $ref: "#/definitions/stick_table_entry"
- balance:
- properties:
- algorithm:
+ mode:
enum:
- - roundrobin
- - static-rr
- - leastconn
- - first
- - source
- - uri
- - url_param
- - hdr
- - random
- - rdp-cookie
- type: string
- hdr_name:
- pattern: ^[^\s]+$
+ - tcp
+ - http
+ - health
+ - unknown
type: string
+ pid:
+ type: integer
+ x-nullable: true
+ qcur:
+ type: integer
x-dependency:
- algorithm:
- required: true
- value: hdr
- x-display-name: Header Name
- hdr_use_domain_only:
- type: boolean
+ type:
+ - server
+ - backend
+ x-nullable: true
+ qlimit:
+ type: integer
x-dependency:
- algorithm:
- value: hdr
- x-display-name: Header Use Domain Only
- random_draws:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ qmax:
type: integer
x-dependency:
- algorithm:
- value: random
- x-display-name: Random Draws
- x-nullable: false
- rdp_cookie_name:
- pattern: ^[^\s]+$
- type: string
+ type:
+ - server
+ - backend
+ x-nullable: true
+ qtime:
+ type: integer
x-dependency:
- algorithm:
- value: rdp-cookie
- x-display-name: Rdp Cookie Name
- uri_depth:
- pattern: ^[^\d+$]
+ type:
+ - server
+ - backend
+ x-nullable: true
+ rate:
+ type: integer
+ x-nullable: true
+ rate_lim:
type: integer
x-dependency:
- algorithm:
- value: uri
- x-display-name: Uri Depth
- uri_len:
- pattern: ^[^\d+$]
+ type: frontend
+ x-nullable: true
+ rate_max:
+ type: integer
+ x-nullable: true
+ req_rate:
type: integer
x-dependency:
- algorithm:
- value: uri
- x-display-name: Uri Len
- uri_whole:
- type: boolean
+ type: frontend
+ x-nullable: true
+ req_rate_max:
+ type: integer
x-dependency:
- algorithm:
- value: uri
- x-display-name: Uri Whole
- url_param:
- pattern: ^[^\s]+$
+ type: frontend
+ x-nullable: true
+ req_tot:
+ type: integer
+ x-dependency:
+ type:
+ - frontend
+ - backend
+ x-nullable: true
+ rtime:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ scur:
+ type: integer
+ x-nullable: true
+ sid:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ slim:
+ type: integer
+ x-nullable: true
+ smax:
+ type: integer
+ x-nullable: true
+ srv_abrt:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ status:
+ enum:
+ - UP
+ - DOWN
+ - NOLB
+ - MAINT
+ - no check
+ type: string
+ stot:
+ type: integer
+ x-nullable: true
+ throttle:
+ type: integer
+ x-dependency:
+ type: server
+ x-nullable: true
+ tracked:
+ type: string
+ x-dependency:
+ type: server
+ ttime:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ weight:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ wredis:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ wretr:
+ type: integer
+ x-dependency:
+ type:
+ - server
+ - backend
+ x-nullable: true
+ type: object
+ native_stats_collection:
+ description: Stats from one runtime API
+ properties:
+ error:
+ type: string
+ runtimeAPI:
+ type: string
+ stats:
+ items:
+ $ref: '#/definitions/native_stat'
+ type: array
+ title: Stats collection
+ type: object
+ stats_options:
+ properties:
+ stats_enable:
+ type: boolean
+ x-display-name: Stats Enable
+ stats_hide_version:
+ type: boolean
+ x-display-name: Stats Hide Version
+ stats_maxconn:
+ minimum: 1
+ type: integer
+ stats_refresh_delay:
+ type: integer
+ x-nullable: true
+ stats_show_desc:
+ type: string
+ x-nullable: true
+ stats_show_legends:
+ type: boolean
+ x-display-name: Stats Show Legends
+ stats_show_node_name:
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: true
+ stats_uri_prefix:
+ pattern: ^[^\s]+$
+ type: string
+ type: object
+ error:
+ additionalProperties:
+ type: string
+ description: API Error
+ properties:
+ code:
+ type: integer
+ x-nullable: true
+ message:
+ type: string
+ x-nullable: true
+ required:
+ - code
+ - message
+ title: Error
+ type: object
+ endpoint:
+ description: Endpoint definition
+ properties:
+ description:
+ description: Endpoint description
+ type: string
+ title:
+ description: Endpoint title
+ type: string
+ url:
+ description: Path to the endpoint
+ type: string
+ title: Endpoint
+ type: object
+ endpoints:
+ title: Endpoints Array
+ description: Collection of endpoints
+ type: array
+ items:
+ $ref: '#/definitions/endpoint'
+ process_infos:
+ description: General HAProxy process information
+ items:
+ $ref: '#/definitions/process_info'
+ title: HAProxy Information
+ type: array
+ process_info:
+ properties:
+ error:
+ type: string
+ info:
+ $ref: '#/definitions/process_info_item'
+ runtimeAPI:
+ type: string
+ type: object
+ process_info_item:
+ properties:
+ active_peers:
+ type: integer
+ x-nullable: true
+ busy_polling:
+ type: integer
+ x-nullable: true
+ bytes_out_rate:
+ type: integer
+ x-nullable: true
+ compress_bps_in:
+ type: integer
+ x-nullable: true
+ compress_bps_out:
+ type: integer
+ x-nullable: true
+ compress_bps_rate_lim:
+ type: integer
+ x-nullable: true
+ conn_rate:
+ type: integer
+ x-nullable: true
+ conn_rate_limit:
+ type: integer
+ x-nullable: true
+ connected_peers:
+ type: integer
+ x-nullable: true
+ cum_conns:
+ type: integer
+ x-nullable: true
+ cum_req:
+ type: integer
+ x-nullable: true
+ cum_ssl_conns:
+ type: integer
+ x-nullable: true
+ curr_conns:
+ type: integer
+ x-nullable: true
+ curr_ssl_conns:
+ type: integer
+ x-nullable: true
+ dropped_logs:
+ type: integer
+ x-nullable: true
+ failed_resolutions:
+ type: integer
+ x-nullable: true
+ hard_max_conn:
+ type: integer
+ x-nullable: true
+ idle_pct:
+ type: integer
+ x-nullable: true
+ jobs:
+ type: integer
+ x-nullable: true
+ listeners:
+ type: integer
+ x-nullable: true
+ max_conn:
+ type: integer
+ x-nullable: true
+ max_conn_rate:
+ type: integer
+ x-nullable: true
+ max_pipes:
+ type: integer
+ x-nullable: true
+ max_sess_rate:
+ type: integer
+ x-nullable: true
+ max_sock:
+ type: integer
+ x-nullable: true
+ max_ssl_conns:
+ type: integer
+ x-nullable: true
+ max_ssl_rate:
+ type: integer
+ x-nullable: true
+ max_zlib_mem_usage:
+ type: integer
+ x-nullable: true
+ mem_max_mb:
+ type: integer
+ x-nullable: true
+ nbthread:
+ description: Number of threads
+ type: integer
+ x-display-name: Number of Threads
+ x-nullable: true
+ node:
+ type: string
+ pid:
+ description: Process id of the replying worker process
+ type: integer
+ x-display-name: PID
+ x-nullable: true
+ pipes_free:
+ type: integer
+ x-nullable: true
+ pipes_used:
+ type: integer
+ x-nullable: true
+ pool_alloc_mb:
+ type: integer
+ x-nullable: true
+ pool_failed:
+ type: integer
+ x-nullable: true
+ pool_used_mb:
+ type: integer
+ x-nullable: true
+ process_num:
+ description: Process number
+ type: integer
+ x-display-name: Process Number
+ x-nullable: true
+ processes:
+ description: Number of spawned processes
+ type: integer
+ x-display-name: Number of processes
+ x-nullable: true
+ release_date:
+ description: HAProxy version release date
+ format: date
+ type: string
+ run_queue:
+ type: integer
+ x-nullable: true
+ sess_rate:
+ type: integer
+ x-nullable: true
+ sess_rate_limit:
+ type: integer
+ x-nullable: true
+ ssl_backend_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_backend_max_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_cache_lookups:
+ type: integer
+ x-nullable: true
+ ssl_cache_misses:
+ type: integer
+ x-nullable: true
+ ssl_frontend_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_frontend_max_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_frontend_session_reuse:
+ type: integer
+ x-nullable: true
+ ssl_rate:
+ type: integer
+ x-nullable: true
+ ssl_rate_limit:
+ type: integer
+ x-nullable: true
+ stopping:
+ type: integer
+ x-nullable: true
+ tasks:
+ type: integer
+ x-nullable: true
+ total_bytes_out:
+ type: integer
+ x-nullable: true
+ ulimit_n:
+ type: integer
+ x-nullable: true
+ unstoppable:
+ type: integer
+ x-nullable: true
+ uptime:
+ description: HAProxy uptime in s
+ type: integer
+ x-nullable: true
+ version:
+ description: HAProxy version string
+ type: string
+ zlib_mem_usage:
+ type: integer
+ x-nullable: true
+ type: object
+ transaction:
+ description: HAProxy configuration transaction
+ example:
+ _version: 2
+ id: 273e3385-2d0c-4fb1-aa27-93cbb31ff203
+ status: in_progress
+ properties:
+ _version:
+ type: integer
+ id:
+ pattern: ^[^\s]+$
+ type: string
+ status:
+ enum:
+ - failed
+ - in_progress
+ - success
+ type: string
+ title: Configuration transaction
+ type: object
+ transactions:
+ title: Transactions array
+ description: Configuration transactions array
+ type: array
+ items:
+ $ref: "#/definitions/transaction"
+ spoe_transaction:
+ description: SPOE configuration transaction
+ example:
+ _version: 2
+ id: 273e3385-2d0c-4fb1-aa27-93cbb31ff203
+ status: in_progress
+ properties:
+ _version:
+ type: integer
+ id:
+ pattern: ^[^\s]+$
+ type: string
+ status:
+ enum:
+ - failed
+ - in_progress
+ - success
+ type: string
+ title: SPOE configuration transaction
+ type: object
+ spoe_transactions:
+ title: SPOE Transactions array
+ description: SPOE Configuration transactions array
+ type: array
+ items:
+ $ref: "#/definitions/spoe_transaction"
+ info:
+ description: General API, OS and hardware information
+ example:
+ api:
+ build_date: "2019-08-21T17:31:56.000Z"
+ version: v1.2.1 45a3288.dev
+ system:
+ cpu_info:
+ model: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
+ num_cpus: 4
+ hostname: test
+ mem_info:
+ dataplaneapi_memory: 44755536
+ free_memory: 5790642176
+ total_memory: 16681517056
+ os_string: 'Linux 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019'
+ time: 1566401525
+ uptime: 87340
+ properties:
+ api:
+ properties:
+ build_date:
+ description: HAProxy Dataplane API build date
+ format: date-time
+ type: string
+ version:
+ description: HAProxy Dataplane API version string
+ type: string
+ type: object
+ system:
+ properties:
+ cpu_info:
+ properties:
+ model:
+ type: string
+ num_cpus:
+ description: Number of logical CPUs
+ type: integer
+ type: object
+ hostname:
+ description: Hostname where the HAProxy is running
+ type: string
+ mem_info:
+ properties:
+ dataplaneapi_memory:
+ type: integer
+ free_memory:
+ type: integer
+ total_memory:
+ type: integer
+ type: object
+ os_string:
+ description: OS string
+ type: string
+ time:
+ description: Current time in milliseconds since Epoch.
+ type: integer
+ uptime:
+ description: System uptime
+ type: integer
+ x-nullable: true
+ type: object
+ title: Information
+ type: object
+ reload:
+ description: HAProxy reload
+ example:
+ id: 2019-01-03-44
+ status: in_progress
+ properties:
+ id:
+ pattern: ^\d{4}-\d{2}-\d{2}-\d+$
+ type: string
+ reload_timestamp:
+ type: integer
+ response:
+ type: string
+ status:
+ enum:
+ - failed
+ - in_progress
+ - succeeded
+ type: string
+ title: HAProxy reload
+ type: object
+ reloads:
+ title: HAProxy Reloads Array
+ description: HAProxy reloads array
+ type: array
+ items:
+ $ref: "#/definitions/reload"
+ runtime_server:
+ description: Runtime transient server properties
+ example:
+ address: 127.0.0.5
+ admin_state: ready
+ operational_state: up
+ port: 80
+ server_id: 1
+ server_name: web_server
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ readOnly: true
+ type: string
+ x-nullable: false
+ admin_state:
+ enum:
+ - ready
+ - maint
+ - drain
+ type: string
+ id:
+ readOnly: true
+ type: string
+ name:
+ readOnly: true
+ type: string
+ operational_state:
+ enum:
+ - up
+ - down
+ - stopping
+ type: string
+ port:
+ maximum: 65535
+ minimum: 1
+ readOnly: true
+ type: integer
+ x-nullable: true
+ title: Runtime Server
+ type: object
+ runtime_servers:
+ title: HAProxy Runtime Servers Array
+ description: HAProxy runtime servers array
+ type: array
+ items:
+ $ref: "#/definitions/runtime_server"
+ stick_table:
+ description: Stick Table Information
+ properties:
+ fields:
+ items:
+ properties:
+ field:
+ enum:
+ - server_id
+ - gpc0
+ - gpc0_rate
+ - gpc1
+ - gpc1_rate
+ - gpt0
+ - conn_cnt
+ - conn_cur
+ - conn_rate
+ - sess_cnt
+ - sess_rate
+ - http_req_cnt
+ - http_req_rate
+ - http_err_cnt
+ - http_err_rate
+ - bytes_in_cnt
+ - bytes_in_rate
+ - bytes_out_cnt
+ - bytes_out_rate
+ type: string
+ period:
+ type: integer
+ x-dependency:
+ type:
+ value: rate
+ type:
+ enum:
+ - rate
+ - counter
+ type: string
+ type: object
+ x-go-name: StickTableField
+ type: array
+ name:
+ type: string
+ process:
+ description: Process number if master-worker mode
+ type: integer
+ x-nullable: true
+ size:
+ type: integer
+ x-nullable: true
+ type:
+ enum:
+ - ip
+ - ipv6
+ - integer
+ - string
+ - binary
+ type: string
+ used:
+ type: integer
+ x-nullable: true
+ title: Stick Table
+ type: object
+ stick_tables:
+ title: Stick Tables Array
+ description: Array of runtime stick tables
+ type: array
+ items:
+ $ref: "#/definitions/stick_table"
+ stick_table_entry:
+ description: One entry in stick table
+ properties:
+ bytes_in_cnt:
+ type: integer
+ x-nullable: true
+ bytes_in_rate:
+ type: integer
+ x-nullable: true
+ bytes_out_cnt:
+ type: integer
+ x-nullable: true
+ bytes_out_rate:
+ type: integer
+ x-nullable: true
+ conn_cnt:
+ type: integer
+ x-nullable: true
+ conn_cur:
+ type: integer
+ x-nullable: true
+ conn_rate:
+ type: integer
+ x-nullable: true
+ exp:
+ type: integer
+ x-nullable: true
+ gpc0:
+ type: integer
+ x-nullable: true
+ gpc0_rate:
+ type: integer
+ x-nullable: true
+ gpc1:
+ type: integer
+ x-nullable: true
+ gpc1_rate:
+ type: integer
+ x-nullable: true
+ gpt0:
+ type: integer
+ x-nullable: true
+ http_err_cnt:
+ type: integer
+ x-nullable: true
+ http_err_rate:
+ type: integer
+ x-nullable: true
+ http_req_cnt:
+ type: integer
+ x-nullable: true
+ http_req_rate:
+ type: integer
+ x-nullable: true
+ id:
+ type: string
+ key:
+ type: string
+ server_id:
+ type: integer
+ x-nullable: true
+ sess_cnt:
+ type: integer
+ x-nullable: true
+ sess_rate:
+ type: integer
+ x-nullable: true
+ use:
+ type: boolean
+ title: Stick Table Entry
+ type: object
+ stick_table_entries:
+ title: Stick Tables Entries
+ description: Entries of one runtime stick table
+ type: array
+ items:
+ $ref: "#/definitions/stick_table_entry"
+ cluster_settings:
+ description: Settings related to a cluster.
+ properties:
+ bootstrap_key:
+ type: string
+ cluster:
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ readOnly: true
+ type: string
+ api_base_path:
+ readOnly: true
+ type: string
+ description:
+ readOnly: true
+ type: string
+ name:
+ readOnly: true
+ type: string
+ port:
+ maximum: 65535
+ minimum: 1
+ readOnly: true
+ type: integer
+ x-nullable: true
+ title: Cluster controller information
+ type: object
+ mode:
+ enum:
+ - single
+ - cluster
+ type: string
+ status:
+ enum:
+ - active
+ - unreachable
+ - waiting_approval
+ readOnly: true
+ type: string
+ title: Cluster Settings
+ type: object
+ map:
+ description: Map File
+ properties:
+ description:
+ type: string
+ file:
+ type: string
+ id:
+ type: string
+ storage_name:
+ type: string
+ title: Map File
+ type: object
+ maps:
+ title: Map Files Array
+ description: Array of runtime map files
+ type: array
+ items:
+ $ref: "#/definitions/map"
+ map_entry:
+ description: One Map Entry
+ properties:
+ id:
+ readOnly: true
+ type: string
+ key:
+ type: string
+ value:
+ type: string
+ title: One Map Entry
+ type: object
+ map_entries:
+ title: Maps Entries
+ description: Entries of one runtime map
+ type: array
+ items:
+ $ref: "#/definitions/map_entry"
+ ssl_certificate:
+ description: A file containing one or more SSL/TLS certificates and keys
+ properties:
+ description:
+ type: string
+ file:
+ type: string
+ storage_name:
+ type: string
+ title: SSL File
+ type: object
+ ssl_certificates:
+ title: SSL Files Array
+ description: Array of ssl certificate files
+ type: array
+ items:
+ $ref: "#/definitions/ssl_certificate"
+ ssl_cert_entry:
+ description: One SSL/TLS certificate
+ properties:
+ algorithm:
+ type: string
+ chain_issuer:
+ type: string
+ chain_subject:
+ type: string
+ issuer:
+ type: string
+ not_after:
+ format: date
+ type: string
+ not_before:
+ format: date
+ type: string
+ serial:
+ type: string
+ sha1_finger_print:
+ type: string
+ status:
+ type: string
+ storage_name:
+ type: string
+ subject:
+ type: string
+ subject_alternative_names:
+ items:
+ type: string
+ type: array
+ title: One SSL Certificate Entry
+ type: object
+ ssl_cert_entries:
+ title: SSL Certificate Entries
+ description: Array of entries of runtime SSL Certificate Entry
+ type: array
+ items:
+ $ref: "#/definitions/ssl_cert_entry"
+ ssl_crt_list:
+ description: One SSL/TLS certificate
+ properties:
+ file:
+ type: string
+ title: crt-list
+ type: object
+ ssl_crt_lists:
+ title: SSL crt-list
+ description: Array of entries of runtime crt-list
+ type: array
+ items:
+ $ref: "#/definitions/ssl_crt_list"
+ ssl_crt_list_entry:
+ description: One SSL/TLS certificate
+ properties:
+ file:
+ type: string
+ line_number:
+ type: string
+ sni_filters:
+ items:
+ type: string
+ type: array
+ ssl_bind_config:
+ type: string
+ title: One crt-list Entry
+ type: object
+ ssl_crt_list_entries:
+ title: SSL Certificate Entries
+ description: Array of entries of runtime SSL Certificate Entry
+ type: array
+ items:
+ $ref: "#/definitions/ssl_crt_list_entry"
+ acl_file:
+ description: ACL File
+ properties:
+ description:
+ type: string
+ id:
+ type: string
+ storage_name:
+ type: string
+ title: ACL File
+ type: object
+ acl_files:
+ title: ACL Files Array
+ description: Array of runtime acl files
+ type: array
+ items:
+ $ref: "#/definitions/acl_file"
+ acl_file_entry:
+ description: One ACL File Entry
+ properties:
+ id:
+ readOnly: true
+ type: string
+ value:
+ type: string
+ title: One ACL File Entry
+ type: object
+ acl_files_entries:
+ title: ACL Files Entries
+ description: Array of entries of one runtime acl file
+ type: array
+ items:
+ $ref: "#/definitions/acl_file_entry"
+ balance:
+ properties:
+ algorithm:
+ enum:
+ - roundrobin
+ - static-rr
+ - leastconn
+ - first
+ - source
+ - uri
+ - url_param
+ - hdr
+ - random
+ - rdp-cookie
+ type: string
+ hdr_name:
+ type: string
+ x-dependency:
+ algorithm:
+ required: true
+ value: hdr
+ x-display-name: Header Name
+ hdr_use_domain_only:
+ type: boolean
+ x-dependency:
+ algorithm:
+ value: hdr
+ x-display-name: Header Use Domain Only
+ random_draws:
+ type: integer
+ x-dependency:
+ algorithm:
+ value: random
+ x-display-name: Random Draws
+ x-nullable: false
+ rdp_cookie_name:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ algorithm:
+ value: rdp-cookie
+ x-display-name: Rdp Cookie Name
+ uri_depth:
+ pattern: ^[^\d+$]
+ type: integer
+ x-dependency:
+ algorithm:
+ value: uri
+ x-display-name: Uri Depth
+ uri_len:
+ pattern: ^[^\d+$]
+ type: integer
+ x-dependency:
+ algorithm:
+ value: uri
+ x-display-name: Uri Len
+ uri_whole:
+ type: boolean
+ x-dependency:
+ algorithm:
+ value: uri
+ x-display-name: Uri Whole
+ url_param:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ algorithm:
+ required: true
+ value: url_param
+ x-display-name: Url Param
+ url_param_check_post:
+ type: integer
+ x-dependency:
+ algorithm:
+ value: url_param
+ x-display-name: Url Param Check Post
+ url_param_max_wait:
+ pattern: ^[^\d+$]
+ type: integer
+ x-dependency:
+ algorithm:
+ value: url_param
+ x-display-name: Url Param Max Weight
+ required:
+ - algorithm
+ type: object
+ forwardfor:
+ properties:
+ enabled:
+ enum:
+ - enabled
+ type: string
+ except:
+ pattern: ^[^\s]+$
+ type: string
+ header:
+ pattern: ^[^\s]+$
+ type: string
+ ifnone:
+ type: boolean
+ required:
+ - enabled
+ type: object
+ x-display-name: ForwardFor
+ default_server:
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: false
+ agent-addr:
+ pattern: ^[^\s]+$
+ type: string
+ agent-check:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-dependency:
+ agent-port:
+ required: true
+ agent-inter:
+ type: integer
+ x-nullable: true
+ agent-port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ agent-send:
+ type: string
+ allow_0rtt:
+ type: boolean
+ alpn:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: ALPN Protocols
+ backup:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ check:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ check-sni:
+ pattern: ^[^\s]+$
+ type: string
+ check-ssl:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ check_alpn:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: Protocols
+ check_proto:
+ pattern: ^[^\s]+$
+ type: string
+ x-display-name: Name
+ check_via_socks4:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ cookie:
+ pattern: ^[^\s]+$
+ type: string
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ downinter:
+ type: integer
+ x-nullable: true
+ error_limit:
+ type: integer
+ x-display-name: Error count
+ fall:
+ type: integer
+ x-display-name: Nr. of consecutive failed checks
+ x-nullable: true
+ fastinter:
+ type: integer
+ x-nullable: true
+ force_sslv3:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv10:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv11:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv12:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ force_tlsv13:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ health_check_port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ init-addr:
+ pattern: ^[^\s]+$
+ type: string
+ inter:
+ type: integer
+ x-nullable: true
+ log_proto:
+ enum:
+ - legacy
+ - octet-count
+ type: string
+ max_reuse:
+ type: integer
+ x-nullable: true
+ maxconn:
+ type: integer
+ x-display-name: Max Concurrent Connections
+ x-nullable: true
+ maxqueue:
+ type: integer
+ x-display-name: Max Number of Connections
+ x-nullable: true
+ minconn:
+ type: integer
+ x-nullable: true
+ name:
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: false
+ namespace:
+ type: string
+ no_sslv3:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv10:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv11:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv12:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_tlsv13:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ no_verifyhost:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ npn:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ observe:
+ enum:
+ - layer4
+ - layer7
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ on-error:
+ enum:
+ - fastinter
+ - fail-check
+ - sudden-death
+ - mark-down
+ type: string
+ on-marked-down:
+ enum:
+ - shutdown-sessions
+ type: string
+ on-marked-up:
+ enum:
+ - shutdown-backup-sessions
+ type: string
+ pool_low_conn:
+ type: integer
+ x-nullable: true
+ pool_max_conn:
+ type: integer
+ x-nullable: true
+ pool_purge_delay:
+ type: integer
+ x-nullable: true
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ proto:
+ pattern: ^[^\s]+$
+ type: string
+ proxy-v2-options:
+ items:
+ enum:
+ - ssl
+ - cert-cn
+ - ssl-cipher
+ - cert-sig
+ - cert-key
+ - authority
+ - crc32c
+ - unique-id
+ type: string
+ type: array
+ redir:
+ type: string
+ x-display-name: Prefix
+ resolve-net:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ resolvers:
+ required: true
+ resolve-prefer:
+ enum:
+ - ipv4
+ - ipv6
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ resolvers:
+ required: true
+ resolve_opts:
+ pattern: ^[^,\s][^\,]*[^,\s]*$
+ type: string
+ resolvers:
+ pattern: ^[^\s]+$
+ type: string
+ x-dynamic-enum:
+ operation: getResolvers
+ property: name
+ rise:
+ type: integer
+ x-nullable: true
+ send-proxy:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ send-proxy-v2:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ send_proxy_v2_ssl:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ send_proxy_v2_ssl_cn:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ slowstart:
+ type: integer
+ x-nullable: true
+ sni:
+ pattern: ^[^\s]+$
+ type: string
+ socks4:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ check-via-socks4:
+ required: true
+ source:
+ type: string
+ ssl:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ ssl_certificate:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ ssl_max_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ ssl_min_ver:
+ enum:
+ - SSLv3
+ - TLSv1.0
+ - TLSv1.1
+ - TLSv1.2
+ - TLSv1.3
+ type: string
+ ssl_reuse:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ stick:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ tcp_ut:
+ type: integer
+ tfo:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ tls_tickets:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ track:
+ type: string
+ verify:
+ enum:
+ - none
+ - required
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ verifyhost:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ verify:
+ value: required
+ weight:
+ type: integer
+ x-nullable: true
+ title: Default Server
+ type: object
+ httpchk_params:
+ properties:
+ method:
+ enum:
+ - HEAD
+ - PUT
+ - POST
+ - GET
+ - TRACE
+ - PATCH
+ type: string
+ uri:
+ pattern: ^[^\s]+$
+ type: string
+ version:
+ pattern: ^[^\s]+$
+ type: string
+ type: object
+ x-display-name: HTTP Check
+ http-check:
+ properties:
+ exclamation_mark:
+ type: boolean
+ x-dependency:
+ type:
+ value: expect
+ x-display-name: Expect Exclamation Mark
+ match:
+ enum:
+ - status
+ - rstatus
+ - string
+ - rstring
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: expect
+ x-display-name: Expect Match
+ pattern:
+ pattern: ^[^\s]+$
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: expect
+ x-display-name: Expect Pattern
+ type:
+ enum:
+ - disable-on-404
+ - expect
+ - send-state
+ type: string
+ required:
+ - type
+ type: object
+ redispatch:
+ properties:
+ enabled:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ interval:
+ type: integer
+ x-nullable: false
+ required:
+ - enabled
+ type: object
+ errorfile:
+ properties:
+ code:
+ enum:
+ - 200
+ - 400
+ - 403
+ - 405
+ - 408
+ - 425
+ - 429
+ - 500
+ - 502
+ - 503
+ - 504
+ type: integer
+ file:
+ type: string
+ type: object
+ x-display-name: Error File
+ cookie:
+ properties:
+ domain:
+ items:
+ properties:
+ value:
+ pattern: ^[^\s]+$
+ type: string
+ type: object
+ x-go-name: Domain
+ type: array
+ x-go-name: Domains
+ dynamic:
+ type: boolean
+ httponly:
+ type: boolean
+ indirect:
+ type: boolean
+ maxidle:
+ pattern: ^[^\d+$]
+ type: integer
+ maxlife:
+ pattern: ^[^\d+$]
+ type: integer
+ name:
+ pattern: ^[^\s]+$
+ type: string
+ nocache:
+ type: boolean
+ postonly:
+ type: boolean
+ preserve:
+ type: boolean
+ secure:
+ type: boolean
+ type:
+ enum:
+ - rewrite
+ - insert
+ - prefix
+ type: string
+ required:
+ - name
+ type: object
+ resolver:
+ description: Runtime DNS configuration
+ properties:
+ accepted_payload_size:
+ maximum: 8192
+ minimum: 512
+ type: integer
+ hold_nx:
+ type: integer
+ x-nullable: true
+ hold_obsolete:
+ type: integer
+ x-nullable: true
+ hold_other:
+ type: integer
+ x-nullable: true
+ hold_refused:
+ type: integer
+ x-nullable: true
+ hold_timeout:
+ type: integer
+ x-nullable: true
+ hold_valid:
+ type: integer
+ x-nullable: true
+ name:
+ pattern: ^[A-Za-z0-9-_.:]+$
+ type: string
+ x-nullable: false
+ parse-resolv-conf:
+ type: boolean
+ resolve_retries:
+ minimum: 1
+ type: integer
+ timeout_resolve:
+ type: integer
+ x-nullable: false
+ timeout_retry:
+ type: integer
+ x-nullable: false
+ required:
+ - name
+ title: Resolver
+ type: object
+ resolvers:
+ title: Resolvers
+ description: HAProxy resolvers array
+ type: array
+ items:
+ $ref: '#/definitions/resolver'
+ nameserver:
+ description: Nameserver used in Runtime DNS configuration
+ example:
+ address: 10.0.0.1
+ name: ns1
+ port: 53
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ type: string
+ name:
+ pattern: ^[A-Za-z0-9-_.:]+$
+ type: string
+ x-nullable: false
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ required:
+ - name
+ - address
+ title: Nameserver
+ type: object
+ nameservers:
+ title: Nameservers
+ description: Nameservers array
+ type: array
+ items:
+ $ref: '#/definitions/nameserver'
+ consul:
+ additionalProperties: false
+ description: Consul server configuration
+ example:
+ address: 127.0.0.1
+ enabled: true
+ id: "0"
+ port: 90
+ retry_timeout: 10
+ properties:
+ address:
+ pattern: ^[^\s]+$
+ type: string
+ description:
+ type: string
+ enabled:
+ type: boolean
+ id:
+ description: Auto generated ID.
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: true
+ name:
+ type: string
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ retry_timeout:
+ description: Duration in seconds in-between data pulling requests to the consul
+ server
+ minimum: 1
+ type: integer
+ server_slots_base:
+ default: 10
+ type: integer
+ server_slots_growth_increment:
+ type: integer
+ server_slots_growth_type:
+ default: exponential
+ enum:
+ - linear
+ - exponential
+ type: string
+ service-blacklist:
+ items:
+ pattern: ^[^\s]+$
+ type: string
+ type: array
+ service-whitelist:
+ items:
+ pattern: ^[^\s]+$
+ type: string
+ type: array
+ token:
+ pattern: ^[^\s]+$
+ type: string
+ required:
+ - address
+ - port
+ - enabled
+ - retry_timeout
+ title: Consul server
+ type: object
+ consuls:
+ title: Consuls
+ description: Consuls array
+ type: array
+ items:
+ $ref: '#/definitions/consul'
+ monitor_uri:
+ type: string
+ monitor_fail:
+ properties:
+ cond:
+ enum:
+ - if
+ - unless
+ type: string
+ x-display-name: Condition
+ cond_test:
+ type: string
+ x-dependency:
+ cond:
+ required: true
+ x-display-name: Condition Test
+ required:
+ - cond
+ - cond_test
+ type: object
+ smtpchk_params:
+ properties:
+ domain:
+ type: string
+ hello:
+ type: string
+ type: object
+ mysql_check_params:
+ properties:
+ client_version:
+ enum:
+ - pre-41
+ - post-41
+ type: string
+ username:
+ type: string
+ type: object
+ pgsql_check_params:
+ properties:
+ username:
+ type: string
+ type: object
+ spoe_files:
+ description: SPOE files
+ items:
+ type: string
+ title: SPOE files
+ type: array
+ spoe_scope:
+ description: SPOE scope name
+ title: SPOE scope
+ type: string
+ spoe_scopes:
+ title: SPOE Scopes
+ description: All SPOE Scopes
+ type: array
+ items:
+ $ref: "#/definitions/spoe_scope"
+ spoe_agent:
+ description: SPOE agent configuration
+ properties:
+ async:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ continue-on-error:
+ enum:
+ - enabled
+ type: string
+ dontlog-normal:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ engine-name:
+ type: string
+ force-set-var:
+ enum:
+ - enabled
+ type: string
+ groups:
+ type: string
+ hello_timeout:
+ type: integer
+ idle_timeout:
+ type: integer
+ log:
+ $ref: '#/definitions/log_targets'
+ max-frame-size:
+ type: integer
+ max-waiting-frames:
+ type: integer
+ maxconnrate:
+ type: integer
+ maxerrrate:
+ type: integer
+ messages:
+ type: string
+ name:
+ type: string
+ option_set-on-error:
+ pattern: ^[A-Za-z0-9-_.]+$
+ type: string
+ option_set-process-time:
+ pattern: ^[A-Za-z0-9-_.]+$
+ type: string
+ option_set-total-time:
+ pattern: ^[A-Za-z0-9-_.]+$
+ type: string
+ option_var-prefix:
+ pattern: ^[A-Za-z0-9-_.]+$
+ type: string
+ pipelining:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ processing_timeout:
+ type: integer
+ register-var-names:
+ type: string
+ send-frag-payload:
+ enum:
+ - enabled
+ - disabled
+ type: string
+ use-backend:
+ type: string
+ required:
+ - name
+ title: SPOE agent
+ type: object
+ spoe_agents:
+ title: SPOE Agents
+ description: SPOE Agents of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_agent"
+ spoe_message:
+ description: SPOE message section configuration
+ properties:
+ acl:
+ $ref: '#/definitions/acls'
+ args:
+ type: string
+ event:
+ properties:
+ cond:
+ enum:
+ - if
+ - unless
+ type: string
+ x-display-name: Condition
+ cond_test:
+ type: string
+ x-dependency:
+ cond:
+ required: true
+ x-display-name: Condition Test
+ name:
+ enum:
+ - on-client-session
+ - on-server-session
+ - on-frontend-tcp-request
+ - on-backend-tcp-request
+ - on-tcp-response
+ - on-frontend-http-request
+ - on-backend-http-request
+ - on-http-response
+ type: string
+ required:
+ - name
+ type: object
+ name:
+ type: string
+ required:
+ - name
+ title: SPOE message
+ type: object
+ spoe_messages:
+ title: SPOE Messages
+ description: SPOE Messages of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_message"
+ spoe_group:
+ description: SPOE group section configuration
+ properties:
+ messages:
+ type: string
+ name:
+ type: string
+ required:
+ - name
+ title: SPOE group
+ type: object
+ spoe_groups:
+ title: SPOE Groups
+ description: SPOE Groups of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_group"
+responses:
+ BadRequest:
+ description: Bad request
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: true
+ default: 0
+ schema:
+ $ref: '#/definitions/error'
+ NotFound:
+ description: The specified resource was not found
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: true
+ default: 0
+ schema:
+ $ref: '#/definitions/error'
+ AlreadyExists:
+ description: The specified resource already exists
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: true
+ default: 0
+ schema:
+ $ref: '#/definitions/error'
+ DefaultError:
+ description: General Error
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: true
+ default: 0
+ schema:
+ $ref: '#/definitions/error'
+parameters:
+ transaction_id:
+ name: transaction_id
+ in: query
+ description: ID of the transaction where we want to add the operation. Cannot be used when version is specified.
+ type: string
+ required: false
+ x-nullable: false
+ version:
+ name: version
+ in: query
+ description: Version used for checking configuration version. Cannot be used when transaction is specified, transaction has it's own version.
+ type: integer
+ required: false
+ x-nullable: false
+ force_reload:
+ name: force_reload
+ in: query
+ description: If set, do a force reload, do not wait for the configured reload-delay. Cannot be used when transaction is specified, as changes in transaction are not applied directly to configuration.
+ type: boolean
+ required: false
+ default: false
+securityDefinitions:
+ basic_auth:
+ type: basic
+basePath: /v2
+schemes:
+ - http
+consumes:
+ - application/json
+produces:
+ - application/json
+tags:
+ - name: Discovery
+ description: API autodiscover endpoints
+ - name: Information
+ - name: Specification
+ - name: Transactions
+ description: |
+ Managing transactions. Configuration changes can be grouped in the transaction. You start the
+ transaction with trasactions POST, and call the configuration changes you need with parameter
+ transaction_id. When you want to commit the transaction, you call the transactions PUT and all changes
+ in that transaction is commited. If you call a configuration change without the transaction_id,
+ transaction mechanism is implicitly called with one operation in transaction.
+ - name: Reloads
+ description: |
+ Checking reload success. To avoid constant reloading we reload in intervals that are configurable when
+ with reload-delay option. When a change to configuration is made and force_reload url query string
+ parameter is false we issue a request for reload, and return the reload ID in response header. You can
+ then use reloads endpoints to check the status of that reload ID. If force_reload is true, we override all
+ of this and reload immediately.
+ - name: Sites
+ description: |
+ Managing sites (simple configuration mode). Sites are considered as one frontend with multiple backends
+ connected to it via default_backend or use-backend directives.
+ - name: Stats
+ description: Stats container
+ - name: Global
+ description: Managing global configuration (advanced mode)
+ - name: Defaults
+ description: Managing defaults configuration (advanced mode)
+ - name: Frontend
+ description: Managing frontend configuration (advanced mode)
+ - name: Backend
+ description: Managing backend configurations (advanced mode)
+ - name: Bind
+ description: Managing frontend bind configurations (advanced mode)
+ - name: Server
+ description: Managing backend server configurations (advanced mode)
+ - name: Configuration
+ description: Raw HAProxy configuration management (advanced mode)
+ - name: TCPRequestRule
+ - name: HTTPRequestRule
+ - name: HTTPResponseRule
+ - name: BackendSwitchingRule
+ - name: ServerSwitchingRule
+ - name: TCPResponseRule
+ - name: Filter
+ - name: StickRule
+ - name: StickTable
+ - name: LogTarget
+ - name: ACL
+ - name: Resolver
+ - name: Nameserver
+ - name: Peer
+ - name: PeerEntry
+ - name: Cluster
+ - name: Maps
+ - name: SpecificationOpenapiv3
+ - name: ServiceDiscovery
+ - name: Spoe
+ - name: SpoeTransactions
+security:
+ - basic_auth: []
+paths:
+ /:
+ get:
+ description: Returns a list of root endpoints.
+ operationId: getAPIEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of root endpoints
+ tags:
+ - Discovery
+ /specification:
+ get:
+ description: Return Data Plane API OpenAPI specification
+ operationId: getSpecification
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Data Plane API Specification
+ tags:
+ - Specification
+ /specification_openapiv3:
+ get:
+ description: Return Data Plane API OpenAPI v3 specification
+ operationId: getOpenapiv3Specification
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Data Plane API v3 Specification
+ tags:
+ - SpecificationOpenapiv3
+ /info:
+ get:
+ description: Return API, hardware and OS information
+ operationId: getInfo
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/info'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return API, hardware and OS information
+ tags:
+ - Information
+ /cluster:
+ get:
+ description: Returns cluster data
+ operationId: getCluster
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/cluster_settings'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return cluster data
+ tags:
+ - Discovery
+ post:
+ description: Post cluster settings
+ operationId: postCluster
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/cluster_settings'
+ - description: In case of moving to single mode do we keep or clean configuration
+ enum:
+ - keep
+ in: query
+ name: configuration
+ required: false
+ type: string
+ - $ref: '#/parameters/version'
+ responses:
+ "200":
+ description: Cluster settings changed
+ schema:
+ $ref: '#/definitions/cluster_settings'
+ "400":
+ $ref: '#/responses/BadRequest'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Post cluster settings
+ tags:
+ - Cluster
+ /cluster/certificate:
+ post:
+ description: Initiates a certificate refresh
+ operationId: initiateCertificateRefresh
+ responses:
+ "200":
+ description: refresh activated
+ "403":
+ description: refresh not possible
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Initiates a certificate refresh
+ tags:
+ - Cluster
+ /service_discovery/consul:
+ get:
+ description: Returns all configured Consul servers.
+ operationId: getConsuls
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ properties:
+ data:
+ $ref: '#/definitions/consuls'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of all configured Consul servers
+ tags:
+ - ServiceDiscovery
+ post:
+ description: Adds a new Consul server.
+ operationId: createConsul
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/consul'
+ responses:
+ "201":
+ description: Consul created
+ schema:
+ $ref: '#/definitions/consul'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new Consul server
+ tags:
+ - ServiceDiscovery
+ /service_discovery/consul/{id}:
+ delete:
+ description: Deletes a Consul server configuration by it's id.
+ operationId: deleteConsul
+ parameters:
+ - description: Consul server Index
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "204":
+ description: Consul server deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a Consul server
+ tags:
+ - ServiceDiscovery
+ get:
+ description: Returns one Consul server configuration by it's id.
+ operationId: getConsul
+ parameters:
+ - description: Consul server id
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ properties:
+ data:
+ $ref: '#/definitions/consul'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one Consul server
+ tags:
+ - ServiceDiscovery
+ put:
+ description: Replaces a Consul server configuration by it's id.
+ operationId: replaceConsul
+ parameters:
+ - description: Consul Index
+ in: path
+ name: id
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/consul'
+ responses:
+ "200":
+ description: Consul server replaced
+ schema:
+ $ref: '#/definitions/consul'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a Consul server
+ tags:
+ - ServiceDiscovery
+ /services:
+ get:
+ description: Returns a list of API managed services endpoints.
+ operationId: getServicesEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of service endpoints
+ tags:
+ - Discovery
+ /services/haproxy:
+ get:
+ description: Returns a list of HAProxy related endpoints.
+ operationId: getHaproxyEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy related endpoints
+ tags:
+ - Discovery
+ /services/haproxy/sites:
+ get:
+ description: Returns an array of all configured sites.
+ operationId: getSites
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/sites'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of sites
+ tags:
+ - Sites
+ post:
+ description: Adds a new site to the configuration file.
+ operationId: createSite
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/site'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Site created
+ schema:
+ $ref: '#/definitions/site'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/site'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a site
+ tags:
+ - Sites
+ /services/haproxy/sites/{name}:
+ delete:
+ description: Deletes a site from the configuration by it's name.
+ operationId: deleteSite
+ parameters:
+ - description: Site frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Site deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a site
+ tags:
+ - Sites
+ get:
+ description: Returns one site configuration by it's name.
+ operationId: getSite
+ parameters:
+ - description: Site frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/site'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a site
+ tags:
+ - Sites
+ put:
+ description: Replaces a site configuration by it's name.
+ operationId: replaceSite
+ parameters:
+ - description: Site frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/site'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Site replaced
+ schema:
+ $ref: '#/definitions/site'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/site'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a site
+ tags:
+ - Sites
+ /services/haproxy/stats:
+ get:
+ description: Returns a list of HAProxy stats endpoints.
+ operationId: getStatsEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy stats endpoints
+ tags:
+ - Discovery
+ /services/haproxy/stats/native:
+ get:
+ description: Getting stats from the HAProxy.
+ operationId: getStats
+ parameters:
+ - description: Object type to get stats for (one of frontend, backend, server)
+ enum:
+ - frontend
+ - backend
+ - server
+ in: query
+ name: type
+ required: false
+ type: string
+ - description: Object name to get stats for
+ in: query
+ name: name
+ required: false
+ type: string
+ - description: Object parent name to get stats for, in case the object is a server
+ in: query
+ name: parent
+ required: false
+ type: string
+ x-dependency:
+ query.type: server
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/native_stats'
+ "500":
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/native_stats'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Gets stats
+ tags:
+ - Stats
+ /services/haproxy/transactions:
+ get:
+ description: Returns a list of HAProxy configuration transactions. Transactions
+ can be filtered by their status.
+ operationId: getTransactions
+ parameters:
+ - description: Filter by transaction status
+ enum:
+ - failed
+ - in_progress
+ in: query
+ name: status
+ required: false
+ type: string
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/transactions'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy configuration transactions.
+ tags:
+ - Transactions
+ post:
+ description: Starts a new transaction and returns it's id
+ operationId: startTransaction
+ parameters:
+ - description: Configuration version on which to work on
+ in: query
+ name: version
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "201":
+ description: Transaction started
+ schema:
+ $ref: '#/definitions/transaction'
+ "429":
+ description: Too many open transactions
+ schema:
+ example:
+ code: 429
+ message: cannot start a new transaction, reached the maximum amount of 20
+ active transactions available
+ properties:
+ code:
+ type: integer
+ message:
+ type: string
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Start a new transaction
+ tags:
+ - Transactions
+ /services/haproxy/transactions/{id}:
+ delete:
+ description: Deletes a transaction.
+ operationId: deleteTransaction
+ parameters:
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "204":
+ description: Transaction deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a transaction
+ tags:
+ - Transactions
+ get:
+ description: Returns one HAProxy configuration transactions.
+ operationId: getTransaction
+ parameters:
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/transaction'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one HAProxy configuration transactions
+ tags:
+ - Transactions
+ put:
+ description: Commit transaction, execute all operations in transaction and return
+ msg
+ operationId: commitTransaction
+ parameters:
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Transaction succesfully commited
+ schema:
+ $ref: '#/definitions/transaction'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/transaction'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Commit transaction
+ tags:
+ - Transactions
+ /services/haproxy/spoe_transactions:
+ get:
+ description: Returns a list of SPOE configuration transactions. Transactions can
+ be filtered by their status.
+ operationId: getSpoeTransactions
+ parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Filter by transaction status
+ enum:
+ - failed
+ - in_progress
+ in: query
+ name: status
+ required: false
+ type: string
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/spoe_transactions'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of SPOE configuration transactions.
+ tags:
+ - SpoeTransactions
+ post:
+ description: Starts a new transaction and returns it's id
+ operationId: startSpoeTransaction
+ parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Configuration version on which to work on
+ in: query
+ name: version
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "201":
+ description: Transaction started
+ schema:
+ $ref: '#/definitions/spoe_transaction'
+ "429":
+ description: Too many open transactions
+ schema:
+ example:
+ code: 429
+ message: cannot start a new transaction, reached the maximum amount of 20
+ active transactions available
+ properties:
+ code:
+ type: integer
+ message:
+ type: string
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Start a new transaction
+ tags:
+ - SpoeTransactions
+ /services/haproxy/spoe_transactions/{id}:
+ delete:
+ description: Deletes a transaction.
+ operationId: deleteSpoeTransaction
+ parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "204":
+ description: Transaction deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a transaction
+ tags:
+ - SpoeTransactions
+ get:
+ description: Returns one SPOE configuration transactions.
+ operationId: getSpoeTransaction
+ parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/spoe_transaction'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one SPOE configuration transactions
+ tags:
+ - SpoeTransactions
+ put:
+ description: Commit transaction, execute all operations in transaction and return
+ msg
+ operationId: commitSpoeTransaction
+ parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Transaction id
+ in: path
+ name: id
+ required: true
+ type: string
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Transaction succesfully commited
+ schema:
+ $ref: '#/definitions/spoe_transaction'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/spoe_transaction'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Commit transaction
+ tags:
+ - SpoeTransactions
+ /services/haproxy/reloads:
+ get:
+ description: Returns a list of HAProxy reloads.
+ operationId: getReloads
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/reloads'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy Reloads.
+ tags:
+ - Reloads
+ /services/haproxy/reloads/{id}:
+ get:
+ description: Returns one HAProxy reload status.
+ operationId: getReload
+ parameters:
+ - description: Reload id
+ in: path
+ name: id
+ pattern: ^\d{4}-\d{2}-\d{2}-\d+$
+ required: true
+ type: string
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/reload'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one HAProxy reload status
+ tags:
+ - Reloads
+ /services/haproxy/configuration:
+ get:
+ description: Returns a list of endpoints to be used for advanced configuration of
+ HAProxy objects.
+ operationId: getConfigurationEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy advanced configuration endpoints
+ tags:
+ - Discovery
+ /services/haproxy/configuration/global:
+ get:
+ description: Returns global part of configuration.
+ operationId: getGlobal
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/global'
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a global part of configuration
+ tags:
+ - Global
+ put:
+ description: Replace global part of config
+ operationId: replaceGlobal
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/global'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Global replaced
+ schema:
+ $ref: '#/definitions/global'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/global'
+ "400":
+ $ref: '#/responses/BadRequest'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace global
+ tags:
+ - Global
+ /services/haproxy/configuration/defaults:
+ get:
+ description: Returns defaults part of configuration.
+ operationId: getDefaults
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/defaults'
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return defaults part of configuration
+ tags:
+ - Defaults
+ put:
+ description: Replace defaults part of config
+ operationId: replaceDefaults
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/defaults'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Defaults replaced
+ schema:
+ $ref: '#/definitions/defaults'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/defaults'
+ "400":
+ $ref: '#/responses/BadRequest'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace defaults
+ tags:
+ - Defaults
+ /services/haproxy/configuration/frontends:
+ get:
+ description: Returns an array of all configured frontends.
+ operationId: getFrontends
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/frontends'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of frontends
+ tags:
+ - Frontend
+ post:
+ description: Adds a new frontend to the configuration file.
+ operationId: createFrontend
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/frontend'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Frontend created
+ schema:
+ $ref: '#/definitions/frontend'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/frontend'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a frontend
+ tags:
+ - Frontend
+ /services/haproxy/configuration/frontends/{name}:
+ delete:
+ description: Deletes a frontend from the configuration by it's name.
+ operationId: deleteFrontend
+ parameters:
+ - description: Frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Frontend deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a frontend
+ tags:
+ - Frontend
+ get:
+ description: Returns one frontend configuration by it's name.
+ operationId: getFrontend
+ parameters:
+ - description: Frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/frontend'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a frontend
+ tags:
+ - Frontend
+ put:
+ description: Replaces a frontend configuration by it's name.
+ operationId: replaceFrontend
+ parameters:
+ - description: Frontend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/frontend'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Frontend replaced
+ schema:
+ $ref: '#/definitions/frontend'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/frontend'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a frontend
+ tags:
+ - Frontend
+ /services/haproxy/configuration/peer_section:
+ get:
+ description: Returns an array of all configured peer_section.
+ operationId: getPeerSections
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/peer_sections'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of peer_section
+ tags:
+ - Peer
+ post:
+ description: Adds a new peer to the configuration file.
+ operationId: createPeer
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/peer_section'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Peer created
+ schema:
+ $ref: '#/definitions/peer_section'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/peer_section'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a peer
+ tags:
+ - Peer
+ /services/haproxy/configuration/peer_section/{name}:
+ delete:
+ description: Deletes a peer from the configuration by it's name.
+ operationId: deletePeer
+ parameters:
+ - description: Peer name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Peer deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a peer
+ tags:
+ - Peer
+ get:
+ description: Returns one peer configuration by it's name.
+ operationId: getPeerSection
+ parameters:
+ - description: Peer name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/peer_section'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a peer
+ tags:
+ - Peer
+ /services/haproxy/configuration/peer_entries:
+ get:
+ description: Returns an array of all peer_entries that are configured in specified
+ peer section.
+ operationId: getPeerEntries
+ parameters:
+ - description: Parent peer section name
+ in: query
+ name: peer_section
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/peer_entries'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of peer_entries
+ tags:
+ - PeerEntry
+ post:
+ description: Adds a new peer entry in the specified peer section in the configuration
+ file.
+ operationId: createPeerEntry
+ parameters:
+ - description: Parent peer section name
+ in: query
+ name: peer_section
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/peer_entry'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: PeerEntry created
+ schema:
+ $ref: '#/definitions/peer_entry'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/peer_entry'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new peer_entry
+ tags:
+ - PeerEntry
+ /services/haproxy/configuration/peer_entries/{name}:
+ delete:
+ description: Deletes a peer entry configuration by it's name in the specified peer
+ section.
+ operationId: deletePeerEntry
+ parameters:
+ - description: PeerEntry name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent peers name
+ in: query
+ name: peer_section
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: PeerEntry deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a peer_entry
+ tags:
+ - PeerEntry
+ get:
+ description: Returns one peer_entry configuration by it's name in the specified
+ peer section.
+ operationId: getPeerEntry
+ parameters:
+ - description: PeerEntry name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent peers name
+ in: query
+ name: peer_section
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/peer_entry'
+ type: object
+ "404":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one peer_entry
+ tags:
+ - PeerEntry
+ put:
+ description: Replaces a peer entry configuration by it's name in the specified peer
+ section.
+ operationId: replacePeerEntry
+ parameters:
+ - description: PeerEntry name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent peers name
+ in: query
+ name: peer_section
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/peer_entry'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: PeerEntry replaced
+ schema:
+ $ref: '#/definitions/peer_entry'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/peer_entry'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a peer_entry
+ tags:
+ - PeerEntry
+ /services/haproxy/configuration/backends:
+ get:
+ description: Returns an array of all configured backends.
+ operationId: getBackends
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/backends'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of backends
+ tags:
+ - Backend
+ post:
+ description: Adds a new backend to the configuration file.
+ operationId: createBackend
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/backend'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Backend created
+ schema:
+ $ref: '#/definitions/backend'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/backend'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a backend
+ tags:
+ - Backend
+ /services/haproxy/configuration/backends/{name}:
+ delete:
+ description: Deletes a backend from the configuration by it's name.
+ operationId: deleteBackend
+ parameters:
+ - description: Backend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Backend deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a backend
+ tags:
+ - Backend
+ get:
+ description: Returns one backend configuration by it's name.
+ operationId: getBackend
+ parameters:
+ - description: Backend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/backend'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a backend
+ tags:
+ - Backend
+ put:
+ description: Replaces a backend configuration by it's name.
+ operationId: replaceBackend
+ parameters:
+ - description: Backend name
+ in: path
+ name: name
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/backend'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Backend replaced
+ schema:
+ $ref: '#/definitions/backend'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/backend'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a backend
+ tags:
+ - Backend
+ /services/haproxy/configuration/binds:
+ get:
+ description: Returns an array of all binds that are configured in specified frontend.
+ operationId: getBinds
+ parameters:
+ - description: Parent frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/binds'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of binds
+ tags:
+ - Bind
+ post:
+ description: Adds a new bind in the specified frontend in the configuration file.
+ operationId: createBind
+ parameters:
+ - description: Parent frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/bind'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Bind created
+ schema:
+ $ref: '#/definitions/bind'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/bind'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new bind
+ tags:
+ - Bind
+ /services/haproxy/configuration/binds/{name}:
+ delete:
+ description: Deletes a bind configuration by it's name in the specified frontend.
+ operationId: deleteBind
+ parameters:
+ - description: Bind name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Bind deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a bind
+ tags:
+ - Bind
+ get:
+ description: Returns one bind configuration by it's name in the specified frontend.
+ operationId: getBind
+ parameters:
+ - description: Bind name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/bind'
+ type: object
+ "404":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one bind
+ tags:
+ - Bind
+ put:
+ description: Replaces a bind configuration by it's name in the specified frontend.
+ operationId: replaceBind
+ parameters:
+ - description: Bind name
+ in: path
+ name: name
+ required: true
+ type: string
+ - description: Parent frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/bind'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Bind replaced
+ schema:
+ $ref: '#/definitions/bind'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/bind'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a bind
+ tags:
+ - Bind
+ /services/haproxy/configuration/servers:
+ get:
+ description: Returns an array of all servers that are configured in specified backend.
+ operationId: getServers
+ parameters:
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/servers'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of servers
+ tags:
+ - Server
+ post:
+ description: Adds a new server in the specified backend in the configuration file.
+ operationId: createServer
+ parameters:
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
type: string
- x-dependency:
- algorithm:
- required: true
- value: url_param
- x-display-name: Url Param
- url_param_check_post:
- type: integer
- x-dependency:
- algorithm:
- value: url_param
- x-display-name: Url Param Check Post
- url_param_max_wait:
- pattern: ^[^\d+$]
- type: integer
- x-dependency:
- algorithm:
- value: url_param
- x-display-name: Url Param Max Weight
- required:
- - algorithm
- type: object
- forwardfor:
- properties:
- enabled:
- enum:
- - enabled
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/server'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: Server created
+ schema:
+ $ref: '#/definitions/server'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/server'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new server
+ tags:
+ - Server
+ /services/haproxy/configuration/servers/{name}:
+ delete:
+ description: Deletes a server configuration by it's name in the specified backend.
+ operationId: deleteServer
+ parameters:
+ - description: Server name
+ in: path
+ name: name
+ required: true
type: string
- except:
- pattern: ^[^\s]+$
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
type: string
- header:
- pattern: ^[^\s]+$
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Server deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a server
+ tags:
+ - Server
+ get:
+ description: Returns one server configuration by it's name in the specified backend.
+ operationId: getServer
+ parameters:
+ - description: Server name
+ in: path
+ name: name
+ required: true
type: string
- ifnone:
- type: boolean
- required:
- - enabled
- type: object
- x-display-name: ForwardFor
- default_server:
- properties:
- check-ssl:
- enum:
- - enabled
- - disabled
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
type: string
- downinter:
- type: integer
- x-nullable: true
- fall:
- type: integer
- x-nullable: true
- fastinter:
- type: integer
- x-nullable: true
- inter:
- type: integer
- x-nullable: true
- port:
- maximum: 65535
- minimum: 1
- type: integer
- x-nullable: true
- rise:
- type: integer
- x-nullable: true
- type: object
- httpchk:
- properties:
- method:
- enum:
- - HEAD
- - PUT
- - POST
- - GET
- - TRACE
- - PATCH
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/server'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return one server
+ tags:
+ - Server
+ put:
+ description: Replaces a server configuration by it's name in the specified backend.
+ operationId: replaceServer
+ parameters:
+ - description: Server name
+ in: path
+ name: name
+ required: true
type: string
- uri:
- pattern: ^[^\s]+$
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
type: string
- version:
- pattern: ^[^\s]+$
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/server'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: Server replaced
+ schema:
+ $ref: '#/definitions/server'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/server'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a server
+ tags:
+ - Server
+ /services/haproxy/configuration/http_request_rules:
+ get:
+ description: Returns all HTTP Request Rules that are configured in specified parent.
+ operationId: getHTTPRequestRules
+ parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
type: string
- type: object
- x-display-name: HTTP Check
- redispatch:
- properties:
- enabled:
+ - description: Parent type
enum:
- - enabled
- - disabled
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ responses:
+ "200":
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/http_request_rules'
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of all HTTP Request Rules
+ tags:
+ - HTTPRequestRule
+ post:
+ description: Adds a new HTTP Request Rule of the specified type in the specified
+ parent.
+ operationId: createHTTPRequestRule
+ parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
type: string
- interval:
- type: integer
- x-nullable: false
- required:
- - enabled
- type: object
- errorfile:
- properties:
- code:
+ - description: Parent type
enum:
- - 200
- - 400
- - 403
- - 405
- - 408
- - 425
- - 429
- - 500
- - 502
- - 503
- - 504
- type: integer
- file:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
type: string
- type: object
- x-display-name: Error File
- cookie:
- properties:
- domain:
- items:
- pattern: ^[^\s]+$
- type: string
- type: array
- dynamic:
- type: boolean
- httponly:
- type: boolean
- indirect:
- type: boolean
- maxidle:
- pattern: ^[^\d+$]
- type: integer
- maxlife:
- pattern: ^[^\d+$]
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: HTTP Request Rule created
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new HTTP Request Rule
+ tags:
+ - HTTPRequestRule
+ /services/haproxy/configuration/http_request_rules/{index}:
+ delete:
+ description: Deletes a HTTP Request Rule configuration by it's index from the specified
+ parent.
+ operationId: deleteHTTPRequestRule
+ parameters:
+ - description: HTTP Request Rule Index
+ in: path
+ name: index
+ required: true
type: integer
- name:
- pattern: ^[^\s]+$
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
type: string
- nocache:
- type: boolean
- postonly:
- type: boolean
- preserve:
- type: boolean
- secure:
- type: boolean
- type:
+ - description: Parent type
enum:
- - rewrite
- - insert
- - prefix
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
type: string
- required:
- - name
- type: object
-responses:
- BadRequest:
- description: Bad request
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
- schema:
- $ref: '#/definitions/error'
- NotFound:
- description: The specified resource was not found
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
- schema:
- $ref: '#/definitions/error'
- AlreadyExists:
- description: The specified resource already exists
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
- schema:
- $ref: '#/definitions/error'
- DefaultError:
- description: General Error
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
- schema:
- $ref: '#/definitions/error'
-parameters:
- transaction_id:
- name: transaction_id
- in: query
- description: ID of the transaction where we want to add the operation. Cannot be used when version is specified.
- type: string
- required: false
- x-nullable: false
- version:
- name: version
- in: query
- description: Version used for checking configuration version. Cannot be used when transaction is specified, transaction has it's own version.
- type: integer
- required: false
- x-nullable: false
- force_reload:
- name: force_reload
- in: query
- description: If set, do a force reload, do not wait for the configured reload-delay. Cannot be used when transaction is specified, as changes in transaction are not applied directly to configuration.
- type: boolean
- required: false
- default: false
-securityDefinitions:
- basic_auth:
- type: basic
-basePath: /v2
-schemes:
- - http
-consumes:
- - application/json
-produces:
- - application/json
-tags:
- - name: Discovery
- description: API autodiscover endpoints
- - name: Information
- - name: Specification
- - name: Transactions
- description: |
- Managing transactions. Configuration changes can be grouped in the transaction. You start the
- transaction with trasactions POST, and call the configuration changes you need with parameter
- transaction_id. When you want to commit the transaction, you call the transactions PUT and all changes
- in that transaction is commited. If you call a configuration change without the transaction_id,
- transaction mechanism is implicitly called with one operation in transaction.
- - name: Reloads
- description: |
- Checking reload success. To avoid constant reloading we reload in intervals that are configurable when
- with reload-delay option. When a change to configuration is made and force_reload url query string
- parameter is false we issue a request for reload, and return the reload ID in response header. You can
- then use reloads endpoints to check the status of that reload ID. If force_reload is true, we override all
- of this and reload immediately.
- - name: Sites
- description: |
- Managing sites (simple configuration mode). Sites are considered as one frontend with multiple backends
- connected to it via default_backend or use-backend directives.
- - name: Stats
- description: Stats container
- - name: Global
- description: Managing global configuration (advanced mode)
- - name: Defaults
- description: Managing defaults configuration (advanced mode)
- - name: Frontend
- description: Managing frontend configuration (advanced mode)
- - name: Backend
- description: Managing backend configurations (advanced mode)
- - name: Bind
- description: Managing frontend bind configurations (advanced mode)
- - name: Server
- description: Managing backend server configurations (advanced mode)
- - name: Frontend options
- description: Various frontend options (advanced mode)
- - name: Backend options
- description: Various backend options (advanced mode)
- - name: Configuration
- description: Raw HAProxy configuration management (advanced mode)
- - name: HAProxy configuration management
- description: Managing advanced haproxy configuration (advanced mode)
- - name: TCPRequestRule
- - name: HTTPRequestRule
- - name: HTTPResponseRule
- - name: BackendSwitchingRule
- - name: ServerSwitchingRule
- - name: TCPResponseRule
- - name: Filter
- - name: StickRule
- - name: LogTarget
- - name: ACL
-security:
- - basic_auth: []
-paths:
- /:
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: HTTP Request Rule deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a HTTP Request Rule
+ tags:
+ - HTTPRequestRule
get:
- description: Returns a list of root endpoints.
- operationId: getAPIEndpoints
- produces:
- - application/json
+ description: Returns one HTTP Request Rule configuration by it's index in the specified
+ parent.
+ operationId: getHTTPRequestRule
+ parameters:
+ - description: HTTP Request Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
- description: Success
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/endpoints'
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/http_request_rule'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return list of root endpoints
+ summary: Return one HTTP Request Rule
tags:
- - Discovery
- /specification:
+ - HTTPRequestRule
+ put:
+ description: Replaces a HTTP Request Rule configuration by it's index in the specified
+ parent.
+ operationId: replaceHTTPRequestRule
+ parameters:
+ - description: HTTP Request Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "200":
+ description: HTTP Request Rule replaced
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/http_request_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace a HTTP Request Rule
+ tags:
+ - HTTPRequestRule
+ /services/haproxy/configuration/http_response_rules:
get:
- description: Return Data Plane API OpenAPI specification
- operationId: getSpecification
- produces:
- - application/json
+ description: Returns all HTTP Response Rules that are configured in specified parent.
+ operationId: getHTTPResponseRules
+ parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
- description: Success
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/http_response_rules'
+ required:
+ - data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Data Plane API Specification
+ summary: Return an array of all HTTP Response Rules
tags:
- - Specification
- /info:
+ - HTTPResponseRule
+ post:
+ description: Adds a new HTTP Response Rule of the specified type in the specified
+ parent.
+ operationId: createHTTPResponseRule
+ parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/http_response_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: HTTP Response Rule created
+ schema:
+ $ref: '#/definitions/http_response_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/http_response_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Add a new HTTP Response Rule
+ tags:
+ - HTTPResponseRule
+ /services/haproxy/configuration/http_response_rules/{index}:
+ delete:
+ description: Deletes a HTTP Response Rule configuration by it's index from the specified
+ parent.
+ operationId: deleteHTTPResponseRule
+ parameters:
+ - description: HTTP Response Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: HTTP Response Rule deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a HTTP Response Rule
+ tags:
+ - HTTPResponseRule
get:
- description: Return API, hardware and OS information
- operationId: getInfo
- produces:
- - application/json
+ description: Returns one HTTP Response Rule configuration by it's index in the specified
+ parent.
+ operationId: getHTTPResponseRule
+ parameters:
+ - description: HTTP Response Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
- description: Success
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/info'
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/http_response_rule'
+ type: object
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return API, hardware and OS information
+ summary: Return one HTTP Response Rule
tags:
- - Information
- /services:
- get:
- description: Returns a list of API managed services endpoints.
- operationId: getServicesEndpoints
- produces:
- - application/json
+ - HTTPResponseRule
+ put:
+ description: Replaces a HTTP Response Rule configuration by it's index in the specified
+ parent.
+ operationId: replaceHTTPResponseRule
+ parameters:
+ - description: HTTP Response Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/http_response_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
responses:
"200":
- description: Success
+ description: HTTP Response Rule replaced
schema:
- $ref: '#/definitions/endpoints'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return list of service endpoints
- tags:
- - Discovery
- /services/haproxy:
- get:
- description: Returns a list of HAProxy related endpoints.
- operationId: getHaproxyEndpoints
- produces:
- - application/json
- responses:
- "200":
- description: Success
+ $ref: '#/definitions/http_response_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
schema:
- $ref: '#/definitions/endpoints'
+ $ref: '#/definitions/http_response_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return list of HAProxy related endpoints
+ summary: Replace a HTTP Response Rule
tags:
- - Discovery
- /services/haproxy/sites:
+ - HTTPResponseRule
+ /services/haproxy/configuration/tcp_request_rules:
get:
- description: Returns an array of all configured sites.
- operationId: getSites
+ description: Returns all TCP Request Rules that are configured in specified parent
+ and parent type.
+ operationId: getTCPRequestRules
parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -3414,32 +8276,46 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/sites'
+ $ref: '#/definitions/tcp_request_rules'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of sites
+ summary: Return an array of all TCP Request Rules
tags:
- - Sites
+ - TCPRequestRule
post:
- description: Adds a new site to the configuration file.
- operationId: createSite
+ description: Adds a new TCP Request Rule of the specified type in the specified
+ parent.
+ operationId: createTCPRequestRule
parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/site'
+ $ref: '#/definitions/tcp_request_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: Site created
+ description: TCP Request Rule created
schema:
- $ref: '#/definitions/site'
+ $ref: '#/definitions/tcp_request_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -3447,24 +8323,38 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/site'
+ $ref: '#/definitions/tcp_request_rule'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a site
+ summary: Add a new TCP Request Rule
tags:
- - Sites
- /services/haproxy/sites/{name}:
+ - TCPRequestRule
+ /services/haproxy/configuration/tcp_request_rules/{index}:
delete:
- description: Deletes a site from the configuration by it's name.
- operationId: deleteSite
+ description: Deletes a TCP Request Rule configuration by it's index from the specified
+ parent.
+ operationId: deleteTCPRequestRule
parameters:
- - description: Site frontend name
+ - description: TCP Request Rule Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -3478,21 +8368,35 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: Site deleted
+ description: TCP Request Rule deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a site
+ summary: Delete a TCP Request Rule
tags:
- - Sites
+ - TCPRequestRule
get:
- description: Returns one site configuration by it's name.
- operationId: getSite
+ description: Returns one TCP Request Rule configuration by it's index in the specified
+ parent.
+ operationId: getTCPRequestRule
parameters:
- - description: Site frontend name
+ - description: TCP Request Rule Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -3509,294 +8413,270 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/site'
+ $ref: '#/definitions/tcp_request_rule'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return a site
+ summary: Return one TCP Request Rule
tags:
- - Sites
+ - TCPRequestRule
put:
- description: Replaces a site configuration by it's name.
- operationId: replaceSite
- parameters:
- - description: Site frontend name
- in: path
- name: name
- required: true
- type: string
- - in: body
- name: data
- required: true
- schema:
- $ref: '#/definitions/site'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
- responses:
- "200":
- description: Site replaced
- schema:
- $ref: '#/definitions/site'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
- schema:
- $ref: '#/definitions/site'
- "400":
- $ref: '#/responses/BadRequest'
- "404":
- $ref: '#/responses/NotFound'
- default:
- $ref: '#/responses/DefaultError'
- summary: Replace a site
- tags:
- - Sites
- /services/haproxy/stats:
- get:
- description: Returns a list of HAProxy stats endpoints.
- operationId: getStatsEndpoints
- produces:
- - application/json
- responses:
- "200":
- description: Success
- schema:
- $ref: '#/definitions/endpoints'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return list of HAProxy stats endpoints
- tags:
- - Discovery
- /services/haproxy/stats/native:
- get:
- description: Getting stats from the HAProxy.
- operationId: getStats
+ description: Replaces a TCP Request Rule configuration by it's index in the specified
+ parent.
+ operationId: replaceTCPRequestRule
parameters:
- - description: Object type to get stats for (one of frontend, backend, server)
+ - description: TCP Request Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
enum:
- frontend
- backend
- - server
- in: query
- name: type
- required: false
- type: string
- - description: Object name to get stats for
- in: query
- name: name
- required: false
- type: string
- - description: Object parent name to get stats for, in case the object is a server
in: query
- name: parent
- required: false
+ name: parent_type
+ required: true
type: string
- x-dependency:
- query.type: server
- produces:
- - application/json
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/tcp_request_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
responses:
"200":
- description: Success
+ description: TCP Request Rule replaced
schema:
- $ref: '#/definitions/native_stats'
- "500":
- description: Internal Server Error
+ $ref: '#/definitions/tcp_request_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
schema:
- $ref: '#/definitions/native_stats'
+ $ref: '#/definitions/tcp_request_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Gets stats
+ summary: Replace a TCP Request Rule
tags:
- - Stats
- /services/haproxy/transactions:
+ - TCPRequestRule
+ /services/haproxy/configuration/tcp_response_rules:
get:
- description: Returns a list of HAProxy configuration transactions. Transactions
- can be filtered by their status.
- operationId: getTransactions
+ description: Returns all TCP Response Rules that are configured in specified backend.
+ operationId: getTCPResponseRules
parameters:
- - description: Filter by transaction status
- enum:
- - failed
- - in_progress
+ - description: Parent backend name
in: query
- name: status
- required: false
+ name: backend
+ required: true
type: string
- produces:
- - application/json
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
- description: Success
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/transactions'
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/tcp_response_rules'
+ required:
+ - data
+ type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return list of HAProxy configuration transactions.
+ summary: Return an array of all TCP Response Rules
tags:
- - Transactions
+ - TCPResponseRule
post:
- description: Starts a new transaction and returns it's id
- operationId: startTransaction
+ description: Adds a new TCP Response Rule of the specified type in the specified
+ backend.
+ operationId: createTCPResponseRule
parameters:
- - description: Configuration version on which to work on
+ - description: Parent backend name
in: query
- name: version
+ name: backend
required: true
- type: integer
- produces:
- - application/json
+ type: string
+ - in: body
+ name: data
+ required: true
+ schema:
+ $ref: '#/definitions/tcp_response_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
responses:
"201":
- description: Transaction started
+ description: TCP Response Rule created
schema:
- $ref: '#/definitions/transaction'
+ $ref: '#/definitions/tcp_response_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/tcp_response_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Start a new transaction
+ summary: Add a new TCP Response Rule
tags:
- - Transactions
- /services/haproxy/transactions/{id}:
+ - TCPResponseRule
+ /services/haproxy/configuration/tcp_response_rules/{index}:
delete:
- description: Deletes a transaction.
- operationId: deleteTransaction
+ description: Deletes a TCP Response Rule configuration by it's index from the specified
+ backend.
+ operationId: deleteTCPResponseRule
parameters:
- - description: Transaction id
+ - description: TCP Response Rule Index
in: path
- name: id
+ name: index
+ required: true
+ type: integer
+ - description: Parent backend name
+ in: query
+ name: backend
required: true
type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
"204":
- description: Transaction deleted
+ description: TCP Response Rule deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a transaction
+ summary: Delete a TCP Response Rule
tags:
- - Transactions
+ - TCPResponseRule
get:
- description: Returns one HAProxy configuration transactions.
- operationId: getTransaction
+ description: Returns one TCP Response Rule configuration by it's index in the specified
+ backend.
+ operationId: getTCPResponseRule
parameters:
- - description: Transaction id
+ - description: TCP Response Rule Index
in: path
- name: id
+ name: index
+ required: true
+ type: integer
+ - description: Parent backend name
+ in: query
+ name: backend
required: true
type: string
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/transaction'
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/tcp_response_rule'
+ type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one HAProxy configuration transactions
+ summary: Return one TCP Response Rule
tags:
- - Transactions
+ - TCPResponseRule
put:
- description: Commit transaction, execute all operations in transaction and return
- msg
- operationId: commitTransaction
+ description: Replaces a TCP Response Rule configuration by it's Index in the specified
+ backend.
+ operationId: replaceTCPResponseRule
parameters:
- - description: Transaction id
+ - description: TCP Response Rule Index
in: path
- name: id
+ name: index
+ required: true
+ type: integer
+ - description: Parent backend name
+ in: query
+ name: backend
required: true
type: string
- - $ref: '#/parameters/force_reload'
- responses:
- "200":
- description: Transaction succesfully commited
- schema:
- $ref: '#/definitions/transaction'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
- schema:
- $ref: '#/definitions/transaction'
- "400":
- $ref: '#/responses/BadRequest'
- "404":
- $ref: '#/responses/NotFound'
- default:
- $ref: '#/responses/DefaultError'
- summary: Commit transaction
- tags:
- - Transactions
- /services/haproxy/reloads:
- get:
- description: Returns a list of HAProxy reloads.
- operationId: getReloads
- produces:
- - application/json
- responses:
- "200":
- description: Success
- schema:
- $ref: '#/definitions/reloads'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return list of HAProxy Reloads.
- tags:
- - Reloads
- /services/haproxy/reloads/{id}:
- get:
- description: Returns one HAProxy reload status.
- operationId: getReload
- parameters:
- - description: Reload id
- in: path
- name: id
- pattern: ^\d{4}-\d{2}-\d{2}-\d+$
+ - in: body
+ name: data
required: true
- type: string
+ schema:
+ $ref: '#/definitions/tcp_response_rule'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
responses:
"200":
- description: Successful operation
+ description: TCP Response Rule replaced
schema:
- $ref: '#/definitions/reload'
+ $ref: '#/definitions/tcp_response_rule'
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: '#/definitions/tcp_response_rule'
+ "400":
+ $ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one HAProxy reload status
- tags:
- - Reloads
- /services/haproxy/configuration:
- get:
- description: Returns a list of endpoints to be used for advanced configuration of
- HAProxy objects.
- operationId: getConfigurationEndpoints
- produces:
- - application/json
- responses:
- "200":
- description: Success
- schema:
- $ref: '#/definitions/endpoints'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return list of HAProxy advanced configuration endpoints
+ summary: Replace a TCP Response Rule
tags:
- - Discovery
- /services/haproxy/configuration/global:
+ - TCPResponseRule
+ /services/haproxy/configuration/backend_switching_rules:
get:
- description: Returns global part of configuration.
- operationId: getGlobal
+ description: Returns all Backend Switching Rules that are configured in specified
+ frontend.
+ operationId: getBackendSwitchingRules
parameters:
+ - description: Frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -3811,31 +8691,38 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/global'
+ $ref: '#/definitions/backend_switching_rules'
+ required:
+ - data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return a global part of configuration
+ summary: Return an array of all Backend Switching Rules
tags:
- - Global
- - HAProxy configuration management
- put:
- description: Replace global part of config
- operationId: replaceGlobal
+ - BackendSwitchingRule
+ post:
+ description: Adds a new Backend Switching Rule of the specified type in the specified
+ frontend.
+ operationId: createBackendSwitchingRule
parameters:
+ - description: Frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/global'
+ $ref: '#/definitions/backend_switching_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
- "200":
- description: Global replaced
+ "201":
+ description: Backend Switching Rule created
schema:
- $ref: '#/definitions/global'
+ $ref: '#/definitions/backend_switching_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -3843,20 +8730,66 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/global'
+ $ref: '#/definitions/backend_switching_rule'
"400":
$ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Replace global
+ summary: Add a new Backend Switching Rule
tags:
- - Global
- - HAProxy configuration management
- /services/haproxy/configuration/defaults:
+ - BackendSwitchingRule
+ /services/haproxy/configuration/backend_switching_rules/{index}:
+ delete:
+ description: Deletes a Backend Switching Rule configuration by it's index from the
+ specified frontend.
+ operationId: deleteBackendSwitchingRule
+ parameters:
+ - description: Switching Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ "204":
+ description: Backend Switching Rule deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Delete a Backend Switching Rule
+ tags:
+ - BackendSwitchingRule
get:
- description: Returns defaults part of configuration.
- operationId: getDefaults
+ description: Returns one Backend Switching Rule configuration by it's index in the
+ specified frontend.
+ operationId: getBackendSwitchingRule
parameters:
+ - description: Switching Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -3871,31 +8804,43 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/defaults'
+ $ref: '#/definitions/backend_switching_rule'
type: object
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return defaults part of configuration
+ summary: Return one Backend Switching Rule
tags:
- - Defaults
- - HAProxy configuration management
+ - BackendSwitchingRule
put:
- description: Replace defaults part of config
- operationId: replaceDefaults
+ description: Replaces a Backend Switching Rule configuration by it's index in the
+ specified frontend.
+ operationId: replaceBackendSwitchingRule
parameters:
+ - description: Switching Rule Index
+ in: path
+ name: index
+ required: true
+ type: integer
+ - description: Frontend name
+ in: query
+ name: frontend
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/defaults'
+ $ref: '#/definitions/backend_switching_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: Defaults replaced
+ description: Backend Switching Rule replaced
schema:
- $ref: '#/definitions/defaults'
+ $ref: '#/definitions/backend_switching_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -3903,20 +8848,27 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/defaults'
+ $ref: '#/definitions/backend_switching_rule'
"400":
$ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace defaults
+ summary: Replace a Backend Switching Rule
tags:
- - Defaults
- - HAProxy configuration management
- /services/haproxy/configuration/frontends:
+ - BackendSwitchingRule
+ /services/haproxy/configuration/server_switching_rules:
get:
- description: Returns an array of all configured frontends.
- operationId: getFrontends
+ description: Returns all Backend Switching Rules that are configured in specified
+ backend.
+ operationId: getServerSwitchingRules
parameters:
+ - description: Backend name
+ in: query
+ name: backend
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -3931,33 +8883,38 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/frontends'
+ $ref: '#/definitions/server_switching_rules'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of frontends
+ summary: Return an array of all Server Switching Rules
tags:
- - Frontend
- - HAProxy configuration management
+ - ServerSwitchingRule
post:
- description: Adds a new frontend to the configuration file.
- operationId: createFrontend
+ description: Adds a new Server Switching Rule of the specified type in the specified
+ backend.
+ operationId: createServerSwitchingRule
parameters:
+ - description: Backend name
+ in: query
+ name: backend
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: Frontend created
+ description: Server Switching Rule created
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -3965,25 +8922,30 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a frontend
+ summary: Add a new Server Switching Rule
tags:
- - Frontend
- - HAProxy configuration management
- /services/haproxy/configuration/frontends/{name}:
+ - ServerSwitchingRule
+ /services/haproxy/configuration/server_switching_rules/{index}:
delete:
- description: Deletes a frontend from the configuration by it's name.
- operationId: deleteFrontend
+ description: Deletes a Server Switching Rule configuration by it's index from the
+ specified backend.
+ operationId: deleteServerSwitchingRule
parameters:
- - description: Frontend name
+ - description: Switching Rule Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Backend name
+ in: query
+ name: backend
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -3997,22 +8959,27 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: Frontend deleted
+ description: Server Switching Rule deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a frontend
+ summary: Delete a Server Switching Rule
tags:
- - Frontend
- - HAProxy configuration management
+ - ServerSwitchingRule
get:
- description: Returns one frontend configuration by it's name.
- operationId: getFrontend
+ description: Returns one Server Switching Rule configuration by it's index in the
+ specified backend.
+ operationId: getServerSwitchingRule
parameters:
- - description: Frontend name
+ - description: Switching Rule Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Backend name
+ in: query
+ name: backend
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4029,38 +8996,43 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return a frontend
+ summary: Return one Server Switching Rule
tags:
- - Frontend
- - HAProxy configuration management
+ - ServerSwitchingRule
put:
- description: Replaces a frontend configuration by it's name.
- operationId: replaceFrontend
+ description: Replaces a Server Switching Rule configuration by it's index in the
+ specified backend.
+ operationId: replaceServerSwitchingRule
parameters:
- - description: Frontend name
+ - description: Switching Rule Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Backend name
+ in: query
+ name: backend
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: Frontend replaced
+ description: Server Switching Rule replaced
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4068,22 +9040,34 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/frontend'
+ $ref: '#/definitions/server_switching_rule'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a frontend
+ summary: Replace a Server Switching Rule
tags:
- - Frontend
- - HAProxy configuration management
- /services/haproxy/configuration/backends:
+ - ServerSwitchingRule
+ /services/haproxy/configuration/filters:
get:
- description: Returns an array of all configured backends.
- operationId: getBackends
+ description: Returns all Filters that are configured in specified parent.
+ operationId: getFilters
parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -4098,33 +9082,45 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/backends'
+ $ref: '#/definitions/filters'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of backends
+ summary: Return an array of all Filters
tags:
- - Backend
- - HAProxy configuration management
+ - Filter
post:
- description: Adds a new backend to the configuration file.
- operationId: createBackend
+ description: Adds a new Filter of the specified type in the specified parent.
+ operationId: createFilter
parameters:
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: Backend created
+ description: Filter created
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4132,25 +9128,37 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a backend
+ summary: Add a new Filter
tags:
- - Backend
- - HAProxy configuration management
- /services/haproxy/configuration/backends/{name}:
+ - Filter
+ /services/haproxy/configuration/filters/{index}:
delete:
- description: Deletes a frontend from the configuration by it's name.
- operationId: deleteBackend
+ description: Deletes a Filter configuration by it's index from the specified parent.
+ operationId: deleteFilter
parameters:
- - description: Backend name
+ - description: Filter Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4164,22 +9172,34 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: Backend deleted
+ description: Filter deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a backend
+ summary: Delete a Filter
tags:
- - Backend
- - HAProxy configuration management
+ - Filter
get:
- description: Returns one backend configuration by it's name.
- operationId: getBackend
+ description: Returns one Filter configuration by it's index in the specified parent.
+ operationId: getFilter
parameters:
- - description: Backend name
+ - description: Filter Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4196,38 +9216,50 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return a backend
+ summary: Return one Filter
tags:
- - Backend
- - HAProxy configuration management
+ - Filter
put:
- description: Replaces a backend configuration by it's name.
- operationId: replaceBackend
+ description: Replaces a Filter configuration by it's index in the specified parent.
+ operationId: replaceFilter
parameters:
- - description: Backend name
+ - description: Filter Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: Backend replaced
+ description: Filter replaced
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4235,25 +9267,24 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/backend'
+ $ref: '#/definitions/filter'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a backend
+ summary: Replace a Filter
tags:
- - Backend
- - HAProxy configuration management
- /services/haproxy/configuration/binds:
+ - Filter
+ /services/haproxy/configuration/stick_rules:
get:
- description: Returns an array of all binds that are configured in specified frontend.
- operationId: getBinds
+ description: Returns all Stick Rules that are configured in specified backend.
+ operationId: getStickRules
parameters:
- - description: Parent frontend name
+ - description: Backend name
in: query
- name: frontend
+ name: backend
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4270,39 +9301,37 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/binds'
+ $ref: '#/definitions/stick_rules'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of binds
+ summary: Return an array of all Stick Rules
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - StickRule
post:
- description: Adds a new bind in the specified frontend in the configuration file.
- operationId: createBind
+ description: Adds a new Stick Rule of the specified type in the specified backend.
+ operationId: createStickRule
parameters:
- - description: Parent frontend name
+ - description: Backend name
in: query
- name: frontend
+ name: backend
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: Bind created
+ description: Stick Rule created
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4310,31 +9339,30 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new bind
+ summary: Add a new Stick Rule
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
- /services/haproxy/configuration/binds/{name}:
+ - StickRule
+ /services/haproxy/configuration/stick_rules/{index}:
delete:
- description: Deletes a bind configuration by it's name in the specified frontend.
- operationId: deleteBind
+ description: Deletes a Stick Rule configuration by it's index from the specified
+ backend.
+ operationId: deleteStickRule
parameters:
- - description: Bind name
+ - description: Stick Rule Index
in: path
- name: name
+ name: index
required: true
- type: string
- - description: Parent frontend name
+ type: integer
+ - description: Backend name
in: query
- name: frontend
+ name: backend
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4348,28 +9376,27 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: Bind deleted
+ description: Stick Rule deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a bind
+ summary: Delete a Stick Rule
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - StickRule
get:
- description: Returns one bind configuration by it's name in the specified frontend.
- operationId: getBind
+ description: Returns one Stick Rule configuration by it's index in the specified
+ backend.
+ operationId: getStickRule
parameters:
- - description: Bind name
+ - description: Stick Rule Index
in: path
- name: name
+ name: index
required: true
- type: string
- - description: Parent frontend name
+ type: integer
+ - description: Backend name
in: query
- name: frontend
+ name: backend
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4386,44 +9413,43 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
type: object
"404":
- $ref: '#/responses/AlreadyExists'
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one bind
+ summary: Return one Stick Rule
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - StickRule
put:
- description: Replaces a bind configuration by it's name in the specified frontend.
- operationId: replaceBind
+ description: Replaces a Stick Rule configuration by it's index in the specified
+ backend.
+ operationId: replaceStickRule
parameters:
- - description: Bind name
+ - description: Stick Rule Index
in: path
- name: name
+ name: index
required: true
- type: string
- - description: Parent frontend name
+ type: integer
+ - description: Backend name
in: query
- name: frontend
+ name: backend
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: Bind replaced
+ description: Stick Rule replaced
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4431,26 +9457,32 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/bind'
+ $ref: '#/definitions/stick_rule'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a bind
+ summary: Replace a Stick Rule
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
- /services/haproxy/configuration/servers:
+ - StickRule
+ /services/haproxy/configuration/log_targets:
get:
- description: Returns an array of all servers that are configured in specified backend.
- operationId: getServers
+ description: Returns all Log Targets that are configured in specified parent.
+ operationId: getLogTargets
parameters:
- - description: Parent backend name
+ - description: Parent name
in: query
- name: backend
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4467,39 +9499,45 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/servers'
+ $ref: '#/definitions/log_targets'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of servers
+ summary: Return an array of all Log Targets
tags:
- - Server
- - HAProxy configuration management
- - Backend options
+ - LogTarget
post:
- description: Adds a new server in the specified backend in the configuration file.
- operationId: createServer
+ description: Adds a new Log Target of the specified type in the specified parent.
+ operationId: createLogTarget
parameters:
- - description: Parent backend name
+ - description: Parent name
in: query
- name: backend
+ name: parent_name
+ required: true
+ type: string
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
+ in: query
+ name: parent_type
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: Server created
+ description: Log Target created
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4507,31 +9545,38 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new server
+ summary: Add a new Log Target
tags:
- - Server
- - HAProxy configuration management
- - Backend options
- /services/haproxy/configuration/servers/{name}:
+ - LogTarget
+ /services/haproxy/configuration/log_targets/{index}:
delete:
- description: Deletes a server configuration by it's name in the specified backend.
- operationId: deleteServer
+ description: Deletes a Log Target configuration by it's index from the specified
+ parent.
+ operationId: deleteLogTarget
parameters:
- - description: Server name
+ - description: Log Target Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
required: true
type: string
- - description: Parent backend name
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
in: query
- name: backend
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4545,28 +9590,35 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: Server deleted
+ description: Log Target deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a server
+ summary: Delete a Log Target
tags:
- - Server
- - HAProxy configuration management
- - Backend options
+ - LogTarget
get:
- description: Returns one server configuration by it's name in the specified backend.
- operationId: getServer
+ description: Returns one Log Target configuration by it's index in the specified
+ parent.
+ operationId: getLogTarget
parameters:
- - description: Server name
+ - description: Log Target Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
required: true
type: string
- - description: Parent backend name
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
in: query
- name: backend
+ name: parent_type
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -4583,44 +9635,51 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one server
+ summary: Return one Log Target
tags:
- - Server
- - HAProxy configuration management
- - Backend options
+ - LogTarget
put:
- description: Replaces a server configuration by it's name in the specified backend.
- operationId: replaceServer
+ description: Replaces a Log Target configuration by it's index in the specified
+ parent.
+ operationId: replaceLogTarget
parameters:
- - description: Server name
+ - description: Log Target Index
in: path
- name: name
+ name: index
+ required: true
+ type: integer
+ - description: Parent name
+ in: query
+ name: parent_name
required: true
type: string
- - description: Parent backend name
+ - description: Parent type
+ enum:
+ - frontend
+ - backend
in: query
- name: backend
+ name: parent_type
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: Server replaced
+ description: Log Target replaced
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4628,22 +9687,20 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/server'
+ $ref: '#/definitions/log_target'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a server
+ summary: Replace a Log Target
tags:
- - Server
- - HAProxy configuration management
- - Backend options
- /services/haproxy/configuration/http_request_rules:
+ - LogTarget
+ /services/haproxy/configuration/acls:
get:
- description: Returns all HTTP Request Rules that are configured in specified parent.
- operationId: getHTTPRequestRules
+ description: Returns all ACL lines that are configured in specified parent.
+ operationId: getAcls
parameters:
- description: Parent name
in: query
@@ -4672,22 +9729,18 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/http_request_rules'
+ $ref: '#/definitions/acls'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all HTTP Request Rules
+ summary: Return an array of all ACL lines
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPRequestRule
+ - ACL
post:
- description: Adds a new HTTP Request Rule of the specified type in the specified
- parent.
- operationId: createHTTPRequestRule
+ description: Adds a new ACL line of the specified type in the specified parent.
+ operationId: createAcl
parameters:
- description: Parent name
in: query
@@ -4706,15 +9759,15 @@ paths:
name: data
required: true
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: HTTP Request Rule created
+ description: ACL line created
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4722,28 +9775,24 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new HTTP Request Rule
+ summary: Add a new ACL line
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPRequestRule
- /services/haproxy/configuration/http_request_rules/{id}:
+ - ACL
+ /services/haproxy/configuration/acls/{index}:
delete:
- description: Deletes a HTTP Request Rule configuration by it's ID from the specified
- parent.
- operationId: deleteHTTPRequestRule
+ description: Deletes a ACL line configuration by it's index from the specified parent.
+ operationId: deleteAcl
parameters:
- - description: HTTP Request Rule ID
+ - description: ACL line Index
in: path
- name: id
+ name: index
required: true
type: integer
- description: Parent name
@@ -4770,25 +9819,21 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: HTTP Request Rule deleted
+ description: ACL line deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a HTTP Request Rule
+ summary: Delete a ACL line
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPRequestRule
+ - ACL
get:
- description: Returns one HTTP Request Rule configuration by it's ID in the specified
- parent.
- operationId: getHTTPRequestRule
+ description: Returns one ACL line configuration by it's index in the specified parent.
+ operationId: getAcl
parameters:
- - description: HTTP Request Rule ID
+ - description: ACL line Index
in: path
- name: id
+ name: index
required: true
type: integer
- description: Parent name
@@ -4818,26 +9863,22 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one HTTP Request Rule
+ summary: Return one ACL line
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPRequestRule
+ - ACL
put:
- description: Replaces a HTTP Request Rule configuration by it's ID in the specified
- parent.
- operationId: replaceHTTPRequestRule
+ description: Replaces a ACL line configuration by it's index in the specified parent.
+ operationId: replaceAcl
parameters:
- - description: HTTP Request Rule ID
+ - description: ACL line Index
in: path
- name: id
+ name: index
required: true
type: integer
- description: Parent name
@@ -4857,15 +9898,15 @@ paths:
name: data
required: true
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: HTTP Request Rule replaced
+ description: ACL line replaced
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4873,37 +9914,21 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/http_request_rule'
+ $ref: '#/definitions/acl'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a HTTP Request Rule
+ summary: Replace a ACL line
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPRequestRule
- /services/haproxy/configuration/http_response_rules:
+ - ACL
+ /services/haproxy/configuration/resolvers:
get:
- description: Returns all HTTP Response Rules that are configured in specified parent.
- operationId: getHTTPResponseRules
+ description: Returns an array of all configured resolvers.
+ operationId: getResolvers
parameters:
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
- required: true
- type: string
- $ref: '#/parameters/transaction_id'
responses:
"200":
@@ -4918,49 +9943,32 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/http_response_rules'
+ $ref: '#/definitions/resolvers'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all HTTP Response Rules
+ summary: Return an array of resolvers
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPResponseRule
+ - Resolver
post:
- description: Adds a new HTTP Response Rule of the specified type in the specified
- parent.
- operationId: createHTTPResponseRule
+ description: Adds a new resolver section to the configuration file.
+ operationId: createResolver
parameters:
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
- required: true
- type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: HTTP Response Rule created
+ description: Resolver created
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -4968,41 +9976,24 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new HTTP Response Rule
+ summary: Add a resolver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPResponseRule
- /services/haproxy/configuration/http_response_rules/{id}:
+ - Resolver
+ /services/haproxy/configuration/resolvers/{name}:
delete:
- description: Deletes a HTTP Response Rule configuration by it's ID from the specified
- parent.
- operationId: deleteHTTPResponseRule
+ description: Deletes a resolver from the configuration by it's name.
+ operationId: deleteResolver
parameters:
- - description: HTTP Response Rule ID
+ - description: Resolver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -5016,38 +10007,21 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: HTTP Response Rule deleted
+ description: Resolver deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a HTTP Response Rule
+ summary: Delete a resolver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPResponseRule
+ - Resolver
get:
- description: Returns one HTTP Response Rule configuration by it's ID in the specified
- parent.
- operationId: getHTTPResponseRule
+ description: Returns one resolver section configuration by it's name.
+ operationId: getResolver
parameters:
- - description: HTTP Response Rule ID
+ - description: Resolver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -5064,54 +10038,37 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one HTTP Response Rule
+ summary: Return a resolver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPResponseRule
+ - Resolver
put:
- description: Replaces a HTTP Response Rule configuration by it's ID in the specified
- parent.
- operationId: replaceHTTPResponseRule
+ description: Replaces a resolver configuration by it's name.
+ operationId: replaceResolver
parameters:
- - description: HTTP Response Rule ID
+ - description: Resolver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: HTTP Response Rule replaced
+ description: Resolver replaced
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -5119,36 +10076,24 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/http_response_rule'
+ $ref: '#/definitions/resolver'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a HTTP Response Rule
+ summary: Replace a resolver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - HTTPResponseRule
- /services/haproxy/configuration/tcp_request_rules:
+ - Resolver
+ /services/haproxy/configuration/nameservers:
get:
- description: Returns all TCP Request Rules that are configured in specified parent
- and parent type.
- operationId: getTCPRequestRules
+ description: Returns an array of all configured nameservers.
+ operationId: getNameservers
parameters:
- - description: Parent name
+ - description: Parent resolver name
in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: resolver
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -5165,49 +10110,37 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/tcp_request_rules'
+ $ref: '#/definitions/nameservers'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all TCP Request Rules
+ summary: Return an array of nameservers
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPRequestRule
+ - Nameserver
post:
- description: Adds a new TCP Request Rule of the specified type in the specified
- parent.
- operationId: createTCPRequestRule
+ description: Adds a new nameserver to the resolvers section.
+ operationId: createNameserver
parameters:
- - description: Parent name
+ - description: Parent resolver name
in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: resolver
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"201":
- description: TCP Request Rule created
+ description: Nameserver created
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -5215,41 +10148,29 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new TCP Request Rule
+ summary: Add a nameserver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPRequestRule
- /services/haproxy/configuration/tcp_request_rules/{id}:
+ - Nameserver
+ /services/haproxy/configuration/nameservers/{name}:
delete:
- description: Deletes a TCP Request Rule configuration by it's ID from the specified
- parent.
- operationId: deleteTCPRequestRule
+ description: Deletes a nameserver from the resolvers section by it's name.
+ operationId: deleteNameserver
parameters:
- - description: TCP Request Rule ID
+ - description: Nameserver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
+ name: name
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Parent resolver name
in: query
- name: parent_type
+ name: resolver
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -5263,38 +10184,26 @@ paths:
description: ID of the requested reload
type: string
"204":
- description: TCP Request Rule deleted
+ description: Nameserver deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a TCP Request Rule
+ summary: Delete a nameserver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPRequestRule
+ - Nameserver
get:
- description: Returns one TCP Request Rule configuration by it's ID in the specified
- parent.
- operationId: getTCPRequestRule
+ description: Returns one nameserver configuration by it's name.
+ operationId: getNameserver
parameters:
- - description: TCP Request Rule ID
+ - description: Nameserver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
+ name: name
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Parent resolver name
in: query
- name: parent_type
+ name: resolver
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -5311,54 +10220,42 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one TCP Request Rule
+ summary: Return a nameserver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPRequestRule
+ - Nameserver
put:
- description: Replaces a TCP Request Rule configuration by it's ID in the specified
- parent.
- operationId: replaceTCPRequestRule
+ description: Replaces a nameserver configuration by it's name.
+ operationId: replaceNameserver
parameters:
- - description: TCP Request Rule ID
+ - description: Nameserver name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
+ name: name
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Parent resolver name
in: query
- name: parent_type
+ name: resolver
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- $ref: '#/parameters/force_reload'
responses:
"200":
- description: TCP Request Rule replaced
+ description: Nameserver replaced
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
"202":
description: Configuration change accepted and reload requested
headers:
@@ -5366,60 +10263,197 @@ paths:
description: ID of the requested reload
type: string
schema:
- $ref: '#/definitions/tcp_request_rule'
+ $ref: '#/definitions/nameserver'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a TCP Request Rule
+ summary: Replace a nameserver
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPRequestRule
- /services/haproxy/configuration/tcp_response_rules:
+ - Nameserver
+ /services/haproxy/configuration/raw:
get:
- description: Returns all TCP Response Rules that are configured in specified backend.
- operationId: getTCPResponseRules
+ description: Returns HAProxy configuration file in plain text
+ operationId: getHAProxyConfiguration
+ parameters:
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Operation successful
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ properties:
+ _version:
+ type: integer
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return HAProxy configuration
+ tags:
+ - Configuration
+ post:
+ consumes:
+ - text/plain
+ description: Push a new haproxy configuration file in plain text
+ operationId: postHAProxyConfiguration
+ parameters:
+ - in: body
+ name: data
+ required: true
+ schema:
+ type: string
+ - default: false
+ description: If set, no version check will be done and the pushed config will
+ be enforced
+ in: query
+ name: skip_version
+ required: false
+ type: boolean
+ - default: false
+ description: If set, no reload will be initiated and runtime actions from X-Runtime-Actions
+ will be applied
+ in: query
+ name: skip_reload
+ required: false
+ type: boolean
+ - default: false
+ description: If set, only validates configuration, without applying it
+ in: query
+ name: only_validate
+ required: false
+ type: boolean
+ - description: List of Runtime API commands with parameters separated by ';'
+ in: header
+ name: X-Runtime-Actions
+ required: false
+ type: string
+ - $ref: '#/parameters/version'
+ - $ref: '#/parameters/force_reload'
+ produces:
+ - application/json
+ responses:
+ "201":
+ description: New HAProxy configuration pushed
+ schema:
+ type: string
+ "202":
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ type: string
+ "400":
+ $ref: '#/responses/BadRequest'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Push new haproxy configuration
+ tags:
+ - Configuration
+ /services/haproxy/runtime:
+ get:
+ description: Returns a list of endpoints to be used for advanced runtime settings
+ of HAProxy objects.
+ operationId: getRuntimeEndpoints
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/endpoints'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return list of HAProxy advanced runtime endpoints
+ tags:
+ - Discovery
+ /services/haproxy/runtime/info:
+ get:
+ description: Return HAProxy process information
+ operationId: getHaproxyProcessInfo
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: Success
+ schema:
+ $ref: '#/definitions/process_infos'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return HAProxy process information
+ tags:
+ - Information
+ /services/haproxy/runtime/servers:
+ get:
+ description: Returns an array of all servers' runtime settings.
+ operationId: getRuntimeServers
+ parameters:
+ - description: Parent backend name
+ in: query
+ name: backend
+ required: true
+ type: string
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/runtime_servers'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return an array of runtime servers' settings
+ tags:
+ - Server
+ /services/haproxy/runtime/servers/{name}:
+ get:
+ description: Returns one server runtime settings by it's name in the specified backend.
+ operationId: getRuntimeServer
parameters:
+ - description: Server name
+ in: path
+ name: name
+ required: true
+ type: string
- description: Parent backend name
in: query
name: backend
required: true
type: string
- - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/tcp_response_rules'
- required:
- - data
- type: object
+ $ref: '#/definitions/runtime_server'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all TCP Response Rules
+ summary: Return one server runtime settings
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPResponseRule
- post:
- description: Adds a new TCP Response Rule of the specified type in the specified
+ - Server
+ put:
+ description: Replaces a server transient settings by it's name in the specified
backend.
- operationId: createTCPResponseRule
+ operationId: replaceRuntimeServer
parameters:
+ - description: Server name
+ in: path
+ name: name
+ required: true
+ type: string
- description: Parent backend name
in: query
name: backend
@@ -5429,734 +10463,670 @@ paths:
name: data
required: true
schema:
- $ref: '#/definitions/tcp_response_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
+ $ref: '#/definitions/runtime_server'
responses:
- "201":
- description: TCP Response Rule created
- schema:
- $ref: '#/definitions/tcp_response_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ "200":
+ description: Server transient settings replaced
schema:
- $ref: '#/definitions/tcp_response_rule'
+ $ref: '#/definitions/runtime_server'
"400":
$ref: '#/responses/BadRequest'
- "409":
- $ref: '#/responses/AlreadyExists'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new TCP Response Rule
+ summary: Replace server transient settings
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPResponseRule
- /services/haproxy/configuration/tcp_response_rules/{id}:
- delete:
- description: Deletes a TCP Response Rule configuration by it's ID from the specified
- backend.
- operationId: deleteTCPResponseRule
+ - Server
+ /services/haproxy/runtime/stick_tables:
+ get:
+ description: Returns an array of all stick tables.
+ operationId: getStickTables
+ parameters:
+ - description: Process number if master-worker mode, if not all processes are returned
+ in: query
+ name: process
+ type: integer
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/stick_tables'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return Stick Tables
+ tags:
+ - StickTable
+ /services/haproxy/runtime/stick_tables/{name}:
+ get:
+ description: Returns one stick table from runtime.
+ operationId: getStickTable
parameters:
- - description: TCP Response Rule ID
+ - description: Stick table name
in: path
- name: id
+ name: name
required: true
- type: integer
- - description: Parent backend name
+ type: string
+ - description: Process number if master-worker mode, if not only first process is
+ returned
in: query
- name: backend
+ name: process
required: true
- type: string
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
+ type: integer
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
- "204":
- description: TCP Response Rule deleted
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/stick_table'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a TCP Response Rule
+ summary: Return Stick Table
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPResponseRule
+ - StickTable
+ /services/haproxy/runtime/stick_table_entries:
get:
- description: Returns one TCP Response Rule configuration by it's ID in the specified
- backend.
- operationId: getTCPResponseRule
+ description: Returns an array of all entries in a given stick tables.
+ operationId: getStickTableEntries
parameters:
- - description: TCP Response Rule ID
- in: path
- name: id
+ - description: Stick table name
+ in: query
+ name: stick_table
required: true
- type: integer
- - description: Parent backend name
+ type: string
+ - description: Process number if master-worker mode, if not only first process is
+ returned
in: query
- name: backend
+ name: process
required: true
+ type: integer
+ - description: A list of filters in format data. separated
+ by comma
+ in: query
+ name: filter
type: string
- - $ref: '#/parameters/transaction_id'
+ - description: Key which we want the entries for
+ in: query
+ name: key
+ type: string
+ - description: Max number of entries to be returned for pagination
+ in: query
+ name: count
+ type: integer
+ - description: Offset which indicates how many items we skip in pagination
+ in: query
+ name: offset
+ type: integer
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/tcp_response_rule'
- type: object
+ $ref: '#/definitions/stick_table_entries'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return Stick Table Entries
+ tags:
+ - StickTable
+ /services/haproxy/runtime/maps:
+ get:
+ description: Returns runtime map files.
+ operationId: getAllRuntimeMapFiles
+ parameters:
+ - default: false
+ description: If true, also show unmanaged map files loaded in haproxy
+ in: query
+ name: include_unmanaged
+ required: false
+ type: boolean
+ responses:
+ "200":
+ description: Successful operation
+ schema:
+ $ref: '#/definitions/maps'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one TCP Response Rule
+ summary: Return runtime map files
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPResponseRule
- put:
- description: Replaces a TCP Response Rule configuration by it's ID in the specified
- backend.
- operationId: replaceTCPResponseRule
+ - Maps
+ /services/haproxy/runtime/maps/{name}:
+ delete:
+ description: Remove all map entries from the map file.
+ operationId: clearRuntimeMap
parameters:
- - description: TCP Response Rule ID
+ - description: Map file name
in: path
- name: id
+ name: name
required: true
- type: integer
- - description: Parent backend name
+ type: string
+ - description: If true, deletes file from disk
in: query
- name: backend
+ name: forceDelete
+ type: boolean
+ - default: false
+ description: If true, immediately syncs changes to disk
+ in: query
+ name: force_sync
+ type: boolean
+ responses:
+ "204":
+ description: All map entries deleted
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Remove all map entries from the map file
+ tags:
+ - Maps
+ get:
+ description: Returns one runtime map file.
+ operationId: getOneRuntimeMap
+ parameters:
+ - description: Map file name
+ in: path
+ name: name
required: true
type: string
- - in: body
- name: data
- required: true
- schema:
- $ref: '#/definitions/tcp_response_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"200":
- description: TCP Response Rule replaced
- schema:
- $ref: '#/definitions/tcp_response_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Successful operation
schema:
- $ref: '#/definitions/tcp_response_rule'
- "400":
- $ref: '#/responses/BadRequest'
+ $ref: '#/definitions/map'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a TCP Response Rule
+ summary: Return one runtime map file
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - TCPResponseRule
- /services/haproxy/configuration/backend_switching_rules:
+ - Maps
+ /services/haproxy/runtime/maps_entries:
get:
- description: Returns all Backend Switching Rules that are configured in specified
- frontend.
- operationId: getBackendSwitchingRules
+ description: Returns an array of all entries in a given runtime map file.
+ operationId: showRuntimeMap
parameters:
- - description: Frontend name
+ - description: Mapfile attribute storage_name
in: query
- name: frontend
+ name: map
required: true
type: string
- - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/backend_switching_rules'
- required:
- - data
- type: object
+ $ref: '#/definitions/map_entries'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all Backend Switching Rules
+ summary: Return one map runtime entries
tags:
- - HAProxy configuration management
- - Frontend options
- - BackendSwitchingRule
+ - Maps
post:
- description: Adds a new Backend Switching Rule of the specified type in the specified
- frontend.
- operationId: createBackendSwitchingRule
+ description: Adds an entry into the map file.
+ operationId: addMapEntry
parameters:
- - description: Frontend name
+ - description: Mapfile attribute storage_name
in: query
- name: frontend
+ name: map
required: true
type: string
+ - default: false
+ description: If true, immediately syncs changes to disk
+ in: query
+ name: force_sync
+ type: boolean
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/backend_switching_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
+ $ref: '#/definitions/map_entry'
responses:
"201":
- description: Backend Switching Rule created
- schema:
- $ref: '#/definitions/backend_switching_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Map entry created
schema:
- $ref: '#/definitions/backend_switching_rule'
+ $ref: '#/definitions/map_entry'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new Backend Switching Rule
+ summary: Adds an entry into the map file
tags:
- - HAProxy configuration management
- - Frontend options
- - BackendSwitchingRule
- /services/haproxy/configuration/backend_switching_rules/{id}:
+ - Maps
+ /services/haproxy/runtime/maps_entries/{id}:
delete:
- description: Deletes a Backend Switching Rule configuration by it's ID from the
- specified frontend.
- operationId: deleteBackendSwitchingRule
+ description: Delete all the map entries from the map by its id.
+ operationId: deleteRuntimeMapEntry
parameters:
- - description: Switching Rule ID
+ - description: Map id
in: path
name: id
required: true
- type: integer
- - description: Frontend name
+ type: string
+ - description: Mapfile attribute storage_name
in: query
- name: frontend
+ name: map
required: true
type: string
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
+ - default: false
+ description: If true, immediately syncs changes to disk
+ in: query
+ name: force_sync
+ type: boolean
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: Backend Switching Rule deleted
+ description: Map key/value deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a Backend Switching Rule
+ summary: Deletes all the map entries from the map by its id
tags:
- - HAProxy configuration management
- - Frontend options
- - BackendSwitchingRule
+ - Maps
get:
- description: Returns one Backend Switching Rule configuration by it's ID in the
- specified frontend.
- operationId: getBackendSwitchingRule
+ description: Returns one map runtime setting by it's id.
+ operationId: getRuntimeMapEntry
parameters:
- - description: Switching Rule ID
+ - description: Map id
in: path
name: id
required: true
- type: integer
- - description: Frontend name
+ type: string
+ - description: Mapfile attribute storage_name
in: query
- name: frontend
+ name: map
required: true
type: string
- - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/backend_switching_rule'
- type: object
+ $ref: '#/definitions/map_entry'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one Backend Switching Rule
+ summary: Return one map runtime setting
tags:
- - HAProxy configuration management
- - Frontend options
- - BackendSwitchingRule
+ - Maps
put:
- description: Replaces a Backend Switching Rule configuration by it's ID in the specified
- frontend.
- operationId: replaceBackendSwitchingRule
+ description: Replaces the value corresponding to each id in a map.
+ operationId: replaceRuntimeMapEntry
parameters:
- - description: Switching Rule ID
+ - description: Map id
in: path
name: id
required: true
- type: integer
- - description: Frontend name
+ type: string
+ - description: Mapfile attribute storage_name
in: query
- name: frontend
+ name: map
required: true
type: string
+ - default: false
+ description: If true, immediately syncs changes to disk
+ in: query
+ name: force_sync
+ type: boolean
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/backend_switching_rule'
+ properties:
+ value:
+ description: Map value
+ type: string
+ required:
+ - value
+ type: object
+ responses:
+ "200":
+ description: Map value replaced
+ schema:
+ $ref: '#/definitions/map_entry'
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace the value corresponding to each id in a map
+ tags:
+ - Maps
+ /services/haproxy/configuration/version:
+ get:
+ description: Returns configuration version.
+ operationId: getConfigurationVersion
+ parameters:
- $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"200":
- description: Backend Switching Rule replaced
+ description: Configuration version
schema:
- $ref: '#/definitions/backend_switching_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ type: integer
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a configuration version
+ tags:
+ - Configuration
+ /services/haproxy/storage/maps:
+ get:
+ description: Returns a list of all managed map files
+ operationId: getAllStorageMapFiles
+ responses:
+ "200":
+ description: Successful operation
schema:
- $ref: '#/definitions/backend_switching_rule'
+ $ref: '#/definitions/maps'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return a list of all managed map files
+ tags:
+ - Storage
+ post:
+ consumes:
+ - multipart/form-data
+ description: Creates a managed runtime map file with its entries.
+ operationId: createRuntimeMap
+ parameters:
+ - description: The map file contents
+ in: formData
+ name: file_upload
+ type: file
+ x-mimetype: text/plain
+ responses:
+ "201":
+ description: Map file created with its entries
+ schema:
+ $ref: '#/definitions/map'
"400":
$ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Creates a managed runtime map file with its entries
+ tags:
+ - Storage
+ /services/haproxy/storage/maps/{name}:
+ delete:
+ description: Deletes a managed map file from disk.
+ operationId: deleteStorageMap
+ parameters:
+ - description: Map file storage_name
+ in: path
+ name: name
+ required: true
+ type: string
+ responses:
+ "204":
+ description: Map file deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a Backend Switching Rule
+ summary: Deletes a managed map file from disk
tags:
- - HAProxy configuration management
- - Frontend options
- - BackendSwitchingRule
- /services/haproxy/configuration/server_switching_rules:
+ - Storage
get:
- description: Returns all Backend Switching Rules that are configured in specified
- backend.
- operationId: getServerSwitchingRules
+ description: Returns the contents of one managed map file from disk
+ operationId: getOneStorageMap
parameters:
- - description: Backend name
- in: query
- name: backend
+ - description: Map file storage_name
+ in: path
+ name: name
required: true
type: string
- - $ref: '#/parameters/transaction_id'
+ produces:
+ - application/octet-stream
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/server_switching_rules'
- required:
- - data
- type: object
+ type: file
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all Server Switching Rules
+ summary: Return the contents of one managed map file from disk
tags:
- - HAProxy configuration management
- - Backend options
- - ServerSwitchingRule
- post:
- description: Adds a new Server Switching Rule of the specified type in the specified
- backend.
- operationId: createServerSwitchingRule
+ - Storage
+ put:
+ consumes:
+ - text/plain
+ description: Replaces the contents of a managed map file on disk
+ operationId: replaceStorageMapFile
parameters:
- - description: Backend name
- in: query
- name: backend
+ - description: Map file storage_name
+ in: path
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/server_switching_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
+ type: string
- $ref: '#/parameters/force_reload'
+ produces:
+ - application/json
responses:
- "201":
- description: Server Switching Rule created
- schema:
- $ref: '#/definitions/server_switching_rule'
"202":
description: Configuration change accepted and reload requested
headers:
Reload-ID:
description: ID of the requested reload
type: string
+ "204":
+ description: Map file replaced
+ "400":
+ $ref: '#/responses/BadRequest'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Replace contents of a managed map file on disk
+ tags:
+ - Storage
+ /services/haproxy/storage/ssl_certificates:
+ get:
+ description: Returns all available SSL certificates on disk.
+ operationId: getAllStorageSSLCertificates
+ responses:
+ "200":
+ description: Successful operation
schema:
- $ref: '#/definitions/server_switching_rule'
+ $ref: '#/definitions/ssl_certificates'
+ "404":
+ $ref: '#/responses/NotFound'
+ default:
+ $ref: '#/responses/DefaultError'
+ summary: Return all available SSL certificates on disk
+ tags:
+ - Storage
+ post:
+ consumes:
+ - multipart/form-data
+ description: Creates SSL certificate.
+ operationId: createStorageSSLCertificate
+ parameters:
+ - description: The SSL certificate to upload
+ in: formData
+ name: file_upload
+ type: file
+ x-mimetype: text/plain
+ - $ref: '#/parameters/force_reload'
+ responses:
+ "201":
+ description: SSL certificate created
+ schema:
+ $ref: '#/definitions/ssl_certificate'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new Server Switching Rule
+ summary: Create SSL certificate
tags:
- - HAProxy configuration management
- - Backend options
- - ServerSwitchingRule
- /services/haproxy/configuration/server_switching_rules/{id}:
+ - Storage
+ /services/haproxy/storage/ssl_certificates/{name}:
delete:
- description: Deletes a Server Switching Rule configuration by it's ID from the specified
- backend.
- operationId: deleteServerSwitchingRule
+ description: Deletes SSL certificate from disk.
+ operationId: deleteStorageSSLCertificate
parameters:
- - description: Switching Rule ID
+ - description: SSL certificate name
in: path
- name: id
- required: true
- type: integer
- - description: Backend name
- in: query
- name: backend
+ name: name
required: true
type: string
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: Server Switching Rule deleted
+ description: SSL certificate deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a Server Switching Rule
+ summary: Delete SSL certificate from disk
tags:
- - HAProxy configuration management
- - Backend options
- - ServerSwitchingRule
+ - Storage
get:
- description: Returns one Server Switching Rule configuration by it's ID in the specified
- backend.
- operationId: getServerSwitchingRule
+ description: Returns one SSL certificate from disk.
+ operationId: getOneStorageSSLCertificate
parameters:
- - description: Switching Rule ID
+ - description: SSL certificate name
in: path
- name: id
- required: true
- type: integer
- - description: Backend name
- in: query
- name: backend
+ name: name
required: true
type: string
- - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/server_switching_rule'
- type: object
+ $ref: '#/definitions/ssl_certificate'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one Server Switching Rule
+ summary: Return one SSL certificate from disk
tags:
- - HAProxy configuration management
- - Backend options
- - ServerSwitchingRule
+ - Storage
put:
- description: Replaces a Server Switching Rule configuration by it's ID in the specified
- backend.
- operationId: replaceServerSwitchingRule
+ consumes:
+ - text/plain
+ description: Replaces SSL certificate on disk.
+ operationId: replaceStorageSSLCertificate
parameters:
- - description: Switching Rule ID
+ - description: SSL certificate name
in: path
- name: id
- required: true
- type: integer
- - description: Backend name
- in: query
- name: backend
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/server_switching_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
+ type: string
- $ref: '#/parameters/force_reload'
+ produces:
+ - application/json
responses:
- "200":
- description: Server Switching Rule replaced
- schema:
- $ref: '#/definitions/server_switching_rule'
"202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: SSL certificate replaced
schema:
- $ref: '#/definitions/server_switching_rule'
+ $ref: '#/definitions/ssl_certificate'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a Server Switching Rule
+ summary: Replace SSL certificates on disk
tags:
- - HAProxy configuration management
- - Backend options
- - ServerSwitchingRule
- /services/haproxy/configuration/filters:
+ - Storage
+ /services/haproxy/spoe/spoe_files:
get:
- description: Returns all Filters that are configured in specified parent.
- operationId: getFilters
- parameters:
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
- required: true
- type: string
- - $ref: '#/parameters/transaction_id'
+ description: Returns all available SPOE files.
+ operationId: getAllSpoeFiles
responses:
"200":
description: Successful operation
- headers:
- Configuration-Version:
- description: Configuration file version
- type: integer
- x-nullable: false
schema:
- properties:
- _version:
- type: integer
- data:
- $ref: '#/definitions/filters'
- required:
- - data
- type: object
+ $ref: '#/definitions/spoe_files'
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all Filters
+ summary: Return all available SPOE files
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - Filter
+ - Spoe
post:
- description: Adds a new Filter of the specified type in the specified parent.
- operationId: createFilter
+ consumes:
+ - multipart/form-data
+ description: Creates SPOE file with its entries.
+ operationId: createSpoe
parameters:
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
- required: true
- type: string
- - in: body
- name: data
- required: true
- schema:
- $ref: '#/definitions/filter'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
+ - description: The spoe file to upload
+ in: formData
+ name: file_upload
+ type: file
+ x-mimetype: text/plain
responses:
"201":
- description: Filter created
- schema:
- $ref: '#/definitions/filter'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: SPOE file created with its entries
schema:
- $ref: '#/definitions/filter'
+ type: string
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new Filter
+ summary: Creates SPOE file with its entries
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - Filter
- /services/haproxy/configuration/filters/{id}:
+ - Spoe
+ /services/haproxy/spoe/spoe_files/{name}:
delete:
- description: Deletes a Filter configuration by it's ID from the specified parent.
- operationId: deleteFilter
+ description: Deletes SPOE file.
+ operationId: deleteSpoeFile
parameters:
- - description: Filter ID
+ - description: SPOE file name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: name
required: true
type: string
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: Filter deleted
+ description: SPOE file deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a Filter
+ summary: Delete SPOE file
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - Filter
+ - Spoe
get:
- description: Returns one Filter configuration by it's ID in the specified parent.
- operationId: getFilter
+ description: Returns one SPOE file.
+ operationId: getOneSpoeFile
parameters:
- - description: Filter ID
+ - description: SPOE file name
in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
+ name: name
required: true
type: string
- - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6164,81 +11134,23 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/filter'
+ type: string
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one Filter
- tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - Filter
- put:
- description: Replaces a Filter configuration by it's ID in the specified parent.
- operationId: replaceFilter
- parameters:
- - description: Filter ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
- in: query
- name: parent_name
- required: true
- type: string
- - description: Parent type
- enum:
- - frontend
- - backend
- in: query
- name: parent_type
- required: true
- type: string
- - in: body
- name: data
- required: true
- schema:
- $ref: '#/definitions/filter'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
- responses:
- "200":
- description: Filter replaced
- schema:
- $ref: '#/definitions/filter'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
- schema:
- $ref: '#/definitions/filter'
- "400":
- $ref: '#/responses/BadRequest'
- "404":
- $ref: '#/responses/NotFound'
- default:
- $ref: '#/responses/DefaultError'
- summary: Replace a Filter
+ summary: Return one SPOE file
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - Filter
- /services/haproxy/configuration/stick_rules:
+ - Spoe
+ /services/haproxy/spoe/spoe_scopes:
get:
- description: Returns all Stick Rules that are configured in specified backend.
- operationId: getStickRules
+ description: Returns an array of all configured spoe scopes.
+ operationId: getSpoeScopes
parameters:
- - description: Backend name
+ - description: Spoe file name
in: query
- name: backend
+ name: spoe
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6247,7 +11159,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6255,106 +11167,84 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/stick_rules'
+ $ref: '#/definitions/spoe_scopes'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all Stick Rules
+ summary: Return an array of spoe scopes
tags:
- - HAProxy configuration management
- - Backend options
- - StickRule
+ - Spoe
post:
- description: Adds a new Stick Rule of the specified type in the specified backend.
- operationId: createStickRule
+ description: Adds a new spoe scope.
+ operationId: createSpoeScope
parameters:
- - description: Backend name
+ - description: Spoe file name
in: query
- name: backend
+ name: spoe
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/stick_rule'
+ $ref: '#/definitions/spoe_scope'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"201":
- description: Stick Rule created
- schema:
- $ref: '#/definitions/stick_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe scope created
schema:
- $ref: '#/definitions/stick_rule'
+ $ref: '#/definitions/spoe_scope'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new Stick Rule
+ summary: Add a new spoe scope
tags:
- - HAProxy configuration management
- - Backend options
- - StickRule
- /services/haproxy/configuration/stick_rules/{id}:
+ - Spoe
+ /services/haproxy/spoe/spoe_scopes/{name}:
delete:
- description: Deletes a Stick Rule configuration by it's ID from the specified backend.
- operationId: deleteStickRule
+ description: Deletes a SPOE scope from the configuration file.
+ operationId: deleteSpoeScope
parameters:
- - description: Stick Rule ID
- in: path
- name: id
- required: true
- type: integer
- - description: Backend name
+ - description: Spoe file name
in: query
- name: backend
+ name: spoe
+ required: true
+ type: string
+ - description: Spoe scope name
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: Stick Rule deleted
+ description: Spoe scope deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a Stick Rule
+ summary: Delete a SPOE scope
tags:
- - HAProxy configuration management
- - Backend options
- - StickRule
+ - Spoe
get:
- description: Returns one Stick Rule configuration by it's ID in the specified backend.
- operationId: getStickRule
+ description: Returns one SPOE scope in one SPOE file.
+ operationId: getSpoeScope
parameters:
- - description: Stick Rule ID
- in: path
- name: id
- required: true
- type: integer
- - description: Backend name
+ - description: Spoe file name
in: query
- name: backend
+ name: spoe
+ required: true
+ type: string
+ - description: Spoe scope
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6363,7 +11253,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6371,79 +11261,30 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/stick_rule'
+ $ref: '#/definitions/spoe_scope'
+ required:
+ - data
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one Stick Rule
- tags:
- - HAProxy configuration management
- - Backend options
- - StickRule
- put:
- description: Replaces a Stick Rule configuration by it's ID in the specified backend.
- operationId: replaceStickRule
- parameters:
- - description: Stick Rule ID
- in: path
- name: id
- required: true
- type: integer
- - description: Backend name
- in: query
- name: backend
- required: true
- type: string
- - in: body
- name: data
- required: true
- schema:
- $ref: '#/definitions/stick_rule'
- - $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
- responses:
- "200":
- description: Stick Rule replaced
- schema:
- $ref: '#/definitions/stick_rule'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
- schema:
- $ref: '#/definitions/stick_rule'
- "400":
- $ref: '#/responses/BadRequest'
- "404":
- $ref: '#/responses/NotFound'
- default:
- $ref: '#/responses/DefaultError'
- summary: Replace a Stick Rule
+ summary: Return one SPOE scope
tags:
- - HAProxy configuration management
- - Backend options
- - StickRule
- /services/haproxy/configuration/log_targets:
+ - Spoe
+ /services/haproxy/spoe/spoe_agents:
get:
- description: Returns all Log Targets that are configured in specified parent.
- operationId: getLogTargets
+ description: Returns an array of all configured spoe agents in one scope.
+ operationId: getSpoeAgents
parameters:
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6452,7 +11293,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6460,133 +11301,99 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/log_targets'
+ $ref: '#/definitions/spoe_agents'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all Log Targets
+ summary: Return an array of spoe agents in one scope
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - LogTarget
+ - Spoe
post:
- description: Adds a new Log Target of the specified type in the specified parent.
- operationId: createLogTarget
+ description: Adds a new spoe agent to the spoe scope.
+ operationId: createSpoeAgent
parameters:
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/log_target'
+ $ref: '#/definitions/spoe_agent'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"201":
- description: Log Target created
- schema:
- $ref: '#/definitions/log_target'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe agent created
schema:
- $ref: '#/definitions/log_target'
+ $ref: '#/definitions/spoe_agent'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new Log Target
+ summary: Add a new spoe agent to scope
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - LogTarget
- /services/haproxy/configuration/log_targets/{id}:
+ - Spoe
+ /services/haproxy/spoe/spoe_agents/{name}:
delete:
- description: Deletes a Log Target configuration by it's ID from the specified parent.
- operationId: deleteLogTarget
+ description: Deletes a SPOE agent from the configuration in one SPOE scope.
+ operationId: deleteSpoeAgent
parameters:
- - description: Log Target ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe agent name
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: Log Target deleted
+ description: Spoe agent deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a Log Target
+ summary: Delete a SPOE agent
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - LogTarget
+ - Spoe
get:
- description: Returns one Log Target configuration by it's ID in the specified parent.
- operationId: getLogTarget
+ description: Returns one spoe agent configuration in one SPOE scope.
+ operationId: getSpoeAgent
parameters:
- - description: Log Target ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe agent name
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6595,7 +11402,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6603,89 +11410,70 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/log_target'
+ $ref: '#/definitions/spoe_agent'
+ required:
+ - data
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one Log Target
+ summary: Return a spoe agent
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - LogTarget
+ - Spoe
put:
- description: Replaces a Log Target configuration by it's ID in the specified parent.
- operationId: replaceLogTarget
+ description: Replaces a SPOE agent configuration in one SPOE scope.
+ operationId: replaceSpoeAgent
parameters:
- - description: Log Target ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe agent name
+ in: path
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/log_target'
+ $ref: '#/definitions/spoe_agent'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"200":
- description: Log Target replaced
- schema:
- $ref: '#/definitions/log_target'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe agent replaced
schema:
- $ref: '#/definitions/log_target'
+ $ref: '#/definitions/spoe_agent'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a Log Target
+ summary: Replace a SPOE agent
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - LogTarget
- /services/haproxy/configuration/acls:
+ - Spoe
+ /services/haproxy/spoe/spoe_messages:
get:
- description: Returns all ACL lines that are configured in specified parent.
- operationId: getAcls
+ description: Returns an array of all configured spoe messages in one scope.
+ operationId: getSpoeMessages
parameters:
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6694,7 +11482,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6702,133 +11490,99 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/acls'
+ $ref: '#/definitions/spoe_messages'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of all ACL lines
+ summary: Return an array of spoe messages in one scope
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - ACL
+ - Spoe
post:
- description: Adds a new ACL line of the specified type in the specified parent.
- operationId: createAcl
+ description: Adds a new spoe message to the spoe scope.
+ operationId: createSpoeMessage
parameters:
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/acl'
+ $ref: '#/definitions/spoe_message'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"201":
- description: ACL line created
- schema:
- $ref: '#/definitions/acl'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe message created
schema:
- $ref: '#/definitions/acl'
+ $ref: '#/definitions/spoe_message'
"400":
$ref: '#/responses/BadRequest'
"409":
$ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Add a new ACL line
+ summary: Add a new spoe message to scope
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - ACL
- /services/haproxy/configuration/acls/{id}:
+ - Spoe
+ /services/haproxy/spoe/spoe_messages/{name}:
delete:
- description: Deletes a ACL line configuration by it's ID from the specified parent.
- operationId: deleteAcl
+ description: Deletes a spoe message from the SPOE scope.
+ operationId: deleteSpoeMessage
parameters:
- - description: ACL line ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe message name
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
"204":
- description: ACL line deleted
+ description: Spoe message deleted
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Delete a ACL line
+ summary: Delete a spoe message
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - ACL
+ - Spoe
get:
- description: Returns one ACL line configuration by it's ID in the specified parent.
- operationId: getAcl
+ description: Returns one spoe message configuration in SPOE scope.
+ operationId: getSpoeMessage
parameters:
- - description: ACL line ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe message name
+ in: path
+ name: name
required: true
type: string
- $ref: '#/parameters/transaction_id'
@@ -6837,7 +11591,7 @@ paths:
description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6845,88 +11599,79 @@ paths:
_version:
type: integer
data:
- $ref: '#/definitions/acl'
+ $ref: '#/definitions/spoe_message'
+ required:
+ - data
type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one ACL line
+ summary: Return a spoe message
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - ACL
+ - Spoe
put:
- description: Replaces a ACL line configuration by it's ID in the specified parent.
- operationId: replaceAcl
- parameters:
- - description: ACL line ID
- in: path
- name: id
- required: true
- type: integer
- - description: Parent name
+ description: Replaces a spoe message configuration in one SPOE scope.
+ operationId: replaceSpoeMessage
+ parameters:
+ - description: Spoe file name
in: query
- name: parent_name
+ name: spoe
required: true
type: string
- - description: Parent type
- enum:
- - frontend
- - backend
+ - description: Spoe scope
in: query
- name: parent_type
+ name: scope
+ required: true
+ type: string
+ - description: Spoe message name
+ in: path
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/acl'
+ $ref: '#/definitions/spoe_message'
- $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
responses:
"200":
- description: ACL line replaced
- schema:
- $ref: '#/definitions/acl'
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe message replaced
schema:
- $ref: '#/definitions/acl'
+ $ref: '#/definitions/spoe_message'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace a ACL line
+ summary: Replace a spoe message
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- - ACL
- /services/haproxy/configuration/raw:
+ - Spoe
+ /services/haproxy/spoe/spoe_groups:
get:
- description: Returns HAProxy configuration file in plain text
- operationId: getHAProxyConfiguration
+ description: Returns an array of all configured SPOE groups in one SPOE scope.
+ operationId: getSpoeGroups
parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Spoe scope
+ in: query
+ name: scope
+ required: true
+ type: string
- $ref: '#/parameters/transaction_id'
- - $ref: '#/parameters/version'
- produces:
- - text/plain
responses:
"200":
- description: Operation successful
+ description: Successful operation
headers:
Configuration-Version:
- description: Configuration file version
+ description: Spoe configuration file version
type: integer
x-nullable: false
schema:
@@ -6934,257 +11679,187 @@ paths:
_version:
type: integer
data:
- type: string
+ $ref: '#/definitions/spoe_groups'
required:
- data
type: object
default:
$ref: '#/responses/DefaultError'
- summary: Return HAProxy configuration
+ summary: Return an array of SPOE groups
tags:
- - Configuration
- - HAProxy configuration management
+ - Spoe
post:
- consumes:
- - text/plain
- description: Push a new haproxy configuration file in plain text
- operationId: postHAProxyConfiguration
+ description: Adds a new SPOE groups to the SPOE scope.
+ operationId: createSpoeGroup
parameters:
+ - description: Spoe file name
+ in: query
+ name: spoe
+ required: true
+ type: string
+ - description: Spoe scope
+ in: query
+ name: scope
+ required: true
+ type: string
- in: body
name: data
required: true
schema:
- type: string
+ $ref: '#/definitions/spoe_group'
+ - $ref: '#/parameters/transaction_id'
- $ref: '#/parameters/version'
- - $ref: '#/parameters/force_reload'
- produces:
- - text/plain
responses:
"201":
- description: New HAProxy configuration pushed
- schema:
- type: string
- "202":
- description: Configuration change accepted and reload requested
- headers:
- Reload-ID:
- description: ID of the requested reload
- type: string
+ description: Spoe groups created
schema:
- type: string
+ $ref: '#/definitions/spoe_group'
"400":
$ref: '#/responses/BadRequest'
+ "409":
+ $ref: '#/responses/AlreadyExists'
default:
$ref: '#/responses/DefaultError'
- summary: Push new haproxy configuration
- tags:
- - Configuration
- - HAProxy configuration management
- /services/haproxy/runtime:
- get:
- description: Returns a list of endpoints to be used for advanced runtime settings
- of HAProxy objects.
- operationId: getRuntimeEndpoints
- produces:
- - application/json
- responses:
- "200":
- description: Success
- schema:
- $ref: '#/definitions/endpoints'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return list of HAProxy advanced runtime endpoints
- tags:
- - Discovery
- /services/haproxy/runtime/info:
- get:
- description: Return HAProxy process information
- operationId: getHaproxyProcessInfo
- produces:
- - application/json
- responses:
- "200":
- description: Success
- schema:
- $ref: '#/definitions/process_infos'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return HAProxy process information
+ summary: Add a new SPOE groups
tags:
- - Information
- /services/haproxy/runtime/servers:
- get:
- description: Returns an array of all servers' runtime settings.
- operationId: getRuntimeServers
+ - Spoe
+ /services/haproxy/spoe/spoe_groups/{name}:
+ delete:
+ description: Deletes a SPOE groups from the one SPOE scope.
+ operationId: deleteSpoeGroup
parameters:
- - description: Parent backend name
+ - description: Spoe file name
in: query
- name: backend
+ name: spoe
required: true
type: string
+ - description: Spoe scope
+ in: query
+ name: scope
+ required: true
+ type: string
+ - description: Spoe group name
+ in: path
+ name: name
+ required: true
+ type: string
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
responses:
- "200":
- description: Successful operation
- schema:
- $ref: '#/definitions/runtime_servers'
+ "204":
+ description: Spoe group deleted
+ "404":
+ $ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return an array of runtime servers' setings
+ summary: Delete a SPOE groups
tags:
- - Server
- - Backend options
- /services/haproxy/runtime/servers/{name}:
+ - Spoe
get:
- description: Returns one server runtime settings by it's name in the specified backend.
- operationId: getRuntimeServer
+ description: Returns one SPOE groups configuration in one SPOE scope.
+ operationId: getSpoeGroup
parameters:
- - description: Server name
- in: path
- name: name
+ - description: Spoe file name
+ in: query
+ name: spoe
required: true
type: string
- - description: Parent backend name
+ - description: Spoe scope
in: query
- name: backend
+ name: scope
+ required: true
+ type: string
+ - description: Spoe group name
+ in: path
+ name: name
required: true
type: string
+ - $ref: '#/parameters/transaction_id'
responses:
"200":
description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Spoe configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/runtime_server'
+ properties:
+ _version:
+ type: integer
+ data:
+ $ref: '#/definitions/spoe_group'
+ required:
+ - data
+ type: object
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return one server runtime settings
+ summary: Return a SPOE groups
tags:
- - Server
- - Backend options
+ - Spoe
put:
- description: Replaces a server transient settings by it's name in the specified
- backend.
- operationId: replaceRuntimeServer
+ description: Replaces a SPOE groups configuration in one SPOE scope.
+ operationId: replaceSpoeGroup
parameters:
- - description: Server name
- in: path
- name: name
+ - description: Spoe file name
+ in: query
+ name: spoe
required: true
type: string
- - description: Parent backend name
+ - description: Spoe scope
in: query
- name: backend
+ name: scope
+ required: true
+ type: string
+ - description: Spoe group name
+ in: path
+ name: name
required: true
type: string
- in: body
name: data
required: true
schema:
- $ref: '#/definitions/runtime_server'
+ $ref: '#/definitions/spoe_group'
+ - $ref: '#/parameters/transaction_id'
+ - $ref: '#/parameters/version'
responses:
"200":
- description: Server transient settings replaced
+ description: Spoe groups replaced
schema:
- $ref: '#/definitions/runtime_server'
+ $ref: '#/definitions/spoe_group'
"400":
$ref: '#/responses/BadRequest'
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Replace server transient settings
+ summary: Replace a SPOE groups
tags:
- - Server
- - Backend options
- /services/haproxy/runtime/stick_tables:
+ - Spoe
+ /services/haproxy/spoe/version:
get:
- description: Returns an array of all stick tables.
- operationId: getStickTables
+ description: Returns SPOE configuration version.
+ operationId: getSpoeConfigurationVersion
parameters:
- - description: Process number if master-worker mode, if not all processes are returned
+ - $ref: '#/parameters/transaction_id'
+ - description: Spoe file name
in: query
- name: process
- type: integer
- responses:
- "200":
- description: Successful operation
- schema:
- $ref: '#/definitions/stick_tables'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return Stick Tables
- tags:
- - StickTable
- /services/haproxy/runtime/stick_tables/{name}:
- get:
- description: Returns one stick table from runtime.
- operationId: getStickTable
- parameters:
- - description: Stick table name
- in: path
- name: name
+ name: spoe
required: true
type: string
- - description: Process number if master-worker mode, if not only first process is
- returned
- in: query
- name: process
- required: true
- type: integer
responses:
"200":
- description: Successful operation
+ description: SPOE configuration version
schema:
- $ref: '#/definitions/stick_table'
+ type: integer
"404":
$ref: '#/responses/NotFound'
default:
$ref: '#/responses/DefaultError'
- summary: Return Stick Table
- tags:
- - StickTable
- /services/haproxy/runtime/stick_table_entries:
- get:
- description: Returns an array of all entries in a given stick tables.
- operationId: getStickTableEntries
- parameters:
- - description: Stick table name
- in: query
- name: stick_table
- required: true
- type: string
- - description: Process number if master-worker mode, if not only first process is
- returned
- in: query
- name: process
- required: true
- type: integer
- - description: A list of filters in format data. separated
- by comma
- in: query
- name: filter
- type: string
- - description: Key which we want the entries for
- in: query
- name: key
- type: string
- - description: Max number of entries to be returned for pagination
- in: query
- name: count
- type: integer
- - description: Offset which indicates how many items we skip in pagination
- in: query
- name: offset
- type: integer
- responses:
- "200":
- description: Successful operation
- schema:
- $ref: '#/definitions/stick_table_entries'
- default:
- $ref: '#/responses/DefaultError'
- summary: Return Stick Table Entries
+ summary: Return a SPOE configuration version
tags:
- - StickTable
+ - Spoe
diff --git a/haproxy-spec.yaml b/haproxy-spec.yaml
index c516db6..fbb334c 100644
--- a/haproxy-spec.yaml
+++ b/haproxy-spec.yaml
@@ -21,7 +21,7 @@ definitions:
description: |
Sites array. Sites are considered as one service and all farms connected to that service.
Farms are connected to service using use-backend and default_backend directives. Sites let you
- configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
+ configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
endpoints.
type: array
items:
@@ -46,6 +46,22 @@ definitions:
type: array
items:
$ref: '#/definitions/backend'
+ peer_section:
+ $ref: "models/configuration.yaml#/peer_section"
+ peer_sections:
+ title: Peer_Section
+ description: HAProxy peer_section array
+ type: array
+ items:
+ $ref: '#/definitions/peer_section'
+ peer_entry:
+ $ref: "models/configuration.yaml#/peer_entry"
+ peer_entries:
+ title: Peer entries
+ description: HAProxy peer entries array
+ type: array
+ items:
+ $ref: '#/definitions/peer_entry'
bind:
$ref: "models/configuration.yaml#/bind"
binds:
@@ -146,6 +162,12 @@ definitions:
$ref: "models/stats.yaml#/native_stats"
native_stat:
$ref: "models/stats.yaml#/native"
+ native_stat_stats:
+ $ref: "models/stats.yaml#/native_stat_stats"
+ native_stats_collection:
+ $ref: "models/stats.yaml#/native_stats_collection"
+ stats_options:
+ $ref: "models/configuration.yaml#/stats_options"
error:
$ref: "models/errors.yaml#/error"
endpoint:
@@ -158,6 +180,10 @@ definitions:
$ref: '#/definitions/endpoint'
process_infos:
$ref: "models/runtime.yaml#/process_infos"
+ process_info:
+ $ref: "models/runtime.yaml#/process_info"
+ process_info_item:
+ $ref: "models/runtime.yaml#/process_info_item"
transaction:
$ref: "models/general.yaml#/transaction"
transactions:
@@ -166,6 +192,14 @@ definitions:
type: array
items:
$ref: "#/definitions/transaction"
+ spoe_transaction:
+ $ref: "models/spoe-transactions.yaml#/spoe_transaction"
+ spoe_transactions:
+ title: SPOE Transactions array
+ description: SPOE Configuration transactions array
+ type: array
+ items:
+ $ref: "#/definitions/spoe_transaction"
info:
$ref: "models/general.yaml#/info"
reload:
@@ -200,20 +234,156 @@ definitions:
type: array
items:
$ref: "#/definitions/stick_table_entry"
+ cluster_settings:
+ $ref: "models/cluster.yaml#/settings"
+ map:
+ $ref: "models/runtime.yaml#/map"
+ maps:
+ title: Map Files Array
+ description: Array of runtime map files
+ type: array
+ items:
+ $ref: "#/definitions/map"
+ map_entry:
+ $ref: "models/runtime.yaml#/map_entry"
+ map_entries:
+ title: Maps Entries
+ description: Entries of one runtime map
+ type: array
+ items:
+ $ref: "#/definitions/map_entry"
+ ssl_certificate:
+ $ref: "models/runtime.yaml#/ssl_certificate"
+ ssl_certificates:
+ title: SSL Files Array
+ description: Array of ssl certificate files
+ type: array
+ items:
+ $ref: "#/definitions/ssl_certificate"
+ ssl_cert_entry:
+ $ref: "models/runtime.yaml#/ssl_cert_entry"
+ ssl_cert_entries:
+ title: SSL Certificate Entries
+ description: Array of entries of runtime SSL Certificate Entry
+ type: array
+ items:
+ $ref: "#/definitions/ssl_cert_entry"
+ ssl_crt_list:
+ $ref: "models/runtime.yaml#/ssl_crt_list"
+ ssl_crt_lists:
+ title: SSL crt-list
+ description: Array of entries of runtime crt-list
+ type: array
+ items:
+ $ref: "#/definitions/ssl_crt_list"
+ ssl_crt_list_entry:
+ $ref: "models/runtime.yaml#/ssl_crt_list_entry"
+ ssl_crt_list_entries:
+ title: SSL Certificate Entries
+ description: Array of entries of runtime SSL Certificate Entry
+ type: array
+ items:
+ $ref: "#/definitions/ssl_crt_list_entry"
+ acl_file:
+ $ref: "models/runtime.yaml#/acl_file"
+ acl_files:
+ title: ACL Files Array
+ description: Array of runtime acl files
+ type: array
+ items:
+ $ref: "#/definitions/acl_file"
+ acl_file_entry:
+ $ref: "models/runtime.yaml#/acl_file_entry"
+ acl_files_entries:
+ title: ACL Files Entries
+ description: Array of entries of one runtime acl file
+ type: array
+ items:
+ $ref: "#/definitions/acl_file_entry"
balance:
$ref: "models/configuration.yaml#/balance"
forwardfor:
$ref: "models/configuration.yaml#/forwardfor"
default_server:
$ref: "models/configuration.yaml#/default_server"
- httpchk:
- $ref: "models/configuration.yaml#/httpchk"
+ httpchk_params:
+ $ref: "models/configuration.yaml#/httpchk_params"
+ http-check:
+ $ref: "models/configuration.yaml#/http-check"
redispatch:
$ref: "models/configuration.yaml#/redispatch"
errorfile:
$ref: "models/configuration.yaml#/errorfile"
cookie:
$ref: "models/configuration.yaml#/cookie"
+ resolver:
+ $ref: "models/configuration.yaml#/resolver"
+ resolvers:
+ title: Resolvers
+ description: HAProxy resolvers array
+ type: array
+ items:
+ $ref: '#/definitions/resolver'
+ nameserver:
+ $ref: "models/configuration.yaml#/nameserver"
+ nameservers:
+ title: Nameservers
+ description: Nameservers array
+ type: array
+ items:
+ $ref: '#/definitions/nameserver'
+ consul:
+ $ref: "models/service-discovery.yaml#/consul"
+ consuls:
+ title: Consuls
+ description: Consuls array
+ type: array
+ items:
+ $ref: '#/definitions/consul'
+ monitor_uri:
+ $ref: "models/monitor.yaml#/monitor_uri"
+ monitor_fail:
+ $ref: "models/monitor.yaml#/monitor_fail"
+ smtpchk_params:
+ $ref: "models/configuration.yaml#/smtpchk_params"
+ mysql_check_params:
+ $ref: "models/configuration.yaml#/mysql_check_params"
+ pgsql_check_params:
+ $ref: "models/configuration.yaml#/pgsql_check_params"
+ spoe_files:
+ $ref: "models/spoe.yaml#/spoe_files"
+ spoe_scope:
+ $ref: "models/spoe.yaml#/spoe_scope"
+ spoe_scopes:
+ title: SPOE Scopes
+ description: All SPOE Scopes
+ type: array
+ items:
+ $ref: "#/definitions/spoe_scope"
+ spoe_agent:
+ $ref: "models/spoe.yaml#/spoe_agent"
+ spoe_agents:
+ title: SPOE Agents
+ description: SPOE Agents of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_agent"
+ spoe_message:
+ $ref: "models/spoe.yaml#/spoe_message"
+ spoe_messages:
+ title: SPOE Messages
+ description: SPOE Messages of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_message"
+ spoe_group:
+ $ref: "models/spoe.yaml#/spoe_group"
+ spoe_groups:
+ title: SPOE Groups
+ description: SPOE Groups of one scope in SPOE file
+ type: array
+ items:
+ $ref: "#/definitions/spoe_group"
responses:
BadRequest:
description: Bad request
@@ -221,7 +391,8 @@ responses:
Configuration-Version:
description: Configuration file version
type: integer
- x-nullable: false
+ x-nullable: true
+ default: 0
schema:
$ref: '#/definitions/error'
NotFound:
@@ -230,7 +401,8 @@ responses:
Configuration-Version:
description: Configuration file version
type: integer
- x-nullable: false
+ x-nullable: true
+ default: 0
schema:
$ref: '#/definitions/error'
AlreadyExists:
@@ -239,7 +411,8 @@ responses:
Configuration-Version:
description: Configuration file version
type: integer
- x-nullable: false
+ x-nullable: true
+ default: 0
schema:
$ref: '#/definitions/error'
DefaultError:
@@ -248,10 +421,11 @@ responses:
Configuration-Version:
description: Configuration file version
type: integer
- x-nullable: false
+ x-nullable: true
+ default: 0
schema:
$ref: '#/definitions/error'
-parameters:
+parameters:
transaction_id:
name: transaction_id
in: query
@@ -290,21 +464,21 @@ tags:
- name: Specification
- name: Transactions
description: |
- Managing transactions. Configuration changes can be grouped in the transaction. You start the
- transaction with trasactions POST, and call the configuration changes you need with parameter
+ Managing transactions. Configuration changes can be grouped in the transaction. You start the
+ transaction with trasactions POST, and call the configuration changes you need with parameter
transaction_id. When you want to commit the transaction, you call the transactions PUT and all changes
- in that transaction is commited. If you call a configuration change without the transaction_id,
+ in that transaction is commited. If you call a configuration change without the transaction_id,
transaction mechanism is implicitly called with one operation in transaction.
- name: Reloads
description: |
Checking reload success. To avoid constant reloading we reload in intervals that are configurable when
- with reload-delay option. When a change to configuration is made and force_reload url query string
+ with reload-delay option. When a change to configuration is made and force_reload url query string
parameter is false we issue a request for reload, and return the reload ID in response header. You can
then use reloads endpoints to check the status of that reload ID. If force_reload is true, we override all
of this and reload immediately.
- name: Sites
description: |
- Managing sites (simple configuration mode). Sites are considered as one frontend with multiple backends
+ Managing sites (simple configuration mode). Sites are considered as one frontend with multiple backends
connected to it via default_backend or use-backend directives.
- name: Stats
description: Stats container
@@ -320,14 +494,8 @@ tags:
description: Managing frontend bind configurations (advanced mode)
- name: Server
description: Managing backend server configurations (advanced mode)
- - name: Frontend options
- description: Various frontend options (advanced mode)
- - name: Backend options
- description: Various backend options (advanced mode)
- name: Configuration
description: Raw HAProxy configuration management (advanced mode)
- - name: HAProxy configuration management
- description: Managing advanced haproxy configuration (advanced mode)
- name: TCPRequestRule
- name: HTTPRequestRule
- name: HTTPResponseRule
@@ -336,8 +504,19 @@ tags:
- name: TCPResponseRule
- name: Filter
- name: StickRule
+ - name: StickTable
- name: LogTarget
- name: ACL
+ - name: Resolver
+ - name: Nameserver
+ - name: Peer
+ - name: PeerEntry
+ - name: Cluster
+ - name: Maps
+ - name: SpecificationOpenapiv3
+ - name: ServiceDiscovery
+ - name: Spoe
+ - name: SpoeTransactions
security:
- basic_auth: []
paths:
@@ -345,8 +524,18 @@ paths:
$ref: "paths/general.yaml#/root"
/specification:
$ref: "paths/general.yaml#/specification"
+ /specification_openapiv3:
+ $ref: "paths/general.yaml#/specification_openapiv3"
/info:
$ref: "paths/general.yaml#/info"
+ /cluster:
+ $ref: "paths/cluster.yaml#/cluster"
+ /cluster/certificate:
+ $ref: "paths/cluster.yaml#/certificate"
+ /service_discovery/consul:
+ $ref: "paths/service-discovery.yaml#/consul"
+ /service_discovery/consul/{id}:
+ $ref: "paths/service-discovery.yaml#/consul_one"
/services:
$ref: "paths/general.yaml#/services"
/services/haproxy:
@@ -363,12 +552,16 @@ paths:
$ref: "paths/general.yaml#/transactions"
/services/haproxy/transactions/{id}:
$ref: "paths/general.yaml#/transactions_one"
+ /services/haproxy/spoe_transactions:
+ $ref: "paths/spoe-transactions.yaml#/transactions"
+ /services/haproxy/spoe_transactions/{id}:
+ $ref: "paths/spoe-transactions.yaml#/transactions_one"
/services/haproxy/reloads:
$ref: "paths/general.yaml#/reloads"
/services/haproxy/reloads/{id}:
$ref: "paths/general.yaml#/reloads_one"
/services/haproxy/configuration:
- $ref: "paths/general.yaml#/configuration"
+ $ref: "paths/general.yaml#/configuration"
/services/haproxy/configuration/global:
$ref: "paths/configuration.yaml#/global"
/services/haproxy/configuration/defaults:
@@ -377,6 +570,14 @@ paths:
$ref: "paths/configuration.yaml#/frontends"
/services/haproxy/configuration/frontends/{name}:
$ref: "paths/configuration.yaml#/frontends_one"
+ /services/haproxy/configuration/peer_section:
+ $ref: "paths/configuration.yaml#/peer_section"
+ /services/haproxy/configuration/peer_section/{name}:
+ $ref: "paths/configuration.yaml#/peer_section_one"
+ /services/haproxy/configuration/peer_entries:
+ $ref: "paths/configuration.yaml#/peer_entries"
+ /services/haproxy/configuration/peer_entries/{name}:
+ $ref: "paths/configuration.yaml#/peer_entries_one"
/services/haproxy/configuration/backends:
$ref: "paths/configuration.yaml#/backends"
/services/haproxy/configuration/backends/{name}:
@@ -391,44 +592,52 @@ paths:
$ref: "paths/configuration.yaml#/servers_one"
/services/haproxy/configuration/http_request_rules:
$ref: "paths/configuration.yaml#/http_request_rules"
- /services/haproxy/configuration/http_request_rules/{id}:
+ /services/haproxy/configuration/http_request_rules/{index}:
$ref: "paths/configuration.yaml#/http_request_rules_one"
/services/haproxy/configuration/http_response_rules:
$ref: "paths/configuration.yaml#/http_response_rules"
- /services/haproxy/configuration/http_response_rules/{id}:
+ /services/haproxy/configuration/http_response_rules/{index}:
$ref: "paths/configuration.yaml#/http_response_rules_one"
/services/haproxy/configuration/tcp_request_rules:
$ref: "paths/configuration.yaml#/tcp_request_rules"
- /services/haproxy/configuration/tcp_request_rules/{id}:
+ /services/haproxy/configuration/tcp_request_rules/{index}:
$ref: "paths/configuration.yaml#/tcp_request_rules_one"
/services/haproxy/configuration/tcp_response_rules:
$ref: "paths/configuration.yaml#/tcp_response_rules"
- /services/haproxy/configuration/tcp_response_rules/{id}:
+ /services/haproxy/configuration/tcp_response_rules/{index}:
$ref: "paths/configuration.yaml#/tcp_response_rules_one"
/services/haproxy/configuration/backend_switching_rules:
$ref: "paths/configuration.yaml#/backend_switching_rules"
- /services/haproxy/configuration/backend_switching_rules/{id}:
+ /services/haproxy/configuration/backend_switching_rules/{index}:
$ref: "paths/configuration.yaml#/backend_switching_rules_one"
/services/haproxy/configuration/server_switching_rules:
$ref: "paths/configuration.yaml#/server_switching_rules"
- /services/haproxy/configuration/server_switching_rules/{id}:
+ /services/haproxy/configuration/server_switching_rules/{index}:
$ref: "paths/configuration.yaml#/server_switching_rules_one"
/services/haproxy/configuration/filters:
$ref: "paths/configuration.yaml#/filters"
- /services/haproxy/configuration/filters/{id}:
+ /services/haproxy/configuration/filters/{index}:
$ref: "paths/configuration.yaml#/filters_one"
/services/haproxy/configuration/stick_rules:
$ref: "paths/configuration.yaml#/stick_rules"
- /services/haproxy/configuration/stick_rules/{id}:
+ /services/haproxy/configuration/stick_rules/{index}:
$ref: "paths/configuration.yaml#/stick_rules_one"
/services/haproxy/configuration/log_targets:
$ref: "paths/configuration.yaml#/log_targets"
- /services/haproxy/configuration/log_targets/{id}:
+ /services/haproxy/configuration/log_targets/{index}:
$ref: "paths/configuration.yaml#/log_targets_one"
/services/haproxy/configuration/acls:
$ref: "paths/configuration.yaml#/acls"
- /services/haproxy/configuration/acls/{id}:
+ /services/haproxy/configuration/acls/{index}:
$ref: "paths/configuration.yaml#/acls_one"
+ /services/haproxy/configuration/resolvers:
+ $ref: "paths/configuration.yaml#/resolvers"
+ /services/haproxy/configuration/resolvers/{name}:
+ $ref: "paths/configuration.yaml#/resolvers_one"
+ /services/haproxy/configuration/nameservers:
+ $ref: "paths/configuration.yaml#/nameservers"
+ /services/haproxy/configuration/nameservers/{name}:
+ $ref: "paths/configuration.yaml#/nameservers_one"
/services/haproxy/configuration/raw:
$ref: "paths/configuration.yaml#/configuration"
/services/haproxy/runtime:
@@ -445,3 +654,43 @@ paths:
$ref: "paths/runtime.yaml#/stick_tables_one"
/services/haproxy/runtime/stick_table_entries:
$ref: "paths/runtime.yaml#/stick_table_entries"
+ /services/haproxy/runtime/maps:
+ $ref: "paths/runtime.yaml#/maps"
+ /services/haproxy/runtime/maps/{name}:
+ $ref: "paths/runtime.yaml#/maps_one"
+ /services/haproxy/runtime/maps_entries:
+ $ref: "paths/runtime.yaml#/maps_entries"
+ /services/haproxy/runtime/maps_entries/{id}:
+ $ref: "paths/runtime.yaml#/maps_entries_one"
+ /services/haproxy/configuration/version:
+ $ref: "paths/configuration.yaml#/version"
+ /services/haproxy/storage/maps:
+ $ref: "paths/storage.yaml#/maps"
+ /services/haproxy/storage/maps/{name}:
+ $ref: "paths/storage.yaml#/maps_one"
+ /services/haproxy/storage/ssl_certificates:
+ $ref: "paths/storage.yaml#/ssl_certificates"
+ /services/haproxy/storage/ssl_certificates/{name}:
+ $ref: "paths/storage.yaml#/ssl_certificates_one"
+ /services/haproxy/spoe/spoe_files:
+ $ref: "paths/spoe.yaml#/spoe_files"
+ /services/haproxy/spoe/spoe_files/{name}:
+ $ref: "paths/spoe.yaml#/spoes_one"
+ /services/haproxy/spoe/spoe_scopes:
+ $ref: "paths/spoe.yaml#/spoe_scopes"
+ /services/haproxy/spoe/spoe_scopes/{name}:
+ $ref: "paths/spoe.yaml#/spoe_scopes_one"
+ /services/haproxy/spoe/spoe_agents:
+ $ref: "paths/spoe.yaml#/spoe_agents"
+ /services/haproxy/spoe/spoe_agents/{name}:
+ $ref: "paths/spoe.yaml#/spoe_agents_one"
+ /services/haproxy/spoe/spoe_messages:
+ $ref: "paths/spoe.yaml#/spoe_messages"
+ /services/haproxy/spoe/spoe_messages/{name}:
+ $ref: "paths/spoe.yaml#/spoe_messages_one"
+ /services/haproxy/spoe/spoe_groups:
+ $ref: "paths/spoe.yaml#/spoe_groups"
+ /services/haproxy/spoe/spoe_groups/{name}:
+ $ref: "paths/spoe.yaml#/spoe_groups_one"
+ /services/haproxy/spoe/version:
+ $ref: "paths/spoe.yaml#/version"
diff --git a/models/cluster.yaml b/models/cluster.yaml
new file mode 100644
index 0000000..a9d5471
--- /dev/null
+++ b/models/cluster.yaml
@@ -0,0 +1,38 @@
+---
+settings:
+ title: Cluster Settings
+ description: Settings related to a cluster.
+ type: object
+ properties:
+ bootstrap_key:
+ type: string
+ mode:
+ type: string
+ enum: [single, cluster]
+ status:
+ type: string
+ enum: [active, unreachable, waiting_approval]
+ readOnly: true
+ cluster:
+ properties:
+ name:
+ type: string
+ readOnly: true
+ description:
+ type: string
+ readOnly: true
+ address:
+ pattern: ^[^\s]+$
+ type: string
+ readOnly: true
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ readOnly: true
+ api_base_path:
+ type: string
+ readOnly: true
+ title: Cluster controller information
+ type: object
diff --git a/models/configuration.yaml b/models/configuration.yaml
index 551a332..c2f0e13 100644
--- a/models/configuration.yaml
+++ b/models/configuration.yaml
@@ -1,8 +1,21 @@
+---
global:
title: Global
description: HAProxy global configuration
type: object
properties:
+ chroot:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Chroot
+ group:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Group
+ user:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: User
daemon:
type: string
enum: [enabled, disabled]
@@ -33,6 +46,22 @@ global:
ssl_default_bind_ciphers:
type: string
x-display-name: SSL Default Bind Ciphers
+ ssl_default_bind_ciphersuites:
+ type: string
+ x-display-name: SSL Default Bind Ciphersuites
+ ssl_default_server_options:
+ type: string
+ x-display-name: SSL Default Server Options
+ ssl_default_server_ciphers:
+ type: string
+ x-display-name: SSL Default Server Ciphers
+ ssl_default_server_ciphersuites:
+ type: string
+ x-display-name: SSL Default Server Ciphersuites
+ ssl_mode_async:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: Asynchronous TLS I/O operations
cpu_maps:
x-go-name: CPUMaps
type: array
@@ -54,7 +83,7 @@ global:
type: array
x-display-name: Runtime APIs
x-go-name: RuntimeAPIs
- items:
+ items:
type: object
x-go-name: RuntimeAPI
required:
@@ -78,13 +107,36 @@ global:
stats_timeout:
type: integer
x-nullable: true
+ lua_loads:
+ type: array
+ items:
+ type: object
+ x-go-name: LuaLoad
+ required:
+ - file
+ properties:
+ file:
+ type: string
+ pattern: '^[^\s]+$'
+ log_send_hostname:
+ type: object
+ x-display-name: Log Send Hostname
+ required:
+ - enabled
+ properties:
+ enabled:
+ type: string
+ enum: [enabled, disabled]
+ param:
+ type: string
+ pattern: '^[^\s]+$'
additionalProperties: false
defaults:
title: Defaults
description: HAProxy defaults configuration
type: object
properties:
- mode:
+ mode:
type: string
enum: [tcp, http]
balance:
@@ -96,15 +148,29 @@ defaults:
adv_check:
type: string
x-display-name: Advanced Check
- enum: [ssl-hello-chk, smtpchk, ldap-check, mysql-check, pgsql-check, tcp-check, redis-check]
- httpchk:
- $ref: "#/definitions/httpchk"
+ enum: [ssl-hello-chk, smtpchk, ldap-check, mysql-check, pgsql-check, tcp-check, redis-check, httpchk]
+ smtpchk_params:
+ $ref: "#/definitions/smtpchk_params"
+ mysql_check_params:
+ $ref: "#/definitions/mysql_check_params"
+ pgsql_check_params:
+ $ref: "#/definitions/pgsql_check_params"
+ httpchk_params:
+ $ref: "#/definitions/httpchk_params"
+ http-check:
+ $ref: "#/definitions/http-check"
+ bind_process:
+ type: string
+ pattern: '^[^\s]+$'
http_connection_mode:
type: string
enum: [httpclose, http-server-close, http-keep-alive]
http_pretend_keepalive:
type: string
enum: [enabled, disabled]
+ abortonclose:
+ type: string
+ enum: [enabled, disabled]
http-use-htx:
type: string
enum: [enabled, disabled]
@@ -113,6 +179,10 @@ defaults:
type: string
enum: [enabled, disabled]
x-display-name: Don't Log Null
+ http-buffer-request:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: HTTP bufferrequest
httplog:
type: boolean
x-display-name: HTTP Log
@@ -133,7 +203,7 @@ defaults:
log_separate_errors:
type: string
enum: [enabled, disabled]
- clitcpka:
+ clitcpka:
type: string
enum: [enabled, disabled]
x-display-name: Client TCP Keep Alive
@@ -142,6 +212,8 @@ defaults:
check_timeout:
type: integer
x-nullable: true
+ monitor_uri:
+ $ref: '#/definitions/monitor_uri'
connect_timeout:
type: integer
x-nullable: true
@@ -160,12 +232,18 @@ defaults:
http_keep_alive_timeout:
type: integer
x-nullable: true
+ http_reuse:
+ type: string
+ enum: [aggressive, always, never, safe]
server_timeout:
type: integer
x-nullable: true
queue_timeout:
type: integer
x-nullable: true
+ tunnel_timeout:
+ type: integer
+ x-nullable: true
external_check:
type: string
enum: [enabled, disabled]
@@ -178,8 +256,6 @@ defaults:
type: string
pattern: '^[^\s]+$'
x-display-name: External Check Command
- forwardfor:
- $ref: "#/definitions/forwardfor"
redispatch:
$ref: "#/definitions/redispatch"
retries:
@@ -188,17 +264,104 @@ defaults:
default_backend:
type: string
pattern: '^[A-Za-z0-9-_.:]+$'
- x-dynamic-enum:
+ x-dynamic-enum:
operation: getBackends
property: name
default_server:
- $ref: "#/definitions/default_server"
+ $ref: "#/definitions/default_server"
error_files:
type: array
x-go-name: ErrorFiles
items:
$ref: "#/definitions/errorfile"
+ unique_id_format:
+ type: string
+ x-display-name: Unique ID format
+ unique_id_header:
+ type: string
+ x-display-name: Unique ID header
+ x-dependency:
+ unique_id_format:
+ required: true
+ logasap:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: Log ASAP
+ allbackups:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: All Backups
+ stats_options:
+ $ref: "#/definitions/stats_options"
additionalProperties: false
+resolver:
+ title: Resolver
+ description: Runtime DNS configuration
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ pattern: '^[A-Za-z0-9-_.:]+$'
+ x-nullable: false
+ accepted_payload_size:
+ type: integer
+ minimum: 512
+ maximum: 8192
+ hold_nx:
+ type: integer
+ x-nullable: true
+ hold_obsolete:
+ type: integer
+ x-nullable: true
+ hold_other:
+ type: integer
+ x-nullable: true
+ hold_refused:
+ type: integer
+ x-nullable: true
+ hold_timeout:
+ type: integer
+ x-nullable: true
+ hold_valid:
+ type: integer
+ x-nullable: true
+ parse-resolv-conf:
+ type: boolean
+ resolve_retries:
+ type: integer
+ minimum: 1
+ timeout_resolve:
+ type: integer
+ x-nullable: false
+ timeout_retry:
+ type: integer
+ x-nullable: false
+nameserver:
+ title: Nameserver
+ description: Nameserver used in Runtime DNS configuration
+ type: object
+ required:
+ - name
+ - address
+ properties:
+ name:
+ type: string
+ pattern: '^[A-Za-z0-9-_.:]+$'
+ x-nullable: false
+ address:
+ type: string
+ pattern: '^[^\s]+$'
+ port:
+ type: integer
+ x-nullable: true
+ minimum: 1
+ maximum: 65535
+ example:
+ name: ns1
+ address: 10.0.0.1
+ port: 53
frontend:
title: Frontend
description: HAProxy frontend configuration
@@ -216,20 +379,27 @@ frontend:
httplog:
type: boolean
x-display-name: HTTP Log
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
+ logasap:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: Log ASAP
+ bind_process:
+ type: string
+ pattern: '^[^\s]+$'
clflog:
type: boolean
x-display-name: CLF Log
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
tcplog:
type: boolean
x-display-name: TCP Log
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: tcp
log_format:
type: string
@@ -246,11 +416,15 @@ frontend:
type: string
enum: [enabled, disabled]
x-display-name: Don't Log Null
+ http-buffer-request:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: HTTP bufferrequest
http_connection_mode:
type: string
enum: [httpclose, http-server-close, http-keep-alive]
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
client_timeout:
type: integer
@@ -258,14 +432,14 @@ frontend:
http_request_timeout:
type: integer
x-nullable: true
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
http_keep_alive_timeout:
type: integer
x-nullable: true
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
maxconn:
type: integer
@@ -279,27 +453,42 @@ frontend:
default_backend:
type: string
pattern: '^[A-Za-z0-9-_.:]+$'
- x-dynamic-enum:
+ x-dynamic-enum:
operation: getBackends
property: name
contstats:
type: string
enum: [enabled]
x-display-name: Continous Statistics
- clitcpka:
+ clitcpka:
type: string
enum: [enabled, disabled]
x-display-name: Client TCP Keep Alive
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: tcp
http-use-htx:
type: string
enum: [enabled, disabled]
x-display-name: HTTP Use HTX
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
+ unique_id_format:
+ type: string
+ x-display-name: Unique ID format
+ unique_id_header:
+ type: string
+ x-display-name: Unique ID header
+ x-dependency:
+ unique_id_format:
+ required: true
+ stats_options:
+ $ref: "#/definitions/stats_options"
+ monitor_uri:
+ $ref: '#/definitions/monitor_uri'
+ monitor_fail:
+ $ref: '#/definitions/monitor_fail'
additionalProperties: false
example:
name: test_frontend
@@ -332,24 +521,40 @@ backend:
modifier:
type: string
enum: [avalanche]
+ http-check:
+ $ref: "#/definitions/http-check"
+ bind_process:
+ type: string
+ pattern: '^[^\s]+$'
mode:
type: string
enum: [http, tcp]
+ allbackups:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: All Backups
+ http-buffer-request:
+ type: string
+ enum: [enabled, disabled]
+ x-display-name: HTTP bufferrequest
log_tag:
type: string
pattern: '^[^\s]+$'
http_connection_mode:
type: string
enum: [httpclose, http-server-close, http-keep-alive]
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
http_pretend_keepalive:
type: string
enum: [enabled, disabled]
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
+ abortonclose:
+ type: string
+ enum: [enabled, disabled]
forwardfor:
$ref: "#/definitions/forwardfor"
x-dependency:
@@ -357,18 +562,24 @@ backend:
value: http
cookie:
$ref: '#/definitions/cookie'
- x-dependency:
- mode:
- value: http
+ x-dependency:
+ mode:
+ value: http
default_server:
- $ref: "#/definitions/default_server"
+ $ref: "#/definitions/default_server"
check_timeout:
type: integer
x-nullable: true
adv_check:
type: string
x-display-name: Advanced Check
- enum: [ssl-hello-chk, smtpchk, ldap-check, mysql-check, pgsql-check, tcp-check, redis-check]
+ enum: [ssl-hello-chk, smtpchk, ldap-check, mysql-check, pgsql-check, tcp-check, redis-check, httpchk]
+ smtpchk_params:
+ $ref: "#/definitions/smtpchk_params"
+ mysql_check_params:
+ $ref: "#/definitions/mysql_check_params"
+ pgsql_check_params:
+ $ref: "#/definitions/pgsql_check_params"
external_check:
type: string
enum: [enabled, disabled]
@@ -390,8 +601,8 @@ backend:
http_request_timeout:
type: integer
x-nullable: true
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
http_keep_alive_timeout:
type: integer
@@ -407,8 +618,17 @@ backend:
server_timeout:
type: integer
x-nullable: true
- httpchk:
- $ref: "#/definitions/httpchk"
+ tunnel_timeout:
+ type: integer
+ x-nullable: true
+ httpchk_params:
+ $ref: "#/definitions/httpchk_params"
+ x-dependency:
+ mode:
+ value: http
+ http_reuse:
+ type: string
+ enum: [aggressive, always, never, safe]
x-dependency:
mode:
value: http
@@ -440,158 +660,494 @@ backend:
http-use-htx:
type: string
enum: [enabled, disabled]
- x-dependency:
- mode:
+ x-dependency:
+ mode:
value: http
+ pattern: '^[^\s]+$'
+ stats_options:
+ $ref: "#/definitions/stats_options"
additionalProperties: false
example:
name: test_backend
mode: http
- balance:
+ balance:
algorithm: roundrobin
- forwardfor:
+ forwardfor:
enabled: enabled
- httpchk:
+ adv_check: httpchk
+ httpchk_params:
uri: "/check"
- method: OPTIONS
+ method: GET
version: HTTP/1.1
-bind:
- title: Bind
- description: HAProxy frontend bind configuration
+peer_section:
+ title: Peer Section
+ description: HAProxy peer_section configuration
type: object
required:
- name
properties:
name:
type: string
- pattern: '^[^\s]+$'
+ pattern: '^[A-Za-z0-9-_.:]+$'
x-nullable: false
- accept_proxy:
- type: boolean
- allow_0rtt:
- type: boolean
- address:
- type: string
- pattern: '^[^\s]+$'
- port:
- type: integer
- x-nullable: true
- minimum: 1
- maximum: 65535
- process:
- type: string
- pattern: '^[^\s]+$'
- v4v6:
- type: boolean
- ssl:
- type: boolean
- ssl_certificate:
- type: string
- pattern: '^[^\s]+$'
- x-dependency:
- ssl:
- value: true
- ssl_cafile:
- type: string
- x-display-name: SSL CA File
- pattern: '^[^\s]+$'
- x-dependency:
- ssl:
- value: true
- alpn:
- type: string
- x-display-name: ALPN Protocols
- pattern: '^[^\s]+$'
- verify:
- type: string
- enum: [none, optional, required]
- x-dependency:
- ssl:
- value: enabled
- transparent:
- type: boolean
- tcp_user_timeout:
- type: integer
- x-nullable: true
additionalProperties: false
- example:
- name: http
- address: 127.0.0.1
- port: 80
-server:
- title: Server
- description: HAProxy backend server configuration
+peer_entry:
+ title: Peer Entry
+ description: Peer Entry from peers table
type: object
required:
- name
+ - address
+ - port
properties:
name:
type: string
- pattern: '^[^\s]+$'
+ pattern: '^[A-Za-z0-9-_.:]+$'
x-nullable: false
address:
type: string
pattern: '^[^\s]+$'
- x-nullable: false
- allow_0rtt:
- type: boolean
port:
type: integer
x-nullable: true
minimum: 1
maximum: 65535
- health_check_port:
- type: integer
- x-nullable: true
- minimum: 1
- maximum: 65535
- maxconn:
- type: integer
- x-display-name: Max Connections
- x-nullable: true
- weight:
- type: integer
- x-nullable: true
- inter:
- type: integer
- x-nullable: true
- fastinter:
- type: integer
- x-nullable: true
- downinter:
+bind:
+ title: Bind
+ description: HAProxy frontend bind configuration
+ type: object
+ required:
+ - name
+ properties:
+ accept_netscaler_cip:
type: integer
- x-nullable: true
- cookie:
+ accept_proxy:
+ type: boolean
+ allow_0rtt:
+ type: boolean
+ alpn:
type: string
+ x-display-name: ALPN Protocols
pattern: '^[^\s]+$'
- backup:
+ backlog:
type: string
- enum: [enabled, disabled]
- check:
+ curves:
type: string
- enum: [enabled, disabled]
- agent-check:
+ x-dependency:
+ ssl:
+ value: true
+ ecdhe:
type: string
- enum: [enabled, disabled]
x-dependency:
- agent-port:
- required: true
- agent-addr:
+ ssl:
+ value: true
+ # ca_file:
+ # type: string
+ # x-dependency:
+ # ssl:
+ # value: true
+ ca_ignore_err:
type: string
- pattern: '^[^\s]+$'
- agent-port:
+ x-dependency:
+ ssl:
+ value: true
+ ca_sign_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ ca_sign_pass:
+ type: string
+ x-display-name: Passphrase
+ x-dependency:
+ ssl:
+ value: true
+ ca_verify_file:
+ type: string
+ x-dependency:
+ ca_file:
+ value: true
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ # crt:
+ # type: string
+ # x-dependency:
+ # ssl:
+ # value: true
+ crt_ignore_err:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ crt_list:
+ type: string
+ x-dependency:
+ ssl:
+ value: true
+ defer_accept:
+ type: boolean
+ expose_fd_listeners:
+ type: boolean
+ force_sslv3:
+ type: boolean
+ force_tlsv10:
+ type: boolean
+ force_tlsv11:
+ type: boolean
+ force_tlsv12:
+ type: boolean
+ force_tlsv13:
+ type: boolean
+ generate_certificates:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ gid:
+ type: integer
+ x-display-name: Group ID
+ group:
+ type: string
+ x-display-name: Group name
+ id:
+ type: string
+ x-display-name: Socket ID
+ interface:
+ type: string
+ level:
+ type: string
+ enum: [user, operator, admin]
+ severity_output:
+ type: string
+ x-display-name: Format
+ enum: [none, number, string]
+ maxconn:
+ type: integer
+ mode:
+ type: string
+ mss:
+ type: string
+ name:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: false
+ namespace:
+ type: string
+ nice:
+ type: integer
+ no_ca_names:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_sslv3:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tls_tickets:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv10:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv11:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv12:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ no_tlsv13:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ npn:
+ type: string
+ prefer_client_ciphers:
+ type: boolean
+ process:
+ type: string
+ pattern: '^[^\s]+$'
+ address:
+ type: string
+ pattern: '^[^\s]+$'
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ port-range-end:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ x-nullable: true
+ proto:
+ type: string
+ x-display-name: Protocol name
+ ssl:
+ type: boolean
+ ssl_certificate:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ ssl:
+ value: true
+ ssl_cafile:
+ type: string
+ x-display-name: SSL CA File
+ pattern: '^[^\s]+$'
+ x-dependency:
+ ssl:
+ value: true
+ ssl_max_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ ssl_min_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ strict_sni:
+ type: boolean
+ x-dependency:
+ ssl:
+ value: true
+ tcp_user_timeout:
+ type: integer
+ x-nullable: true
+ tfo:
+ type: boolean
+ tls_ticket_keys:
+ type: string
+ transparent:
+ type: boolean
+ v4v6:
+ type: boolean
+ v6only:
+ type: boolean
+ uid:
+ type: string
+ user:
+ type: string
+ verify:
+ type: string
+ enum: [none, optional, required]
+ x-dependency:
+ ssl:
+ value: enabled
+ additionalProperties: false
+ example:
+ name: http
+ address: 127.0.0.1
+ port: 80
+server:
+ title: Server
+ description: HAProxy backend server configuration
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: false
+ address:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: false
+ health_check_port:
type: integer
x-nullable: true
minimum: 1
maximum: 65535
+ ssl_certificate:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ ssl:
+ value: enabled
+ maintenance:
+ type: string
+ enum: [enabled, disabled]
+ agent-check:
+ type: string
+ enum: [enabled, disabled]
+ x-dependency:
+ agent-port:
+ required: true
+ agent-send:
+ type: string
agent-inter:
type: integer
x-nullable: true
- agent-send:
+ agent-addr:
type: string
- maintenance:
+ pattern: '^[^\s]+$'
+ agent-port:
+ type: integer
+ x-nullable: true
+ minimum: 1
+ maximum: 65535
+ allow_0rtt:
+ type: boolean
+ alpn:
+ type: string
+ x-display-name: ALPN Protocols
+ pattern: '^[^\s]+$'
+ backup:
+ type: string
+ enum: [enabled, disabled]
+ ssl_cafile: # ca-file?
+ type: string
+ x-display-name: SSL CA File
+ pattern: '^[^\s]+$'
+ x-dependency:
+ ssl:
+ value: enabled
+ check:
+ type: string
+ enum: [enabled, disabled]
+ check_alpn:
+ type: string
+ x-display-name: Protocols
+ pattern: '^[^\s]+$'
+ check_proto:
+ type: string
+ x-display-name: Name
+ pattern: '^[^\s]+$'
+ check-sni:
+ type: string
+ pattern: '^[^\s]+$'
+ check-ssl:
+ type: string
+ enum: [enabled, disabled]
+ check_via_socks4:
type: string
enum: [enabled, disabled]
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ cookie:
+ type: string
+ pattern: '^[^\s]+$'
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ error_limit:
+ type: integer
+ x-display-name: Error count
+ fall:
+ type: integer
+ x-display-name: Nr. of consecutive failed checks
+ x-nullable: true
+ force_sslv3:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv10:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv11:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv12:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv13:
+ type: string
+ enum: [enabled, disabled]
+ id:
+ type: integer
+ x-nullable: true
+ init-addr:
+ pattern: ^[^\s]+$
+ type: string
+ x-nullable: true
+ inter:
+ type: integer
+ x-nullable: true
+ fastinter:
+ type: integer
+ x-nullable: true
+ downinter:
+ type: integer
+ x-nullable: true
+ log_proto:
+ type: string
+ enum: [legacy, octet-count]
+ maxconn:
+ type: integer
+ x-display-name: Max Concurrent Connections
+ x-nullable: true
+ maxqueue:
+ type: integer
+ x-display-name: Max Number of Connections
+ x-nullable: true
+ max_reuse:
+ type: integer
+ x-nullable: true
+ minconn:
+ type: integer
+ x-nullable: true
+ namespace:
+ type: string
+ no_sslv3:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv10:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv11:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv12:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv13:
+ type: string
+ enum: [enabled, disabled]
+ no_verifyhost:
+ type: string
+ enum: [enabled, disabled]
+ npn:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ observe:
+ type: string
+ enum: [layer4, layer7]
+ x-dependency:
+ ssl:
+ value: enabled
on-error:
type: string
enum: [fastinter, fail-check, sudden-death, mark-down]
@@ -601,36 +1157,108 @@ server:
on-marked-up:
type: string
enum: [shutdown-backup-sessions]
+ pool_low_conn:
+ type: integer
+ x-nullable: true
+ pool_max_conn:
+ type: integer
+ x-nullable: true
+ pool_purge_delay:
+ type: integer
+ x-nullable: true
+ port:
+ type: integer
+ x-nullable: true
+ minimum: 1
+ maximum: 65535
+ proto:
+ type: string
+ pattern: '^[^\s]+$'
+ redir:
+ type: string
+ x-display-name: Prefix
+ rise:
+ type: integer
+ x-nullable: true
+ resolve_opts:
+ type: string
+ pattern: '^[^,\s][^\,]*[^,\s]*$'
+ resolve-prefer:
+ type: string
+ enum: [ipv4, ipv6]
+ x-dependency:
+ resolvers:
+ required: true
+ resolve-net:
+ type: string
+ pattern: '^[^,\s][^\,]*[^,\s]*$'
+ x-dependency:
+ resolvers:
+ required: true
+ resolvers:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dynamic-enum:
+ operation: getResolvers
+ property: name
send-proxy:
type: string
enum: [enabled, disabled]
send-proxy-v2:
type: string
enum: [enabled, disabled]
+ proxy-v2-options:
+ type: array
+ items:
+ type: string
+ enum: [ssl, cert-cn, ssl-cipher, cert-sig, cert-key, authority, crc32c, unique-id]
+ send_proxy_v2_ssl:
+ type: string
+ enum: [enabled, disabled]
+ send_proxy_v2_ssl_cn:
+ type: string
+ enum: [enabled, disabled]
+ slowstart:
+ type: integer
+ x-nullable: true
+ sni:
+ type: string
+ pattern: '^[^\s]+$'
+ source:
+ type: string
ssl:
type: string
enum: [enabled, disabled]
- check-ssl:
+ ssl_max_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ ssl_min_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ ssl_reuse:
+ type: string
+ enum: [enabled, disabled]
+ stick:
type: string
enum: [enabled, disabled]
- ssl_certificate:
+ socks4:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- ssl:
- value: enabled
- ssl_cafile:
+ x-dependency:
+ check-via-socks4:
+ required: true
+ tcp_ut:
+ type: integer
+ tfo:
+ type: string
+ enum: [enabled, disabled]
+ track:
type: string
- x-display-name: SSL CA File
- pattern: '^[^\s]+$'
- x-dependency:
- ssl:
- value: enabled
tls_tickets:
type: string
enum: [enabled, disabled]
- x-dependency:
- ssl:
+ x-dependency:
+ ssl:
value: enabled
verify:
type: string
@@ -638,6 +1266,16 @@ server:
x-dependency:
ssl:
value: enabled
+ verifyhost:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ verify:
+ value: required
+ weight:
+ type: integer
+ x-nullable: true
additionalProperties: false
example:
name: www
@@ -645,149 +1283,229 @@ server:
port: 8080
check: enabled
weight: 80
- max-connections: 500
http_request_rule:
title: HTTP Request Rule
description: HAProxy HTTP request rule configuration (corresponds to http-request directives)
type: object
required:
- - id
+ - index
- type
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
type: string
- enum: [allow, deny, auth, redirect, tarpit, add-header, replace-header, replace-value, del-header, set-header, set-log-level, set-path, set-query, set-uri, set-var, send-spoe-group, add-acl, del-acl ]
+ enum: [allow, deny, auth, redirect, tarpit, add-header, replace-header, replace-value, del-header, set-header, set-log-level, set-path, replace-path, set-query, set-uri, set-var, send-spoe-group, add-acl, del-acl, capture, track-sc0, track-sc1, track-sc2, set-map, del-map, cache-use, disable-l7-retry, early-hint, replace-uri, sc-inc-gpc0, sc-inc-gpc1, do-resolve, set-dst, set-dst-port, sc-set-gpt0, set-mark, set-nice, set-method, set-priority-class, set-priority-offset, set-src, set-src-por, wait-for-handshake, set-tos, silent-drop, unset-var, strict-mode, lua, use-service, return]
x-nullable: false
+ capture_sample:
+ pattern: '^[^\s]+$'
+ x-display-name: Capture Sample
+ type: string
+ x-dependency:
+ type:
+ value: capture
+ required: true
+ capture_len:
+ type: integer
+ x-display-name: Capture Len
+ x-dependency:
+ type:
+ value: capture
+ required: true
+ capture_id:
+ type: integer
+ x-nullable: true
+ x-display-name: Capture SlotID
+ x-dependency:
+ type:
+ value: capture
+ required: true
+ track-sc0-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc0 Key
+ x-dependency:
+ type:
+ value: track-sc0
+ required: true
+ track-sc0-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc0 Table
+ x-dependency:
+ type:
+ value: track-sc0
+ track-sc1-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc1 Key
+ x-dependency:
+ type:
+ value: track-sc1
+ required: true
+ track-sc1-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc1 Table
+ x-dependency:
+ type:
+ value: track-sc1
+ track-sc2-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc2 Key
+ x-dependency:
+ type:
+ value: track-sc2
+ required: true
+ track-sc2-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc2 Table
+ x-dependency:
+ type:
+ value: track-sc2
auth_realm:
type: string
x-display-name: Authentication Realm
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: auth
redir_type:
type: string
x-display-name: Redirect Type
enum: [location, prefix, scheme]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
redir_value:
type: string
x-display-name: Redirect Value
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
redir_code:
type: integer
+ x-nullable: true
x-display-name: Redirect Code
- enum: [301, 302, 303]
- x-dependency:
- type:
+ enum: [301, 302, 303, 307, 308]
+ x-dependency:
+ type:
value: redirect
redir_option:
type: string
x-display-name: Redirect Option
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
deny_status:
type: integer
- x-nullable: false
- x-dependency:
- type:
+ enum: [200, 400, 403, 405, 408, 425, 429, 500, 502, 503, 504]
+ x-nullable: true
+ x-dependency:
+ type:
value: [deny, tarpit]
hdr_name:
type: string
x-display-name: Header Name
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [add-header, replace-header, del-header, set-header, replace-value]
required: true
hdr_match:
type: string
x-display-name: Header Match
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [replace-header, replace-value]
required: true
hdr_format:
type: string
x-display-name: Header Format
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [replace-header, replace-value, set-header, add-header]
required: true
log_level:
type: string
enum: [emerg, alert, crit, err, warning, notice, info, debug, silent]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-log-level
required: true
+ path_match:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: [set-path, replace-path]
+ required: true
path_fmt:
type: string
+ pattern: '^[^\s]+$'
x-dependency:
type:
+ value: [set-path, replace-path]
required: true
- value: set-path
var_name:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
- value: set-var
+ x-dependency:
+ type:
+ value: [set-var, do-resolve, unset-var]
required: true
var_scope:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
- value: set-var
+ x-dependency:
+ type:
+ value: [set-var, unset-var]
required: true
var_expr:
type: string
x-display-name: Var Expression
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-var
required: true
query-fmt:
- type: string
- x-dependency:
- type:
- required: true
- value: set-query
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: set-query
+ uri-match:
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: replace-uri
uri-fmt:
- type: string
- x-dependency:
- type:
- required: true
- value: set-uri
+ type: string
+ x-dependency:
+ type:
+ required: true
+ value: [set-uri, replace-uri]
spoe_engine:
type: string
x-display-name: SPOE Engine
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: send-spoe-group
required: true
spoe_group:
type: string
x-display-name: SPOE Group
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: send-spoe-group
required: true
acl_file:
@@ -795,7 +1513,7 @@ http_request_rule:
x-display-name: ACL File
pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [add-acl, del-acl]
required: true
acl_keyfmt:
@@ -803,9 +1521,157 @@ http_request_rule:
x-display-name: ACL Key Format
pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [add-acl, del-acl]
required: true
+ map_file:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: [set-map, del-map]
+ required: true
+ map_keyfmt:
+ type: string
+ x-display-name: Map Key Format
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: [set-map, del-map]
+ required: true
+ map_valuefmt:
+ type: string
+ x-display-name: Map Value Format
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: set-map
+ required: true
+ cache_name:
+ type: string
+ x-display-name: Cache Name
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: cache-use
+ required: true
+ hint_name:
+ type: string
+ x-display-name: Hint Name
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: early-hint
+ required: true
+ hint_format:
+ type: string
+ x-display-name: Hint Format
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: early-hint
+ required: true
+ sc_id:
+ type: integer
+ x-dependency:
+ type:
+ value: [sc-inc-gpc0, sc-inc-gpc1, sc-set-gpt0]
+ required: true
+ resolvers:
+ type: string
+ x-display-name: Resolvers
+ x-dependency:
+ type:
+ value: do-resolve
+ required: true
+ protocol:
+ type: string
+ enum: [ipv4, ipv6]
+ x-display-name: Protocol
+ x-dependency:
+ type:
+ value: do-resolve
+ required: false
+ expr:
+ type: string
+ x-display-name: Standard HAProxy expression
+ x-dependency:
+ type:
+ value: [do-resolve, set-dst, set-dst-port, set-priority-class, set-priority-offset, set-src, set-src-port]
+ required: true
+ sc_expr:
+ type: string
+ x-display-name: ScSet Expression Value
+ x-dependency:
+ type:
+ value: sc-set-gpt0
+ required: true
+ sc_int:
+ type: integer
+ x-nullable: true
+ x-display-name: ScSet Integer Value
+ x-dependency:
+ type:
+ value: sc-set-gpt0
+ required: true
+ mark_value:
+ type: string
+ pattern: '^(0x[0-9A-Fa-f]+|[0-9]+)$'
+ x-display-name: Mark Value
+ x-dependency:
+ type:
+ value: set-mark
+ required: true
+ nice_value:
+ type: integer
+ minimum: -1024
+ maximum: 1024
+ x-nullable: false
+ x-display-name: Nice Value
+ x-dependency:
+ type:
+ value: set-nice
+ required: true
+ method_fmt:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: set-method
+ required: true
+ tos_value:
+ type: string
+ pattern: '^(0x[0-9A-Fa-f]+|[0-9]+)$'
+ x-display-name: Tos Value
+ x-dependency:
+ type:
+ value: set-tos
+ required: true
+ strict_mode:
+ type: string
+ enum: ['on', 'off']
+ x-dependency:
+ type:
+ value: strict-mode
+ required: true
+ lua_action:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: lua
+ required: true
+ lua_params:
+ type: string
+ x-dependency:
+ type:
+ value: lua
+ service_name:
+ type: string
+ x-dependency:
+ type:
+ value: use-service
+ required: true
cond:
type: string
x-display-name: Condition
@@ -817,12 +1683,56 @@ http_request_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
- cond:
+ x-dependency:
+ cond:
+ required: true
+ return_status_code:
+ type: integer
+ minimum: 200
+ maximum: 599
+ x-dependency:
+ type:
+ value: return
+ x-display-name: Return Error Code
+ x-nullable: true
+ return_content_type:
+ type: string
+ x-dependency:
+ type:
+ value: return
+ x-display-name: Return content type
+ x-nullable: true
+ return_content_format:
+ type: string
+ enum: [default-errorfile, errorfile, errorfiles, file, lf-file, string, lf-string]
+ x-dependency:
+ type:
+ value: return
+ return_content:
+ type: string
+ x-dependency:
+ return_content_format:
+ value: [errofile, errorfiles, file, lf-file, string, lf-string]
required: true
+ return_hdrs:
+ type: array
+ x-go-name: ReturnHeaders
+ x-dependency:
+ return_content_format:
+ value: [file, lf-file, string, lf-string]
+ items:
+ type: object
+ required:
+ - name
+ - fmt
+ properties:
+ name:
+ type: string
+ fmt:
+ type: string
additionalProperties: false
example:
- id: 0
+ index: 0
type: add-header
hdr_name: X-Haproxy-Current-Date
hdr_format: "%T"
@@ -833,96 +1743,110 @@ http_response_rule:
description: HAProxy HTTP response rule configuration (corresponds to http-response directives)
type: object
required:
- - id
+ - index
- type
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
type: string
- enum: [allow, deny, redirect, add-header, set-header, del-header, set-log-level, set-var, set-status, send-spoe-group, replace-header, replace-value, add-acl, del-acl]
+ enum: [allow, deny, redirect, add-header, set-header, del-header, set-log-level, set-var, set-status, send-spoe-group, replace-header, replace-value, add-acl, del-acl, capture, set-map, del-map, sc-inc-gpc0, sc-inc-gpc1, sc-set-gpt0, set-mark, set-nice, set-tos, silent-drop, unset-var, track-sc0, track-sc1, track-sc2, strict-mode, lua]
x-nullable: false
+ capture_sample:
+ type: string
+ x-display-name: Capture Sample
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: capture
+ required: true
+ capture_id:
+ type: integer
+ x-nullable: true
+ x-display-name: Capture SlotID
+ x-dependency:
+ type:
+ value: capture
+ required: true
redir_type:
type: string
x-display-name: Redirect Type
enum: [location, prefix, scheme]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
redir_value:
type: string
x-display-name: Redirect Value
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
redir_code:
type: integer
+ x-nullable: true
x-display-name: Redirect Code
- enum: [301, 302, 303]
- x-dependency:
- type:
+ enum: [301, 302, 303, 307, 308]
+ x-dependency:
+ type:
value: redirect
redir_option:
type: string
x-display-name: Redirect Option
- x-dependency:
- type:
+ x-dependency:
+ type:
value: redirect
required: true
hdr_name:
type: string
x-display-name: Header Name
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [add-header, replace-header, del-header, set-header, replace-value]
required: true
hdr_match:
type: string
x-display-name: Header Match
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [replace-header, replace-value]
required: true
hdr_format:
type: string
x-display-name: Header Format
- pattern: '^[^\s]+$'
x-dependency:
- type:
+ type:
value: [replace-header, replace-value, set-header, add-header]
required: true
log_level:
type: string
enum: [emerg, alert, crit, err, warning, notice, info, debug, silent]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-log-level
required: true
var_name:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
- value: set-var
+ x-dependency:
+ type:
+ value: [set-var, unset-var]
required: true
var_scope:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
- value: set-var
+ x-dependency:
+ type:
+ value: [set-var, unset-var]
required: true
var_expr:
type: string
x-display-name: Var Expression
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-var
required: true
status:
@@ -930,44 +1854,178 @@ http_response_rule:
minimum: 100
maximum: 999
x-nullable: false
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-status
required: true
status_reason:
type: string
- x-dependency:
- type:
+ x-dependency:
+ type:
value: set-status
spoe_engine:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: send-spoe-group
required: true
spoe_group:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: send-spoe-group
required: true
acl_file:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: [add-acl, del-acl]
required: true
acl_keyfmt:
type: string
x-display-name: ACK Key Format
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: [add-acl, del-acl]
required: true
+ map_file:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: [set-map, del-map]
+ required: true
+ map_keyfmt:
+ type: string
+ x-display-name: Map Key Format
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: [set-map, del-map]
+ required: true
+ map_valuefmt:
+ type: string
+ x-display-name: Map Value Format
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: set-map
+ required: true
+ sc_id:
+ type: integer
+ x-dependency:
+ type:
+ value: [sc-inc-gpc0, sc-inc-gpc1, sc-set-gpt0]
+ required: true
+ sc_expr:
+ type: string
+ x-display-name: ScSet Expression Value
+ x-dependency:
+ type:
+ value: sc-set-gpt0
+ required: true
+ sc_int:
+ type: integer
+ x-nullable: true
+ x-display-name: ScSet Integer Value
+ x-dependency:
+ type:
+ value: sc-set-gpt0
+ required: true
+ mark_value:
+ type: string
+ pattern: '^(0x[0-9A-Fa-f]+|[0-9]+)$'
+ x-display-name: Mark Value
+ x-dependency:
+ type:
+ value: set-mark
+ required: true
+ nice_value:
+ type: integer
+ minimum: -1024
+ maximum: 1024
+ x-nullable: false
+ x-display-name: Nice Value
+ x-dependency:
+ type:
+ value: set-nice
+ required: true
+ tos_value:
+ type: string
+ pattern: '^(0x[0-9A-Fa-f]+|[0-9]+)$'
+ x-display-name: Tos Value
+ x-dependency:
+ type:
+ value: set-tos
+ required: true
+ track-sc0-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc0 Key
+ x-dependency:
+ type:
+ value: track-sc0
+ required: true
+ track-sc0-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc0 Table
+ x-dependency:
+ type:
+ value: track-sc0
+ track-sc1-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc1 Key
+ x-dependency:
+ type:
+ value: track-sc1
+ required: true
+ track-sc1-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc1 Table
+ x-dependency:
+ type:
+ value: track-sc1
+ track-sc2-key:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc2 Key
+ x-dependency:
+ type:
+ value: track-sc2
+ required: true
+ track-sc2-table:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: track-sc2 Table
+ x-dependency:
+ type:
+ value: track-sc2
+ strict_mode:
+ type: string
+ enum: ['on', 'off']
+ x-dependency:
+ type:
+ value: strict-mode
+ required: true
+ lua_action:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: lua
+ required: true
+ lua_params:
+ type: string
+ x-dependency:
+ type:
+ value: lua
cond:
type: string
x-display-name: Condition
@@ -979,12 +2037,12 @@ http_response_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
- cond:
+ x-dependency:
+ cond:
required: true
additionalProperties: false
example:
- id: 0
+ index: 0
type: add-header
hdr_name: X-Haproxy-Current-Date
hdr_format: "%T"
@@ -995,37 +2053,212 @@ tcp_request_rule:
description: HAProxy TCP Request Rule configuration (corresponds to tcp-request)
type: object
required:
- - id
+ - index
- type
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
type: string
enum: [connection, content, inspect-delay, session]
x-nullable: false
- action:
+ action:
type: string
- enum: [accept, reject]
+ enum: [accept, capture, do-resolve, expect-netscaler-cip, expect-proxy, reject, sc-inc-gpc0, sc-inc-gpc1, sc-set-gpt0, send-spoe-group, set-dst-port, set-dst, set-priority, set-src, set-var, silent-drop, track-sc0, track-sc1, track-sc2, unset-var, use-service, lua]
x-nullable: false
- x-dependency:
- type:
+ x-dependency:
+ type:
+ value: [connection, content, session]
+ required: true
+ capture_sample:
+ pattern: '^[^\s]+$'
+ x-display-name: Capture Sample
+ type: string
+ x-dependency:
+ action:
+ value: capture
+ required: true
+ type:
+ value: [connection, content]
+ required: true
+ capture_len:
+ type: integer
+ x-display-name: Capture Length
+ x-dependency:
+ action:
+ value: capture
+ required: true
+ type:
+ value: [connection, content]
+ required: true
+ resolve_var:
+ type: string
+ x-display-name: Variable name
+ x-dependency:
+ action:
+ value: do-resolve
+ required: true
+ type:
+ value: [content]
+ required: true
+ resolve_resolvers:
+ type: string
+ x-display-name: Resolvers
+ x-dependency:
+ action:
+ value: do-resolve
+ required: true
+ type:
+ value: [content]
+ required: true
+ resolve_protocol:
+ type: string
+ enum: [ipv4, ipv6]
+ x-display-name: Protocol
+ x-dependency:
+ action:
+ value: do-resolve
+ required: false
+ type:
+ value: [content]
+ required: true
+ sc_inc_id:
+ type: string
+ x-display-name: Sticky counter ID
+ x-dependency:
+ action:
+ value: [sc-inc-gpc0, sc-inc-gpc1, sc-set-gpt0]
+ required: true
+ type:
+ value: [connection, content, session]
+ required: true
+ gpt_value:
+ type: string
+ x-display-name: Sticky counter value
+ x-dependency:
+ action:
+ value: sc-set-gpt0
+ required: true
+ type:
value: [connection, content, session]
required: true
+ spoe_engine_name:
+ type: string
+ x-display-name: Engine name
+ x-dependency:
+ action:
+ value: send-spoe-group
+ required: true
+ type:
+ value: [content]
+ required: true
+ spoe_group_name:
+ type: string
+ x-display-name: Group name
+ x-dependency:
+ action:
+ value: send-spoe-group
+ required: true
+ type:
+ value: [content]
+ required: true
+ priority_type:
+ type: string
+ enum: [class, offset]
+ x-dependency:
+ action:
+ value: set-priority
+ required: true
+ type:
+ value: [content]
+ var_name:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Variable name
+ x-dependency:
+ action:
+ value: [set-var, unset-var]
+ required: true
+ type:
+ value: [session, content]
+ var_scope:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Variable scope
+ x-dependency:
+ action:
+ value: [set-var, unset-var]
+ required: true
+ type:
+ value: [session, content]
+ track_key:
+ type: string
+ x-display-name: Sample expression rule
+ x-dependency:
+ action:
+ value: [track-sc0, track-sc1, track-sc2]
+ required: true
+ type:
+ value: [session, connection, content]
+ track_table:
+ type: string
+ x-display-name: Optional table name
+ x-dependency:
+ action:
+ value: [track-sc0, track-sc1, track-sc2]
+ required: false
+ type:
+ value: [session, connection, content]
+ service_name:
+ type: string
+ x-display-name: Service name
+ x-dependency:
+ action:
+ value: use-service
+ required: true
+ type:
+ value: content
timeout:
type: integer
x-nullable: true
- x-dependency:
- type:
+ x-dependency:
+ type:
value: inspect-delay
required: true
+ expr:
+ type: string
+ x-display-name: Standard HAProxy expression
+ x-dependency:
+ action:
+ value: [do-resolve, set-var, set-src, set-priority, set-dst, set-dst-port]
+ required: true
+ type:
+ value: [session, connection, content]
+ lua_action:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Lua action name
+ x-dependency:
+ action:
+ value: lua
+ required: true
+ type:
+ value: [connection, content]
+ lua_params:
+ type: string
+ x-display-name: Lua action params
+ x-dependency:
+ action:
+ value: lua
+ type:
+ value: [connection, content]
cond:
type: string
x-display-name: Condition
enum: [if, unless]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: [connection, content, session]
cond_test:
type: string
@@ -1034,16 +2267,16 @@ tcp_request_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
- cond:
+ x-dependency:
+ cond:
required: true
type:
value: [connection, content, session]
required: true
additionalProperties: false
example:
- id: 0
- type: accept
+ index: 0
+ type: connection
cond: if
cond_test: "{ src 192.168.0.0/16 }"
tcp_response_rule:
@@ -1051,37 +2284,55 @@ tcp_response_rule:
description: HAProxy TCP Response Rule configuration (corresponds to tcp-response)
type: object
required:
- - id
+ - index
- type
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
type: string
enum: [content, inspect-delay]
x-nullable: false
- action:
+ action:
type: string
- enum: [accept, reject]
+ enum: [accept, reject, lua]
x-nullable: false
- x-dependency:
- type:
+ x-dependency:
+ type:
value: content
required: true
timeout:
type: integer
x-nullable: true
- x-dependency:
- type:
+ x-dependency:
+ type:
value: inspect-delay
required: true
+ lua_action:
+ type: string
+ pattern: '^[^\s]+$'
+ x-display-name: Lua action name
+ x-dependency:
+ action:
+ value: lua
+ required: true
+ type:
+ value: content
+ lua_params:
+ type: string
+ x-display-name: Lua action params
+ x-dependency:
+ action:
+ value: lua
+ type:
+ value: content
cond:
type: string
x-display-name: Condition
enum: [if, unless]
- x-dependency:
- type:
+ x-dependency:
+ type:
value: content
cond_test:
type: string
@@ -1090,15 +2341,15 @@ tcp_response_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
+ x-dependency:
cond:
required: true
- type:
+ type:
value: content
additionalProperties: false
example:
- id: 0
- type: accept
+ index: 0
+ type: content
cond: if
cond_test: "{ src 192.168.0.0/16 }"
backend_switching_rule:
@@ -1106,10 +2357,10 @@ backend_switching_rule:
description: HAProxy backend switching rule configuration (corresponds to use_backend directive)
type: object
required:
- - id
+ - index
- name
properties:
- id:
+ index:
type: integer
x-nullable: true
name:
@@ -1131,12 +2382,12 @@ backend_switching_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
+ x-dependency:
cond:
required: true
additionalProperties: false
example:
- id: 0
+ index: 0
name: test_backend
cond: if
cond_test: "{ req_ssl_sni -i www.example.com }"
@@ -1145,10 +2396,10 @@ server_switching_rule:
description: HAProxy server switching rule configuration (corresponds to use-server directive)
type: object
required:
- - id
+ - index
- target_server
properties:
- id:
+ index:
type: integer
x-nullable: true
target_server:
@@ -1169,12 +2420,12 @@ server_switching_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
+ x-dependency:
cond:
required: true
additionalProperties: false
example:
- id: 0
+ index: 0
target_server: www
cond: if
cond_test: "{ req_ssl_sni -i www.example.com }"
@@ -1183,10 +2434,10 @@ filter:
description: HAProxy filters
type: object
required:
- - id
+ - index
- type
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
@@ -1196,49 +2447,49 @@ filter:
trace_name:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: trace
trace_rnd_parsing:
type: boolean
x-display-name: Trace Random Parsing
- x-dependency:
- type:
+ x-dependency:
+ type:
value: trace
trace_rnd_forwarding:
type: boolean
x-display-name: Trace Random Forwarding
- x-dependency:
- type:
+ x-dependency:
+ type:
value: trace
trace_hexdump:
type: boolean
- x-dependency:
- type:
+ x-dependency:
+ type:
value: trace
spoe_engine:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: spoe
spoe_config:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: spoe
required: true
cache_name:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- type:
+ x-dependency:
+ type:
value: cache
required: true
additionalProperties: false
example:
- id: 0
+ index: 0
type: trace
trace_name: name
trace_rnd_parsing: true
@@ -1247,11 +2498,11 @@ stick_rule:
description: Define a pattern used to create an entry in a stickiness table or matching condition or associate a user to a server.
type: object
required:
- - id
+ - index
- type
- pattern
properties:
- id:
+ index:
type: integer
x-nullable: true
type:
@@ -1276,22 +2527,22 @@ stick_rule:
operation: getACLs
property: acl_name
freeFormat: true
- x-dependency:
+ x-dependency:
cond:
required: true
additionalProperties: false
example:
- id: 0
- type: storeonly
+ index: 0
+ type: match
pattern: src
-log_target:
+log_target:
title: Log Target
description: Per-instance logging of events and traffic.
type: object
required:
- - id
+ - index
properties:
- id:
+ index:
type: integer
x-nullable: true
global:
@@ -1301,74 +2552,74 @@ log_target:
address:
type: string
pattern: '^[^\s]+$'
- x-dependency:
- global:
+ x-dependency:
+ global:
value: false
required: true
- nolog:
+ nolog:
value: false
required: true
length:
type: integer
- x-dependency:
- global:
+ x-dependency:
+ global:
value: false
- nolog:
+ nolog:
value: false
format:
type: string
enum: [rfc3164, rfc5424, short, raw]
- x-dependency:
- global:
+ x-dependency:
+ global:
value: false
- nolog:
+ nolog:
value: false
facility:
type: string
- enum: [kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, auth2, ftp, ntp, audit, alert, cron2, local0,local1, local2, local3, local4, local5, local6, local7]
- x-dependency:
- global:
+ enum: [kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, auth2, ftp, ntp, audit, alert, cron2, local0, local1, local2, local3, local4, local5, local6, local7]
+ x-dependency:
+ global:
value: false
required: true
- nolog:
+ nolog:
value: false
required: true
level:
type: string
enum: [emerg, alert, crit, err, warning, notice, info, debug]
- x-dependency:
- global:
+ x-dependency:
+ global:
value: false
- nolog:
+ nolog:
value: false
minlevel:
type: string
enum: [emerg, alert, crit, err, warning, notice, info, debug]
- x-dependency:
- global:
+ x-dependency:
+ global:
value: false
- nolog:
+ nolog:
value: false
level:
required: false
additionalProperties: false
acl:
title: ACL Lines
- description: |
+ description: |
The use of Access Control Lists (ACL) provides a flexible solution to perform
content switching and generally to take decisions based on content extracted
from the request, the response or any environmental status.
type: object
required:
- - id
+ - index
- acl_name
- criterion
- value
properties:
- id:
+ index:
type: integer
x-nullable: true
- acl_name:
+ acl_name:
type: string
pattern: '^[^\s]+$'
x-nullable: false
@@ -1381,8 +2632,12 @@ acl:
x-nullable: false
additionalProperties: false
default_server:
+ title: Default Server
type: object
properties:
+ init-addr:
+ pattern: ^[^\s]+$
+ type: string
inter:
type: integer
x-nullable: true
@@ -1396,8 +2651,18 @@ default_server:
type: integer
x-nullable: true
fall:
+ type: integer
+ x-display-name: Nr. of consecutive failed checks
+ x-nullable: true
+ check-sni:
+ type: string
+ pattern: '^[^\s]+$'
+ slowstart:
type: integer
x-nullable: true
+ sni:
+ type: string
+ pattern: '^[^\s]+$'
check-ssl:
type: string
enum: [enabled, disabled]
@@ -1406,6 +2671,266 @@ default_server:
minimum: 1
maximum: 65535
x-nullable: true
+ resolvers:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dynamic-enum:
+ operation: getResolvers
+ property: name
+ resolve-prefer:
+ type: string
+ enum: [ipv4, ipv6]
+ pattern: '^[^\s]+$'
+ x-dependency:
+ resolvers:
+ required: true
+ resolve-net:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ resolvers:
+ required: true
+ name:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: false
+ address:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: false
+ health_check_port:
+ type: integer
+ x-nullable: true
+ minimum: 1
+ maximum: 65535
+ ssl_certificate:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ ssl:
+ value: enabled
+ agent-check:
+ type: string
+ enum: [enabled, disabled]
+ x-dependency:
+ agent-port:
+ required: true
+ agent-send:
+ type: string
+ agent-inter:
+ type: integer
+ x-nullable: true
+ agent-addr:
+ type: string
+ pattern: '^[^\s]+$'
+ agent-port:
+ type: integer
+ x-nullable: true
+ minimum: 1
+ maximum: 65535
+ allow_0rtt:
+ type: boolean
+ alpn:
+ type: string
+ x-display-name: ALPN Protocols
+ pattern: '^[^\s]+$'
+ backup:
+ type: string
+ enum: [enabled, disabled]
+ check:
+ type: string
+ enum: [enabled, disabled]
+ check_alpn:
+ type: string
+ x-display-name: Protocols
+ pattern: '^[^\s]+$'
+ check_proto:
+ type: string
+ x-display-name: Name
+ pattern: '^[^\s]+$'
+ check_via_socks4:
+ type: string
+ enum: [enabled, disabled]
+ ciphers:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ ciphersuites:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ cookie:
+ type: string
+ pattern: '^[^\s]+$'
+ crl_file:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ error_limit:
+ type: integer
+ x-display-name: Error count
+ force_sslv3:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv10:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv11:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv12:
+ type: string
+ enum: [enabled, disabled]
+ force_tlsv13:
+ type: string
+ enum: [enabled, disabled]
+ log_proto:
+ type: string
+ enum: [legacy, octet-count]
+ maxconn:
+ type: integer
+ x-display-name: Max Concurrent Connections
+ x-nullable: true
+ maxqueue:
+ type: integer
+ x-display-name: Max Number of Connections
+ x-nullable: true
+ max_reuse:
+ type: integer
+ x-nullable: true
+ minconn:
+ type: integer
+ x-nullable: true
+ namespace:
+ type: string
+ no_sslv3:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv10:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv11:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv12:
+ type: string
+ enum: [enabled, disabled]
+ no_tlsv13:
+ type: string
+ enum: [enabled, disabled]
+ no_verifyhost:
+ type: string
+ enum: [enabled, disabled]
+ npn:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ observe:
+ type: string
+ enum: [layer4, layer7]
+ x-dependency:
+ ssl:
+ value: enabled
+ on-error:
+ type: string
+ enum: [fastinter, fail-check, sudden-death, mark-down]
+ on-marked-down:
+ type: string
+ enum: [shutdown-sessions]
+ on-marked-up:
+ type: string
+ enum: [shutdown-backup-sessions]
+ pool_low_conn:
+ type: integer
+ x-nullable: true
+ pool_max_conn:
+ type: integer
+ x-nullable: true
+ pool_purge_delay:
+ type: integer
+ x-nullable: true
+ proto:
+ type: string
+ pattern: '^[^\s]+$'
+ redir:
+ type: string
+ x-display-name: Prefix
+ resolve_opts:
+ type: string
+ pattern: '^[^,\s][^\,]*[^,\s]*$'
+ send-proxy:
+ type: string
+ enum: [enabled, disabled]
+ send-proxy-v2:
+ type: string
+ enum: [enabled, disabled]
+ proxy-v2-options:
+ type: array
+ items:
+ type: string
+ enum: [ssl, cert-cn, ssl-cipher, cert-sig, cert-key, authority, crc32c, unique-id]
+ send_proxy_v2_ssl:
+ type: string
+ enum: [enabled, disabled]
+ send_proxy_v2_ssl_cn:
+ type: string
+ enum: [enabled, disabled]
+ source:
+ type: string
+ ssl:
+ type: string
+ enum: [enabled, disabled]
+ ssl_max_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ ssl_min_ver:
+ type: string
+ enum: [SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3]
+ ssl_reuse:
+ type: string
+ enum: [enabled, disabled]
+ stick:
+ type: string
+ enum: [enabled, disabled]
+ socks4:
+ type: string
+ pattern: '^[^\s]+$'
+ x-dependency:
+ check-via-socks4:
+ required: true
+ tcp_ut:
+ type: integer
+ tfo:
+ type: string
+ enum: [enabled, disabled]
+ track:
+ type: string
+ tls_tickets:
+ type: string
+ enum: [enabled, disabled]
+ x-dependency:
+ ssl:
+ value: enabled
+ verify:
+ type: string
+ enum: [none, required]
+ x-dependency:
+ ssl:
+ value: enabled
+ verifyhost:
+ type: string
+ x-dependency:
+ ssl:
+ value: enabled
+ verify:
+ value: required
+ weight:
+ type: integer
+ x-nullable: true
forwardfor:
type: object
x-display-name: ForwardFor
@@ -1475,7 +3000,6 @@ balance:
hdr_name:
type: string
x-display-name: Header Name
- pattern: '^[^\s]+$'
x-dependency:
algorithm:
value: hdr
@@ -1500,7 +3024,7 @@ balance:
x-dependency:
algorithm:
value: rdp-cookie
-httpchk:
+httpchk_params:
type: object
x-display-name: HTTP Check
properties:
@@ -1528,7 +3052,7 @@ errorfile:
type: object
x-display-name: Error File
properties:
- code:
+ code:
type: integer
enum: [200, 400, 403, 405, 408, 425, 429, 500, 502, 503, 504]
file:
@@ -1558,9 +3082,14 @@ cookie:
type: boolean
domain:
type: array
+ x-go-name: Domains
items:
- type: string
- pattern: '^[^\s]+$'
+ type: object
+ x-go-name: Domain
+ properties:
+ value:
+ type: string
+ pattern: '^[^\s]+$'
maxidle:
type: integer
pattern: '^[^\d+$]'
@@ -1568,4 +3097,83 @@ cookie:
type: integer
pattern: '^[^\d+$]'
dynamic:
- type: boolean
\ No newline at end of file
+ type: boolean
+http-check:
+ type: object
+ required:
+ - type
+ properties:
+ type:
+ type: string
+ enum: [disable-on-404, expect, send-state]
+ exclamation_mark:
+ type: boolean
+ x-display-name: Expect Exclamation Mark
+ x-dependency:
+ type:
+ value: expect
+ match:
+ type: string
+ enum: [status, rstatus, string, rstring]
+ x-display-name: Expect Match
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: expect
+ required: true
+ pattern:
+ type: string
+ x-display-name: Expect Pattern
+ pattern: '^[^\s]+$'
+ x-dependency:
+ type:
+ value: expect
+ required: true
+stats_options:
+ type: object
+ properties:
+ stats_enable:
+ type: boolean
+ x-display-name: Stats Enable
+ stats_hide_version:
+ type: boolean
+ x-display-name: Stats Hide Version
+ stats_maxconn:
+ type: integer
+ minimum: 1
+ stats_refresh_delay:
+ type: integer
+ x-nullable: true
+ stats_show_desc:
+ type: string
+ x-nullable: true
+ stats_show_legends:
+ type: boolean
+ x-display-name: Stats Show Legends
+ stats_show_node_name:
+ type: string
+ pattern: '^[^\s]+$'
+ x-nullable: true
+ stats_uri_prefix:
+ type: string
+ pattern: '^[^\s]+$'
+smtpchk_params:
+ type: object
+ properties:
+ hello:
+ type: string
+ domain:
+ type: string
+mysql_check_params:
+ type: object
+ properties:
+ username:
+ type: string
+ client_version:
+ type: string
+ enum: [pre-41, post-41]
+pgsql_check_params:
+ type: object
+ properties:
+ username:
+ type: string
diff --git a/models/errors.yaml b/models/errors.yaml
index c097ac7..4ff4033 100644
--- a/models/errors.yaml
+++ b/models/errors.yaml
@@ -1,3 +1,4 @@
+---
error:
title: Error
description: API Error
diff --git a/models/general.yaml b/models/general.yaml
index 959c983..435db1b 100644
--- a/models/general.yaml
+++ b/models/general.yaml
@@ -1,3 +1,4 @@
+---
endpoint:
title: Endpoint
description: Endpoint definition
@@ -84,7 +85,7 @@ transaction:
id:
type: string
pattern: '^[^\s]+$'
- status:
+ status:
type: string
enum: [failed, in_progress, success]
_version:
@@ -103,7 +104,7 @@ reload:
pattern: '^\d{4}-\d{2}-\d{2}-\d+$'
reload_timestamp:
type: integer
- status:
+ status:
type: string
enum: [failed, in_progress, succeeded]
response:
diff --git a/models/monitor.yaml b/models/monitor.yaml
new file mode 100644
index 0000000..609cf01
--- /dev/null
+++ b/models/monitor.yaml
@@ -0,0 +1,19 @@
+---
+monitor_uri:
+ type: string
+monitor_fail:
+ required:
+ - cond
+ - cond_test
+ type: object
+ properties:
+ cond:
+ type: string
+ x-display-name: Condition
+ enum: [if, unless]
+ cond_test:
+ type: string
+ x-display-name: Condition Test
+ x-dependency:
+ cond:
+ required: true
diff --git a/models/runtime.yaml b/models/runtime.yaml
index 569bd0f..6679d51 100644
--- a/models/runtime.yaml
+++ b/models/runtime.yaml
@@ -1,217 +1,211 @@
+---
process_infos:
title: HAProxy Information
description: General HAProxy process information
type: array
- items:
- type: object
- x-go-name: ProcessInfo
- properties:
- runtimeAPI:
- type: string
- error:
- type: string
- info:
- type: object
- x-go-name: ProcessInfoItem
- properties:
- version:
- type: string
- description: HAProxy version string
- release_date:
- type: string
- format: date
- description: HAProxy version release date
- nbthread:
- type: integer
- description: Number of threads
- x-display-name: Number of Threads
- x-nullable: true
- processes:
- type: integer
- description: Number of spawned processes
- x-nullable: true
- x-display-name: Number of processes
- process_num:
- type: integer
- description: Process number
- x-display-name: Process Number
- x-nullable: true
- pid:
- type: integer
- description: Process id of the replying worker process
- x-nullable: true
- x-display-name: PID
- uptime:
- type: integer
- description: HAProxy uptime in s
- x-nullable: true
- mem_max_mb:
- type: integer
- x-nullable: true
- pool_alloc_mb:
- type: integer
- x-nullable: true
- pool_used_mb:
- type: integer
- x-nullable: true
- pool_failed:
- type: integer
- x-nullable: true
- ulimit_n:
- type: integer
- x-nullable: true
- max_sock:
- type: integer
- x-nullable: true
- max_conn:
- type: integer
- x-nullable: true
- hard_max_conn:
- type: integer
- x-nullable: true
- curr_conns:
- type: integer
- x-nullable: true
- cum_conns:
- type: integer
- x-nullable: true
- cum_req:
- type: integer
- x-nullable: true
- max_ssl_conns:
- type: integer
- x-nullable: true
- curr_ssl_conns:
- type: integer
- x-nullable: true
- cum_ssl_conns:
- type: integer
- x-nullable: true
- max_pipes:
- type: integer
- x-nullable: true
- pipes_used:
- type: integer
- x-nullable: true
- pipes_free:
- type: integer
- x-nullable: true
- conn_rate:
- type: integer
- x-nullable: true
- conn_rate_limit:
- type: integer
- x-nullable: true
- max_conn_rate:
- type: integer
- x-nullable: true
- sess_rate:
- type: integer
- x-nullable: true
- sess_rate_limit:
- type: integer
- x-nullable: true
- max_sess_rate:
- type: integer
- x-nullable: true
- ssl_rate:
- type: integer
- x-nullable: true
- ssl_rate_limit:
- type: integer
- x-nullable: true
- max_ssl_rate:
- type: integer
- x-nullable: true
- ssl_frontend_key_rate:
- type: integer
- x-nullable: true
- ssl_frontend_max_key_rate:
- type: integer
- x-nullable: true
- ssl_frontend_session_reuse:
- type: integer
- x-nullable: true
- ssl_backend_key_rate:
- type: integer
- x-nullable: true
- ssl_backend_max_key_rate:
- type: integer
- x-nullable: true
- ssl_cache_lookups:
- type: integer
- x-nullable: true
- ssl_cache_misses:
- type: integer
- x-nullable: true
- compress_bps_in:
- type: integer
- x-nullable: true
- compress_bps_out:
- type: integer
- x-nullable: true
- compress_bps_rate_lim:
- type: integer
- x-nullable: true
- zlib_mem_usage:
- type: integer
- x-nullable: true
- max_zlib_mem_usage:
- type: integer
- x-nullable: true
- tasks:
- type: integer
- x-nullable: true
- run_queue:
- type: integer
- x-nullable: true
- idle_pct:
- type: integer
- x-nullable: true
- node:
- type: string
- stopping:
- type: integer
- x-nullable: true
- jobs:
- type: integer
- x-nullable: true
- unstoppable:
- type: integer
- x-nullable: true
- listeners:
- type: integer
- x-nullable: true
- active_peers:
- type: integer
- x-nullable: true
- connected_peers:
- type: integer
- x-nullable: true
- dropped_logs:
- type: integer
- x-nullable: true
- busy_polling:
- type: integer
- x-nullable: true
- failed_resolutions:
- type: integer
- x-nullable: true
- total_bytes_out:
- type: integer
- x-nullable: true
- bytes_out_rate:
- type: integer
- x-nullable: true
- example:
- haproxy:
- version: 1.7-dev1-868ab3-148
- release_date: "2016-03-11"
- address: 127.0.0.1
- time: 2018-07-02T12:00:00.124Z
- processes: 4
- pid: 1234
- uptime: 8
+ items:
+ $ref: '#/definitions/process_info'
+process_info:
+ type: object
+ properties:
+ runtimeAPI:
+ type: string
+ error:
+ type: string
+ info:
+ $ref: '#/definitions/process_info_item'
+process_info_item:
+ type: object
+ properties:
+ version:
+ type: string
+ description: HAProxy version string
+ release_date:
+ type: string
+ format: date
+ description: HAProxy version release date
+ nbthread:
+ type: integer
+ description: Number of threads
+ x-display-name: Number of Threads
+ x-nullable: true
+ processes:
+ type: integer
+ description: Number of spawned processes
+ x-nullable: true
+ x-display-name: Number of processes
+ process_num:
+ type: integer
+ description: Process number
+ x-display-name: Process Number
+ x-nullable: true
+ pid:
+ type: integer
+ description: Process id of the replying worker process
+ x-nullable: true
+ x-display-name: PID
+ uptime:
+ type: integer
+ description: HAProxy uptime in s
+ x-nullable: true
+ mem_max_mb:
+ type: integer
+ x-nullable: true
+ pool_alloc_mb:
+ type: integer
+ x-nullable: true
+ pool_used_mb:
+ type: integer
+ x-nullable: true
+ pool_failed:
+ type: integer
+ x-nullable: true
+ ulimit_n:
+ type: integer
+ x-nullable: true
+ max_sock:
+ type: integer
+ x-nullable: true
+ max_conn:
+ type: integer
+ x-nullable: true
+ hard_max_conn:
+ type: integer
+ x-nullable: true
+ curr_conns:
+ type: integer
+ x-nullable: true
+ cum_conns:
+ type: integer
+ x-nullable: true
+ cum_req:
+ type: integer
+ x-nullable: true
+ max_ssl_conns:
+ type: integer
+ x-nullable: true
+ curr_ssl_conns:
+ type: integer
+ x-nullable: true
+ cum_ssl_conns:
+ type: integer
+ x-nullable: true
+ max_pipes:
+ type: integer
+ x-nullable: true
+ pipes_used:
+ type: integer
+ x-nullable: true
+ pipes_free:
+ type: integer
+ x-nullable: true
+ conn_rate:
+ type: integer
+ x-nullable: true
+ conn_rate_limit:
+ type: integer
+ x-nullable: true
+ max_conn_rate:
+ type: integer
+ x-nullable: true
+ sess_rate:
+ type: integer
+ x-nullable: true
+ sess_rate_limit:
+ type: integer
+ x-nullable: true
+ max_sess_rate:
+ type: integer
+ x-nullable: true
+ ssl_rate:
+ type: integer
+ x-nullable: true
+ ssl_rate_limit:
+ type: integer
+ x-nullable: true
+ max_ssl_rate:
+ type: integer
+ x-nullable: true
+ ssl_frontend_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_frontend_max_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_frontend_session_reuse:
+ type: integer
+ x-nullable: true
+ ssl_backend_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_backend_max_key_rate:
+ type: integer
+ x-nullable: true
+ ssl_cache_lookups:
+ type: integer
+ x-nullable: true
+ ssl_cache_misses:
+ type: integer
+ x-nullable: true
+ compress_bps_in:
+ type: integer
+ x-nullable: true
+ compress_bps_out:
+ type: integer
+ x-nullable: true
+ compress_bps_rate_lim:
+ type: integer
+ x-nullable: true
+ zlib_mem_usage:
+ type: integer
+ x-nullable: true
+ max_zlib_mem_usage:
+ type: integer
+ x-nullable: true
+ tasks:
+ type: integer
+ x-nullable: true
+ run_queue:
+ type: integer
+ x-nullable: true
+ idle_pct:
+ type: integer
+ x-nullable: true
+ node:
+ type: string
+ stopping:
+ type: integer
+ x-nullable: true
+ jobs:
+ type: integer
+ x-nullable: true
+ unstoppable:
+ type: integer
+ x-nullable: true
+ listeners:
+ type: integer
+ x-nullable: true
+ active_peers:
+ type: integer
+ x-nullable: true
+ connected_peers:
+ type: integer
+ x-nullable: true
+ dropped_logs:
+ type: integer
+ x-nullable: true
+ busy_polling:
+ type: integer
+ x-nullable: true
+ failed_resolutions:
+ type: integer
+ x-nullable: true
+ total_bytes_out:
+ type: integer
+ x-nullable: true
+ bytes_out_rate:
+ type: integer
+ x-nullable: true
server:
title: Runtime Server
description: Runtime transient server properties
@@ -231,7 +225,7 @@ server:
port:
type: integer
x-nullable: true
- minimum: 0
+ minimum: 1
maximum: 65535
readOnly: true
operational_state:
@@ -246,7 +240,7 @@ server:
address: 127.0.0.5
port: 80
operational_state: up
- admin_state: up
+ admin_state: ready
table:
title: Stick Table
description: Stick Table Information
@@ -275,7 +269,7 @@ table:
properties:
field:
type: string
- enum: [server_id, gpc0, gpc0_rate, gpc1, gpc1_rate, conn_cnt, conn_cur, conn_rate, sess_cnt, sess_rate, http_req_cnt, http_req_rate, http_err_cnt, http_err_rate, bytes_in_cnt, bytes_in_rate, bytes_out_cnt, bytes_out_rate]
+ enum: [server_id, gpc0, gpc0_rate, gpc1, gpc1_rate, gpt0, conn_cnt, conn_cur, conn_rate, sess_cnt, sess_rate, http_req_cnt, http_req_rate, http_err_cnt, http_err_rate, bytes_in_cnt, bytes_in_rate, bytes_out_cnt, bytes_out_rate]
type:
type: string
enum: [rate, counter]
@@ -308,6 +302,9 @@ table_entry:
gpc1_rate:
type: integer
x-nullable: true
+ gpt0:
+ type: integer
+ x-nullable: true
conn_cnt:
type: integer
x-nullable: true
@@ -351,4 +348,116 @@ table_entry:
type: integer
x-nullable: true
use:
- type: boolean
\ No newline at end of file
+ type: boolean
+map:
+ title: Map File
+ description: Map File
+ type: object
+ properties:
+ id:
+ type: string
+ file:
+ type: string
+ storage_name:
+ type: string
+ description:
+ type: string
+map_entry:
+ title: One Map Entry
+ description: One Map Entry
+ type: object
+ properties:
+ id:
+ type: string
+ readOnly: true
+ key:
+ type: string
+ value:
+ type: string
+ssl_certificate:
+ title: SSL File
+ description: A file containing one or more SSL/TLS certificates and keys
+ type: object
+ properties:
+ file:
+ type: string
+ storage_name:
+ type: string
+ description:
+ type: string
+ssl_cert_entry:
+ title: One SSL Certificate Entry
+ description: One SSL/TLS certificate
+ type: object
+ properties:
+ storage_name:
+ type: string
+ status:
+ type: string
+ serial:
+ type: string
+ not_before:
+ type: string
+ format: date
+ not_after:
+ type: string
+ format: date
+ subject_alternative_names:
+ type: array
+ items:
+ type: string
+ algorithm:
+ type: string
+ sha1_finger_print:
+ type: string
+ subject:
+ type: string
+ issuer:
+ type: string
+ chain_subject:
+ type: string
+ chain_issuer:
+ type: string
+ssl_crt_list:
+ title: crt-list
+ description: One SSL/TLS certificate
+ type: object
+ properties:
+ file:
+ type: string
+ssl_crt_list_entry:
+ title: One crt-list Entry
+ description: One SSL/TLS certificate
+ type: object
+ properties:
+ line_number:
+ type: string
+ file:
+ type: string
+ ssl_bind_config:
+ type: string
+ sni_filters:
+ type: array
+ items:
+ type: string
+acl_file:
+ title: ACL File
+ description: ACL File
+ type: object
+ properties:
+ id:
+ type: string
+ storage_name:
+ type: string
+ description:
+ type: string
+acl_file_entry:
+ title: One ACL File Entry
+ description: One ACL File Entry
+ type: object
+ properties:
+ id:
+ type: string
+ readOnly: true
+ value:
+ type: string
diff --git a/models/service-discovery.yaml b/models/service-discovery.yaml
new file mode 100644
index 0000000..7ef8902
--- /dev/null
+++ b/models/service-discovery.yaml
@@ -0,0 +1,58 @@
+---
+consul:
+ title: Consul server
+ description: Consul server configuration
+ type: object
+ required: [address, port, enabled, retry_timeout]
+ properties:
+ id:
+ type: string
+ x-nullable: true
+ pattern: '^[^\s]+$'
+ description: Auto generated ID.
+ address:
+ type: string
+ pattern: '^[^\s]+$'
+ port:
+ type: integer
+ minimum: 1
+ maximum: 65535
+ token:
+ type: string
+ pattern: '^[^\s]+$'
+ enabled:
+ type: boolean
+ retry_timeout:
+ type: integer
+ minimum: 1
+ description: Duration in seconds in-between data pulling requests to the consul server
+ service-whitelist:
+ type: array
+ items:
+ type: string
+ pattern: '^[^\s]+$'
+ service-blacklist:
+ type: array
+ items:
+ type: string
+ pattern: '^[^\s]+$'
+ server_slots_base:
+ type: integer
+ default: 10
+ server_slots_growth_type:
+ type: string
+ enum: [linear, exponential]
+ default: exponential
+ server_slots_growth_increment:
+ type: integer
+ description:
+ type: string
+ name:
+ type: string
+ additionalProperties: false
+ example:
+ id: "0"
+ enabled: true
+ address: 127.0.0.1
+ port: 90
+ retry_timeout: 10
diff --git a/models/simple.yaml b/models/simple.yaml
index 1e6f310..781b722 100644
--- a/models/simple.yaml
+++ b/models/simple.yaml
@@ -1,15 +1,16 @@
+---
site:
title: Site
description: |
Site configuration. Sites are considered as one service and all farms connected to that service.
Farms are connected to service using use-backend and default_backend directives. Sites let you
- configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
+ configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
endpoints.
type: object
required:
- name
properties:
- name:
+ name:
type: string
pattern: '^[A-Za-z0-9-_.:]+$'
x-nullable: false
@@ -24,7 +25,7 @@ site:
x-display-name: HTTP Connection Mode
enum: [http-tunnel, httpclose, forced-close, http-server-close, http-keep-alive]
x-dependency:
- mode:
+ mode:
value: http
maxconn:
type: integer
@@ -47,7 +48,7 @@ site:
type: string
pattern: '^[A-Za-z0-9-_.:]+$'
x-nullable: false
- use_as:
+ use_as:
type: string
enum: [default, conditional]
x-nullable: false
@@ -56,14 +57,14 @@ site:
x-display-name: Condition
enum: [if, unless]
x-dependency:
- use_as:
+ use_as:
value: conditional
required: true
cond_test:
type: string
x-display-name: Condition Test
x-dependency:
- use_as:
+ use_as:
value: conditional
required: true
balance:
@@ -73,9 +74,9 @@ site:
enum: [http, tcp]
forwardfor:
$ref: "#/definitions/forwardfor"
- servers:
+ servers:
type: array
- items:
+ items:
$ref: "#/definitions/server"
additionalProperties: false
example:
@@ -94,10 +95,10 @@ site:
farms:
- name: www_backend
use_as: default
- balance:
+ balance:
algorithm: roundrobin
mode: http
- servers:
+ servers:
- name: www_server
address: 127.0.1.1
port: 4567
diff --git a/models/spoe-transactions.yaml b/models/spoe-transactions.yaml
new file mode 100644
index 0000000..5162d05
--- /dev/null
+++ b/models/spoe-transactions.yaml
@@ -0,0 +1,18 @@
+---
+spoe_transaction:
+ title: SPOE configuration transaction
+ description: SPOE configuration transaction
+ type: object
+ properties:
+ id:
+ type: string
+ pattern: '^[^\s]+$'
+ status:
+ type: string
+ enum: [failed, in_progress, success]
+ _version:
+ type: integer
+ example:
+ id: 273e3385-2d0c-4fb1-aa27-93cbb31ff203
+ status: in_progress
+ _version: 2
diff --git a/models/spoe.yaml b/models/spoe.yaml
new file mode 100644
index 0000000..d7770fd
--- /dev/null
+++ b/models/spoe.yaml
@@ -0,0 +1,118 @@
+---
+spoe_files:
+ title: SPOE files
+ description: SPOE files
+ type: array
+ items:
+ type: string
+spoe_scope:
+ title: SPOE scope
+ description: SPOE scope name
+ type: string
+spoe_agent:
+ title: SPOE agent
+ description: SPOE agent configuration
+ type: object
+ required:
+ - name
+ properties:
+ engine-name:
+ type: string
+ name:
+ type: string
+ groups:
+ type: string
+ log:
+ $ref: "#/definitions/log_targets"
+ maxconnrate:
+ type: integer
+ maxerrrate:
+ type: integer
+ max-frame-size:
+ type: integer
+ max-waiting-frames:
+ type: integer
+ messages:
+ type: string
+ async:
+ type: string
+ enum: [enabled, disabled]
+ continue-on-error:
+ type: string
+ enum: [enabled]
+ dontlog-normal:
+ type: string
+ enum: [enabled, disabled]
+ force-set-var:
+ type: string
+ enum: [enabled]
+ pipelining:
+ type: string
+ enum: [enabled, disabled]
+ send-frag-payload:
+ type: string
+ enum: [enabled, disabled]
+ option_set-on-error:
+ type: string
+ pattern: '^[A-Za-z0-9-_.]+$'
+ option_set-process-time:
+ type: string
+ pattern: '^[A-Za-z0-9-_.]+$'
+ option_set-total-time:
+ type: string
+ pattern: '^[A-Za-z0-9-_.]+$'
+ option_var-prefix:
+ type: string
+ pattern: '^[A-Za-z0-9-_.]+$'
+ register-var-names:
+ type: string
+ hello_timeout:
+ type: integer
+ idle_timeout:
+ type: integer
+ processing_timeout:
+ type: integer
+ use-backend:
+ type: string
+spoe_message:
+ title: SPOE message
+ description: SPOE message section configuration
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ acl:
+ $ref: "#/definitions/acls"
+ args:
+ type: string
+ event:
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ enum: [on-client-session, on-server-session, on-frontend-tcp-request, on-backend-tcp-request, on-tcp-response, on-frontend-http-request, on-backend-http-request, on-http-response]
+ cond:
+ type: string
+ x-display-name: Condition
+ enum: [if, unless]
+ cond_test:
+ type: string
+ x-display-name: Condition Test
+ x-dependency:
+ cond:
+ required: true
+spoe_group:
+ title: SPOE group
+ description: SPOE group section configuration
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ type: string
+ messages:
+ type: string
diff --git a/models/stats.yaml b/models/stats.yaml
index 3e53b6f..9d96601 100644
--- a/models/stats.yaml
+++ b/models/stats.yaml
@@ -1,25 +1,25 @@
+---
native_stats:
- x-go-name: NativeStats
title: Stats Array
description: HAProxy stats array
type: array
items:
- type: object
- title: Stats collection
- description: Stats from one runtime API
- x-go-name: NativeStatsCollection
- properties:
- runtimeAPI:
- type: string
- stats:
- type: array
- items:
- $ref: "#/definitions/native_stat"
- error:
- type: string
+ $ref: "#/definitions/native_stats_collection"
+native_stats_collection:
+ type: object
+ title: Stats collection
+ description: Stats from one runtime API
+ properties:
+ runtimeAPI:
+ type: string
+ stats:
+ type: array
+ items:
+ $ref: "#/definitions/native_stat"
+ error:
+ type: string
native:
title: Stats
- x-go-name: NativeStat
description: Current stats for one object.
type: object
properties:
@@ -33,391 +33,388 @@ native:
x-dependency:
type: server
stats:
- type: object
- x-go-name: NativeStatStats
- properties:
- qcur:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- qmax:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- scur:
- type: integer
- x-nullable: true
- smax:
- type: integer
- x-nullable: true
- slim:
- type: integer
- x-nullable: true
- stot:
- type: integer
- x-nullable: true
- bin:
- type: integer
- x-nullable: true
- bout:
- type: integer
- x-nullable: true
- dreq:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- dresp:
- type: integer
- x-nullable: true
- ereq:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- econ:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- eresp:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- wretr:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- wredis:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- status:
- type: string
- enum: [UP, DOWN, NOLB, MAINT, no check]
- weight:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- act:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- bck:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- chkfail:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- chkdown:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- lastchg:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- downtime:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- qlimit:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- pid:
- type: integer
- x-nullable: true
- iid:
- type: integer
- x-nullable: true
- sid:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- throttle:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- lbtot:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- tracked:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- rate:
- type: integer
- x-nullable: true
- rate_lim:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- rate_max:
- type: integer
- x-nullable: true
- check_status:
- type: string
- enum: [UNK, INI, SOCKERR, L40K, L4TOUT, L4CON, L6OK, L6TOUT, L6RSP, L7OK, L7OKC, L7TOUT, L7RSP, L7STS]
- x-dependency:
- type: server
- check_code:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- check_duration:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- hrsp_1xx:
- type: integer
- x-nullable: true
- hrsp_2xx:
- type: integer
- x-nullable: true
- hrsp_3xx:
- type: integer
- x-nullable: true
- hrsp_4xx:
- type: integer
- x-nullable: true
- hrsp_5xx:
- type: integer
- x-nullable: true
- hrsp_other:
- type: integer
- x-nullable: true
- hanafail:
- type: string
- x-dependency:
- type: server
- req_rate:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- req_rate_max:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- req_tot:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- cli_abrt:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- srv_abrt:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- comp_in:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- comp_out:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- comp_byp:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- comp_rsp:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- lastsess:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- qtime:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- ctime:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- rtime:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- ttime:
- type: integer
- x-nullable: true
- x-dependency:
- type: [server, backend]
- agent_status:
- type: string
- enum: [UNK, INI, SOCKERR, L40K, L4TOUT, L4CON, L7OK, L7STS]
- x-dependency:
- type: server
- agent_code:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- agent_duration:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- check_desc:
- type: string
- x-dependency:
- type: server
- agent_desc:
- type: string
- x-dependency:
- type: server
- check_rise:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- check_fall:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- check_health:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- agent_rise:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- agent_fall:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- agent_health:
- type: integer
- x-nullable: true
- x-dependency:
- type: server
- addr:
- type: string
- x-dependency:
- type: server
- cookie:
- type: string
- x-dependency:
- type: [server, backend]
- mode:
- type: string
- enum: [tcp, http, health, unknown]
- algo:
- type: string
- x-dependency:
- type: backend
- conn_rate:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- conn_rate_max:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- conn_tot:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- intercepted:
- type: integer
- x-nullable: true
- x-dependency:
- type: [frontend, backend]
- dcon:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
- dses:
- type: integer
- x-nullable: true
- x-dependency:
- type: frontend
+ $ref: "#/definitions/native_stat_stats"
+native_stat_stats:
+ type: object
+ properties:
+ qcur:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ qmax:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ scur:
+ type: integer
+ x-nullable: true
+ smax:
+ type: integer
+ x-nullable: true
+ slim:
+ type: integer
+ x-nullable: true
+ stot:
+ type: integer
+ x-nullable: true
+ bin:
+ type: integer
+ x-nullable: true
+ bout:
+ type: integer
+ x-nullable: true
+ dreq:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ dresp:
+ type: integer
+ x-nullable: true
+ ereq:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ econ:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ eresp:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ wretr:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ wredis:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ status:
+ type: string
+ enum: [UP, DOWN, NOLB, MAINT, no check]
+ weight:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ act:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ bck:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ chkfail:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ chkdown:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ lastchg:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ downtime:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ qlimit:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ pid:
+ type: integer
+ x-nullable: true
+ iid:
+ type: integer
+ x-nullable: true
+ sid:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ throttle:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ lbtot:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ tracked:
+ type: string
+ x-dependency:
+ type: server
+ rate:
+ type: integer
+ x-nullable: true
+ rate_lim:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ rate_max:
+ type: integer
+ x-nullable: true
+ check_status:
+ type: string
+ enum: [UNK, INI, SOCKERR, L40K, L4TOUT, L4CON, L6OK, L6TOUT, L6RSP, L7OK, L7OKC, L7TOUT, L7RSP, L7STS]
+ x-dependency:
+ type: server
+ check_code:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ check_duration:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ hrsp_1xx:
+ type: integer
+ x-nullable: true
+ hrsp_2xx:
+ type: integer
+ x-nullable: true
+ hrsp_3xx:
+ type: integer
+ x-nullable: true
+ hrsp_4xx:
+ type: integer
+ x-nullable: true
+ hrsp_5xx:
+ type: integer
+ x-nullable: true
+ hrsp_other:
+ type: integer
+ x-nullable: true
+ hanafail:
+ type: string
+ x-dependency:
+ type: server
+ req_rate:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ req_rate_max:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ req_tot:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ cli_abrt:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ srv_abrt:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ comp_in:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ comp_out:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ comp_byp:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ comp_rsp:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ lastsess:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ qtime:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ ctime:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ rtime:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ ttime:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [server, backend]
+ agent_status:
+ type: string
+ enum: [UNK, INI, SOCKERR, L40K, L4TOUT, L4CON, L7OK, L7STS]
+ x-dependency:
+ type: server
+ agent_code:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ agent_duration:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ check_desc:
+ type: string
+ x-dependency:
+ type: server
+ agent_desc:
+ type: string
+ x-dependency:
+ type: server
+ check_rise:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ check_fall:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ check_health:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ agent_rise:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ agent_fall:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ agent_health:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: server
+ addr:
+ type: string
+ x-dependency:
+ type: server
+ cookie:
+ type: string
+ x-dependency:
+ type: [server, backend]
+ mode:
+ type: string
+ enum: [tcp, http, health, unknown]
+ algo:
+ type: string
+ x-dependency:
+ type: backend
+ conn_rate:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ conn_rate_max:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ conn_tot:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ intercepted:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: [frontend, backend]
+ dcon:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
+ dses:
+ type: integer
+ x-nullable: true
+ x-dependency:
+ type: frontend
example:
- type: frontend
- name: frontend_test
- stats:
- scur: 129
- smax: 2000
- slim: 2000
- stot: 12902
- bin: 4326578
- bout: 889901290
- dreq: 4
- dresp: 1
- ereq: 54
- status: UP
- pid: 3204
- iid: 0
- rate: 64
- rate_lim: 20000
- rate_max: 4000
- hrsp_1xx: 0
- hrsp_2xx: 165
- hrsp_3xx: 12
- hrsp_4xx: 50
- hrsp_5xx: 4
- hrsp_other: 0
- req_rate: 49
- req_rate_max: 3965
- req_total: 1254786
- comp_in: 0
- comp_out: 0
- comp_byp: 0
- comp_rsp: 0
- mode: http
- conn_rate: 12
- conn_rate_max: 456
- conn_tot: 45682
- intercepted: 346
- dcon: 0
- dses: 0
+ scur: 129
+ smax: 2000
+ slim: 2000
+ stot: 12902
+ bin: 4326578
+ bout: 889901290
+ dreq: 4
+ dresp: 1
+ ereq: 54
+ status: UP
+ pid: 3204
+ iid: 0
+ rate: 64
+ rate_lim: 20000
+ rate_max: 4000
+ hrsp_1xx: 0
+ hrsp_2xx: 165
+ hrsp_3xx: 12
+ hrsp_4xx: 50
+ hrsp_5xx: 4
+ hrsp_other: 0
+ req_rate: 49
+ req_rate_max: 3965
+ req_total: 1254786
+ comp_in: 0
+ comp_out: 0
+ comp_byp: 0
+ comp_rsp: 0
+ mode: http
+ conn_rate: 12
+ conn_rate_max: 456
+ conn_tot: 45682
+ intercepted: 346
+ dcon: 0
+ dses: 0
diff --git a/paths/cluster.yaml b/paths/cluster.yaml
new file mode 100644
index 0000000..50196b9
--- /dev/null
+++ b/paths/cluster.yaml
@@ -0,0 +1,60 @@
+---
+cluster:
+ get:
+ tags:
+ - Discovery
+ summary: Return cluster data
+ description: Returns cluster data
+ operationId: getCluster
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: Success
+ schema:
+ $ref: '#/definitions/cluster_settings'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post:
+ summary: Post cluster settings
+ description: Post cluster settings
+ operationId: postCluster
+ parameters:
+ - name: data
+ required: true
+ in: body
+ schema:
+ $ref: "#/definitions/cluster_settings"
+ - name: configuration
+ description: In case of moving to single mode do we keep or clean configuration
+ enum:
+ - keep
+ in: query
+ required: false
+ type: string
+ - $ref: "#/parameters/version"
+ tags:
+ - Cluster
+ responses:
+ '200':
+ description: Cluster settings changed
+ schema:
+ $ref: "#/definitions/cluster_settings"
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+certificate:
+ post:
+ tags:
+ - Cluster
+ summary: Initiates a certificate refresh
+ description: Initiates a certificate refresh
+ operationId: initiateCertificateRefresh
+ responses:
+ '200':
+ description: refresh activated
+ '403':
+ description: refresh not possible
+ 'default':
+ $ref: '#/responses/DefaultError'
diff --git a/paths/configuration.yaml b/paths/configuration.yaml
index 3744d86..c5457cc 100644
--- a/paths/configuration.yaml
+++ b/paths/configuration.yaml
@@ -1,3 +1,4 @@
+---
global:
get:
summary: Return a global part of configuration
@@ -7,7 +8,6 @@ global:
- $ref: "#/parameters/transaction_id"
tags:
- Global
- - HAProxy configuration management
responses:
'200':
description: Successful operation
@@ -40,7 +40,6 @@ global:
- $ref: "#/parameters/force_reload"
tags:
- Global
- - HAProxy configuration management
responses:
'202':
description: Configuration change accepted and reload requested
@@ -67,7 +66,6 @@ defaults:
- $ref: "#/parameters/transaction_id"
tags:
- Defaults
- - HAProxy configuration management
responses:
'200':
description: Successful operation
@@ -100,7 +98,6 @@ defaults:
- $ref: "#/parameters/force_reload"
tags:
- Defaults
- - HAProxy configuration management
responses:
'202':
description: Configuration change accepted and reload requested
@@ -127,7 +124,6 @@ frontends:
- $ref: "#/parameters/transaction_id"
tags:
- Frontend
- - HAProxy configuration management
responses:
'200':
description: Successful operation
@@ -162,7 +158,6 @@ frontends:
- $ref: "#/parameters/force_reload"
tags:
- Frontend
- - HAProxy configuration management
responses:
'202':
description: Configuration change accepted and reload requested
@@ -189,7 +184,6 @@ frontends_one:
operationId: getFrontend
tags:
- Frontend
- - HAProxy configuration management
parameters:
- name: name
in: path
@@ -222,7 +216,6 @@ frontends_one:
operationId: replaceFrontend
tags:
- Frontend
- - HAProxy configuration management
parameters:
- name: name
in: path
@@ -262,7 +255,6 @@ frontends_one:
operationId: deleteFrontend
tags:
- Frontend
- - HAProxy configuration management
parameters:
- name: name
in: path
@@ -294,7 +286,6 @@ backends:
- $ref: "#/parameters/transaction_id"
tags:
- Backend
- - HAProxy configuration management
responses:
'200':
description: Successful operation
@@ -329,7 +320,6 @@ backends:
- $ref: "#/parameters/force_reload"
tags:
- Backend
- - HAProxy configuration management
responses:
'202':
description: Configuration change accepted and reload requested
@@ -356,7 +346,6 @@ backends_one:
operationId: getBackend
tags:
- Backend
- - HAProxy configuration management
parameters:
- name: name
in: path
@@ -389,7 +378,6 @@ backends_one:
operationId: replaceBackend
tags:
- Backend
- - HAProxy configuration management
parameters:
- name: name
in: path
@@ -425,17 +413,474 @@ backends_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a backend
- description: Deletes a frontend from the configuration by it's name.
+ description: Deletes a backend from the configuration by it's name.
operationId: deleteBackend
tags:
- - Backend
- - HAProxy configuration management
+ - Backend
+ parameters:
+ - name: name
+ in: path
+ description: Backend name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ '204':
+ description: Backend deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+peer_section:
+ get:
+ summary: Return an array of peer_section
+ description: Returns an array of all configured peer_section.
+ operationId: getPeerSections
+ parameters:
+ - $ref: "#/parameters/transaction_id"
+ tags:
+ - Peer
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ $ref: "#/definitions/peer_sections"
+ _version:
+ type: integer
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post:
+ summary: Add a peer
+ description: Adds a new peer to the configuration file.
+ operationId: createPeer
+ parameters:
+ - name: data
+ required: true
+ in: body
+ schema:
+ $ref: "#/definitions/peer_section"
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ tags:
+ - Peer
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/peer_section"
+ '201':
+ description: Peer created
+ schema:
+ $ref: "#/definitions/peer_section"
+ '409':
+ $ref: '#/responses/AlreadyExists'
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+peer_section_one:
+ get:
+ summary: Return a peer
+ description: Returns one peer configuration by it's name.
+ operationId: getPeerSection
+ tags:
+ - Peer
+ parameters:
+ - name: name
+ in: path
+ description: Peer name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: "#/definitions/peer_section"
+ _version:
+ type: integer
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ delete:
+ summary: Delete a peer
+ description: Deletes a peer from the configuration by it's name.
+ operationId: deletePeer
+ tags:
+ - Peer
+ parameters:
+ - name: name
+ in: path
+ description: Peer name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ '204':
+ description: Peer deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+peer_entries:
+ get:
+ summary: Return an array of peer_entries
+ description: Returns an array of all peer_entries that are configured in specified peer section.
+ operationId: getPeerEntries
+ tags:
+ - PeerEntry
+ parameters:
+ - name: peer_section
+ in: query
+ description: Parent peer section name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ $ref: "#/definitions/peer_entries"
+ _version:
+ type: integer
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post:
+ summary: Add a new peer_entry
+ description: Adds a new peer entry in the specified peer section in the configuration file.
+ operationId: createPeerEntry
+ tags:
+ - PeerEntry
+ parameters:
+ - name: peer_section
+ in: query
+ description: Parent peer section name
+ required: true
+ type: string
+ - name: data
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/peer_entry'
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/peer_entry"
+ '201':
+ description: PeerEntry created
+ schema:
+ $ref: "#/definitions/peer_entry"
+ '409':
+ $ref: '#/responses/AlreadyExists'
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+peer_entries_one:
+ get:
+ summary: Return one peer_entry
+ description: Returns one peer_entry configuration by it's name in the specified peer section.
+ operationId: getPeerEntry
+ tags:
+ - PeerEntry
+ parameters:
+ - name: name
+ in: path
+ description: PeerEntry name
+ required: true
+ type: string
+ - name: peer_section
+ in: query
+ description: Parent peers name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: "#/definitions/peer_entry"
+ _version:
+ type: integer
+ '404':
+ $ref: '#/responses/AlreadyExists'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ put:
+ summary: Replace a peer_entry
+ description: Replaces a peer entry configuration by it's name in the specified peer section.
+ operationId: replacePeerEntry
+ tags:
+ - PeerEntry
+ parameters:
+ - name: name
+ in: path
+ description: PeerEntry name
+ required: true
+ type: string
+ - name: peer_section
+ in: query
+ description: Parent peers name
+ required: true
+ type: string
+ - name: data
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/peer_entry'
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/peer_entry"
+ '200':
+ description: PeerEntry replaced
+ schema:
+ $ref: "#/definitions/peer_entry"
+ '400':
+ $ref: '#/responses/BadRequest'
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ delete:
+ summary: Delete a peer_entry
+ description: Deletes a peer entry configuration by it's name in the specified peer section.
+ operationId: deletePeerEntry
+ tags:
+ - PeerEntry
+ parameters:
+ - name: name
+ in: path
+ description: PeerEntry name
+ required: true
+ type: string
+ - name: peer_section
+ in: query
+ description: Parent peers name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ '204':
+ description: PeerEntry deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+binds:
+ get:
+ summary: Return an array of binds
+ description: Returns an array of all binds that are configured in specified frontend.
+ operationId: getBinds
+ tags:
+ - Bind
+ parameters:
+ - name: frontend
+ in: query
+ description: Parent frontend name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ $ref: "#/definitions/binds"
+ _version:
+ type: integer
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post:
+ summary: Add a new bind
+ description: Adds a new bind in the specified frontend in the configuration file.
+ operationId: createBind
+ tags:
+ - Bind
+ parameters:
+ - name: frontend
+ in: query
+ description: Parent frontend name
+ required: true
+ type: string
+ - name: data
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/bind'
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/bind"
+ '201':
+ description: Bind created
+ schema:
+ $ref: "#/definitions/bind"
+ '409':
+ $ref: '#/responses/AlreadyExists'
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+binds_one:
+ get:
+ summary: Return one bind
+ description: Returns one bind configuration by it's name in the specified frontend.
+ operationId: getBind
+ tags:
+ - Bind
+ parameters:
+ - name: name
+ in: path
+ description: Bind name
+ required: true
+ type: string
+ - name: frontend
+ in: query
+ description: Parent frontend name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: "#/definitions/bind"
+ _version:
+ type: integer
+ '404':
+ $ref: '#/responses/AlreadyExists'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ put:
+ summary: Replace a bind
+ description: Replaces a bind configuration by it's name in the specified frontend.
+ operationId: replaceBind
+ tags:
+ - Bind
parameters:
- name: name
in: path
- description: Backend name
+ description: Bind name
+ required: true
+ type: string
+ - name: frontend
+ in: query
+ description: Parent frontend name
required: true
type: string
+ - name: data
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/bind'
- $ref: "#/parameters/transaction_id"
- $ref: "#/parameters/version"
- $ref: "#/parameters/force_reload"
@@ -446,28 +891,60 @@ backends_one:
Reload-ID:
description: ID of the requested reload
type: string
- '204':
- description: Backend deleted
+ schema:
+ $ref: "#/definitions/bind"
+ '200':
+ description: Bind replaced
+ schema:
+ $ref: "#/definitions/bind"
+ '400':
+ $ref: '#/responses/BadRequest'
'404':
$ref: '#/responses/NotFound'
'default':
$ref: '#/responses/DefaultError'
-binds:
- get:
- summary: Return an array of binds
- description: Returns an array of all binds that are configured in specified frontend.
- operationId: getBinds
+ delete:
+ summary: Delete a bind
+ description: Deletes a bind configuration by it's name in the specified frontend.
+ operationId: deleteBind
tags:
- Bind
- - HAProxy configuration management
- - Frontend options
parameters:
+ - name: name
+ in: path
+ description: Bind name
+ required: true
+ type: string
- name: frontend
in: query
description: Parent frontend name
required: true
type: string
- $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ '204':
+ description: Bind deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+resolvers:
+ get:
+ summary: Return an array of resolvers
+ description: Returns an array of all configured resolvers.
+ operationId: getResolvers
+ parameters:
+ - $ref: "#/parameters/transaction_id"
+ tags:
+ - Resolver
responses:
'200':
description: Successful operation
@@ -482,33 +959,198 @@ binds:
- data
properties:
data:
- $ref: "#/definitions/binds"
+ $ref: "#/definitions/resolvers"
_version:
type: integer
'default':
$ref: '#/responses/DefaultError'
post:
- summary: Add a new bind
- description: Adds a new bind in the specified frontend in the configuration file.
- operationId: createBind
+ summary: Add a resolver
+ description: Adds a new resolver section to the configuration file.
+ operationId: createResolver
+ parameters:
+ - name: data
+ required: true
+ in: body
+ schema:
+ $ref: "#/definitions/resolver"
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - Resolver
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/resolver"
+ '201':
+ description: Resolver created
+ schema:
+ $ref: "#/definitions/resolver"
+ '409':
+ $ref: '#/responses/AlreadyExists'
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+resolvers_one:
+ get:
+ summary: Return a resolver
+ description: Returns one resolver section configuration by it's name.
+ operationId: getResolver
+ tags:
+ - Resolver
parameters:
- - name: frontend
- in: query
- description: Parent frontend name
+ - name: name
+ in: path
+ description: Resolver name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
+ schema:
+ type: object
+ properties:
+ data:
+ $ref: "#/definitions/resolver"
+ _version:
+ type: integer
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ put:
+ summary: Replace a resolver
+ description: Replaces a resolver configuration by it's name.
+ operationId: replaceResolver
+ tags:
+ - Resolver
+ parameters:
+ - name: name
+ in: path
+ description: Resolver name
required: true
type: string
- name: data
+ required: true
in: body
+ schema:
+ $ref: "#/definitions/resolver"
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ schema:
+ $ref: "#/definitions/resolver"
+ '200':
+ description: Resolver replaced
+ schema:
+ $ref: "#/definitions/resolver"
+ '400':
+ $ref: '#/responses/BadRequest'
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ delete:
+ summary: Delete a resolver
+ description: Deletes a resolver from the configuration by it's name.
+ operationId: deleteResolver
+ tags:
+ - Resolver
+ parameters:
+ - name: name
+ in: path
+ description: Resolver name
+ required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ - $ref: "#/parameters/version"
+ - $ref: "#/parameters/force_reload"
+ responses:
+ '202':
+ description: Configuration change accepted and reload requested
+ headers:
+ Reload-ID:
+ description: ID of the requested reload
+ type: string
+ '204':
+ description: Resolver deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+nameservers:
+ get:
+ summary: Return an array of nameservers
+ description: Returns an array of all configured nameservers.
+ operationId: getNameservers
+ parameters:
+ - name: resolver
+ in: query
+ description: Parent resolver name
required: true
+ type: string
+ - $ref: "#/parameters/transaction_id"
+ tags:
+ - Nameserver
+ responses:
+ '200':
+ description: Successful operation
+ headers:
+ Configuration-Version:
+ description: Configuration file version
+ type: integer
+ x-nullable: false
schema:
- $ref: '#/definitions/bind'
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ $ref: "#/definitions/nameservers"
+ _version:
+ type: integer
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post:
+ summary: Add a nameserver
+ description: Adds a new nameserver to the resolvers section.
+ operationId: createNameserver
+ parameters:
+ - name: resolver
+ in: query
+ description: Parent resolver name
+ required: true
+ type: string
+ - name: data
+ required: true
+ in: body
+ schema:
+ $ref: "#/definitions/nameserver"
- $ref: "#/parameters/transaction_id"
- $ref: "#/parameters/version"
- $ref: "#/parameters/force_reload"
+ tags:
+ - Nameserver
responses:
'202':
description: Configuration change accepted and reload requested
@@ -517,35 +1159,33 @@ binds:
description: ID of the requested reload
type: string
schema:
- $ref: "#/definitions/bind"
+ $ref: "#/definitions/nameserver"
'201':
- description: Bind created
+ description: Nameserver created
schema:
- $ref: "#/definitions/bind"
+ $ref: "#/definitions/nameserver"
'409':
$ref: '#/responses/AlreadyExists'
'400':
$ref: '#/responses/BadRequest'
'default':
$ref: '#/responses/DefaultError'
-binds_one:
+nameservers_one:
get:
- summary: Return one bind
- description: Returns one bind configuration by it's name in the specified frontend.
- operationId: getBind
+ summary: Return a nameserver
+ description: Returns one nameserver configuration by it's name.
+ operationId: getNameserver
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - Nameserver
parameters:
- name: name
in: path
- description: Bind name
+ description: Nameserver name
required: true
type: string
- - name: frontend
+ - name: resolver
in: query
- description: Parent frontend name
+ description: Parent resolver name
required: true
type: string
- $ref: "#/parameters/transaction_id"
@@ -561,37 +1201,35 @@ binds_one:
type: object
properties:
data:
- $ref: "#/definitions/bind"
+ $ref: "#/definitions/nameserver"
_version:
type: integer
'404':
- $ref: '#/responses/AlreadyExists'
+ $ref: '#/responses/NotFound'
'default':
$ref: '#/responses/DefaultError'
put:
- summary: Replace a bind
- description: Replaces a bind configuration by it's name in the specified frontend.
- operationId: replaceBind
+ summary: Replace a nameserver
+ description: Replaces a nameserver configuration by it's name.
+ operationId: replaceNameserver
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - Nameserver
parameters:
- name: name
in: path
- description: Bind name
+ description: Nameserver name
required: true
type: string
- - name: frontend
+ - name: resolver
in: query
- description: Parent frontend name
+ description: Parent resolver name
required: true
type: string
- name: data
- in: body
required: true
+ in: body
schema:
- $ref: '#/definitions/bind'
+ $ref: "#/definitions/nameserver"
- $ref: "#/parameters/transaction_id"
- $ref: "#/parameters/version"
- $ref: "#/parameters/force_reload"
@@ -603,11 +1241,11 @@ binds_one:
description: ID of the requested reload
type: string
schema:
- $ref: "#/definitions/bind"
+ $ref: "#/definitions/nameserver"
'200':
- description: Bind replaced
+ description: Nameserver replaced
schema:
- $ref: "#/definitions/bind"
+ $ref: "#/definitions/nameserver"
'400':
$ref: '#/responses/BadRequest'
'404':
@@ -615,22 +1253,20 @@ binds_one:
'default':
$ref: '#/responses/DefaultError'
delete:
- summary: Delete a bind
- description: Deletes a bind configuration by it's name in the specified frontend.
- operationId: deleteBind
+ summary: Delete a nameserver
+ description: Deletes a nameserver from the resolvers section by it's name.
+ operationId: deleteNameserver
tags:
- - Bind
- - HAProxy configuration management
- - Frontend options
+ - Nameserver
parameters:
- name: name
in: path
- description: Bind name
+ description: Nameserver name
required: true
type: string
- - name: frontend
+ - name: resolver
in: query
- description: Parent frontend name
+ description: Parent resolver name
required: true
type: string
- $ref: "#/parameters/transaction_id"
@@ -644,7 +1280,7 @@ binds_one:
description: ID of the requested reload
type: string
'204':
- description: Bind deleted
+ description: Nameserver deleted
'404':
$ref: '#/responses/NotFound'
'default':
@@ -656,8 +1292,6 @@ servers:
operationId: getServers
tags:
- Server
- - HAProxy configuration management
- - Backend options
parameters:
- name: backend
in: query
@@ -690,8 +1324,6 @@ servers:
operationId: createServer
tags:
- Server
- - HAProxy configuration management
- - Backend options
parameters:
- name: backend
in: query
@@ -732,8 +1364,6 @@ servers_one:
operationId: getServer
tags:
- Server
- - HAProxy configuration management
- - Backend options
parameters:
- name: name
in: path
@@ -771,8 +1401,6 @@ servers_one:
operationId: replaceServer
tags:
- Server
- - HAProxy configuration management
- - Backend options
parameters:
- name: name
in: path
@@ -817,8 +1445,6 @@ servers_one:
operationId: deleteServer
tags:
- Server
- - HAProxy configuration management
- - Backend options
parameters:
- name: name
in: path
@@ -852,9 +1478,6 @@ tcp_response_rules:
description: Returns all TCP Response Rules that are configured in specified backend.
operationId: getTCPResponseRules
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPResponseRule
parameters:
- name: backend
@@ -887,9 +1510,6 @@ tcp_response_rules:
description: Adds a new TCP Response Rule of the specified type in the specified backend.
operationId: createTCPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPResponseRule
parameters:
- name: backend
@@ -927,17 +1547,14 @@ tcp_response_rules:
tcp_response_rules_one:
get:
summary: Return one TCP Response Rule
- description: Returns one TCP Response Rule configuration by it's ID in the specified backend.
+ description: Returns one TCP Response Rule configuration by it's index in the specified backend.
operationId: getTCPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Response Rule ID
+ description: TCP Response Rule Index
required: true
type: integer
- name: backend
@@ -967,17 +1584,14 @@ tcp_response_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a TCP Response Rule
- description: Replaces a TCP Response Rule configuration by it's ID in the specified backend.
+ description: Replaces a TCP Response Rule configuration by it's Index in the specified backend.
operationId: replaceTCPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Response Rule ID
+ description: TCP Response Rule Index
required: true
type: integer
- name: backend
@@ -1014,17 +1628,14 @@ tcp_response_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a TCP Response Rule
- description: Deletes a TCP Response Rule configuration by it's ID from the specified backend.
+ description: Deletes a TCP Response Rule configuration by it's index from the specified backend.
operationId: deleteTCPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Response Rule ID
+ description: TCP Response Rule Index
required: true
type: integer
- name: backend
@@ -1054,9 +1665,6 @@ tcp_request_rules:
description: Returns all TCP Request Rules that are configured in specified parent and parent type.
operationId: getTCPRequestRules
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPRequestRule
parameters:
- name: parent_name
@@ -1095,9 +1703,6 @@ tcp_request_rules:
description: Adds a new TCP Request Rule of the specified type in the specified parent.
operationId: createTCPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPRequestRule
parameters:
- name: parent_name
@@ -1141,17 +1746,14 @@ tcp_request_rules:
tcp_request_rules_one:
get:
summary: Return one TCP Request Rule
- description: Returns one TCP Request Rule configuration by it's ID in the specified parent.
+ description: Returns one TCP Request Rule configuration by it's index in the specified parent.
operationId: getTCPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Request Rule ID
+ description: TCP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1187,17 +1789,14 @@ tcp_request_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a TCP Request Rule
- description: Replaces a TCP Request Rule configuration by it's ID in the specified parent.
+ description: Replaces a TCP Request Rule configuration by it's index in the specified parent.
operationId: replaceTCPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Request Rule ID
+ description: TCP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1240,17 +1839,14 @@ tcp_request_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a TCP Request Rule
- description: Deletes a TCP Request Rule configuration by it's ID from the specified parent.
+ description: Deletes a TCP Request Rule configuration by it's index from the specified parent.
operationId: deleteTCPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- TCPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: TCP Request Rule ID
+ description: TCP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1286,9 +1882,6 @@ http_request_rules:
description: Returns all HTTP Request Rules that are configured in specified parent.
operationId: getHTTPRequestRules
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPRequestRule
parameters:
- name: parent_name
@@ -1327,9 +1920,6 @@ http_request_rules:
description: Adds a new HTTP Request Rule of the specified type in the specified parent.
operationId: createHTTPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPRequestRule
parameters:
- name: parent_name
@@ -1373,17 +1963,14 @@ http_request_rules:
http_request_rules_one:
get:
summary: Return one HTTP Request Rule
- description: Returns one HTTP Request Rule configuration by it's ID in the specified parent.
+ description: Returns one HTTP Request Rule configuration by it's index in the specified parent.
operationId: getHTTPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Request Rule ID
+ description: HTTP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1419,17 +2006,14 @@ http_request_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a HTTP Request Rule
- description: Replaces a HTTP Request Rule configuration by it's ID in the specified parent.
+ description: Replaces a HTTP Request Rule configuration by it's index in the specified parent.
operationId: replaceHTTPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Request Rule ID
+ description: HTTP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1472,17 +2056,14 @@ http_request_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a HTTP Request Rule
- description: Deletes a HTTP Request Rule configuration by it's ID from the specified parent.
+ description: Deletes a HTTP Request Rule configuration by it's index from the specified parent.
operationId: deleteHTTPRequestRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPRequestRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Request Rule ID
+ description: HTTP Request Rule Index
required: true
type: integer
- name: parent_name
@@ -1518,9 +2099,6 @@ http_response_rules:
description: Returns all HTTP Response Rules that are configured in specified parent.
operationId: getHTTPResponseRules
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPResponseRule
parameters:
- name: parent_name
@@ -1559,9 +2137,6 @@ http_response_rules:
description: Adds a new HTTP Response Rule of the specified type in the specified parent.
operationId: createHTTPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPResponseRule
parameters:
- name: parent_name
@@ -1605,17 +2180,14 @@ http_response_rules:
http_response_rules_one:
get:
summary: Return one HTTP Response Rule
- description: Returns one HTTP Response Rule configuration by it's ID in the specified parent.
+ description: Returns one HTTP Response Rule configuration by it's index in the specified parent.
operationId: getHTTPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Response Rule ID
+ description: HTTP Response Rule Index
required: true
type: integer
- name: parent_name
@@ -1651,17 +2223,14 @@ http_response_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a HTTP Response Rule
- description: Replaces a HTTP Response Rule configuration by it's ID in the specified parent.
+ description: Replaces a HTTP Response Rule configuration by it's index in the specified parent.
operationId: replaceHTTPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Response Rule ID
+ description: HTTP Response Rule Index
required: true
type: integer
- name: parent_name
@@ -1704,17 +2273,14 @@ http_response_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a HTTP Response Rule
- description: Deletes a HTTP Response Rule configuration by it's ID from the specified parent.
+ description: Deletes a HTTP Response Rule configuration by it's index from the specified parent.
operationId: deleteHTTPResponseRule
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- HTTPResponseRule
parameters:
- - name: id
+ - name: index
in: path
- description: HTTP Response Rule ID
+ description: HTTP Response Rule Index
required: true
type: integer
- name: parent_name
@@ -1750,8 +2316,6 @@ backend_switching_rules:
description: Returns all Backend Switching Rules that are configured in specified frontend.
operationId: getBackendSwitchingRules
tags:
- - HAProxy configuration management
- - Frontend options
- BackendSwitchingRule
parameters:
- name: frontend
@@ -1784,8 +2348,6 @@ backend_switching_rules:
description: Adds a new Backend Switching Rule of the specified type in the specified frontend.
operationId: createBackendSwitchingRule
tags:
- - HAProxy configuration management
- - Frontend options
- BackendSwitchingRule
parameters:
- name: frontend
@@ -1823,16 +2385,14 @@ backend_switching_rules:
backend_switching_rules_one:
get:
summary: Return one Backend Switching Rule
- description: Returns one Backend Switching Rule configuration by it's ID in the specified frontend.
+ description: Returns one Backend Switching Rule configuration by it's index in the specified frontend.
operationId: getBackendSwitchingRule
tags:
- - HAProxy configuration management
- - Frontend options
- BackendSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: frontend
@@ -1862,16 +2422,14 @@ backend_switching_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a Backend Switching Rule
- description: Replaces a Backend Switching Rule configuration by it's ID in the specified frontend.
+ description: Replaces a Backend Switching Rule configuration by it's index in the specified frontend.
operationId: replaceBackendSwitchingRule
tags:
- - HAProxy configuration management
- - Frontend options
- BackendSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: frontend
@@ -1908,16 +2466,14 @@ backend_switching_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a Backend Switching Rule
- description: Deletes a Backend Switching Rule configuration by it's ID from the specified frontend.
+ description: Deletes a Backend Switching Rule configuration by it's index from the specified frontend.
operationId: deleteBackendSwitchingRule
tags:
- - HAProxy configuration management
- - Frontend options
- BackendSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: frontend
@@ -1947,8 +2503,6 @@ server_switching_rules:
description: Returns all Backend Switching Rules that are configured in specified backend.
operationId: getServerSwitchingRules
tags:
- - HAProxy configuration management
- - Backend options
- ServerSwitchingRule
parameters:
- name: backend
@@ -1981,8 +2535,6 @@ server_switching_rules:
description: Adds a new Server Switching Rule of the specified type in the specified backend.
operationId: createServerSwitchingRule
tags:
- - HAProxy configuration management
- - Backend options
- ServerSwitchingRule
parameters:
- name: backend
@@ -2020,16 +2572,14 @@ server_switching_rules:
server_switching_rules_one:
get:
summary: Return one Server Switching Rule
- description: Returns one Server Switching Rule configuration by it's ID in the specified backend.
+ description: Returns one Server Switching Rule configuration by it's index in the specified backend.
operationId: getServerSwitchingRule
tags:
- - HAProxy configuration management
- - Backend options
- ServerSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: backend
@@ -2059,16 +2609,14 @@ server_switching_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a Server Switching Rule
- description: Replaces a Server Switching Rule configuration by it's ID in the specified backend.
+ description: Replaces a Server Switching Rule configuration by it's index in the specified backend.
operationId: replaceServerSwitchingRule
tags:
- - HAProxy configuration management
- - Backend options
- ServerSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: backend
@@ -2105,16 +2653,14 @@ server_switching_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a Server Switching Rule
- description: Deletes a Server Switching Rule configuration by it's ID from the specified backend.
+ description: Deletes a Server Switching Rule configuration by it's index from the specified backend.
operationId: deleteServerSwitchingRule
tags:
- - HAProxy configuration management
- - Backend options
- ServerSwitchingRule
parameters:
- - name: id
+ - name: index
in: path
- description: Switching Rule ID
+ description: Switching Rule Index
required: true
type: integer
- name: backend
@@ -2147,10 +2693,9 @@ configuration:
- $ref: "#/parameters/transaction_id"
- $ref: "#/parameters/version"
produces:
- - text/plain
+ - application/json
tags:
- Configuration
- - HAProxy configuration management
responses:
'200':
description: Operation successful
@@ -2175,7 +2720,7 @@ configuration:
description: Push a new haproxy configuration file in plain text
operationId: postHAProxyConfiguration
produces:
- - text/plain
+ - application/json
consumes:
- text/plain
parameters:
@@ -2184,11 +2729,33 @@ configuration:
required: true
schema:
type: string
+ - name: skip_version
+ in: query
+ description: If set, no version check will be done and the pushed config will be enforced
+ type: boolean
+ required: false
+ default: false
+ - name: skip_reload
+ in: query
+ description: If set, no reload will be initiated and runtime actions from X-Runtime-Actions will be applied
+ type: boolean
+ required: false
+ default: false
+ - name: only_validate
+ in: query
+ description: If set, only validates configuration, without applying it
+ type: boolean
+ required: false
+ default: false
+ - name: X-Runtime-Actions
+ in: header
+ description: List of Runtime API commands with parameters separated by ';'
+ type: string
+ required: false
- $ref: "#/parameters/version"
- $ref: "#/parameters/force_reload"
tags:
- Configuration
- - HAProxy configuration management
responses:
'202':
description: Configuration change accepted and reload requested
@@ -2212,9 +2779,6 @@ filters:
description: Returns all Filters that are configured in specified parent.
operationId: getFilters
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- Filter
parameters:
- name: parent_name
@@ -2253,9 +2817,6 @@ filters:
description: Adds a new Filter of the specified type in the specified parent.
operationId: createFilter
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- Filter
parameters:
- name: parent_name
@@ -2299,17 +2860,14 @@ filters:
filters_one:
get:
summary: Return one Filter
- description: Returns one Filter configuration by it's ID in the specified parent.
+ description: Returns one Filter configuration by it's index in the specified parent.
operationId: getFilter
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- Filter
parameters:
- - name: id
+ - name: index
in: path
- description: Filter ID
+ description: Filter Index
required: true
type: integer
- name: parent_name
@@ -2345,17 +2903,14 @@ filters_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a Filter
- description: Replaces a Filter configuration by it's ID in the specified parent.
+ description: Replaces a Filter configuration by it's index in the specified parent.
operationId: replaceFilter
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- Filter
parameters:
- - name: id
+ - name: index
in: path
- description: Filter ID
+ description: Filter Index
required: true
type: integer
- name: parent_name
@@ -2398,17 +2953,14 @@ filters_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a Filter
- description: Deletes a Filter configuration by it's ID from the specified parent.
+ description: Deletes a Filter configuration by it's index from the specified parent.
operationId: deleteFilter
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- Filter
parameters:
- - name: id
+ - name: index
in: path
- description: Filter ID
+ description: Filter Index
required: true
type: integer
- name: parent_name
@@ -2444,8 +2996,6 @@ stick_rules:
description: Returns all Stick Rules that are configured in specified backend.
operationId: getStickRules
tags:
- - HAProxy configuration management
- - Backend options
- StickRule
parameters:
- name: backend
@@ -2478,8 +3028,6 @@ stick_rules:
description: Adds a new Stick Rule of the specified type in the specified backend.
operationId: createStickRule
tags:
- - HAProxy configuration management
- - Backend options
- StickRule
parameters:
- name: backend
@@ -2516,17 +3064,15 @@ stick_rules:
$ref: '#/responses/DefaultError'
stick_rules_one:
get:
- summary: Return one Stick Rule
- description: Returns one Stick Rule configuration by it's ID in the specified backend.
+ summary: Return one Stick Rule
+ description: Returns one Stick Rule configuration by it's index in the specified backend.
operationId: getStickRule
tags:
- - HAProxy configuration management
- - Backend options
- StickRule
parameters:
- - name: id
+ - name: index
in: path
- description: Stick Rule ID
+ description: Stick Rule Index
required: true
type: integer
- name: backend
@@ -2556,16 +3102,14 @@ stick_rules_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a Stick Rule
- description: Replaces a Stick Rule configuration by it's ID in the specified backend.
+ description: Replaces a Stick Rule configuration by it's index in the specified backend.
operationId: replaceStickRule
tags:
- - HAProxy configuration management
- - Backend options
- StickRule
parameters:
- - name: id
+ - name: index
in: path
- description: Stick Rule ID
+ description: Stick Rule Index
required: true
type: integer
- name: backend
@@ -2602,16 +3146,14 @@ stick_rules_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a Stick Rule
- description: Deletes a Stick Rule configuration by it's ID from the specified backend.
+ description: Deletes a Stick Rule configuration by it's index from the specified backend.
operationId: deleteStickRule
tags:
- - HAProxy configuration management
- - Backend options
- StickRule
parameters:
- - name: id
+ - name: index
in: path
- description: Stick Rule ID
+ description: Stick Rule Index
required: true
type: integer
- name: backend
@@ -2641,9 +3183,6 @@ log_targets:
description: Returns all Log Targets that are configured in specified parent.
operationId: getLogTargets
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- LogTarget
parameters:
- name: parent_name
@@ -2682,9 +3221,6 @@ log_targets:
description: Adds a new Log Target of the specified type in the specified parent.
operationId: createLogTarget
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- LogTarget
parameters:
- name: parent_name
@@ -2728,17 +3264,14 @@ log_targets:
log_targets_one:
get:
summary: Return one Log Target
- description: Returns one Log Target configuration by it's ID in the specified parent.
+ description: Returns one Log Target configuration by it's index in the specified parent.
operationId: getLogTarget
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- LogTarget
parameters:
- - name: id
+ - name: index
in: path
- description: Log Target ID
+ description: Log Target Index
required: true
type: integer
- name: parent_name
@@ -2774,17 +3307,14 @@ log_targets_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a Log Target
- description: Replaces a Log Target configuration by it's ID in the specified parent.
+ description: Replaces a Log Target configuration by it's index in the specified parent.
operationId: replaceLogTarget
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- LogTarget
parameters:
- - name: id
+ - name: index
in: path
- description: Log Target ID
+ description: Log Target Index
required: true
type: integer
- name: parent_name
@@ -2827,17 +3357,14 @@ log_targets_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a Log Target
- description: Deletes a Log Target configuration by it's ID from the specified parent.
+ description: Deletes a Log Target configuration by it's index from the specified parent.
operationId: deleteLogTarget
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- LogTarget
parameters:
- - name: id
+ - name: index
in: path
- description: Log Target ID
+ description: Log Target Index
required: true
type: integer
- name: parent_name
@@ -2873,9 +3400,6 @@ acls:
description: Returns all ACL lines that are configured in specified parent.
operationId: getAcls
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- ACL
parameters:
- name: parent_name
@@ -2914,9 +3438,6 @@ acls:
description: Adds a new ACL line of the specified type in the specified parent.
operationId: createAcl
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- ACL
parameters:
- name: parent_name
@@ -2960,17 +3481,14 @@ acls:
acls_one:
get:
summary: Return one ACL line
- description: Returns one ACL line configuration by it's ID in the specified parent.
+ description: Returns one ACL line configuration by it's index in the specified parent.
operationId: getAcl
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- ACL
parameters:
- - name: id
+ - name: index
in: path
- description: ACL line ID
+ description: ACL line Index
required: true
type: integer
- name: parent_name
@@ -3006,17 +3524,14 @@ acls_one:
$ref: '#/responses/DefaultError'
put:
summary: Replace a ACL line
- description: Replaces a ACL line configuration by it's ID in the specified parent.
+ description: Replaces a ACL line configuration by it's index in the specified parent.
operationId: replaceAcl
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- ACL
parameters:
- - name: id
+ - name: index
in: path
- description: ACL line ID
+ description: ACL line Index
required: true
type: integer
- name: parent_name
@@ -3059,17 +3574,14 @@ acls_one:
$ref: '#/responses/DefaultError'
delete:
summary: Delete a ACL line
- description: Deletes a ACL line configuration by it's ID from the specified parent.
+ description: Deletes a ACL line configuration by it's index from the specified parent.
operationId: deleteAcl
tags:
- - HAProxy configuration management
- - Backend options
- - Frontend options
- ACL
parameters:
- - name: id
+ - name: index
in: path
- description: ACL line ID
+ description: ACL line Index
required: true
type: integer
- name: parent_name
@@ -3099,3 +3611,21 @@ acls_one:
$ref: '#/responses/NotFound'
'default':
$ref: '#/responses/DefaultError'
+version:
+ get:
+ summary: Return a configuration version
+ description: Returns configuration version.
+ operationId: getConfigurationVersion
+ tags:
+ - Configuration
+ parameters:
+ - $ref: "#/parameters/transaction_id"
+ responses:
+ '200':
+ description: Configuration version
+ schema:
+ type: integer
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
diff --git a/paths/general.yaml b/paths/general.yaml
index 0f8ee15..16fd64e 100644
--- a/paths/general.yaml
+++ b/paths/general.yaml
@@ -1,3 +1,4 @@
+---
root:
get:
tags:
@@ -152,6 +153,18 @@ transactions:
description: Transaction started
schema:
$ref: "#/definitions/transaction"
+ '429':
+ description: Too many open transactions
+ schema:
+ type: object
+ properties:
+ code:
+ type: integer
+ message:
+ type: string
+ example:
+ code: 429
+ message: cannot start a new transaction, reached the maximum amount of 20 active transactions available
'default':
$ref: '#/responses/DefaultError'
transactions_one:
@@ -243,6 +256,22 @@ specification:
type: object
'default':
$ref: '#/responses/DefaultError'
+specification_openapiv3:
+ get:
+ tags:
+ - SpecificationOpenapiv3
+ summary: Data Plane API v3 Specification
+ description: Return Data Plane API OpenAPI v3 specification
+ operationId: getOpenapiv3Specification
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: Success
+ schema:
+ type: object
+ 'default':
+ $ref: '#/responses/DefaultError'
reloads:
get:
tags:
diff --git a/paths/runtime.yaml b/paths/runtime.yaml
index 7745b81..f639e01 100644
--- a/paths/runtime.yaml
+++ b/paths/runtime.yaml
@@ -1,3 +1,4 @@
+---
process_info:
get:
tags:
@@ -16,12 +17,11 @@ process_info:
$ref: '#/responses/DefaultError'
servers:
get:
- summary: Return an array of runtime servers' setings
+ summary: Return an array of runtime servers' settings
description: Returns an array of all servers' runtime settings.
operationId: getRuntimeServers
tags:
- Server
- - Backend options
parameters:
- name: backend
in: query
@@ -42,7 +42,6 @@ servers_one:
operationId: getRuntimeServer
tags:
- Server
- - Backend options
parameters:
- name: name
in: path
@@ -69,7 +68,6 @@ servers_one:
operationId: replaceRuntimeServer
tags:
- Server
- - Backend options
parameters:
- name: name
in: path
@@ -184,3 +182,231 @@ stick_table_entries:
$ref: "#/definitions/stick_table_entries"
'default':
$ref: '#/responses/DefaultError'
+maps:
+ get: # show map
+ summary: Return runtime map files
+ description: Returns runtime map files.
+ operationId: getAllRuntimeMapFiles
+ tags:
+ - Maps
+ parameters:
+ - name: include_unmanaged
+ in: query
+ description: If true, also show unmanaged map files loaded in haproxy
+ required: false
+ type: boolean
+ default: false
+ responses:
+ '200':
+ description: Successful operation
+ schema:
+ $ref: "#/definitions/maps"
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+maps_one:
+ get: # one map file
+ summary: Return one runtime map file
+ description: Returns one runtime map file.
+ operationId: getOneRuntimeMap
+ tags:
+ - Maps
+ parameters:
+ - name: name
+ in: path
+ description: Map file name
+ required: true
+ type: string
+ responses:
+ '200':
+ description: Successful operation
+ schema:
+ $ref: "#/definitions/map"
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ delete: # clear map [map]
+ summary: Remove all map entries from the map file
+ description: Remove all map entries from the map file.
+ operationId: clearRuntimeMap
+ parameters:
+ - name: name
+ in: path
+ description: Map file name
+ required: true
+ type: string
+ - name: forceDelete
+ in: query
+ description: If true, deletes file from disk
+ type: boolean
+ - name: force_sync
+ in: query
+ description: If true, immediately syncs changes to disk
+ type: boolean
+ default: false
+ tags:
+ - Maps
+ responses:
+ '204':
+ description: All map entries deleted
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+maps_entries:
+ get: # show map [map]
+ summary: Return one map runtime entries
+ description: Returns an array of all entries in a given runtime map file.
+ operationId: showRuntimeMap
+ tags:
+ - Maps
+ parameters:
+ - name: map
+ in: query
+ description: Mapfile attribute storage_name
+ required: true
+ type: string
+ responses:
+ '200':
+ description: Successful operation
+ schema:
+ $ref: "#/definitions/map_entries"
+ '404':
+ $ref: '#/responses/NotFound'
+ 'default':
+ $ref: '#/responses/DefaultError'
+ post: # add map [map] key value
+ summary: Adds an entry into the map file
+ description: Adds an entry into the map file.
+ operationId: addMapEntry
+ parameters:
+ - name: map
+ in: query
+ description: Mapfile attribute storage_name
+ required: true
+ type: string
+ - name: force_sync
+ in: query
+ description: If true, immediately syncs changes to disk
+ type: boolean
+ default: false
+ - name: data
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/map_entry'
+ tags:
+ - Maps
+ responses:
+ '201':
+ description: Map entry created
+ schema:
+ $ref: "#/definitions/map_entry"
+ '409':
+ $ref: '#/responses/AlreadyExists'
+ '400':
+ $ref: '#/responses/BadRequest'
+ 'default':
+ $ref: '#/responses/DefaultError'
+maps_entries_one:
+ get: # get map