// Code Generated by gadget/xsdk, DO NOT EDIT

package gtm

type CreateGTMRequest struct {
	Version      *string `form:"-" json:"-"`
	XTopRegion   *string `form:"-" json:"-"`
	XTopService  *string `form:"-" json:"-"`
	AccMode      *string `form:"-" json:"-"`
	AddrType     *string `form:"-" json:"-"`
	AlarmOnly    *string `form:"-" json:"-"`
	Cname        *string `form:"-" json:"-"`
	Domain       *string `form:"-" json:"-"`
	FoMode       *string `form:"-" json:"-"`
	LastOperator *string `form:"-" json:"-"`
	LbMode       *string `form:"-" json:"-"`
	MaxServer    *string `form:"-" json:"-"`
	Owner        *string `form:"-" json:"-"`
	Platform     *string `form:"-" json:"-"`
	PrivInfo     *string `form:"-" json:"-"`
	SchedMode    *string `form:"-" json:"-"`
	TTL          *string `form:"-" json:"-"`
}

type CreateGTMResponse struct {
	AccMode           *int64            `form:"acc_mode" json:"acc_mode,omitempty"`
	AddrType          *int64            `form:"addr_type" json:"addr_type,omitempty"`
	AlarmOnly         *bool             `form:"alarm_only" json:"alarm_only,omitempty"`
	Cname             *string           `form:"cname" json:"cname,omitempty"`
	ConfigurationCode *string           `form:"configuration_code" json:"configuration_code,omitempty"`
	Domain            *string           `form:"domain" json:"domain,omitempty"`
	FoMode            *int64            `form:"fo_mode" json:"fo_mode,omitempty"`
	ID                *string           `form:"id" json:"id,omitempty"`
	InstanceID        *string           `form:"instance_id" json:"instance_id,omitempty"`
	InstanceStatus    *int64            `form:"instance_status" json:"instance_status,omitempty"`
	LastOperator      *string           `form:"last_operator" json:"last_operator,omitempty"`
	LbMode            *int64            `form:"lb_mode" json:"lb_mode,omitempty"`
	MaxServer         *int64            `form:"max_server" json:"max_server,omitempty"`
	Owner             *string           `form:"owner" json:"owner,omitempty"`
	Platform          *string           `form:"platform" json:"platform,omitempty"`
	PoolStats         *string           `form:"pool_stats" json:"pool_stats,omitempty"`
	PrivInfo          *string           `form:"priv_info" json:"priv_info,omitempty"`
	Probe             *ProbeParam       `form:"probe" json:"probe,omitempty"`
	Remark            *string           `form:"remark" json:"remark,omitempty"`
	SchedMode         *int64            `form:"sched_mode" json:"sched_mode,omitempty"`
	State             *int64            `form:"state" json:"state,omitempty"`
	Tags              map[string]string `form:"tags" json:"tags,omitempty"`
	TsDel             *string           `form:"ts_del" json:"ts_del,omitempty"`
	TsExpired         *string           `form:"ts_expired" json:"ts_expired,omitempty"`
	TsMod             *string           `form:"ts_mod" json:"ts_mod,omitempty"`
	TsNew             *string           `form:"ts_new" json:"ts_new,omitempty"`
	TTL               *int64            `form:"ttl" json:"ttl,omitempty"`
	Views             map[string]View   `form:"views" json:"views,omitempty"`
}

type DeleteGTMRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
}

type FindGTMsRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	Cname       *string `form:"-" json:"-"`
	DnsProv     *string `form:"-" json:"-"`
	Domain      *string `form:"-" json:"-"`
	PageNumber  *string `form:"-" json:"-"`
	PageSize    *string `form:"-" json:"-"`
	PrivInfo    *string `form:"-" json:"-"`
	State       *string `form:"-" json:"-"`
}

type FindGTMsResponse struct {
	List  []GTM  `form:"list" json:"list,omitempty"`
	Total *int64 `form:"total" json:"total,omitempty"`
}

type ModifyGTMRequest struct {
	Version      *string `form:"-" json:"-"`
	XTopRegion   *string `form:"-" json:"-"`
	XTopService  *string `form:"-" json:"-"`
	AccMode      *string `form:"-" json:"-"`
	AddrType     *string `form:"-" json:"-"`
	AlarmOnly    *string `form:"-" json:"-"`
	Cname        *string `form:"-" json:"-"`
	Domain       *string `form:"-" json:"-"`
	FoMode       *string `form:"-" json:"-"`
	ID           *string `form:"-" json:"-"`
	LastOperator *string `form:"-" json:"-"`
	LbMode       *string `form:"-" json:"-"`
	MaxServer    *string `form:"-" json:"-"`
	Owner        *string `form:"-" json:"-"`
	Platform     *string `form:"-" json:"-"`
	PrivInfo     *string `form:"-" json:"-"`
	SchedMode    *string `form:"-" json:"-"`
	TTL          *string `form:"-" json:"-"`
}

type ReadGTMRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
}

type ReadGTMResponse struct {
	AccMode           *int64            `form:"acc_mode" json:"acc_mode,omitempty"`
	AddrType          *int64            `form:"addr_type" json:"addr_type,omitempty"`
	AlarmOnly         *bool             `form:"alarm_only" json:"alarm_only,omitempty"`
	Cname             *string           `form:"cname" json:"cname,omitempty"`
	ConfigurationCode *string           `form:"configuration_code" json:"configuration_code,omitempty"`
	Domain            *string           `form:"domain" json:"domain,omitempty"`
	FoMode            *int64            `form:"fo_mode" json:"fo_mode,omitempty"`
	ID                *string           `form:"id" json:"id,omitempty"`
	InstanceID        *string           `form:"instance_id" json:"instance_id,omitempty"`
	InstanceStatus    *int64            `form:"instance_status" json:"instance_status,omitempty"`
	LastOperator      *string           `form:"last_operator" json:"last_operator,omitempty"`
	LbMode            *int64            `form:"lb_mode" json:"lb_mode,omitempty"`
	MaxServer         *int64            `form:"max_server" json:"max_server,omitempty"`
	Owner             *string           `form:"owner" json:"owner,omitempty"`
	Platform          *string           `form:"platform" json:"platform,omitempty"`
	PoolStats         *string           `form:"pool_stats" json:"pool_stats,omitempty"`
	PrivInfo          *string           `form:"priv_info" json:"priv_info,omitempty"`
	Probe             *ProbeParam       `form:"probe" json:"probe,omitempty"`
	Remark            *string           `form:"remark" json:"remark,omitempty"`
	SchedMode         *int64            `form:"sched_mode" json:"sched_mode,omitempty"`
	State             *int64            `form:"state" json:"state,omitempty"`
	Tags              map[string]string `form:"tags" json:"tags,omitempty"`
	TsDel             *string           `form:"ts_del" json:"ts_del,omitempty"`
	TsExpired         *string           `form:"ts_expired" json:"ts_expired,omitempty"`
	TsMod             *string           `form:"ts_mod" json:"ts_mod,omitempty"`
	TsNew             *string           `form:"ts_new" json:"ts_new,omitempty"`
	TTL               *int64            `form:"ttl" json:"ttl,omitempty"`
	Views             map[string]View   `form:"views" json:"views,omitempty"`
}

type StartGTMRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
}

type StopGTMRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
}

type ModifyProbeRequest struct {
	Version     *string           `form:"-" json:"-"`
	XTopRegion  *string           `form:"-" json:"-"`
	XTopService *string           `form:"-" json:"-"`
	Count       *int64            `form:"count" json:"count,omitempty"`
	Enable      *bool             `form:"enable" json:"enable,omitempty"`
	FailCount   *int64            `form:"fail_count" json:"fail_count,omitempty"`
	Host        *string           `form:"host" json:"host,omitempty"`
	HttpBody    *string           `form:"http_body" json:"http_body,omitempty"`
	HttpHeader  map[string]string `form:"http_header" json:"http_header,omitempty"`
	HttpMethod  *string           `form:"http_method" json:"http_method,omitempty"`
	ID          *string           `form:"-" json:"-"`
	Interval    *int64            `form:"interval" json:"interval,omitempty"`
	Port        *int64            `form:"port" json:"port,omitempty"`
	Proto       *string           `form:"proto" json:"proto,omitempty"`
	Sni         *string           `form:"sni" json:"sni,omitempty"`
	StCodeMin   *int64            `form:"st_code_min" json:"st_code_min,omitempty"`
	Timeout     *string           `form:"timeout" json:"timeout,omitempty"`
	Url         *string           `form:"url" json:"url,omitempty"`
}

type ReadProbeRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
}

type ReadProbeResponse struct {
	Version     *string           `form:"Version" json:"Version,omitempty"`
	XTopRegion  *string           `form:"XTopRegion" json:"XTopRegion,omitempty"`
	XTopService *string           `form:"XTopService" json:"XTopService,omitempty"`
	Count       *int64            `form:"count" json:"count,omitempty"`
	Enable      *bool             `form:"enable" json:"enable,omitempty"`
	FailCount   *int64            `form:"fail_count" json:"fail_count,omitempty"`
	Host        *string           `form:"host" json:"host,omitempty"`
	HttpBody    *string           `form:"http_body" json:"http_body,omitempty"`
	HttpHeader  map[string]string `form:"http_header" json:"http_header,omitempty"`
	HttpMethod  *string           `form:"http_method" json:"http_method,omitempty"`
	ID          *string           `form:"id" json:"id,omitempty"`
	Interval    *int64            `form:"interval" json:"interval,omitempty"`
	Port        *int64            `form:"port" json:"port,omitempty"`
	Proto       *string           `form:"proto" json:"proto,omitempty"`
	Sni         *string           `form:"sni" json:"sni,omitempty"`
	StCodeMin   *int64            `form:"st_code_min" json:"st_code_min,omitempty"`
	Timeout     *string           `form:"timeout" json:"timeout,omitempty"`
	Url         *string           `form:"url" json:"url,omitempty"`
}

type StatsRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
}

type StatsResponse struct {
	AlarmOnlys *int64           `form:"alarm_onlys" json:"alarm_onlys,omitempty"`
	Lines      map[string]int64 `form:"lines" json:"lines,omitempty"`
	Noview     *int64           `form:"noview" json:"noview,omitempty"`
	Platforms  map[string]int64 `form:"platforms" json:"platforms,omitempty"`
	PriAddrs   *int64           `form:"pri_addrs" json:"pri_addrs,omitempty"`
	PriPools   *int64           `form:"pri_pools" json:"pri_pools,omitempty"`
	Running    *int64           `form:"running" json:"running,omitempty"`
	SchedModes map[string]int64 `form:"sched_modes" json:"sched_modes,omitempty"`
	SecAddrs   *int64           `form:"sec_addrs" json:"sec_addrs,omitempty"`
	SecPools   *int64           `form:"sec_pools" json:"sec_pools,omitempty"`
	Total      *int64           `form:"total" json:"total,omitempty"`
	Views      *int64           `form:"views" json:"views,omitempty"`
}

type CreateViewRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ActPool     *string `form:"act_pool" json:"act_pool,omitempty"`
	ID          *string `form:"-" json:"-"`
	Line        *string `form:"line" json:"line,omitempty"`
	Name        *string `form:"name" json:"name,omitempty"`
	PriPool     *Pool   `form:"pri_pool" json:"pri_pool,omitempty"`
	SecPool     *Pool   `form:"sec_pool" json:"sec_pool,omitempty"`
	ViewID      *string `form:"view_id" json:"view_id,omitempty"`
	Weight      *int64  `form:"weight" json:"weight,omitempty"`
}

type CreateViewResponse struct {
	Version     *string `form:"Version" json:"Version,omitempty"`
	XTopRegion  *string `form:"XTopRegion" json:"XTopRegion,omitempty"`
	XTopService *string `form:"XTopService" json:"XTopService,omitempty"`
	ActPool     *string `form:"act_pool" json:"act_pool,omitempty"`
	ID          *string `form:"id" json:"id,omitempty"`
	Line        *string `form:"line" json:"line,omitempty"`
	Name        *string `form:"name" json:"name,omitempty"`
	PriPool     *Pool   `form:"pri_pool" json:"pri_pool,omitempty"`
	SecPool     *Pool   `form:"sec_pool" json:"sec_pool,omitempty"`
	ViewID      *string `form:"view_id" json:"view_id,omitempty"`
	Weight      *int64  `form:"weight" json:"weight,omitempty"`
}

type DeleteViewRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
	Vid         *string `form:"-" json:"-"`
}

type ListViewsRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
	Line        *string `form:"-" json:"-"`
	Name        *string `form:"-" json:"-"`
}

type ListViewsResponse []View

type ModifyViewRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ActPool     *string `form:"act_pool" json:"act_pool,omitempty"`
	ID          *string `form:"-" json:"-"`
	Line        *string `form:"line" json:"line,omitempty"`
	Name        *string `form:"name" json:"name,omitempty"`
	PriPool     *Pool   `form:"pri_pool" json:"pri_pool,omitempty"`
	SecPool     *Pool   `form:"sec_pool" json:"sec_pool,omitempty"`
	Vid         *string `form:"-" json:"-"`
	ViewID      *string `form:"view_id" json:"view_id,omitempty"`
	Weight      *int64  `form:"weight" json:"weight,omitempty"`
}

type ReadViewRequest struct {
	Version     *string `form:"-" json:"-"`
	XTopRegion  *string `form:"-" json:"-"`
	XTopService *string `form:"-" json:"-"`
	ID          *string `form:"-" json:"-"`
	Vid         *string `form:"-" json:"-"`
}

type ReadViewResponse struct {
	Version     *string `form:"Version" json:"Version,omitempty"`
	XTopRegion  *string `form:"XTopRegion" json:"XTopRegion,omitempty"`
	XTopService *string `form:"XTopService" json:"XTopService,omitempty"`
	ActPool     *string `form:"act_pool" json:"act_pool,omitempty"`
	ID          *string `form:"id" json:"id,omitempty"`
	Line        *string `form:"line" json:"line,omitempty"`
	Name        *string `form:"name" json:"name,omitempty"`
	PriPool     *Pool   `form:"pri_pool" json:"pri_pool,omitempty"`
	SecPool     *Pool   `form:"sec_pool" json:"sec_pool,omitempty"`
	Vid         *string `form:"vid" json:"vid,omitempty"`
	ViewID      *string `form:"view_id" json:"view_id,omitempty"`
	Weight      *int64  `form:"weight" json:"weight,omitempty"`
}

type ProbeParam struct {
	Version     *string           `form:"Version" json:"Version,omitempty"`
	XTopRegion  *string           `form:"XTopRegion" json:"XTopRegion,omitempty"`
	XTopService *string           `form:"XTopService" json:"XTopService,omitempty"`
	Count       *int64            `form:"count" json:"count,omitempty"`
	Enable      *bool             `form:"enable" json:"enable,omitempty"`
	FailCount   *int64            `form:"fail_count" json:"fail_count,omitempty"`
	Host        *string           `form:"host" json:"host,omitempty"`
	HttpBody    *string           `form:"http_body" json:"http_body,omitempty"`
	HttpHeader  map[string]string `form:"http_header" json:"http_header,omitempty"`
	HttpMethod  *string           `form:"http_method" json:"http_method,omitempty"`
	ID          *string           `form:"id" json:"id,omitempty"`
	Interval    *int64            `form:"interval" json:"interval,omitempty"`
	Port        *int64            `form:"port" json:"port,omitempty"`
	Proto       *string           `form:"proto" json:"proto,omitempty"`
	Sni         *string           `form:"sni" json:"sni,omitempty"`
	StCodeMin   *int64            `form:"st_code_min" json:"st_code_min,omitempty"`
	Timeout     *string           `form:"timeout" json:"timeout,omitempty"`
	Url         *string           `form:"url" json:"url,omitempty"`
}

type View struct {
	Version     *string `form:"Version" json:"Version,omitempty"`
	XTopRegion  *string `form:"XTopRegion" json:"XTopRegion,omitempty"`
	XTopService *string `form:"XTopService" json:"XTopService,omitempty"`
	ActPool     *string `form:"act_pool" json:"act_pool,omitempty"`
	ID          *string `form:"id" json:"id,omitempty"`
	Line        *string `form:"line" json:"line,omitempty"`
	Name        *string `form:"name" json:"name,omitempty"`
	PriPool     *Pool   `form:"pri_pool" json:"pri_pool,omitempty"`
	SecPool     *Pool   `form:"sec_pool" json:"sec_pool,omitempty"`
	Vid         *string `form:"vid" json:"vid,omitempty"`
	ViewID      *string `form:"view_id" json:"view_id,omitempty"`
	Weight      *int64  `form:"weight" json:"weight,omitempty"`
}

type GTM struct {
	AccMode           *int64            `form:"acc_mode" json:"acc_mode,omitempty"`
	AddrType          *int64            `form:"addr_type" json:"addr_type,omitempty"`
	AlarmOnly         *bool             `form:"alarm_only" json:"alarm_only,omitempty"`
	Cname             *string           `form:"cname" json:"cname,omitempty"`
	ConfigurationCode *string           `form:"configuration_code" json:"configuration_code,omitempty"`
	Domain            *string           `form:"domain" json:"domain,omitempty"`
	FoMode            *int64            `form:"fo_mode" json:"fo_mode,omitempty"`
	ID                *string           `form:"id" json:"id,omitempty"`
	InstanceID        *string           `form:"instance_id" json:"instance_id,omitempty"`
	InstanceStatus    *int64            `form:"instance_status" json:"instance_status,omitempty"`
	LastOperator      *string           `form:"last_operator" json:"last_operator,omitempty"`
	LbMode            *int64            `form:"lb_mode" json:"lb_mode,omitempty"`
	MaxServer         *int64            `form:"max_server" json:"max_server,omitempty"`
	Owner             *string           `form:"owner" json:"owner,omitempty"`
	Platform          *string           `form:"platform" json:"platform,omitempty"`
	PoolStats         *string           `form:"pool_stats" json:"pool_stats,omitempty"`
	PrivInfo          *string           `form:"priv_info" json:"priv_info,omitempty"`
	Probe             *ProbeParam       `form:"probe" json:"probe,omitempty"`
	Remark            *string           `form:"remark" json:"remark,omitempty"`
	SchedMode         *int64            `form:"sched_mode" json:"sched_mode,omitempty"`
	State             *int64            `form:"state" json:"state,omitempty"`
	Tags              map[string]string `form:"tags" json:"tags,omitempty"`
	TsDel             *string           `form:"ts_del" json:"ts_del,omitempty"`
	TsExpired         *string           `form:"ts_expired" json:"ts_expired,omitempty"`
	TsMod             *string           `form:"ts_mod" json:"ts_mod,omitempty"`
	TsNew             *string           `form:"ts_new" json:"ts_new,omitempty"`
	TTL               *int64            `form:"ttl" json:"ttl,omitempty"`
	Views             map[string]View   `form:"views" json:"views,omitempty"`
}

type Pool struct {
	ActThresh *int64    `form:"act_thresh" json:"act_thresh,omitempty"`
	Active    *bool     `form:"active" json:"active,omitempty"`
	AddrType  *string   `form:"addr_type" json:"addr_type,omitempty"`
	Addrs     []Address `form:"addrs" json:"addrs,omitempty"`
	Line      *string   `form:"line" json:"line,omitempty"`
	Weight    *int64    `form:"weight" json:"weight,omitempty"`
}

type Address struct {
	Active *bool   `form:"active" json:"active,omitempty"`
	TTL    *int64  `form:"ttl" json:"ttl,omitempty"`
	Type   *int64  `form:"type" json:"type,omitempty"`
	Value  *string `form:"value" json:"value,omitempty"`
	Weight *int64  `form:"weight" json:"weight,omitempty"`
}
