action hetzner_post_load_balancers_id_actions_update_service { label: "Update Service" description: "Updates a Load Balancer Service.\n\n#### Call specific error codes\n\n| Code | Description |\n|----------------------------|---------------------------------------------------------|\n| `source_port_already_used` | The source port you are trying to add is already in use |\n" provider: hetzner method: POST path: "/load_balancers/{id}/actions/update_service" encoding: json input: { type: "object" properties: { destination_port: { type: "integer" description: "Port the Load Balancer will balance to" } health_check: { type: "object" description: "Service health check" required: ["interval", "port", "protocol", "retries", "timeout"] properties: { http: { type: "object" description: "Additional configuration for protocol http" required: ["domain", "path"] properties: { domain: { type: "string" description: "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent." } path: { type: "string" description: "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead." } response: { type: "string" description: "String that must be contained in HTTP response in order to pass the health check" } status_codes: { type: "array" description: "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones. The default is to pass the health check for any status code between 2?? and 3??." items: { type: "string" } } tls: { type: "boolean" description: "Use HTTPS for health check" } } additionalProperties: false } interval: { type: "integer" description: "Time interval in seconds health checks are performed" } port: { type: "integer" description: "Port the health check will be performed on" } protocol: { type: "string" description: "Type of the health check" enum: ["tcp", "http"] } retries: { type: "integer" description: "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again" } timeout: { type: "integer" description: "Time in seconds after an attempt is considered a timeout" } } additionalProperties: false } http: { type: "object" description: "Configuration option for protocols http and https" properties: { certificates: { type: "array" description: "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is \"http\"" items: { type: "integer" } } cookie_lifetime: { type: "integer" description: "Lifetime of the cookie used for sticky sessions" } cookie_name: { type: "string" description: "Name of the cookie used for sticky sessions" } redirect_http: { type: "boolean" description: "Redirect HTTP requests to HTTPS. Only available if protocol is \"https\". Default `false`" } sticky_sessions: { type: "boolean" description: "Use sticky sessions. Only available if protocol is \"http\" or \"https\". Default `false`" } } } id: { type: "integer" } listen_port: { type: "integer" description: "Port the Load Balancer listens on" } protocol: { type: "string" description: "Protocol of the Load Balancer" enum: ["tcp", "http", "https"] } proxyprotocol: { type: "boolean" description: "Is Proxyprotocol enabled or not" } } required: ["destination_port", "health_check", "id", "listen_port", "protocol", "proxyprotocol"] additionalProperties: false } output: { type: "object" required: ["action"] properties: { action: { type: "object" required: ["command", "error", "finished", "id", "progress", "resources", "started", "status"] properties: { command: { type: "string" description: "Command executed in the Action" } error: { type: "object" description: "Error message for the Action if error occurred, otherwise null" required: ["code", "message"] properties: { code: { type: "string" description: "Fixed machine readable code" } message: { type: "string" description: "Humanized error message" } } } finished: { type: "string" description: "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null." } id: { type: "integer" description: "ID of the Resource" } progress: { type: "number" description: "Progress of Action in percent" } resources: { type: "array" description: "Resources the Action relates to" items: { type: "object" required: ["id", "type"] properties: { id: { type: "integer" description: "ID of the Resource" } type: { type: "string" description: "Type of resource referenced" } } } } started: { type: "string" description: "Point in time when the Action was started (in ISO-8601 format)" } status: { type: "string" description: "Status of the Action" enum: ["success", "running", "error"] } } } } } }