openapi: 3.2.0 info: title: HAProxy Data Plane Log Forward API description: 'API for editing and managing haproxy instances. Provides process information, configuration management, haproxy stats and logs.' version: '3.4' contact: name: HAProxy Support url: https://my.haproxy.com/portal/cust/login email: support@haproxy.com servers: - url: /v3 security: - basic_auth: [] tags: - name: LogForward paths: /services/haproxy/configuration/log_forwards: get: description: Returns an array of all configured log forwards. operationId: getLogForwards parameters: - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/full_section' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/log_forwards' default: $ref: '#/components/responses/DefaultError' summary: Return an array of log forwards tags: - LogForward post: description: Adds a new log_forward to the configuration file. operationId: createLogForward parameters: - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' - $ref: '#/components/parameters/full_section' responses: '201': description: Log Forward created content: application/json: schema: $ref: '#/components/schemas/log_forward' '202': description: Configuration change accepted and reload requested headers: Reload-ID: description: ID of the requested reload schema: type: string content: application/json: schema: $ref: '#/components/schemas/log_forward' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/AlreadyExists' default: $ref: '#/components/responses/DefaultError' summary: Add a log forward tags: - LogForward requestBody: content: application/json: schema: $ref: '#/components/schemas/log_forward' required: true /services/haproxy/configuration/log_forwards/{name}: delete: description: Deletes a log forward from the configuration by it's name. operationId: deleteLogForward parameters: - description: Log Forward name in: path name: name required: true schema: type: string - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '202': description: Configuration change accepted and reload requested headers: Reload-ID: description: ID of the requested reload schema: type: string '204': description: Log Forward deleted '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Delete a log forward tags: - LogForward get: description: Returns one log forward configuration by it's name. operationId: getLogForward parameters: - description: Log Forward name in: path name: name required: true schema: type: string - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/full_section' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/log_forward' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return a log forward tags: - LogForward put: description: Replaces a log forward configuration by it's name. operationId: replaceLogForward parameters: - description: Log Forward name in: path name: name required: true schema: type: string - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' - $ref: '#/components/parameters/full_section' responses: '200': description: Log Forward replaced content: application/json: schema: $ref: '#/components/schemas/log_forward' '202': description: Configuration change accepted and reload requested headers: Reload-ID: description: ID of the requested reload schema: type: string content: application/json: schema: $ref: '#/components/schemas/log_forward' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Replace a log forward tags: - LogForward requestBody: content: application/json: schema: $ref: '#/components/schemas/log_forward' required: true components: 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. required: false schema: type: string full_section: name: full_section in: query description: Indicates if the action affects the specified child resources as well required: false schema: type: boolean default: 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. required: false schema: type: integer 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. required: false schema: type: boolean default: false schemas: log_target: additionalProperties: false description: Per-instance logging of events and traffic. properties: address: pattern: ^[^\s]+$ type: string x-dependency: global: required: true value: false nolog: required: true value: false facility: 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 type: string x-dependency: global: required: true value: false nolog: required: true value: false format: enum: - local - rfc3164 - rfc5424 - priority - short - timed - iso - raw type: string x-dependency: global: value: false nolog: value: false global: type: boolean length: type: integer x-dependency: global: value: false nolog: value: false level: enum: - emerg - alert - crit - err - warning - notice - info - debug type: string x-dependency: global: value: false nolog: value: false metadata: additionalProperties: type: object minlevel: enum: - emerg - alert - crit - err - warning - notice - info - debug type: string x-dependency: global: value: false level: required: false nolog: value: false nolog: type: boolean profile: type: string sample_range: type: string x-dependency: global: value: false nolog: value: false sample_size: type: integer x-dependency: global: value: false nolog: value: false sample_range: required: true title: Log Target type: object error: additionalProperties: type: string description: API Error properties: code: type: - integer - 'null' message: type: - string - 'null' required: - code - message title: Error type: object bind: allOf: - $ref: '#/components/schemas/bind_params' - additionalProperties: false properties: address: example: 127.0.0.1 pattern: ^[^\s]+$ type: string metadata: additionalProperties: type: object name: pattern: ^[^\s]+$ type: string port: example: 80 maximum: 65535 minimum: 1 type: - integer - 'null' port-range-end: example: 81 maximum: 65535 minimum: 1 type: - integer - 'null' required: - name type: object description: HAProxy frontend bind configuration title: Bind bind_params: additionalProperties: false properties: accept_netscaler_cip: type: integer accept_proxy: type: boolean allow_0rtt: type: boolean alpn: 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 cc: type: string x-display-name: TCP Congestion Control Algorithm ciphers: type: string x-dependency: ssl: value: true ciphersuites: type: string x-dependency: ssl: value: true client_sigalgs: 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 default_crt_list: items: pattern: ^[^\s]+$ type: string type: array x-omitempty: true defer_accept: type: boolean ecdhe: type: string x-dependency: ssl: value: true expose_fd_listeners: type: boolean force_sslv3: description: This field is deprecated in favor of sslv3, and will be removed in a future release type: boolean x-deprecated: true force_strict_sni: enum: - enabled - disabled type: string x-dependency: ssl: value: true force_tlsv10: description: This field is deprecated in favor of tlsv10, and will be removed in a future release type: boolean x-deprecated: true force_tlsv11: description: This field is deprecated in favor of tlsv11, and will be removed in a future release type: boolean x-deprecated: true force_tlsv12: description: This field is deprecated in favor of tlsv12, and will be removed in a future release type: boolean x-deprecated: true force_tlsv13: description: This field is deprecated in favor of tlsv13, and will be removed in a future release type: boolean x-deprecated: true 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 guid_prefix: pattern: ^[A-Za-z0-9-_.:]+$ type: string id: type: string x-display-name: Socket ID idle_ping: minimum: 0 type: - integer - 'null' x-default-unit: ms x-duration: true interface: type: string ktls: enum: - 'on' - 'off' type: string x-display-name: 'Enables or disables ktls for those sockets. If enabled, kTLS will be used if the kernel supports it and the cipher is compatible. This is only available on Linux kernel 4.17 and above. EXPERIMENTAL OPTION.' label: type: string level: enum: - user - operator - admin example: user type: string maxconn: example: 1234 type: integer mode: type: string mss: type: string namespace: example: app type: string nbconn: type: integer x-display-name: Number of connection nice: example: 1 type: integer no_alpn: type: boolean x-dependency: ssl: value: true no_ca_names: type: boolean x-dependency: ssl: value: true no_sslv3: description: This field is deprecated in favor of sslv3, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true no_strict_sni: type: boolean x-dependency: ssl: value: true x-deprecated: true no_tls_tickets: description: This field is deprecated in favor of tls_tickets, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true no_tlsv10: description: This field is deprecated in favor of tlsv10, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true no_tlsv11: description: This field is deprecated in favor of tlsv11, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true no_tlsv12: description: This field is deprecated in favor of tlsv12, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true no_tlsv13: description: This field is deprecated in favor of tlsv13, and will be removed in a future release type: boolean x-dependency: ssl: value: true x-deprecated: true npn: type: string prefer_client_ciphers: type: boolean proto: type: string x-display-name: Protocol name quic-cc-algo: enum: - cubic - newreno - bbr - nocc type: string quic-force-retry: type: boolean quic-socket: enum: - connection - listener type: string quic_cc_algo_burst_size: maximum: 1024 minimum: 0 type: - integer - 'null' x-dependency: quic-cc-algo: null quic_cc_algo_max_window: maximum: 4194304 minimum: 10 type: - integer - 'null' x-default-unit: k x-dependency: quic-cc-algo: null x-size: true severity_output: enum: - none - number - string example: none type: string x-display-name: Format shards: pattern: ^(by-thread|by-group|[0-9]+)$ type: string x-display-name: Shards sigalgs: type: string x-dependency: ssl: value: true ssl: type: boolean ssl_cafile: pattern: ^[^\s]+$ type: string x-dependency: ssl: value: true x-display-name: SSL CA File ssl_certificate: description: All of the certificates delimited by ':' as mentioned as a crt on the bind line. pattern: ^[^\s]+$ type: string 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 sslv3: enum: - enabled - disabled type: string x-dependency: ssl: value: true strict_sni: type: boolean x-dependency: ssl: value: true x-deprecated: true tcp_md5sig: pattern: ^[^\s]+$ type: string tcp_ss: description: Sets the TCP Save SYN option for all incoming connections instantiated from this listening socket enum: - 1 - 2 - 3 type: integer tcp_user_timeout: type: - integer - 'null' tfo: type: boolean thread: type: string tls_ticket_keys: type: string tls_tickets: enum: - enabled - disabled type: string x-dependency: ssl: value: true tlsv10: enum: - enabled - disabled type: string x-dependency: ssl: value: true tlsv11: enum: - enabled - disabled type: string x-dependency: ssl: value: true tlsv12: enum: - enabled - disabled type: string x-dependency: ssl: value: true tlsv13: enum: - enabled - disabled type: string x-dependency: ssl: value: true transparent: type: boolean uid: type: string user: type: string v4v6: type: boolean v6only: type: boolean verify: enum: - none - optional - required example: none type: string x-dependency: ssl: value: enabled type: object log_forwards: title: Log Forwards description: HAProxy log forwards array type: array items: $ref: '#/components/schemas/log_forward' dgram_bind: description: HAProxy log forward dgram bind configuration properties: address: pattern: ^[^\s]+$ type: string interface: type: string metadata: additionalProperties: type: object name: pattern: ^[^\s]+$ type: string namespace: type: string port: maximum: 65535 minimum: 1 type: - integer - 'null' port-range-end: maximum: 65535 minimum: 1 type: - integer - 'null' transparent: type: boolean required: - name title: Dgram Bind type: object log_targets: title: Log Target Array description: HAProxy log target array (corresponds to log directives) type: array items: $ref: '#/components/schemas/log_target' log_forward: allOf: - $ref: '#/components/schemas/log_forward_base' - properties: binds: additionalProperties: $ref: '#/components/schemas/bind' dgram_binds: additionalProperties: $ref: '#/components/schemas/dgram_bind' log_target_list: $ref: '#/components/schemas/log_targets' x-go-name: LogTargetList type: object description: LogForward with all its children resources type: object x-go-name: LogForward log_forward_base: additionalProperties: false description: HAProxy log forward configuration properties: assume-rfc6587-ntf: type: boolean x-display-name: Assume RFC-6587 Non-Transparent Framing backlog: type: - integer - 'null' dont-parse-log: type: boolean x-display-name: Don't Parse Log maxconn: type: - integer - 'null' metadata: additionalProperties: type: object name: pattern: ^[A-Za-z0-9-_.:]+$ type: string timeout_client: maximum: 2147483647 minimum: 0 type: - integer - 'null' x-default-unit: ms x-duration: true required: - name title: Log Forward type: object responses: DefaultError: description: General Error headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/error' NotFound: description: The specified resource was not found headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/error' BadRequest: description: Bad request headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/error' AlreadyExists: description: The specified resource already exists headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/error' securitySchemes: basic_auth: type: http scheme: basic externalDocs: url: https://docs.haproxy.org/ description: HAProxy Documentation