{
  "apiVersion": "apiextensions.k8s.io/v1",
  "kind": "CustomResourceDefinition",
  "metadata": {
    "annotations": {
      "haproxy.org/client-native": "v5.1.16-0.20250120132445-428abe2a833d"
    },
    "name": "tcps.ingress.v1.haproxy.org"
  },
  "spec": {
    "conversion": {
      "strategy": "None"
    },
    "group": "ingress.v1.haproxy.org",
    "names": {
      "kind": "TCP",
      "listKind": "TCPList",
      "plural": "tcps",
      "singular": "tcp"
    },
    "scope": "Namespaced",
    "versions": [
      {
        "name": "v1",
        "schema": {
          "openAPIV3Schema": {
            "description": "TCP is a specification for a TCP resource",
            "properties": {
              "apiVersion": {
                "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                "type": "string"
              },
              "kind": {
                "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                "type": "string"
              },
              "metadata": {
                "type": "object"
              },
              "spec": {
                "description": "TCPSpec defines the desired state of a TCPService",
                "items": {
                  "properties": {
                    "frontend": {
                      "properties": {
                        "accept_invalid_http_request": {
                          "description": "accept invalid http request\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "acl_list": {
                          "description": "Acls ACL Lines Array\n\nHAProxy ACL lines array (corresponds to acl directives)\n\nswagger:model acls",
                          "items": {
                            "description": "ACL ACL Lines\n\nThe use of Access Control Lists (ACL) provides a flexible solution to perform\ncontent switching and generally to take decisions based on content extracted\nfrom the request, the response or any environmental status.\n\nswagger:model acl",
                            "properties": {
                              "acl_name": {
                                "description": "acl name\nRequired: true\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "criterion": {
                                "description": "criterion\nRequired: true\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "value": {
                                "description": "value",
                                "type": "string"
                              }
                            },
                            "required": [
                              "acl_name",
                              "criterion"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "backend_switching_rule_list": {
                          "description": "BackendSwitchingRules Backend Switching Rules Array\n\nHAProxy backend switching rules array (corresponds to use_backend directives)\n\nswagger:model backend_switching_rules",
                          "items": {
                            "description": "BackendSwitchingRule Backend Switching Rule\n\nHAProxy backend switching rule configuration (corresponds to use_backend directive)\nExample: {\"cond\":\"if\",\"cond_test\":\"{ req_ssl_sni -i www.example.com }\",\"index\":0,\"name\":\"test_backend\"}\n\nswagger:model backend_switching_rule",
                            "properties": {
                              "cond": {
                                "description": "cond\nEnum: [if unless]",
                                "enum": [
                                  "if",
                                  "unless"
                                ],
                                "type": "string"
                              },
                              "cond_test": {
                                "description": "cond test",
                                "type": "string"
                              },
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "name": {
                                "description": "name\nRequired: true\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "backlog": {
                          "description": "backlog",
                          "format": "int64",
                          "type": "integer"
                        },
                        "bind_process": {
                          "description": "bind process\nPattern: ^[^\\s]+$",
                          "pattern": "^[^\\s]+$",
                          "type": "string"
                        },
                        "binds": {
                          "items": {
                            "description": "Bind Bind\n\n# HAProxy frontend bind configuration\n\nswagger:model bind",
                            "properties": {
                              "accept_netscaler_cip": {
                                "description": "accept netscaler cip",
                                "format": "int64",
                                "type": "integer"
                              },
                              "accept_proxy": {
                                "description": "accept proxy",
                                "type": "boolean"
                              },
                              "address": {
                                "description": "address\nExample: 127.0.0.1\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "allow_0rtt": {
                                "description": "allow 0rtt",
                                "type": "boolean"
                              },
                              "alpn": {
                                "description": "alpn\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "backlog": {
                                "description": "backlog",
                                "type": "string"
                              },
                              "ca_ignore_err": {
                                "description": "ca ignore err",
                                "type": "string"
                              },
                              "ca_sign_file": {
                                "description": "ca sign file",
                                "type": "string"
                              },
                              "ca_sign_pass": {
                                "description": "ca sign pass",
                                "type": "string"
                              },
                              "ca_verify_file": {
                                "description": "ca verify file",
                                "type": "string"
                              },
                              "ciphers": {
                                "description": "ciphers",
                                "type": "string"
                              },
                              "ciphersuites": {
                                "description": "ciphersuites",
                                "type": "string"
                              },
                              "client_sigalgs": {
                                "description": "client sigalgs",
                                "type": "string"
                              },
                              "crl_file": {
                                "description": "crl file",
                                "type": "string"
                              },
                              "crt_ignore_err": {
                                "description": "crt ignore err",
                                "type": "string"
                              },
                              "crt_list": {
                                "description": "crt list",
                                "type": "string"
                              },
                              "curves": {
                                "description": "curves",
                                "type": "string"
                              },
                              "defer_accept": {
                                "description": "defer accept",
                                "type": "boolean"
                              },
                              "ecdhe": {
                                "description": "ecdhe",
                                "type": "string"
                              },
                              "expose_fd_listeners": {
                                "description": "expose fd listeners",
                                "type": "boolean"
                              },
                              "force_sslv3": {
                                "description": "force sslv3",
                                "type": "boolean"
                              },
                              "force_tlsv10": {
                                "description": "force tlsv10",
                                "type": "boolean"
                              },
                              "force_tlsv11": {
                                "description": "force tlsv11",
                                "type": "boolean"
                              },
                              "force_tlsv12": {
                                "description": "force tlsv12",
                                "type": "boolean"
                              },
                              "force_tlsv13": {
                                "description": "force tlsv13",
                                "type": "boolean"
                              },
                              "generate_certificates": {
                                "description": "generate certificates",
                                "type": "boolean"
                              },
                              "gid": {
                                "description": "gid",
                                "format": "int64",
                                "type": "integer"
                              },
                              "group": {
                                "description": "group",
                                "type": "string"
                              },
                              "id": {
                                "description": "id",
                                "type": "string"
                              },
                              "interface": {
                                "description": "interface",
                                "type": "string"
                              },
                              "level": {
                                "description": "level\nExample: user\nEnum: [user operator admin]",
                                "enum": [
                                  "user",
                                  "operator",
                                  "admin"
                                ],
                                "type": "string"
                              },
                              "maxconn": {
                                "description": "maxconn\nExample: 1234",
                                "format": "int64",
                                "type": "integer"
                              },
                              "mode": {
                                "description": "mode",
                                "type": "string"
                              },
                              "mss": {
                                "description": "mss",
                                "type": "string"
                              },
                              "name": {
                                "description": "name\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "namespace": {
                                "description": "namespace\nExample: app",
                                "type": "string"
                              },
                              "nbconn": {
                                "description": "nbconn",
                                "format": "int64",
                                "type": "integer"
                              },
                              "nice": {
                                "description": "nice\nExample: 1",
                                "format": "int64",
                                "type": "integer"
                              },
                              "no_alpn": {
                                "description": "no alpn",
                                "type": "boolean"
                              },
                              "no_ca_names": {
                                "description": "no ca names",
                                "type": "boolean"
                              },
                              "no_sslv3": {
                                "description": "no sslv3",
                                "type": "boolean"
                              },
                              "no_tls_tickets": {
                                "description": "no tls tickets",
                                "type": "boolean"
                              },
                              "no_tlsv10": {
                                "description": "no tlsv10",
                                "type": "boolean"
                              },
                              "no_tlsv11": {
                                "description": "no tlsv11",
                                "type": "boolean"
                              },
                              "no_tlsv12": {
                                "description": "no tlsv12",
                                "type": "boolean"
                              },
                              "no_tlsv13": {
                                "description": "no tlsv13",
                                "type": "boolean"
                              },
                              "npn": {
                                "description": "npn",
                                "type": "string"
                              },
                              "port": {
                                "description": "port\nExample: 80\nMaximum: 65535\nMinimum: 1",
                                "format": "int64",
                                "maximum": 65535,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "port-range-end": {
                                "description": "port range end\nExample: 81\nMaximum: 65535\nMinimum: 1",
                                "format": "int64",
                                "maximum": 65535,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "prefer_client_ciphers": {
                                "description": "prefer client ciphers",
                                "type": "boolean"
                              },
                              "process": {
                                "description": "process\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "proto": {
                                "description": "proto",
                                "type": "string"
                              },
                              "quic-cc-algo": {
                                "description": "quic cc algo\nEnum: [cubic newreno]",
                                "enum": [
                                  "cubic",
                                  "newreno"
                                ],
                                "type": "string"
                              },
                              "quic-force-retry": {
                                "description": "quic force retry",
                                "type": "boolean"
                              },
                              "quic-socket": {
                                "description": "quic socket\nEnum: [connection listener]",
                                "enum": [
                                  "connection",
                                  "listener"
                                ],
                                "type": "string"
                              },
                              "severity_output": {
                                "description": "severity output\nExample: none\nEnum: [none number string]",
                                "enum": [
                                  "none",
                                  "number",
                                  "string"
                                ],
                                "type": "string"
                              },
                              "sigalgs": {
                                "description": "sigalgs",
                                "type": "string"
                              },
                              "ssl": {
                                "description": "ssl",
                                "type": "boolean"
                              },
                              "ssl_cafile": {
                                "description": "ssl cafile\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "ssl_certificate": {
                                "description": "ssl certificate\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "ssl_max_ver": {
                                "description": "ssl max ver\nEnum: [SSLv3 TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3]",
                                "enum": [
                                  "SSLv3",
                                  "TLSv1.0",
                                  "TLSv1.1",
                                  "TLSv1.2",
                                  "TLSv1.3"
                                ],
                                "type": "string"
                              },
                              "ssl_min_ver": {
                                "description": "ssl min ver\nEnum: [SSLv3 TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3]",
                                "enum": [
                                  "SSLv3",
                                  "TLSv1.0",
                                  "TLSv1.1",
                                  "TLSv1.2",
                                  "TLSv1.3"
                                ],
                                "type": "string"
                              },
                              "strict_sni": {
                                "description": "strict sni",
                                "type": "boolean"
                              },
                              "tcp_user_timeout": {
                                "description": "tcp user timeout",
                                "format": "int64",
                                "type": "integer"
                              },
                              "tfo": {
                                "description": "tfo",
                                "type": "boolean"
                              },
                              "thread": {
                                "description": "thread",
                                "type": "string"
                              },
                              "tls_ticket_keys": {
                                "description": "tls ticket keys",
                                "type": "string"
                              },
                              "transparent": {
                                "description": "transparent",
                                "type": "boolean"
                              },
                              "uid": {
                                "description": "uid",
                                "type": "string"
                              },
                              "user": {
                                "description": "user",
                                "type": "string"
                              },
                              "v4v6": {
                                "description": "v4v6",
                                "type": "boolean"
                              },
                              "v6only": {
                                "description": "v6only",
                                "type": "boolean"
                              },
                              "verify": {
                                "description": "verify\nExample: none\nEnum: [none optional required]",
                                "enum": [
                                  "none",
                                  "optional",
                                  "required"
                                ],
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "capture_list": {
                          "description": "Captures Declare capture array\n\nswagger:model captures",
                          "items": {
                            "description": "Capture Declare Capture\n\nswagger:model capture",
                            "properties": {
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "length": {
                                "description": "length\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "type": {
                                "description": "type\nRequired: true\nEnum: [request response]",
                                "enum": [
                                  "request",
                                  "response"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "length",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "clflog": {
                          "description": "clflog",
                          "type": "boolean"
                        },
                        "client_fin_timeout": {
                          "description": "client fin timeout",
                          "format": "int64",
                          "type": "integer"
                        },
                        "client_timeout": {
                          "description": "client timeout",
                          "format": "int64",
                          "type": "integer"
                        },
                        "clitcpka": {
                          "description": "clitcpka\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "clitcpka_cnt": {
                          "description": "clitcpka cnt",
                          "format": "int64",
                          "type": "integer"
                        },
                        "clitcpka_idle": {
                          "description": "clitcpka idle",
                          "format": "int64",
                          "type": "integer"
                        },
                        "clitcpka_intvl": {
                          "description": "clitcpka intvl",
                          "format": "int64",
                          "type": "integer"
                        },
                        "compression": {
                          "description": "compression",
                          "properties": {
                            "algo-req": {
                              "description": "algo req\nEnum: [identity gzip deflate raw-deflate]",
                              "enum": [
                                "identity",
                                "gzip",
                                "deflate",
                                "raw-deflate"
                              ],
                              "type": "string"
                            },
                            "algorithms": {
                              "description": "algorithms",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "algos-res": {
                              "description": "algos res",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "direction": {
                              "description": "direction\nEnum: [request response both]",
                              "enum": [
                                "request",
                                "response",
                                "both"
                              ],
                              "type": "string"
                            },
                            "offload": {
                              "description": "offload",
                              "type": "boolean"
                            },
                            "types": {
                              "description": "types",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "types-req": {
                              "description": "types req",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "types-res": {
                              "description": "types res",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "contstats": {
                          "description": "contstats\nEnum: [enabled]",
                          "enum": [
                            "enabled"
                          ],
                          "type": "string"
                        },
                        "default_backend": {
                          "description": "default backend\nPattern: ^[A-Za-z0-9-_.:]+$",
                          "pattern": "^[A-Za-z0-9-_.:]+$",
                          "type": "string"
                        },
                        "description": {
                          "description": "description",
                          "type": "string"
                        },
                        "disable_h2_upgrade": {
                          "description": "disable h2 upgrade\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "disabled": {
                          "description": "disabled",
                          "type": "boolean"
                        },
                        "dontlog_normal": {
                          "description": "dontlog normal\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "dontlognull": {
                          "description": "dontlognull\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "email_alert": {
                          "description": "email alert",
                          "properties": {
                            "from": {
                              "description": "from\nRequired: true\nPattern: ^\\S+@\\S+$",
                              "pattern": "^\\S+@\\S+$",
                              "type": "string"
                            },
                            "level": {
                              "description": "level\nEnum: [emerg alert crit err warning notice info debug]",
                              "enum": [
                                "emerg",
                                "alert",
                                "crit",
                                "err",
                                "warning",
                                "notice",
                                "info",
                                "debug"
                              ],
                              "type": "string"
                            },
                            "mailers": {
                              "description": "mailers\nRequired: true",
                              "type": "string"
                            },
                            "myhostname": {
                              "description": "myhostname",
                              "type": "string"
                            },
                            "to": {
                              "description": "to\nRequired: true\nPattern: ^\\S+@\\S+$",
                              "pattern": "^\\S+@\\S+$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "from",
                            "mailers",
                            "to"
                          ],
                          "type": "object"
                        },
                        "enabled": {
                          "description": "enabled",
                          "type": "boolean"
                        },
                        "error_files": {
                          "description": "error files",
                          "items": {
                            "description": "Errorfile errorfile\n\nswagger:model errorfile",
                            "properties": {
                              "code": {
                                "description": "code\nEnum: [200 400 401 403 404 405 407 408 410 413 425 429 500 501 502 503 504]",
                                "enum": [
                                  200,
                                  400,
                                  401,
                                  403,
                                  404,
                                  405,
                                  407,
                                  408,
                                  410,
                                  413,
                                  425,
                                  429,
                                  500,
                                  501,
                                  502,
                                  503,
                                  504
                                ],
                                "format": "int64",
                                "type": "integer"
                              },
                              "file": {
                                "description": "file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "error_log_format": {
                          "description": "error log format",
                          "type": "string"
                        },
                        "errorfiles_from_http_errors": {
                          "description": "error files from HTTP errors",
                          "items": {
                            "description": "Errorfiles errorfiles\n\nswagger:model errorfiles",
                            "properties": {
                              "codes": {
                                "description": "codes",
                                "items": {
                                  "format": "int64",
                                  "type": "integer"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "name",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "errorloc302": {
                          "description": "errorloc302",
                          "properties": {
                            "code": {
                              "description": "code\nRequired: true\nEnum: [200 400 401 403 404 405 407 408 410 413 425 429 500 501 502 503 504]",
                              "enum": [
                                200,
                                400,
                                401,
                                403,
                                404,
                                405,
                                407,
                                408,
                                410,
                                413,
                                425,
                                429,
                                500,
                                501,
                                502,
                                503,
                                504
                              ],
                              "format": "int64",
                              "type": "integer"
                            },
                            "url": {
                              "description": "url\nRequired: true",
                              "type": "string"
                            }
                          },
                          "required": [
                            "code",
                            "url"
                          ],
                          "type": "object"
                        },
                        "errorloc303": {
                          "description": "errorloc303",
                          "properties": {
                            "code": {
                              "description": "code\nRequired: true\nEnum: [200 400 401 403 404 405 407 408 410 413 425 429 500 501 502 503 504]",
                              "enum": [
                                200,
                                400,
                                401,
                                403,
                                404,
                                405,
                                407,
                                408,
                                410,
                                413,
                                425,
                                429,
                                500,
                                501,
                                502,
                                503,
                                504
                              ],
                              "format": "int64",
                              "type": "integer"
                            },
                            "url": {
                              "description": "url\nRequired: true",
                              "type": "string"
                            }
                          },
                          "required": [
                            "code",
                            "url"
                          ],
                          "type": "object"
                        },
                        "filter_list": {
                          "description": "Filters Filters Array\n\nHAProxy filters array (corresponds to filter directive)\n\nswagger:model filters",
                          "items": {
                            "description": "Filter Filter\n\nHAProxy filters\nExample: {\"index\":0,\"trace_name\":\"name\",\"trace_rnd_parsing\":true,\"type\":\"trace\"}\n\nswagger:model filter",
                            "properties": {
                              "app_name": {
                                "description": "Name of the fcgi-app section this filter will use.\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "bandwidth_limit_name": {
                                "description": "Filter name that will be used by 'set-bandwidth-limit' actions to reference a specific bandwidth limitation filter\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "cache_name": {
                                "description": "cache name\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "default_limit": {
                                "description": "The max number of bytes that can be forwarded over the period.\nThe value must be specified for per-stream and shared bandwidth limitation filters.\nIt follows the HAProxy size format and is expressed in bytes.",
                                "format": "int64",
                                "type": "integer"
                              },
                              "default_period": {
                                "description": "The default time period used to evaluate the bandwidth limitation rate.\nIt can be specified for per-stream bandwidth limitation filters only.\nIt follows the HAProxy time format and is expressed in milliseconds.",
                                "format": "int64",
                                "type": "integer"
                              },
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "key": {
                                "description": "A sample expression rule.\nIt describes what elements will be analyzed, extracted, combined, and used to select which table entry to update the counters.\nIt must be specified for shared bandwidth limitation filters only.",
                                "type": "string"
                              },
                              "limit": {
                                "description": "The max number of bytes that can be forwarded over the period.\nThe value must be specified for per-stream and shared bandwidth limitation filters.\nIt follows the HAProxy size format and is expressed in bytes.",
                                "format": "int64",
                                "type": "integer"
                              },
                              "min_size": {
                                "description": "The optional minimum number of bytes forwarded at a time by a stream excluding the last packet that may be smaller.\nThis value can be specified for per-stream and shared bandwidth limitation filters.\nIt follows the HAProxy size format and is expressed in bytes.",
                                "format": "int64",
                                "type": "integer"
                              },
                              "spoe_config": {
                                "description": "spoe config\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "spoe_engine": {
                                "description": "spoe engine\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "table": {
                                "description": "An optional table to be used instead of the default one, which is the stick-table declared in the current proxy.\nIt can be specified for shared bandwidth limitation filters only.",
                                "type": "string"
                              },
                              "trace_hexdump": {
                                "description": "trace hexdump",
                                "type": "boolean"
                              },
                              "trace_name": {
                                "description": "trace name\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "trace_rnd_forwarding": {
                                "description": "trace rnd forwarding",
                                "type": "boolean"
                              },
                              "trace_rnd_parsing": {
                                "description": "trace rnd parsing",
                                "type": "boolean"
                              },
                              "type": {
                                "description": "type\nRequired: true\nEnum: [bwlim-in bwlim-out cache compression fcgi-app spoe trace]",
                                "enum": [
                                  "bwlim-in",
                                  "bwlim-out",
                                  "cache",
                                  "compression",
                                  "fcgi-app",
                                  "spoe",
                                  "trace"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "forwardfor": {
                          "description": "forwardfor",
                          "properties": {
                            "enabled": {
                              "description": "enabled\nRequired: true\nEnum: [enabled]",
                              "enum": [
                                "enabled"
                              ],
                              "type": "string"
                            },
                            "except": {
                              "description": "except\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "header": {
                              "description": "header\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "ifnone": {
                              "description": "ifnone",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "enabled"
                          ],
                          "type": "object"
                        },
                        "from": {
                          "description": "from\nPattern: ^[A-Za-z0-9-_.:]+$",
                          "pattern": "^[A-Za-z0-9-_.:]+$",
                          "type": "string"
                        },
                        "h1_case_adjust_bogus_client": {
                          "description": "h1 case adjust bogus client\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "http-buffer-request": {
                          "description": "http buffer request\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "http-use-htx": {
                          "description": "http use htx\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "http_connection_mode": {
                          "description": "http connection mode\nEnum: [httpclose http-server-close http-keep-alive]",
                          "enum": [
                            "httpclose",
                            "http-server-close",
                            "http-keep-alive"
                          ],
                          "type": "string"
                        },
                        "http_ignore_probes": {
                          "description": "http ignore probes\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "http_keep_alive_timeout": {
                          "description": "http keep alive timeout",
                          "format": "int64",
                          "type": "integer"
                        },
                        "http_no_delay": {
                          "description": "http no delay\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "http_request_timeout": {
                          "description": "http request timeout",
                          "format": "int64",
                          "type": "integer"
                        },
                        "http_restrict_req_hdr_names": {
                          "description": "http restrict req hdr names\nEnum: [preserve delete reject]",
                          "enum": [
                            "preserve",
                            "delete",
                            "reject"
                          ],
                          "type": "string"
                        },
                        "http_use_proxy_header": {
                          "description": "http use proxy header\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "httplog": {
                          "description": "httplog",
                          "type": "boolean"
                        },
                        "httpslog": {
                          "description": "httpslog\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "id": {
                          "description": "id",
                          "format": "int64",
                          "type": "integer"
                        },
                        "idle_close_on_response": {
                          "description": "idle close on response\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "independent_streams": {
                          "description": "independent streams\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "log_format": {
                          "description": "log format",
                          "type": "string"
                        },
                        "log_format_sd": {
                          "description": "log format sd",
                          "type": "string"
                        },
                        "log_separate_errors": {
                          "description": "log separate errors\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "log_tag": {
                          "description": "log tag\nPattern: ^[A-Za-z0-9-_.:]+$",
                          "pattern": "^[A-Za-z0-9-_.:]+$",
                          "type": "string"
                        },
                        "log_target_list": {
                          "description": "LogTargets Log Target Array\n\nHAProxy log target array (corresponds to log directives)\n\nswagger:model log_targets",
                          "items": {
                            "description": "LogTarget Log Target\n\nPer-instance logging of events and traffic.\n\nswagger:model log_target",
                            "properties": {
                              "address": {
                                "description": "address\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "facility": {
                                "description": "facility\nEnum: [kern user mail daemon auth syslog lpr news uucp cron auth2 ftp ntp audit alert cron2 local0 local1 local2 local3 local4 local5 local6 local7]",
                                "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"
                              },
                              "format": {
                                "description": "format\nEnum: [local rfc3164 rfc5424 priority short timed iso raw]",
                                "enum": [
                                  "local",
                                  "rfc3164",
                                  "rfc5424",
                                  "priority",
                                  "short",
                                  "timed",
                                  "iso",
                                  "raw"
                                ],
                                "type": "string"
                              },
                              "global": {
                                "description": "global",
                                "type": "boolean"
                              },
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "length": {
                                "description": "length",
                                "format": "int64",
                                "type": "integer"
                              },
                              "level": {
                                "description": "level\nEnum: [emerg alert crit err warning notice info debug]",
                                "enum": [
                                  "emerg",
                                  "alert",
                                  "crit",
                                  "err",
                                  "warning",
                                  "notice",
                                  "info",
                                  "debug"
                                ],
                                "type": "string"
                              },
                              "minlevel": {
                                "description": "minlevel\nEnum: [emerg alert crit err warning notice info debug]",
                                "enum": [
                                  "emerg",
                                  "alert",
                                  "crit",
                                  "err",
                                  "warning",
                                  "notice",
                                  "info",
                                  "debug"
                                ],
                                "type": "string"
                              },
                              "nolog": {
                                "description": "nolog",
                                "type": "boolean"
                              },
                              "sample_range": {
                                "description": "sample range",
                                "type": "string"
                              },
                              "sample_size": {
                                "description": "sample size",
                                "format": "int64",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "logasap": {
                          "description": "logasap\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "maxconn": {
                          "description": "maxconn",
                          "format": "int64",
                          "type": "integer"
                        },
                        "mode": {
                          "description": "mode\nEnum: [http tcp]",
                          "enum": [
                            "http",
                            "tcp"
                          ],
                          "type": "string"
                        },
                        "monitor_fail": {
                          "description": "monitor fail",
                          "properties": {
                            "cond": {
                              "description": "cond\nRequired: true\nEnum: [if unless]",
                              "enum": [
                                "if",
                                "unless"
                              ],
                              "type": "string"
                            },
                            "cond_test": {
                              "description": "cond test\nRequired: true",
                              "type": "string"
                            }
                          },
                          "required": [
                            "cond",
                            "cond_test"
                          ],
                          "type": "object"
                        },
                        "monitor_uri": {
                          "description": "monitor uri",
                          "type": "string"
                        },
                        "name": {
                          "description": "name\nRequired: true\nPattern: ^[A-Za-z0-9-_.:]+$",
                          "pattern": "^[A-Za-z0-9-_.:]+$",
                          "type": "string"
                        },
                        "nolinger": {
                          "description": "nolinger\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "originalto": {
                          "description": "originalto",
                          "properties": {
                            "enabled": {
                              "description": "enabled\nRequired: true\nEnum: [enabled]",
                              "enum": [
                                "enabled"
                              ],
                              "type": "string"
                            },
                            "except": {
                              "description": "except\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "header": {
                              "description": "header\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "enabled"
                          ],
                          "type": "object"
                        },
                        "socket_stats": {
                          "description": "socket stats\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "splice_auto": {
                          "description": "splice auto\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "splice_request": {
                          "description": "splice request\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "splice_response": {
                          "description": "splice response\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "stats_options": {
                          "description": "stats options",
                          "properties": {
                            "stats_admin": {
                              "description": "stats admin",
                              "type": "boolean"
                            },
                            "stats_admin_cond": {
                              "description": "stats admin cond\nEnum: [if unless]",
                              "enum": [
                                "if",
                                "unless"
                              ],
                              "type": "string"
                            },
                            "stats_admin_cond_test": {
                              "description": "stats admin cond test",
                              "type": "string"
                            },
                            "stats_auths": {
                              "description": "stats auths",
                              "items": {
                                "description": "StatsAuth stats auth\n\nswagger:model stats_auth",
                                "properties": {
                                  "passwd": {
                                    "description": "passwd\nRequired: true",
                                    "type": "string"
                                  },
                                  "user": {
                                    "description": "user\nRequired: true",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "passwd",
                                  "user"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "stats_enable": {
                              "description": "stats enable",
                              "type": "boolean"
                            },
                            "stats_hide_version": {
                              "description": "stats hide version",
                              "type": "boolean"
                            },
                            "stats_http_requests": {
                              "description": "stats http requests",
                              "items": {
                                "description": "StatsHTTPRequest stats http request\n\nswagger:model stats_http_request",
                                "properties": {
                                  "cond": {
                                    "description": "cond",
                                    "type": "string"
                                  },
                                  "cond_test": {
                                    "description": "cond test",
                                    "type": "string"
                                  },
                                  "realm": {
                                    "description": "realm",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "type\nRequired: true\nEnum: [allow deny auth]",
                                    "enum": [
                                      "allow",
                                      "deny",
                                      "auth"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "stats_maxconn": {
                              "description": "stats maxconn\nMinimum: 1",
                              "format": "int64",
                              "minimum": 1,
                              "type": "integer"
                            },
                            "stats_realm": {
                              "description": "stats realm",
                              "type": "boolean"
                            },
                            "stats_realm_realm": {
                              "description": "stats realm realm",
                              "type": "string"
                            },
                            "stats_refresh_delay": {
                              "description": "stats refresh delay",
                              "format": "int64",
                              "type": "integer"
                            },
                            "stats_show_desc": {
                              "description": "stats show desc",
                              "type": "string"
                            },
                            "stats_show_legends": {
                              "description": "stats show legends",
                              "type": "boolean"
                            },
                            "stats_show_modules": {
                              "description": "stats show modules",
                              "type": "boolean"
                            },
                            "stats_show_node_name": {
                              "description": "stats show node name\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "stats_uri_prefix": {
                              "description": "stats uri prefix\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "stats_show_node_name"
                          ],
                          "type": "object"
                        },
                        "stick_table": {
                          "description": "stick table",
                          "properties": {
                            "expire": {
                              "description": "expire",
                              "format": "int64",
                              "type": "integer"
                            },
                            "keylen": {
                              "description": "keylen",
                              "format": "int64",
                              "type": "integer"
                            },
                            "nopurge": {
                              "description": "nopurge",
                              "type": "boolean"
                            },
                            "peers": {
                              "description": "peers\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "size": {
                              "description": "size",
                              "format": "int64",
                              "type": "integer"
                            },
                            "srvkey": {
                              "description": "srvkey\nEnum: [addr name]",
                              "enum": [
                                "addr",
                                "name"
                              ],
                              "type": "string"
                            },
                            "store": {
                              "description": "store\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            },
                            "type": {
                              "description": "type\nEnum: [ip ipv6 integer string binary]",
                              "enum": [
                                "ip",
                                "ipv6",
                                "integer",
                                "string",
                                "binary"
                              ],
                              "type": "string"
                            },
                            "write_to": {
                              "description": "write to\nPattern: ^[^\\s]+$",
                              "pattern": "^[^\\s]+$",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "tarpit_timeout": {
                          "description": "tarpit timeout",
                          "format": "int64",
                          "type": "integer"
                        },
                        "tcp_request_rule_list": {
                          "description": "TCPRequestRules TCP Request Rules Array\n\nHAProxy TCP request rules array (corresponds to tcp-request directive)\n\nswagger:model tcp_request_rules",
                          "items": {
                            "description": "TCPRequestRule TCP Request Rule\n\nHAProxy TCP Request Rule configuration (corresponds to tcp-request)\nExample: {\"cond\":\"if\",\"cond_test\":\"{ src 192.168.0.0/16 }\",\"index\":0,\"type\":\"connection\"}\n\nswagger:model tcp_request_rule",
                            "properties": {
                              "action": {
                                "description": "action\nEnum: [accept attach-srv capture do-resolve expect-netscaler-cip expect-proxy lua reject sc-add-gpc sc-inc-gpc sc-inc-gpc0 sc-inc-gpc1 sc-set-gpt sc-set-gpt0 send-spoe-group set-bandwidth-limit set-dst-port set-dst set-log-level set-mark set-nice set-priority-class set-priority-offset set-src set-src-port set-tos set-var set-var-fmt silent-drop switch-mode track-sc0 track-sc1 track-sc2 track-sc unset-var use-service]",
                                "enum": [
                                  "accept",
                                  "attach-srv",
                                  "capture",
                                  "do-resolve",
                                  "expect-netscaler-cip",
                                  "expect-proxy",
                                  "lua",
                                  "reject",
                                  "sc-add-gpc",
                                  "sc-inc-gpc",
                                  "sc-inc-gpc0",
                                  "sc-inc-gpc1",
                                  "sc-set-gpt",
                                  "sc-set-gpt0",
                                  "send-spoe-group",
                                  "set-bandwidth-limit",
                                  "set-dst-port",
                                  "set-dst",
                                  "set-log-level",
                                  "set-mark",
                                  "set-nice",
                                  "set-priority-class",
                                  "set-priority-offset",
                                  "set-src",
                                  "set-src-port",
                                  "set-tos",
                                  "set-var",
                                  "set-var-fmt",
                                  "silent-drop",
                                  "switch-mode",
                                  "track-sc0",
                                  "track-sc1",
                                  "track-sc2",
                                  "track-sc",
                                  "unset-var",
                                  "use-service"
                                ],
                                "type": "string"
                              },
                              "bandwidth_limit_limit": {
                                "description": "bandwidth limit limit",
                                "type": "string"
                              },
                              "bandwidth_limit_name": {
                                "description": "bandwidth limit name",
                                "type": "string"
                              },
                              "bandwidth_limit_period": {
                                "description": "bandwidth limit period",
                                "type": "string"
                              },
                              "capture_len": {
                                "description": "capture len",
                                "format": "int64",
                                "type": "integer"
                              },
                              "capture_sample": {
                                "description": "capture sample\nPattern: ^(?:[A-Za-z]+\\(\"([A-Za-z\\s]+)\"\\)|[A-Za-z]+)",
                                "pattern": "^(?:[A-Za-z]+\\(\"([A-Za-z\\s]+)\"\\)|[A-Za-z]+)",
                                "type": "string"
                              },
                              "cond": {
                                "description": "cond\nEnum: [if unless]",
                                "enum": [
                                  "if",
                                  "unless"
                                ],
                                "type": "string"
                              },
                              "cond_test": {
                                "description": "cond test",
                                "type": "string"
                              },
                              "expr": {
                                "description": "expr",
                                "type": "string"
                              },
                              "gpt_value": {
                                "description": "gpt value",
                                "type": "string"
                              },
                              "index": {
                                "description": "index\nRequired: true",
                                "format": "int64",
                                "type": "integer"
                              },
                              "log_level": {
                                "description": "log level\nEnum: [emerg alert crit err warning notice info debug silent]",
                                "enum": [
                                  "emerg",
                                  "alert",
                                  "crit",
                                  "err",
                                  "warning",
                                  "notice",
                                  "info",
                                  "debug",
                                  "silent"
                                ],
                                "type": "string"
                              },
                              "lua_action": {
                                "description": "lua action\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "lua_params": {
                                "description": "lua params",
                                "type": "string"
                              },
                              "mark_value": {
                                "description": "mark value\nPattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$",
                                "pattern": "^(0x[0-9A-Fa-f]+|[0-9]+)$",
                                "type": "string"
                              },
                              "nice_value": {
                                "description": "nice value\nMaximum: 1024\nMinimum: -1024",
                                "format": "int64",
                                "maximum": 1024,
                                "minimum": -1024,
                                "type": "integer"
                              },
                              "resolve_protocol": {
                                "description": "resolve protocol\nEnum: [ipv4 ipv6]",
                                "enum": [
                                  "ipv4",
                                  "ipv6"
                                ],
                                "type": "string"
                              },
                              "resolve_resolvers": {
                                "description": "resolve resolvers",
                                "type": "string"
                              },
                              "resolve_var": {
                                "description": "resolve var",
                                "type": "string"
                              },
                              "rst_ttl": {
                                "description": "rst ttl",
                                "format": "int64",
                                "type": "integer"
                              },
                              "sc_idx": {
                                "description": "sc idx",
                                "type": "string"
                              },
                              "sc_inc_id": {
                                "description": "sc inc id",
                                "type": "string"
                              },
                              "sc_int": {
                                "description": "sc int",
                                "format": "int64",
                                "type": "integer"
                              },
                              "server_name": {
                                "description": "server name",
                                "type": "string"
                              },
                              "service_name": {
                                "description": "service name",
                                "type": "string"
                              },
                              "spoe_engine_name": {
                                "description": "spoe engine name",
                                "type": "string"
                              },
                              "spoe_group_name": {
                                "description": "spoe group name",
                                "type": "string"
                              },
                              "switch_mode_proto": {
                                "description": "switch mode proto",
                                "type": "string"
                              },
                              "timeout": {
                                "description": "timeout",
                                "format": "int64",
                                "type": "integer"
                              },
                              "tos_value": {
                                "description": "tos value\nPattern: ^(0x[0-9A-Fa-f]+|[0-9]+)$",
                                "pattern": "^(0x[0-9A-Fa-f]+|[0-9]+)$",
                                "type": "string"
                              },
                              "track_key": {
                                "description": "track key",
                                "type": "string"
                              },
                              "track_stick_counter": {
                                "description": "track stick counter",
                                "format": "int64",
                                "type": "integer"
                              },
                              "track_table": {
                                "description": "track table",
                                "type": "string"
                              },
                              "type": {
                                "description": "type\nRequired: true\nEnum: [connection content inspect-delay session]",
                                "enum": [
                                  "connection",
                                  "content",
                                  "inspect-delay",
                                  "session"
                                ],
                                "type": "string"
                              },
                              "var_format": {
                                "description": "var format",
                                "type": "string"
                              },
                              "var_name": {
                                "description": "var name\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              },
                              "var_scope": {
                                "description": "var scope\nPattern: ^[^\\s]+$",
                                "pattern": "^[^\\s]+$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "tcp_smart_accept": {
                          "description": "tcp smart accept\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "tcpka": {
                          "description": "tcpka\nEnum: [enabled disabled]",
                          "enum": [
                            "enabled",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "tcplog": {
                          "description": "tcplog",
                          "type": "boolean"
                        },
                        "unique_id_format": {
                          "description": "unique id format",
                          "type": "string"
                        },
                        "unique_id_header": {
                          "description": "unique id header",
                          "type": "string"
                        }
                      },
                      "required": [
                        "binds",
                        "name"
                      ],
                      "type": "object"
                    },
                    "name": {
                      "type": "string"
                    },
                    "service": {
                      "description": "Service defines the name of the default service (default_backend)",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "port": {
                          "maximum": 65535,
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "name",
                        "port"
                      ],
                      "type": "object"
                    },
                    "services": {
                      "description": "Services defines additional services for additional backends",
                      "items": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "port": {
                            "maximum": 65535,
                            "minimum": 1,
                            "type": "integer"
                          }
                        },
                        "required": [
                          "name",
                          "port"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "frontend",
                    "name",
                    "service"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "spec"
            ],
            "type": "object"
          }
        },
        "served": true,
        "storage": true
      }
    ]
  }
}
