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 }