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  }