{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Replaces the configuration for a remotely managed Cloudflare Tunnel, including its ingress rules and origin request settings.","properties":{"path":{"type":"object","properties":{"account_id":{"$ref":"#/definitions/tunnel_identifier"},"tunnel_id":{"$ref":"#/definitions/tunnel_tunnel_id-2"}},"required":["account_id","tunnel_id"],"additionalProperties":false},"body":{"type":"object","properties":{"config":{"allOf":[{"$ref":"#/definitions/tunnel_config"}]}}}},"required":["path","body"],"additionalProperties":false,"definitions":{"tunnel_identifier":{"description":"Identifier.","type":"string","maxLength":32,"examples":["023e105f4ecef8ad9ca31a8372d0c353"]},"tunnel_tunnel_id-2":{"description":"UUID of the tunnel.","type":"string","format":"uuid","maxLength":36,"examples":["f70ff985-a4ef-4643-bbbc-4a0ed4fc8415"]},"tunnel_config":{"description":"The tunnel configuration and ingress rules.","type":"object","properties":{"ingress":{"description":"List of public hostname definitions. At least one ingress rule needs to be defined for the tunnel.","type":"array","items":{"$ref":"#/definitions/tunnel_ingressRule"},"minItems":1},"originRequest":{"$ref":"#/definitions/tunnel_originRequest"}}},"tunnel_ingressRule":{"description":"Public hostname","type":"object","properties":{"hostname":{"description":"Public hostname for this service.","type":"string","examples":["tunnel.example.com"]},"originRequest":{"$ref":"#/definitions/tunnel_originRequest"},"path":{"description":"Requests with this path route to this public hostname.","type":"string","examples":["subpath"]},"service":{"description":"Protocol and address of destination server. Supported protocols: http://, https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively can return a HTTP status code http_status:[code] e.g. 'http_status:404'.\n","type":"string","examples":["https://localhost:8001"]}},"required":["hostname","service"]},"tunnel_originRequest":{"description":"Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.","type":"object","properties":{"access":{"description":"For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.","type":"object","properties":{"audTag":{"description":"Access applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.","type":"array","items":{"type":"string"}},"required":{"description":"Deny traffic that has not fulfilled Access authorization.","type":"boolean","examples":[false]},"teamName":{"type":"string","examples":["zero-trust-organization-name"]}},"required":["audTag","teamName"]},"caPool":{"description":"Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.","type":"string"},"connectTimeout":{"description":"Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.","type":"integer","examples":[10]},"disableChunkedEncoding":{"description":"Disables chunked transfer encoding. Useful if you are running a WSGI server.","type":"boolean"},"http2Origin":{"description":"Attempt to connect to origin using HTTP2. Origin must be configured as https.","type":"boolean"},"httpHostHeader":{"description":"Sets the HTTP Host header on requests sent to the local service.","type":"string"},"keepAliveConnections":{"description":"Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.","type":"integer","examples":[100]},"keepAliveTimeout":{"description":"Timeout after which an idle keepalive connection can be discarded.","type":"integer","examples":[90]},"matchSNItoHost":{"description":"Auto configure the Hostname on the origin server certificate.","type":"boolean","examples":[false]},"noHappyEyeballs":{"description":"Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.","type":"boolean","examples":[false]},"noTLSVerify":{"description":"Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.","type":"boolean","examples":[false]},"originServerName":{"description":"Hostname that cloudflared should expect from your origin server certificate.","type":"string"},"proxyType":{"description":"cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: \"\" for the regular proxy and \"socks\" for a SOCKS5 proxy.\n","type":"string"},"tcpKeepAlive":{"description":"The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.","type":"integer","examples":[30]},"tlsTimeout":{"description":"Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.","type":"integer","examples":[10]}}}}},"name":"Update Tunnel configuration","id":"cloudflare.cloudflare-tunnel-configuration-put-configuration","example":{"path":{"account_id":"023e105f4ecef8ad9ca31a8372d0c353","tunnel_id":"f70ff985-a4ef-4643-bbbc-4a0ed4fc8415"},"body":{}},"maxRequests":1,"summary":false}}