Configuring a Health Check ========================== Function ^^^^^^^^ This API is used to configure a health check. Constraints ^^^^^^^^^^^ The security groups must have rules that allow access from 100.125.0.0/16. If you want to use UDP for health checks, ensure that the protocol of the backend server group is UDP. URI ^^^ POST /v3/{project_id}/elb/healthmonitors .. table:: **Table 1** Path parameters ========== ========= ====== ========================= Parameter Mandatory Type Description ========== ========= ====== ========================= project_id Yes String Specifies the project ID. ========== ========= ====== ========================= Request Parameters ^^^^^^^^^^^^^^^^^^ .. table:: **Table 2** Request header parameters ============ ========= ====== ================================================ Parameter Mandatory Type Description ============ ========= ====== ================================================ X-Auth-Token Yes String Specifies the token used for IAM authentication. ============ ========= ====== ================================================ .. table:: **Table 3** Request body parameters +---------------+-----------+-------------------------------------------+-----------------------------+ | Parameter | Mandatory | Type | Description | +===============+===========+===========================================+=============================+ | healthmonitor | Yes | `Crea | Specifies the health check. | | | | teHealthMonitorOption <#CreateHealthMonit | | | | | or__request_CreateHealthMonitorOption>`__ | | | | | object | | +---------------+-----------+-------------------------------------------+-----------------------------+ .. table:: **Table 4** CreateHealthMonitorOption +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | Parameter | Mandatory | Type | Description | +=============================+=============================+=============================+=============================+ | admin_state_up | No | Boolean | Specifies the | | | | | administrative status of | | | | | the health check. Two value | | | | | options are available. | | | | | **true** indicates that the | | | | | health check is enabled, | | | | | and **false** indicates | | | | | that the health check is | | | | | disabled. | | | | | | | | | | Default: **true** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | delay | Yes | Integer | Specifies the interval | | | | | between health checks, in | | | | | seconds. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **50** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | domain_name | No | String | Specifies the domain name | | | | | that HTTP requests are sent | | | | | to during the health check. | | | | | | | | | | This parameter is available | | | | | only when **type** is set | | | | | to **HTTP**. | | | | | | | | | | The value is left blank by | | | | | default, indicating that | | | | | the virtual IP address of | | | | | the load balancer is used | | | | | as the destination address | | | | | of HTTP requests. | | | | | | | | | | The value can contain only | | | | | digits, letters, hyphens | | | | | (-), and periods (.) and | | | | | must start with a digit or | | | | | letter. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **100** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | expected_codes | No | String | Specifies the expected HTTP | | | | | status code. This parameter | | | | | will take effect only when | | | | | **type** is set to | | | | | **HTTP**. | | | | | | | | | | The value options are as | | | | | follows: | | | | | | | | | | - A specific value, for | | | | | example, 200 | | | | | | | | | | - A list of values that | | | | | are separated with | | | | | commas (,), for example, | | | | | 200, 202 | | | | | | | | | | - A value range, for | | | | | example, 200-204 | | | | | | | | | | This parameter is | | | | | unsupported. Please do not | | | | | use it. | | | | | | | | | | Default: **200** | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **64** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | http_method | No | String | Specifies the HTTP method. | | | | | | | | | | The value can be **GET**, | | | | | **HEAD**, **POST**, | | | | | **PUT**, **DELETE**, | | | | | **TRACE**, **OPTIONS**, | | | | | **CONNECT**, or **PATCH**. | | | | | | | | | | This parameter will take | | | | | effect only when **type** | | | | | is set to **HTTP**. | | | | | | | | | | This parameter is | | | | | unsupported. Please do not | | | | | use it. | | | | | | | | | | Default: **GET** | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **16** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | max_retries | Yes | Integer | Specifies the number of | | | | | consecutive health checks | | | | | when the health check | | | | | result of a backend server | | | | | changes from **OFFLINE** to | | | | | **ONLINE**. The value | | | | | ranges from **1** to | | | | | **10**. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **10** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | max_retries_down | No | Integer | Specifies the number of | | | | | consecutive health checks | | | | | when the health check | | | | | result of a backend server | | | | | changes from **ONLINE** to | | | | | **OFFLINE**. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **10** | | | | | | | | | | Default: **3** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | monitor_port | No | Integer | Specifies the port used for | | | | | the health check. If this | | | | | parameter is left blank, | | | | | the port of the backend | | | | | server group will be used | | | | | by default. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **65535** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | name | No | String | Specifies the health check | | | | | name. | | | | | | | | | | Minimum: **0** | | | | | | | | | | Maximum: **255** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | pool_id | Yes | String | Specifies the ID of the | | | | | backend server group for | | | | | which the health check is | | | | | configured. | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | project_id | No | String | Specifies the project ID. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **32** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | timeout | Yes | Integer | Specifies the maximum time | | | | | required for waiting for a | | | | | response from the health | | | | | check, in seconds. It is | | | | | recommended that you set | | | | | the value less than that of | | | | | parameter **delay**. | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **50** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | type | Yes | String | Specifies the health check | | | | | protocol. | | | | | | | | | | The value can be **TCP**, | | | | | **UDP_CONNECT**, **HTTP**, | | | | | **HTTPS**, or **PING**. | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | url_path | No | String | Specifies the HTTP request | | | | | path for the health check. | | | | | The value must start with a | | | | | slash (/), and the default | | | | | value is /. This parameter | | | | | is available only when | | | | | **type** is set to | | | | | **HTTP**. | | | | | | | | | | Default: **/** | | | | | | | | | | Minimum: **1** | | | | | | | | | | Maximum: **255** | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ Response Parameters ^^^^^^^^^^^^^^^^^^^ **Status code: 201** .. table:: **Table 5** Response body parameters +---------------+-------------------------------------------------+-------------------------------------------------+ | Parameter | Type | Description | +===============+=================================================+=================================================+ | request_id | String | Specifies the request ID. The value is | | | | automatically generated. | +---------------+-------------------------------------------------+-------------------------------------------------+ | healthmonitor | `HealthMonitor <# | Specifies the health check. | | | CreateHealthMonitor__response_HealthMonitor>`__ | | | | object | | +---------------+-------------------------------------------------+-------------------------------------------------+ .. table:: **Table 6** HealthMonitor +---------------------------------------+---------------------------------------+---------------------------------------+ | Parameter | Type | Description | +=======================================+=======================================+=======================================+ | admin_state_up | Boolean | Specifies the administrative status | | | | of the health check. Two value | | | | options are available. **true** | | | | indicates that the health check is | | | | enabled, and **false** indicates that | | | | the health check is disabled. | | | | | | | | Default: **true** | +---------------------------------------+---------------------------------------+---------------------------------------+ | delay | Integer | Specifies the interval between health | | | | checks, in seconds. | | | | | | | | Minimum: **1** | | | | | | | | Maximum: **50** | +---------------------------------------+---------------------------------------+---------------------------------------+ | domain_name | String | Specifies the domain name that HTTP | | | | requests are sent to during the | | | | health check. | | | | | | | | This parameter is available only when | | | | **type** is set to **HTTP**. | | | | | | | | The value is left blank by default, | | | | indicating that the virtual IP | | | | address of the load balancer is used | | | | as the destination address of HTTP | | | | requests. | | | | | | | | The value can contain only digits, | | | | letters, hyphens (-), and periods (.) | | | | and must start with a digit or | | | | letter. | +---------------------------------------+---------------------------------------+---------------------------------------+ | expected_codes | String | Specifies the expected HTTP status | | | | code. This parameter will take effect | | | | only when **type** is set to | | | | **HTTP**. | | | | | | | | The value options are as follows: | | | | | | | | - A specific value, for example, 200 | | | | | | | | - A list of values that are | | | | separated with commas (,), for | | | | example, 200, 202 | | | | | | | | - A value range, for example, | | | | 200-204 | | | | | | | | This parameter is unsupported. Please | | | | do not use it. | | | | | | | | Default: **200** | +---------------------------------------+---------------------------------------+---------------------------------------+ | http_method | String | Specifies the HTTP method. This | | | | parameter will take effect only when | | | | **type** is set to **HTTP**. | | | | | | | | The value can be **GET**, **HEAD**, | | | | **POST**, **PUT**, **DELETE**, | | | | **TRACE**, **OPTIONS**, **CONNECT**, | | | | or **PATCH**. | | | | | | | | This parameter is unsupported. Please | | | | do not use it. | | | | | | | | Default: **GET** | +---------------------------------------+---------------------------------------+---------------------------------------+ | id | String | Specifies the health check ID. | +---------------------------------------+---------------------------------------+---------------------------------------+ | max_retries | Integer | Specifies the number of consecutive | | | | health checks when the health check | | | | result of a backend server changes | | | | from **OFFLINE** to **ONLINE**. The | | | | value ranges from **1** to **10**. | | | | | | | | Minimum: **1** | | | | | | | | Maximum: **10** | +---------------------------------------+---------------------------------------+---------------------------------------+ | max_retries_down | Integer | Specifies the number of consecutive | | | | health checks when the health check | | | | result of a backend server changes | | | | from **ONLINE** to **OFFLINE**. | | | | | | | | Minimum: **1** | | | | | | | | Maximum: **10** | | | | | | | | Default: **3** | +---------------------------------------+---------------------------------------+---------------------------------------+ | monitor_port | Integer | Specifies the port used for the | | | | health check. If this parameter is | | | | left blank, the port of the backend | | | | server group will be used by default. | | | | | | | | Minimum: **1** | | | | | | | | Maximum: **65535** | +---------------------------------------+---------------------------------------+---------------------------------------+ | name | String | Specifies the health check name. | +---------------------------------------+---------------------------------------+---------------------------------------+ | pools | Array of | Lists the IDs of backend server | | | `PoolRef <#Crea | groups for which the health check is | | | teHealthMonitor__response_PoolRef>`__ | configured. | | | objects | | +---------------------------------------+---------------------------------------+---------------------------------------+ | project_id | String | Specifies the project ID. | +---------------------------------------+---------------------------------------+---------------------------------------+ | timeout | Integer | Specifies the maximum time required | | | | for waiting for a response from the | | | | health check, in seconds. It is | | | | recommended that you set the value | | | | less than that of parameter | | | | **delay**. | | | | | | | | Minimum: **1** | | | | | | | | Maximum: **50** | +---------------------------------------+---------------------------------------+---------------------------------------+ | type | String | Specifies the health check protocol. | +---------------------------------------+---------------------------------------+---------------------------------------+ | url_path | String | Specifies the HTTP request path for | | | | the health check. The value must | | | | start with a slash (/), and the | | | | default value is /. This parameter is | | | | available only when **type** is set | | | | to **HTTP**. | | | | | | | | Default: **/** | +---------------------------------------+---------------------------------------+---------------------------------------+ .. table:: **Table 7** PoolRef ========= ====== ============================================= Parameter Type Description ========= ====== ============================================= id String Specifies the ID of the backend server group. ========= ====== ============================================= Example Requests ^^^^^^^^^^^^^^^^ .. code:: screen POST https://{elb_endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/healthmonitors { "healthmonitor" : { "name" : "My Healthmonitor", "max_retries" : 3, "pool_id" : "488acc50-6bcf-423d-8f0a-0f4184f5b8a0", "type" : "HTTP", "timeout" : 30, "delay" : 1 } } Example Responses ^^^^^^^^^^^^^^^^^ **Status code: 201** Successful request. .. code:: screen { "request_id" : "0e837340-f1bd-4037-8f61-9923d0f0b19e", "healthmonitor" : { "id" : "c2b210b2-60c4-449d-91e2-9e9ea1dd7441", "project_id" : "99a3fff0d03c428eac3678da6a7d0f24", "name" : "My Healthmonitor", "delay" : 1, "max_retries" : 3, "pools" : [ { "id" : "488acc50-6bcf-423d-8f0a-0f4184f5b8a0" } ], "admin_state_up" : true, "timeout" : 30, "type" : "HTTP", "expected_codes" : "200", "url_path" : "/", "http_method" : "GET" } } Status Codes ^^^^^^^^^^^^ =========== =================== Status Code Description =========== =================== 201 Successful request. =========== =================== Error Codes ^^^^^^^^^^^ See `Error Codes `__. **Parent topic:** `Health Check `__