## Update Health Check `healthchecks.update(strhealthcheck_id, HealthcheckUpdateParams**kwargs) -> Healthcheck` **put** `/zones/{zone_id}/healthchecks/{healthcheck_id}` Update a configured health check. ### Parameters - `zone_id: str` Identifier - `healthcheck_id: str` Identifier - `address: str` The hostname or IP address of the origin server to run health checks on. - `name: str` A short name to identify the health check. Only alphanumeric characters, hyphens and underscores are allowed. - `check_regions: Optional[List[CheckRegion]]` A list of regions from which to run health checks. Null means Cloudflare will pick a default region. - `"WNAM"` - `"ENAM"` - `"WEU"` - `"EEU"` - `"NSAM"` - `"SSAM"` - `"OC"` - `"ME"` - `"NAF"` - `"SAF"` - `"IN"` - `"SEAS"` - `"NEAS"` - `"ALL_REGIONS"` - `consecutive_fails: Optional[int]` The number of consecutive fails required from a health check before changing the health to unhealthy. - `consecutive_successes: Optional[int]` The number of consecutive successes required from a health check before changing the health to healthy. - `description: Optional[str]` A human-readable description of the health check. - `http_config: Optional[HTTPConfigurationParam]` Parameters specific to an HTTP or HTTPS health check. - `allow_insecure: Optional[bool]` Do not validate the certificate when the health check uses HTTPS. - `expected_body: Optional[str]` A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. - `expected_codes: Optional[List[str]]` The expected HTTP response codes (e.g. "200") or code ranges (e.g. "2xx" for all codes starting with 2) of the health check. - `follow_redirects: Optional[bool]` Follow redirects if the origin returns a 3xx status code. - `header: Optional[Dict[str, List[str]]]` The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. - `method: Optional[Literal["GET", "HEAD"]]` The HTTP method to use for the health check. - `"GET"` - `"HEAD"` - `path: Optional[str]` The endpoint path to health check against. - `port: Optional[int]` Port number to connect to for the health check. Defaults to 80 if type is HTTP or 443 if type is HTTPS. - `interval: Optional[int]` The interval between each health check. Shorter intervals may give quicker notifications if the origin status changes, but will increase load on the origin as we check from multiple locations. - `retries: Optional[int]` The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. - `suspended: Optional[bool]` If suspended, no health checks are sent to the origin. - `tcp_config: Optional[TCPConfigurationParam]` Parameters specific to TCP health check. - `method: Optional[Literal["connection_established"]]` The TCP connection method to use for the health check. - `"connection_established"` - `port: Optional[int]` Port number to connect to for the health check. Defaults to 80. - `healthcheck_timeout: Optional[int]` The timeout (in seconds) before marking the health check as failed. - `type: Optional[str]` The protocol to use for the health check. Currently supported protocols are 'HTTP', 'HTTPS' and 'TCP'. ### Returns - `class Healthcheck: …` - `id: Optional[str]` Identifier - `address: Optional[str]` The hostname or IP address of the origin server to run health checks on. - `check_regions: Optional[List[CheckRegion]]` A list of regions from which to run health checks. Null means Cloudflare will pick a default region. - `"WNAM"` - `"ENAM"` - `"WEU"` - `"EEU"` - `"NSAM"` - `"SSAM"` - `"OC"` - `"ME"` - `"NAF"` - `"SAF"` - `"IN"` - `"SEAS"` - `"NEAS"` - `"ALL_REGIONS"` - `consecutive_fails: Optional[int]` The number of consecutive fails required from a health check before changing the health to unhealthy. - `consecutive_successes: Optional[int]` The number of consecutive successes required from a health check before changing the health to healthy. - `created_on: Optional[datetime]` - `description: Optional[str]` A human-readable description of the health check. - `failure_reason: Optional[str]` The current failure reason if status is unhealthy. - `http_config: Optional[HTTPConfiguration]` Parameters specific to an HTTP or HTTPS health check. - `allow_insecure: Optional[bool]` Do not validate the certificate when the health check uses HTTPS. - `expected_body: Optional[str]` A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. - `expected_codes: Optional[List[str]]` The expected HTTP response codes (e.g. "200") or code ranges (e.g. "2xx" for all codes starting with 2) of the health check. - `follow_redirects: Optional[bool]` Follow redirects if the origin returns a 3xx status code. - `header: Optional[Dict[str, List[str]]]` The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. - `method: Optional[Literal["GET", "HEAD"]]` The HTTP method to use for the health check. - `"GET"` - `"HEAD"` - `path: Optional[str]` The endpoint path to health check against. - `port: Optional[int]` Port number to connect to for the health check. Defaults to 80 if type is HTTP or 443 if type is HTTPS. - `interval: Optional[int]` The interval between each health check. Shorter intervals may give quicker notifications if the origin status changes, but will increase load on the origin as we check from multiple locations. - `modified_on: Optional[datetime]` - `name: Optional[str]` A short name to identify the health check. Only alphanumeric characters, hyphens and underscores are allowed. - `retries: Optional[int]` The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately. - `status: Optional[Literal["unknown", "healthy", "unhealthy", "suspended"]]` The current status of the origin server according to the health check. - `"unknown"` - `"healthy"` - `"unhealthy"` - `"suspended"` - `suspended: Optional[bool]` If suspended, no health checks are sent to the origin. - `tcp_config: Optional[TCPConfiguration]` Parameters specific to TCP health check. - `method: Optional[Literal["connection_established"]]` The TCP connection method to use for the health check. - `"connection_established"` - `port: Optional[int]` Port number to connect to for the health check. Defaults to 80. - `timeout: Optional[int]` The timeout (in seconds) before marking the health check as failed. - `type: Optional[str]` The protocol to use for the health check. Currently supported protocols are 'HTTP', 'HTTPS' and 'TCP'. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) healthcheck = client.healthchecks.update( healthcheck_id="023e105f4ecef8ad9ca31a8372d0c353", zone_id="023e105f4ecef8ad9ca31a8372d0c353", address="www.example.com", name="server-1", ) print(healthcheck.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "address": "www.example.com", "check_regions": [ "WEU", "ENAM" ], "consecutive_fails": 0, "consecutive_successes": 0, "created_on": "2014-01-01T05:20:00.12345Z", "description": "Health check for www.example.com", "failure_reason": "", "http_config": { "allow_insecure": true, "expected_body": "success", "expected_codes": [ "2xx", "302" ], "follow_redirects": true, "header": { "Host": [ "example.com" ], "X-App-ID": [ "abc123" ] }, "method": "GET", "path": "/health", "port": 0 }, "interval": 0, "modified_on": "2014-01-01T05:20:00.12345Z", "name": "server-1", "retries": 0, "status": "healthy", "suspended": true, "tcp_config": { "method": "connection_established", "port": 0 }, "timeout": 0, "type": "HTTPS" }, "success": true } ```