github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_http_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 LbHttpMonitor 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  	// String to send as part of HTTP health check request body. Valid only for certain HTTP methods like POST.
    79  	RequestBody string `json:"request_body,omitempty"`
    80  
    81  	// Array of HTTP request headers
    82  	RequestHeaders []LbHttpRequestHeader `json:"request_headers,omitempty"`
    83  
    84  	// the health check method for HTTP monitor type
    85  	RequestMethod string `json:"request_method,omitempty"`
    86  
    87  	// URL used for HTTP monitor
    88  	RequestUrl string `json:"request_url,omitempty"`
    89  
    90  	// HTTP request version
    91  	RequestVersion string `json:"request_version,omitempty"`
    92  
    93  	// 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.
    94  	ResponseBody string `json:"response_body,omitempty"`
    95  
    96  	// The HTTP response status code should be a valid HTTP status code.
    97  	ResponseStatusCodes []int32 `json:"response_status_codes,omitempty"`
    98  }