github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_https_monitor.go (about) 1 /* 2 * NSX API 3 * 4 * VMware NSX REST API 5 * 6 * API version: 1.0.0 7 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 */ 9 10 package loadbalancer 11 12 import ( 13 "github.com/vmware/go-vmware-nsxt/common" 14 ) 15 16 type LbHttpsMonitor struct { 17 18 // The server will populate this field when returing the resource. Ignored on PUT and POST. 19 Links []common.ResourceLink `json:"_links,omitempty"` 20 21 // Schema for this resource 22 Schema string `json:"_schema,omitempty"` 23 24 // Link to this resource 25 Self *common.SelfResourceLink `json:"_self,omitempty"` 26 27 // The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected. 28 Revision int32 `json:"_revision"` 29 30 // Timestamp of resource creation 31 CreateTime int64 `json:"_create_time,omitempty"` 32 33 // ID of the user who created this resource 34 CreateUser string `json:"_create_user,omitempty"` 35 36 // Timestamp of last modification 37 LastModifiedTime int64 `json:"_last_modified_time,omitempty"` 38 39 // ID of the user who last modified this resource 40 LastModifiedUser string `json:"_last_modified_user,omitempty"` 41 42 // Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity. 43 Protection string `json:"_protection,omitempty"` 44 45 // Indicates system owned resource 46 SystemOwned bool `json:"_system_owned,omitempty"` 47 48 // Description of this resource 49 Description string `json:"description,omitempty"` 50 51 // Defaults to ID if not set 52 DisplayName string `json:"display_name,omitempty"` 53 54 // Unique identifier of this resource 55 Id string `json:"id,omitempty"` 56 57 // Load balancers monitor the health of backend servers to ensure traffic is not black holed. There are two types of healthchecks: active and passive. Passive healthchecks depend on failures in actual client traffic (e.g. RST from server in response to a client connection) to detect that the server or the application is down. In case of active healthchecks, load balancer itself initiates new connections (or sends ICMP ping) to the servers periodically to check their health, completely independent of any data traffic. Currently, active health monitors are supported for HTTP, HTTPS, TCP, UDP and ICMP protocols. 58 ResourceType string `json:"resource_type"` 59 60 // Opaque identifiers meaningful to the API user 61 Tags []common.Tag `json:"tags,omitempty"` 62 63 // num of consecutive checks must fail before marking it down 64 FallCount int64 `json:"fall_count,omitempty"` 65 66 // the frequency at which the system issues the monitor check (in second) 67 Interval int64 `json:"interval,omitempty"` 68 69 // If the monitor port is specified, it would override pool member port setting for healthcheck. A port range is not supported. 70 MonitorPort string `json:"monitor_port,omitempty"` 71 72 // num of consecutive checks must pass before marking it up 73 RiseCount int64 `json:"rise_count,omitempty"` 74 75 // the number of seconds the target has in which to respond to the monitor request 76 Timeout int64 `json:"timeout,omitempty"` 77 78 // authentication depth is used to set the verification depth in the server certificates chain. 79 CertificateChainDepth int64 `json:"certificate_chain_depth,omitempty"` 80 81 // supported SSL cipher list to servers 82 Ciphers []string `json:"ciphers,omitempty"` 83 84 // client certificate can be specified to support client authentication. 85 ClientCertificateId string `json:"client_certificate_id,omitempty"` 86 87 // This flag is set to true when all the ciphers and protocols are secure. It is set to false when one of the ciphers or protocols is insecure. 88 IsSecure bool `json:"is_secure,omitempty"` 89 90 // SSL versions TLS1.1 and TLS1.2 are supported and enabled by default. SSLv2, SSLv3, and TLS1.0 are supported, but disabled by default. 91 Protocols []string `json:"protocols,omitempty"` 92 93 // String to send as part of HTTP health check request body. Valid only for certain HTTP methods like POST. 94 RequestBody string `json:"request_body,omitempty"` 95 96 // Array of HTTP request headers 97 RequestHeaders []LbHttpRequestHeader `json:"request_headers,omitempty"` 98 99 // the health check method for HTTP monitor type 100 RequestMethod string `json:"request_method,omitempty"` 101 102 // URL used for HTTP monitor 103 RequestUrl string `json:"request_url,omitempty"` 104 105 // HTTP request version 106 RequestVersion string `json:"request_version,omitempty"` 107 108 // If HTTP response body match string (regular expressions not supported) is specified (using LbHttpMonitor.response_body) then the healthcheck HTTP response body is matched against the specified string and server is considered healthy only if there is a match. If the response body string is not specified, HTTP healthcheck is considered successful if the HTTP response status code is 2xx, but it can be configured to accept other status codes as successful. 109 ResponseBody string `json:"response_body,omitempty"` 110 111 // The HTTP response status code should be a valid HTTP status code. 112 ResponseStatusCodes []int32 `json:"response_status_codes,omitempty"` 113 114 // server authentication mode 115 ServerAuth string `json:"server_auth,omitempty"` 116 117 // If server auth type is REQUIRED, server certificate must be signed by one of the trusted Certificate Authorities (CAs), also referred to as root CAs, whose self signed certificates are specified. 118 ServerAuthCaIds []string `json:"server_auth_ca_ids,omitempty"` 119 120 // A Certificate Revocation List (CRL) can be specified in the server-side SSL profile binding to disallow compromised server certificates. 121 ServerAuthCrlIds []string `json:"server_auth_crl_ids,omitempty"` 122 }