github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_tcp_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  // TCP profile allows customization of TCP stack behavior for each application. As TCP connections are terminated (or initiated) on the load balancer only for L7 virtual servers, TCP profiles are applicable only to them. As the desired TCP characteristics (e.g. Rx/Tx buffers) may be different for client (typically on WAN) and server (typically on LAN) sides, two separate profiles can be bound to virtual server, one for client-side (LbVirtualServer.client_tcp_profile_id) and another for server-side (LbVirtualServer.server_tcp_profile_id).
    17  type LbTcpProfile struct {
    18  
    19  	// The server will populate this field when returing the resource. Ignored on PUT and POST.
    20  	Links []common.ResourceLink `json:"_links,omitempty"`
    21  
    22  	// Schema for this resource
    23  	Schema string `json:"_schema,omitempty"`
    24  
    25  	// Link to this resource
    26  	Self *common.SelfResourceLink `json:"_self,omitempty"`
    27  
    28  	// 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.
    29  	Revision int32 `json:"_revision"`
    30  
    31  	// Timestamp of resource creation
    32  	CreateTime int64 `json:"_create_time,omitempty"`
    33  
    34  	// ID of the user who created this resource
    35  	CreateUser string `json:"_create_user,omitempty"`
    36  
    37  	// Timestamp of last modification
    38  	LastModifiedTime int64 `json:"_last_modified_time,omitempty"`
    39  
    40  	// ID of the user who last modified this resource
    41  	LastModifiedUser string `json:"_last_modified_user,omitempty"`
    42  
    43  	// 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.
    44  	Protection string `json:"_protection,omitempty"`
    45  
    46  	// Indicates system owned resource
    47  	SystemOwned bool `json:"_system_owned,omitempty"`
    48  
    49  	// Description of this resource
    50  	Description string `json:"description,omitempty"`
    51  
    52  	// Defaults to ID if not set
    53  	DisplayName string `json:"display_name,omitempty"`
    54  
    55  	// Unique identifier of this resource
    56  	Id string `json:"id,omitempty"`
    57  
    58  	// The type of this resource.
    59  	ResourceType string `json:"resource_type,omitempty"`
    60  
    61  	// Opaque identifiers meaningful to the API user
    62  	Tags []common.Tag `json:"tags,omitempty"`
    63  
    64  	// If the field is not specified, the load balancer will use the default setting per load balancer service flavor.
    65  	FinWait2Timeout int64 `json:"fin_wait2_timeout,omitempty"`
    66  
    67  	// If the field is not specified, the load balancer will use the default setting per load balancer service flavor.
    68  	MaxSynRetransmissions int64 `json:"max_syn_retransmissions,omitempty"`
    69  
    70  	// Setting this option to enable or disable Nagle's algorithm.
    71  	NagleAlgorithmEnabled bool `json:"nagle_algorithm_enabled"`
    72  
    73  	// If the field is not specified, the load balancer will use the default setting per load balancer service flavor.
    74  	ReceiveWindowSize int64 `json:"receive_window_size,omitempty"`
    75  
    76  	// If the field is not specified, the load balancer will use the default setting per load balancer service flavor.
    77  	TransmitWindowSize int64 `json:"transmit_window_size,omitempty"`
    78  }