package slb

//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//
//http://www.apache.org/licenses/LICENSE-2.0
//
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
//
// Code generated by Alibaba Cloud SDK Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

// UDPListenerConfig is a nested struct in slb response
type UDPListenerConfig struct {
	HealthCheckHttpCode       string      `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
	ConnectionDrainTimeout    int         `json:"ConnectionDrainTimeout" xml:"ConnectionDrainTimeout"`
	HealthCheckInterval       int         `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
	HealthCheckExp            string      `json:"HealthCheckExp" xml:"HealthCheckExp"`
	HealthCheckURI            string      `json:"HealthCheckURI" xml:"HealthCheckURI"`
	HealthCheckSwitch         string      `json:"HealthCheckSwitch" xml:"HealthCheckSwitch"`
	FullNatEnabled            string      `json:"FullNatEnabled" xml:"FullNatEnabled"`
	HealthCheckConnectPort    int         `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
	HealthCheckType           string      `json:"HealthCheckType" xml:"HealthCheckType"`
	HealthCheckConnectTimeout int         `json:"HealthCheckConnectTimeout" xml:"HealthCheckConnectTimeout"`
	MasterSlaveServerGroupId  string      `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
	HealthyThreshold          int         `json:"HealthyThreshold" xml:"HealthyThreshold"`
	HealthCheckDomain         string      `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
	UnhealthyThreshold        int         `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
	ConnectionDrain           string      `json:"ConnectionDrain" xml:"ConnectionDrain"`
	HealthCheckReq            string      `json:"HealthCheckReq" xml:"HealthCheckReq"`
	HealthCheckMethod         string      `json:"HealthCheckMethod" xml:"HealthCheckMethod"`
	HealthCheck               string      `json:"HealthCheck" xml:"HealthCheck"`
	ProxyProtocolV2Enabled    string      `json:"ProxyProtocolV2Enabled" xml:"ProxyProtocolV2Enabled"`
	QuicVersion               string      `json:"QuicVersion" xml:"QuicVersion"`
	PersistenceTimeout        int         `json:"PersistenceTimeout" xml:"PersistenceTimeout"`
	MasterSlaveModeEnabled    bool        `json:"MasterSlaveModeEnabled" xml:"MasterSlaveModeEnabled"`
	MasterServerGroupId       string      `json:"MasterServerGroupId" xml:"MasterServerGroupId"`
	SlaveServerGroupId        string      `json:"SlaveServerGroupId" xml:"SlaveServerGroupId"`
	FailoverThreshold         int         `json:"FailoverThreshold" xml:"FailoverThreshold"`
	FailoverStrategy          string      `json:"FailoverStrategy" xml:"FailoverStrategy"`
	MaxConnection             int         `json:"MaxConnection" xml:"MaxConnection"`
	PortRanges                []PortRange `json:"PortRanges" xml:"PortRanges"`
}
