github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_fast_udp_profile.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 LbFastUdpProfile 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 // An application profile can be bound to a virtual server to specify the application protocol characteristics. It is used to influence how load balancing is performed. Currently, three types of application profiles are supported: LbFastTCPProfile, LbFastUDPProfile and LbHttpProfile. LbFastTCPProfile or LbFastUDPProfile is typically used when the application is using a custom protocol or a standard protocol not supported by the load balancer. It is also used in cases where the user only wants L4 load balancing mainly because L4 load balancing has much higher performance and scalability, and/or supports connection mirroring. LbHttpProfile is used for both HTTP and HTTPS applications. Though application rules, if bound to the virtual server, can be used to accomplish the same goal, LbHttpProfile is intended to simplify enabling certain common use cases. 58 ResourceType string `json:"resource_type"` 59 60 // Opaque identifiers meaningful to the API user 61 Tags []common.Tag `json:"tags,omitempty"` 62 63 // If flow mirroring is enabled, all the flows to the bounded virtual server are mirrored to the standby node. 64 FlowMirroringEnabled bool `json:"flow_mirroring_enabled"` 65 66 // Though UDP is a connectionless protocol, for the purposes of load balancing, all UDP packets with the same flow signature (source and destination IP/ports and IP protocol) received within the idle timeout period are considered to belong to the same connection and are sent to the same backend server. If no packets are received for idle timeout period, the connection (association between flow signature and the selected server) is cleaned up. 67 IdleTimeout int64 `json:"idle_timeout,omitempty"` 68 }