github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_pool.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 LbPool 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"` 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 // The type of this resource. 58 ResourceType string `json:"resource_type,omitempty"` 59 60 // Opaque identifiers meaningful to the API user 61 Tags []common.Tag `json:"tags,omitempty"` 62 63 // 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. Active healthchecks are disabled by default and can be enabled for a server pool by binding a health monitor to the pool. Currently, only one active health monitor can be configured per server pool. 64 ActiveMonitorIds []string `json:"active_monitor_ids,omitempty"` 65 66 // Load balancing algorithm, configurable per pool controls how the incoming connections are distributed among the members. 67 Algorithm string `json:"algorithm,omitempty"` 68 69 // Load balancer pool support grouping object as dynamic pool members. When member group is defined, members setting should not be specified. 70 MemberGroup *PoolMemberGroup `json:"member_group,omitempty"` 71 72 // Server pool consists of one or more pool members. Each pool member is identified, typically, by an IP address and a port. 73 Members []PoolMember `json:"members,omitempty"` 74 75 // A pool is considered active if there are at least certain minimum number of members. 76 MinActiveMembers int64 `json:"min_active_members,omitempty"` 77 78 // Passive healthchecks are disabled by default and can be enabled by attaching a passive health monitor to a server pool. Each time a client connection to a pool member fails, its failed count is incremented. For pools bound to L7 virtual servers, a connection is considered to be failed and failed count is incremented if any TCP connection errors (e.g. TCP RST or failure to send data) or SSL handshake failures occur. For pools bound to L4 virtual servers, if no response is received to a TCP SYN sent to the pool member or if a TCP RST is received in response to a TCP SYN, then the pool member is considered to have failed and the failed count is incremented. 79 PassiveMonitorId string `json:"passive_monitor_id,omitempty"` 80 81 // Depending on the topology, Source NAT (SNAT) may be required to ensure traffic from the server destined to the client is received by the load balancer. SNAT can be enabled per pool. If SNAT is not enabled for a pool, then load balancer uses the client IP and port (spoofing) while establishing connections to the servers. This is referred to as no-SNAT or TRANSPARENT mode. 82 SnatTranslation *LbSnatTranslation `json:"snat_translation,omitempty"` 83 84 // TCP multiplexing allows the same TCP connection between load balancer and the backend server to be used for sending multiple client requests from different client TCP connections. 85 TcpMultiplexingEnabled bool `json:"tcp_multiplexing_enabled,omitempty"` 86 87 // The maximum number of TCP connections per pool that are idly kept alive for sending future client requests. 88 TcpMultiplexingNumber int64 `json:"tcp_multiplexing_number,omitempty"` 89 }