github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/loadbalancer/lb_http_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 LbHttpProfile 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 a website is temporarily down or has moved, incoming requests for that virtual server can be temporarily redirected to a URL
    64  	HttpRedirectTo string `json:"http_redirect_to,omitempty"`
    65  
    66  	// Certain secure applications may want to force communication over SSL, but instead of rejecting non-SSL connections, they may choose to redirect the client automatically to use SSL.
    67  	HttpRedirectToHttps bool `json:"http_redirect_to_https"`
    68  
    69  	// It is used to specify the HTTP application idle time out, instead of TCP socket setting which should be configured in TCP profile.
    70  	IdleTimeout int64 `json:"idle_timeout,omitempty"`
    71  
    72  	// NTLM is an authentication protocol that can be used over HTTP. If the flag is set to true, LB will use NTLM challenge/response methodology.
    73  	Ntlm bool `json:"ntlm"`
    74  
    75  	// If it is not specified, it means that request body size is unlimited.
    76  	RequestBodySize int64 `json:"request_body_size,omitempty"`
    77  
    78  	// A request with header larger than request_header_size will be processed as best effort whereas a request with header below this specified size is guaranteed to be processed.
    79  	RequestHeaderSize int64 `json:"request_header_size,omitempty"`
    80  
    81  	// If server doesnt send any packet within this time, the connection is closed.
    82  	ResponseTimeout int64 `json:"response_timeout,omitempty"`
    83  
    84  	// insert or replace x_forwarded_for
    85  	XForwardedFor string `json:"x_forwarded_for,omitempty"`
    86  }