model

package
v0.0.0-...-9634a1a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var YamlAgentGroupConfig []byte

Functions

This section is empty.

Types

type AZVTapRebalanceResult

type AZVTapRebalanceResult struct {
	TotalSwitchVTapNum int                       `json:"TOTAL_SWITCH_VTAP_NUM"`
	Details            []HostVTapRebalanceResult `json:"DETAILS"`
}

type AdditionalResource

type AdditionalResource struct {
	AZs       []AdditionalResourceAZ       `json:"azs" yaml:"azs"`
	VPCs      []AdditionalResourceVPC      `json:"vpcs" yaml:"vpcs"`
	Subnets   []AdditionalResourceSubnet   `json:"subnets" yaml:"subnets"`
	Hosts     []AdditionalResourceHost     `json:"hosts" yaml:"hosts"`
	CHosts    []AdditionalResourceChost    `json:"chosts" yaml:"chosts"`
	CloudTags []AdditionalResourceCloudTag `json:"cloud_tags" yaml:"cloud_tags"`
}

type AdditionalResourceAZ

type AdditionalResourceAZ struct {
	Name       string `json:"name" yaml:"name" binding:"required"`
	UUID       string `json:"uuid" yaml:"uuid" binding:"required"`
	DomainUUID string `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
}

type AdditionalResourceChost

type AdditionalResourceChost struct {
	Name        string                         `json:"name" yaml:"name" binding:"required"`
	UUID        string                         `json:"uuid" yaml:"uuid" binding:"required"`
	HostIP      string                         `json:"host_ip" yaml:"host_ip"`
	Type        int                            `json:"type" yaml:"type"`
	VPCUUID     string                         `json:"vpc_uuid" yaml:"vpc_uuid" binding:"required"`
	AZUUID      string                         `json:"az_uuid" yaml:"az_uuid" binding:"required"`
	DomainUUID  string                         `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
	VInterfaces []AdditionalResourceVInterface `json:"vinterfaces" yaml:"vinterfaces"`
}

type AdditionalResourceCloudTag

type AdditionalResourceCloudTag struct {
	ResourceType string                  `json:"resource_type" yaml:"resource_type" binding:"required"`
	ResourceName string                  `json:"resource_name" yaml:"resource_name" binding:"required"`
	DomainUUID   string                  `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
	Tags         []AdditionalResourceTag `json:"tags" yaml:"tags" binding:"required"`
}

type AdditionalResourceHost

type AdditionalResourceHost struct {
	Name        string                         `json:"name" yaml:"name" binding:"required"`
	UUID        string                         `json:"uuid" yaml:"uuid" binding:"required"`
	IP          string                         `json:"ip" yaml:"ip" binding:"required"`
	Type        int                            `json:"type" yaml:"type"`
	AZUUID      string                         `json:"az_uuid" yaml:"az_uuid" binding:"required"`
	DomainUUID  string                         `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
	VInterfaces []AdditionalResourceVInterface `json:"vinterfaces" yaml:"vinterfaces"`
}

type AdditionalResourceSubnet

type AdditionalResourceSubnet struct {
	Name       string   `json:"name" yaml:"name" binding:"required"`
	UUID       string   `json:"uuid" yaml:"uuid" binding:"required"`
	IsVIP      bool     `json:"is_vip" yaml:"is_vip"`
	Type       int      `json:"type" yaml:"type"`
	VPCUUID    string   `json:"vpc_uuid" yaml:"vpc_uuid" binding:"required"`
	AZUUID     string   `json:"az_uuid" yaml:"az_uuid"`
	DomainUUID string   `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
	CIDRs      []string `json:"cidrs" yaml:"cidrs"`
}

type AdditionalResourceTag

type AdditionalResourceTag struct {
	Key   string `json:"key" yaml:"key" binding:"required"`
	Value string `json:"value" yaml:"value" binding:"required"`
}

type AdditionalResourceVInterface

type AdditionalResourceVInterface struct {
	SubnetUUID string   `json:"subnet_uuid" yaml:"subnet_uuid" binding:"required"`
	Mac        string   `json:"mac" yaml:"mac" binding:"required"`
	IPs        []string `json:"ips" yaml:"ips"`
}

type AdditionalResourceVPC

type AdditionalResourceVPC struct {
	Name       string `json:"name" yaml:"name" binding:"required"`
	UUID       string `json:"uuid" yaml:"uuid" binding:"required"`
	DomainUUID string `json:"domain_uuid" yaml:"domain_uuid" binding:"required"`
}

type Analyzer

type Analyzer struct {
	ID                int          `json:"ID"`
	IP                string       `json:"IP"`
	Name              string       `json:"NAME"`
	State             int          `json:"STATE"`
	PodIP             string       `json:"POD_IP"`
	NatIP             string       `json:"NAT_IP"`
	NatIPEnabled      int          `json:"NAT_IP_ENABLED"`
	Agg               int          `json:"AGG"`
	CPUNum            int          `json:"CPU_NUM"`
	MemorySize        int64        `json:"MEMORY_SIZE"`
	Arch              string       `json:"ARCH"`
	ArchType          int          `json:"ARCH_TYPE"`
	Os                string       `json:"OS"`
	OsType            int          `json:"OS_TYPE"`
	KernelVersion     string       `json:"KERNEL_VERSION"`
	VtapCount         int          `json:"VTAP_COUNT"`
	CurVtapCount      int          `json:"CUR_VTAP_COUNT"`
	VTapMax           int          `json:"VTAP_MAX"`
	PcapDataMountPath string       `json:"PCAP_DATA_MOUNT_PATH"`
	SyncedAt          time.Time    `json:"SYNCED_AT"`
	Region            string       `json:"REGION"`
	RegionName        string       `json:"REGION_NAME"`
	IsAllAz           bool         `json:"IS_ALL_AZ"`
	Azs               []AnalyzerAz `json:"AZS"`
	Lcuuid            string       `json:"LCUUID"`
}

type AnalyzerAz

type AnalyzerAz struct {
	Az     string `json:"AZ"`
	AzName string `json:"AZ_NAME"`
}

type AnalyzerUpdate

type AnalyzerUpdate struct {
	VtapMax int      `json:"VTAP_MAX" binding:"min=0,max=10000"`
	Region  string   `json:"REGION"`
	Azs     []string `json:"AZS"`
	IsAllAz bool     `json:"IS_ALL_AZ"`
	State   int      `json:"STATE"`
	NatIP   string   `json:"NAT_IP"`
	Agg     int      `json:"AGG"`
}

type CSV

type CSV struct {
	Headers []CSVHeader `json:"CSV_HEADERS"`
}

type CSVHeader

type CSVHeader struct {
	DisplayName string `json:"DISPLAY_NAME"`
	FieldName   string `json:"FIELD_NAME"`
}

type Controller

type Controller struct {
	ID                 int            `json:"ID"`
	IP                 string         `json:"IP"`
	Name               string         `json:"NAME"`
	NodeType           int            `json:"NODE_TYPE"`
	State              int            `json:"STATE"`
	PodIP              string         `json:"POD_IP"`
	NatIP              string         `json:"NAT_IP"`
	NatIPEnabled       int            `json:"NAT_IP_ENABLED"`
	CPUNum             int            `json:"CPU_NUM"`
	MemorySize         int64          `json:"MEMORY_SIZE"`
	Arch               string         `json:"ARCH"`
	ArchType           int            `json:"ARCH_TYPE"`
	Os                 string         `json:"OS"`
	OsType             int            `json:"OS_TYPE"`
	KernelVersion      string         `json:"KERNEL_VERSION"`
	VtapCount          int            `json:"VTAP_COUNT"`
	CurVtapCount       int            `json:"CUR_VTAP_COUNT"`
	VTapMax            int            `json:"VTAP_MAX"`
	RegionDomainPrefix string         `json:"REGION_DOMAIN_PREFIX"`
	SyncedAt           time.Time      `json:"SYNCED_AT"`
	Region             string         `json:"REGION"`
	RegionName         string         `json:"REGION_NAME"`
	IsAllAz            bool           `json:"IS_ALL_AZ"`
	Azs                []ControllerAz `json:"AZS"`
	Lcuuid             string         `json:"LCUUID"`
}

type ControllerAz

type ControllerAz struct {
	Az     string `json:"AZ"`
	AzName string `json:"AZ_NAME"`
}

type ControllerUpdate

type ControllerUpdate struct {
	VtapMax int      `json:"VTAP_MAX" binding:"min=0,max=10000"`
	Region  string   `json:"REGION"`
	Azs     []string `json:"AZS"`
	IsAllAz bool     `json:"IS_ALL_AZ"`
	State   int      `json:"STATE"`
	NatIP   string   `json:"NAT_IP"`
}

type DataSource

type DataSource struct {
	ID                        int    `json:"ID"`
	Name                      string `json:"NAME"`
	TsdbType                  string `json:"TSDB_TYPE"`
	State                     int    `json:"STATE"`
	BaseDataSourceID          int    `json:"BASE_DATA_SOURCE_ID"`
	BaseDataSourceName        string `json:"BASE_DATA_SOURCE_NAME"`
	Interval                  int    `json:"INTERVAL"`
	RetentionTime             int    `json:"RETENTION_TIME"`
	SummableMetricsOperator   string `json:"SUMMABLE_METRICS_OPERATOR"`
	UnSummableMetricsOperator string `json:"UNSUMMABLE_METRICS_OPERATOR"`
	IsDefault                 bool   `json:"IS_DEFAULT"`
	UpdatedAt                 string `json:"UPDATED_AT"`
	Lcuuid                    string `json:"LCUUID"`
}

type DataSourceCreate

type DataSourceCreate struct {
	Name                      string `json:"NAME" binding:"required,min=1,max=10"`
	TsdbType                  string `json:"TSDB_TYPE" binding:"required,oneof=flow app"`
	BaseDataSourceID          int    `json:"BASE_DATA_SOURCE_ID" binding:"required"`
	Interval                  int    `json:"INTERVAL" binding:"required"`
	RetentionTime             int    `json:"RETENTION_TIME" binding:"required,min=1"`
	SummableMetricsOperator   string `json:"SUMMABLE_METRICS_OPERATOR" binding:"required,oneof=Sum Max Min"`
	UnSummableMetricsOperator string `json:"UNSUMMABLE_METRICS_OPERATOR" binding:"required,oneof=Avg Max Min"`
}

type DataSourceUpdate

type DataSourceUpdate struct {
	RetentionTime int `json:"RETENTION_TIME" binding:"required,min=1"`
}

type DetailedConfig

type DetailedConfig struct {
	RealConfig    *VTapGroupConfigurationResponse `json:"REAL_CONFIG"`
	DefaultConfig *VTapGroupConfigurationResponse `json:"DEFAULT_CONFIG"`
}

type Domain

type Domain struct {
	ID             string                 `json:"ID"`
	Name           string                 `json:"NAME"`
	DisplayName    string                 `json:"DISPLAY_NAME"`
	ClusterID      string                 `json:"CLUSTER_ID"`
	Type           int                    `json:"TYPE"`
	Enabled        int                    `json:"ENABLED"`
	State          int                    `json:"STATE"`
	ErrorMsg       string                 `json:"ERROR_MSG"`
	ControllerIP   string                 `json:"CONTROLLER_IP"`
	ControllerName string                 `json:"CONTROLLER_NAME"`
	VTapName       string                 `json:"VTAP_NAME"`
	VTapCtrlIP     string                 `json:"VTAP_CTRL_IP"`
	VTapCtrlMAC    string                 `json:"VTAP_CTRL_MAC"`
	IconID         int                    `json:"ICON_ID"`
	K8sEnabled     int                    `json:"K8S_ENABLED"`
	Config         map[string]interface{} `json:"CONFIG"`
	AZCount        int                    `json:"AZ_COUNT"`
	RegionCount    int                    `json:"REGION_COUNT"`
	PodClusters    []string               `json:"POD_CLUSTERS"`
	CreatedAt      string                 `json:"CREATED_AT"`
	SyncedAt       string                 `json:"SYNCED_AT"`
	Lcuuid         string                 `json:"LCUUID"`
}

type DomainCreate

type DomainCreate struct {
	Name                string                 `json:"NAME" binding:"required"`
	Type                int                    `json:"TYPE" binding:"required"`
	KubernetesClusterID string                 `json:"KUBERNETES_CLUSTER_ID"`
	IconID              int                    `json:"ICON_ID"`       // TODO: 修改为required
	ControllerIP        string                 `json:"CONTROLLER_IP"` // TODO: 修改为required
	Config              map[string]interface{} `json:"CONFIG"`
}

type DomainInfo

type DomainInfo struct {
	ID   string `json:"ID"`
	Name string `json:"NAME"`
}

type DomainUpdate

type DomainUpdate struct {
	Name         string                 `json:"NAME"`
	Enabled      int                    `json:"ENABLED"`
	IconID       int                    `json:"ICON_ID"`
	ControllerIP string                 `json:"CONTROLLER_IP"`
	Config       map[string]interface{} `json:"CONFIG"`
}

type EbpfConfig

type EbpfConfig struct {
	Disabled                *bool                              `yaml:"disabled,omitempty"`
	LogFile                 *string                            `yaml:"log-file,omitempty"`
	UprobeProcessNameRegexs *EbpfUprobeProcessNameRegexsConfig `yaml:"uprobe-process-name-regexs,omitempty"`
	KprobeWhitelist         *EbpfKprobeWhitelist               `yaml:"kprobe-whitelist,omitempty"`
	ThreadNum               *int                               `yaml:"thread-num,omitempty"`
	PerfPagesCount          *int                               `yaml:"perf-pages-count,omitempty"`
	RingSize                *int                               `yaml:"ring-size,omitempty"`
	MaxSocketEntries        *int                               `yaml:"max-socket-entries,omitempty"`
	MaxTraceEntries         *int                               `yaml:"max-trace-entries,omitempty"`
	SocketMapMaxReclaim     *int                               `yaml:"socket-map-max-reclaim,omitempty"`
	GoTracingTimeout        *int                               `yaml:"go-tracing-timeout,omitempty"`
}

type EbpfKprobeWhitelist

type EbpfKprobeWhitelist struct {
	PortList string `yaml:"port-list,omitempty"`
}

type EbpfUprobeProcessNameRegexsConfig

type EbpfUprobeProcessNameRegexsConfig struct {
	GolangSymbol *string `yaml:"golang-symbol,omitempty"`
	Golang       *string `yaml:"golang,omitempty"`
	Openssl      *string `yaml:"openssl,omitempty"`
}

type FlowGeneratorConfig

type FlowGeneratorConfig struct {
	TcpTimeoutConfig `yaml:",inline"`
	HashSlots        *int    `yaml:"flow-slots-size,omitempty"`
	Capacity         *int    `yaml:"flow-count-limit,omitempty"`
	FlushInterval    *string `yaml:"flush-interval,omitempty"`
	AggrQueueSize    *int    `yaml:"flow-aggr-queue-size,omitempty"`

	IgnoreTorMac *bool `yaml:"ignore-tor-mac,omitempty"`
	IgnoreL2End  *bool `yaml:"ignore-l2-end,omitempty"`
}

type GenesisHost

type GenesisHost struct {
	ID       int    `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID   uint32 `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid   string `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Hostname string `gorm:"column:hostname;type:varchar(256);default:null" json:"HOSTNAME"`
	IP       string `gorm:"column:ip;type:char(64);default:null" json:"IP"`
	NodeIP   string `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
}

TODO: 因为genesis的功能还未完全迁移完,且数据库字段不相同,所以这里启用了一组新的表来支持,等待完成迁移后将表趋于统一并删除无用表。 这里为了保持一致性和泛型方便添加一个参考的lcuuid,可以使用common.GetUUID(Hostname)来获得

func (GenesisHost) TableName

func (GenesisHost) TableName() string

type GenesisIP

type GenesisIP struct {
	ID               int       `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	Masklen          uint32    `gorm:"column:masklen;type:int;default:null;default:0" json:"MASKLEN"`
	VtapID           uint32    `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	IP               string    `gorm:"column:ip;type:char(64);default:null" json:"IP"`
	Lcuuid           string    `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	VinterfaceLcuuid string    `gorm:"column:vinterface_lcuuid;type:char(64);default:null" json:"VINTERFACE_LCUUID"`
	NodeIP           string    `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
	LastSeen         time.Time `gorm:"column:last_seen;type:datetime;not null;default:CURRENT_TIMESTAMP" json:"LAST_SEEN"`
}

func (GenesisIP) TableName

func (GenesisIP) TableName() string

type GenesisLldp

type GenesisLldp struct {
	ID                    int       `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID                uint32    `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid                string    `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	HostIP                string    `gorm:"column:host_ip;type:char(48);default:null" json:"HOST_IP"`
	HostInterface         string    `gorm:"column:host_interface;type:char(64);default:null" json:"HOST_INTERFACE"`
	SystemName            string    `gorm:"column:system_name;type:varchar(512);default:null" json:"SYSTEM_NAME"`
	ManagementAddress     string    `gorm:"column:management_address;type:varchar(512);default:null" json:"MANAGEMENT_ADDRESS"`
	VinterfaceLcuuid      string    `gorm:"column:vinterface_lcuuid;type:varchar(512);default:null" json:"VINTERFACE_LCUUID"`
	VinterfaceDescription string    `gorm:"column:vinterface_description;type:varchar(512);default:null" json:"VINTERFACE_DESCRIPTION"`
	NodeIP                string    `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
	LastSeen              time.Time `gorm:"column:last_seen;type:datetime;not null;default:CURRENT_TIMESTAMP" json:"LAST_SEEN"`
}

func (GenesisLldp) TableName

func (GenesisLldp) TableName() string

type GenesisNetwork

type GenesisNetwork struct {
	ID             int    `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	SegmentationID uint32 `gorm:"column:segmentation_id;type:int;default:null" json:"SEGMENTATION_ID"`
	NetType        uint32 `gorm:"column:net_type;type:int;default:null" json:"NET_TYPE"`
	VtapID         uint32 `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	External       bool   `gorm:"column:external;type:tinyint(1);default:null" json:"EXTERNAL"`
	Name           string `gorm:"column:name;type:varchar(256);default:null" json:"NAME"`
	Lcuuid         string `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	VPCLcuuid      string `gorm:"column:vpc_lcuuid;type:char(64);default:null" json:"VPC_LCUUID"`
	NodeIP         string `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
}

func (GenesisNetwork) TableName

func (GenesisNetwork) TableName() string

type GenesisPort

type GenesisPort struct {
	ID            int    `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	Type          uint32 `gorm:"column:type;type:int;default:null" json:"TYPE"`
	DeviceType    uint32 `gorm:"column:device_type;type:int;default:null" json:"DEVICETYPE"`
	VtapID        uint32 `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid        string `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Mac           string `gorm:"column:mac;type:char(32);default:null" json:"MAC"`
	DeviceLcuuid  string `gorm:"column:device_lcuuid;type:char(64);default:null" json:"DEVICE_LCUUID"`
	NetworkLcuuid string `gorm:"column:network_lcuuid;type:char(64);default:null" json:"NETWORK_LCUUID"`
	VPCLcuuid     string `gorm:"column:vpc_lcuuid;type:char(64);default:null" json:"VPC_LCUUID"`
	NodeIP        string `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
}

func (GenesisPort) TableName

func (GenesisPort) TableName() string

type GenesisProcess

type GenesisProcess struct {
	ID          int       `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID      uint32    `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	PID         uint64    `gorm:"column:pid;type:int;default:null" json:"PID"`
	Lcuuid      string    `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Name        string    `gorm:"column:name;type:varchar(256);default:null" json:"NAME"`
	ProcessName string    `gorm:"column:process_name;type:varchar(256);default:null" json:"PROCESS_NAME"`
	CMDLine     string    `gorm:"column:cmd_line;type:text;default:null" json:"CMD_LINE"`
	User        string    `gorm:"column:user;type:varchar(256);default:null" json:"USER"`
	OSAPPTags   string    `gorm:"column:os_app_tags;type:text;default:null" json:"OS_APP_TAGS"`
	NodeIP      string    `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
	StartTime   time.Time `gorm:"column:start_time;type:datetime;not null;default:CURRENT_TIMESTAMP" json:"START_TIME"`
}

func (GenesisProcess) TableName

func (GenesisProcess) TableName() string

type GenesisStorage

type GenesisStorage struct {
	ID     int    `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID uint32 `gorm:"column:vtap_id;type:int" json:"VTAP_ID"`
	NodeIP string `gorm:"column:node_ip;type:char(48)" json:"NODE_IP"`
}

func (GenesisStorage) TableName

func (GenesisStorage) TableName() string

type GenesisVM

type GenesisVM struct {
	ID           int       `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	State        uint32    `gorm:"column:state;type:int;default:null" json:"STATE"`
	VtapID       uint32    `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid       string    `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Name         string    `gorm:"column:name;type:varchar(256);default:null" json:"NAME"`
	Label        string    `gorm:"column:label;type:char(64);default:null" json:"LABEL"`
	VPCLcuuid    string    `gorm:"column:vpc_lcuuid;type:char(64);default:null" json:"VPC_LCUUID"`
	LaunchServer string    `gorm:"column:launch_server;type:char(64);default:null" json:"LAUNCH_SERVER"`
	NodeIP       string    `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
	CreatedAt    time.Time `gorm:"column:created_at;type:datetime;not null;default:CURRENT_TIMESTAMP" json:"CREATED_AT"`
}

func (GenesisVM) TableName

func (GenesisVM) TableName() string

type GenesisVinterface

type GenesisVinterface struct {
	ID                  int       `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID              uint32    `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid              string    `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Name                string    `gorm:"column:name;type:char(64);default:null" json:"NAME"`
	IPs                 string    `gorm:"column:ips;type:text;default:null" json:"IPS"`
	Mac                 string    `gorm:"column:mac;type:char(32);default:null" json:"MAC"`
	TapName             string    `gorm:"column:tap_name;type:char(64);default:null" json:"TAP_NAME"`
	TapMac              string    `gorm:"column:tap_mac;type:char(32);default:null" json:"TAP_MAC"`
	DeviceLcuuid        string    `gorm:"column:device_lcuuid;type:char(64);default:null" json:"DEVICE_LCUUID"`
	DeviceName          string    `gorm:"column:device_name;type:varchar(512);default:null" json:"DEVICE_NAME"`
	DeviceType          string    `gorm:"column:device_type;type:char(64);default:null" json:"DEVICE_TYPE"`
	HostIP              string    `gorm:"column:host_ip;type:char(48);default:null" json:"HOST_IP"`
	KubernetesClusterID string    `gorm:"column:kubernetes_cluster_id;type:char(64);default:null" json:"KUBERNETES_CLUSTER_ID"`
	NodeIP              string    `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
	LastSeen            time.Time `gorm:"column:last_seen;type:datetime;not null;default:CURRENT_TIMESTAMP" json:"LAST_SEEN"`
}

func (GenesisVinterface) TableName

func (GenesisVinterface) TableName() string

type GenesisVpc

type GenesisVpc struct {
	ID     int    `gorm:"primaryKey;column:id;type:int;not null" json:"ID"`
	VtapID uint32 `gorm:"column:vtap_id;type:int;default:null" json:"VTAP_ID"`
	Lcuuid string `gorm:"column:lcuuid;type:char(64);default:null" json:"LCUUID"`
	Name   string `gorm:"column:name;type:varchar(256);default:null" json:"NAME"`
	NodeIP string `gorm:"column:node_ip;type:char(48);default:null" json:"NODE_IP"`
}

func (GenesisVpc) TableName

func (GenesisVpc) TableName() string

type HostVTapRebalanceResult

type HostVTapRebalanceResult struct {
	IP            string `json:"IP"`
	AZ            string `json:"AZ"`
	State         int    `json:"STATE"`
	BeforeVTapNum int    `json:"BEFORE_VTAP_NUM"`
	AfterVTapNum  int    `json:"AFTER_VTAP_NUM"`
	SwitchVTapNum int    `json:"SWITCH_VTAP_NUM"`
}

type LicenseConsumption

type LicenseConsumption struct {
	LicenseType     int `json:"LICENSE_TYPE"`
	LicenseFunction int `json:"LICENSE_FUNCTION"`

	Total     int `json:"TOTAL"`
	Avaliable int `json:"AVALIABLE"`
	Used      int `json:"CONSUMPTION"`
}

type OsProcRegex

type OsProcRegex struct {
	MatchRegex  *string `yaml:"match-regex,omitempty"`
	MatchType   *string `yaml:"match-type,omitempty"`
	Action      *string `yaml:"action,omitempty"`
	RewriteName *string `yaml:"rewrite-name,omitempty"`
}

type PCapConfig

type PCapConfig struct {
	QueueSize      *int    `yaml:"queue-size,omitempty"`
	QueueCount     *int    `yaml:"queue-count,omitempty"`
	FlowBufferSize *int    `yaml:"flow-buffer-size,omitempty"`
	BufferSize     *int    `yaml:"buffer-size,omitempty"`
	FlushInterval  *string `yaml:"flush-interval,omitempty"`
}

type Process

type Process struct {
	ResourceType int    `json:"RESOURCE_TYPE"` // 1: vm 14: pod node
	ResourceName string `json:"RESOURCE_NAME"`
	Name         string `json:"NAME"`
	VTapName     string `json:"VTAP_NAME"`
	GPID         int    `json:"GPID"`
	GPName       string `json:"GP_NAME"` // equal to process.process_name
	PID          int    `json:"PID"`
	ProcessName  string `json:"PROCESS_NAME"`
	CommandLine  string `json:"CMD_LINE"`
	UserName     string `json:"USER_NAME"`
	OSAPPTags    string `json:"OS_APP_TAGS"`
	ResourceID   int    `json:"RESOURCE_ID"`
	StartTime    string `json:"START_TIME"`
	UpdateAt     string `json:"UPDATE_AT"`
}

type StaticConfig

type StaticConfig struct {
	ProxyControllerPort              *uint16               `yaml:"proxy-controller-port,omitempty"`
	LogLevel                         *string               `yaml:"log-level,omitempty"`
	Profiler                         *bool                 `yaml:"profiler,omitempty"`
	AfpacketBlocksEnabled            *bool                 `yaml:"afpacket-blocks-enabled,omitempty"`
	AfpacketBlocks                   *int                  `yaml:"afpacket-blocks,omitempty"`
	EnableDebugStats                 *bool                 `yaml:"enable-debug-stats,omitempty"`
	AnalyzerDedupDisabled            *bool                 `yaml:"analyzer-dedup-disabled,omitempty"`
	DefaultTapType                   *uint32               `yaml:"default-tap-type,omitempty"`
	DebugListenPort                  *uint16               `yaml:"debug-listen-port,omitempty"`
	EnableQosBypass                  *bool                 `yaml:"enable-qos-bypass,omitempty"`
	FastPathMapSize                  *int                  `yaml:"fast-path-map-size,omitempty"`
	FirstPathLevel                   *int                  `yaml:"first-path-level,omitempty"`
	SrcInterfaces                    []string              `yaml:"src-interfaces,omitempty"`
	CloudGatewayTraffic              *bool                 `yaml:"cloud-gateway-traffic,omitempty"`
	MirrorTrafficPcp                 *uint16               `yaml:"mirror-traffic-pcp,omitempty"`
	PCap                             *PCapConfig           `yaml:"pcap,omitempty"`
	Flow                             *FlowGeneratorConfig  `yaml:"flow,omitempty"`
	FlowQueueSize                    *int                  `yaml:"flow-queue-size,omitempty"`
	QuadrupleQueueSize               *int                  `yaml:"quadruple-queue-size,omitempty"`
	AnalyzerQueueSize                *int                  `yaml:"analyzer-queue-size,omitempty"`
	OvsDpdkEnable                    *bool                 `yaml:"ovs-dpdk-enable,omitempty"`
	DpdkPmdCoreId                    *uint32               `yaml:"dpdk-pmd-core-id,omitempty"`
	DpdkRingPort                     *string               `yaml:"dpdk-ring-port,omitempty"`
	XflowCollector                   *XflowCollectorConfig `yaml:"xflow-collector,omitempty"`
	NpbPort                          *uint16               `yaml:"npb-port,omitempty"`
	VxlanFlags                       *uint8                `yaml:"vxlan-flags,omitempty"`
	CollectorSenderQueueSize         *int                  `yaml:"collector-sender-queue-size,omitempty"`
	CollectorSenderQueueCount        *int                  `yaml:"collector-sender-queue-count,omitempty"`
	ToaSenderQueueSize               *int                  `yaml:"toa-sender-queue-size,omitempty"`
	ToaLruCacheSize                  *int                  `yaml:"toa-lru-cache-size,omitempty"`
	FlowSenderQueueSize              *int                  `yaml:"flow-sender-queue-size,omitempty"`
	FlowSenderQueueCount             *int                  `yaml:"flow-sender-queue-count,omitempty"`
	SecondFlowExtraDelaySecond       *string               `yaml:"second-flow-extra-delay-second,omitempty"`
	PacketDelay                      *string               `yaml:"packet-delay,omitempty"`
	Triple                           *TripleMapConfig      `yaml:"triple,omitempty"`
	KubernetesPollerType             *string               `yaml:"kubernetes-poller-type,omitempty"`
	DecapErspan                      *bool                 `yaml:"decap-erspan,omitempty"`
	AnalyzerIp                       *string               `yaml:"analyzer-ip,omitempty"`
	AnalyzerPort                     *uint16               `yaml:"analyzer-port,omitempty"`
	KubernetesNamespace              *string               `yaml:"kubernetes-namespace,omitempty"`
	KubernetesAPIListLimit           *uint32               `yaml:"kubernetes-api-list-limit,omitempty"`
	IngressFlavour                   *string               `yaml:"ingress-flavour,omitempty"`
	GrpcBufferSize                   *int                  `yaml:"grpc-buffer-size,omitempty"`            // 单位:M
	L7LogSessionAggrTimeout          *string               `yaml:"l7-log-session-aggr-timeout,omitempty"` // 单位: s
	TapMacScript                     *string               `yaml:"tap-mac-script,omitempty"`
	BpfDisabled                      *bool                 `yaml:"bpf-disabled,omitempty"`
	L7ProtocolInferenceMaxFailCount  *uint64               `yaml:"l7-protocol-inference-max-fail-count,omitempty"`
	L7ProtocolInferenceTtl           *uint64               `yaml:"l7-protocol-inference-ttl,omitempty"`
	PacketSequenceBlockSize          *int                  `yaml:"packet-sequence-block-size,omitempty"`
	PacketSequenceQueueSize          *int                  `yaml:"packet-sequence-queue-size,omitempty"`
	PacketSequenceQueueCount         *int                  `yaml:"packet-sequence-queue-count,omitempty"`
	PacketSequenceFlag               *uint8                `yaml:"packet-sequence-flag,omitempty"`
	L7ProtocolEnabled                []string              `yaml:"l7-protocol-enabled,omitempty"`
	StandaloneDataFileSize           *uint64               `yaml:"standalone-data-file-size,omitempty"`
	StandaloneDataFileDir            *string               `yaml:"standalone-data-file-dir,omitempty"`
	LogFile                          *string               `yaml:"log-file,omitempty"`
	ExternalAgentHttpProxyCompressed *bool                 `yaml:"external-agent-http-proxy-compressed,omitempty"`
	FeatureFlags                     []string              `yaml:"feature-flags,omitempty"`
	L7ProtocolPorts                  map[string]string     `yaml:"l7-protocol-ports,omitempty"`
	Ebpf                             *EbpfConfig           `yaml:"ebpf,omitempty"`
	OsAppTagExecUser                 *string               `yaml:"os-app-tag-exec-user,omitempty"`
	OsAppTagExec                     []string              `yaml:"os-app-tag-exec,omitempty"`
	OsProcRoot                       *string               `yaml:"os-proc-root,omitempty"`
	OsProcSocketSyncInterval         *int                  `yaml:"os-proc-socket-sync-interval,omitempty"`
	OsProcSocketMinLifetime          *int                  `yaml:"os-proc-socket-min-lifetime,omitempty"`
	OsProcRegex                      []*OsProcRegex        `yaml:"os-proc-regex,omitempty"`
	OsProcSyncEnabled                *bool                 `yaml:"os-proc-sync-enabled,omitempty"`
	GuardInterval                    *string               `yaml:"guard-interval,omitempty"`
}

type SubDomain

type SubDomain struct {
	ID           int                    `json:"ID"`
	Name         string                 `json:"NAME"`
	DisplayName  string                 `json:"DISPLAY_NAME"`
	ClusterID    string                 `json:"CLUSTER_ID"`
	State        int                    `json:"STATE"`
	ErrorMsg     string                 `json:"ERROR_MSG"`
	VPCName      string                 `json:"EPC_NAME"`
	Domain       string                 `json:"DOMAIN"`
	Config       map[string]interface{} `json:"CONFIG"`
	CreateMethod int                    `json:"CREATE_METHOD"`
	CreatedAt    string                 `json:"CREATED_AT"`
	SyncedAt     string                 `json:"SYNCED_AT"`
	Lcuuid       string                 `json:"LCUUID"`
	DomainName   string                 `json:"DOMAIN_NAME"`
}

type SubDomainCreate

type SubDomainCreate struct {
	Name   string                 `json:"NAME" binding:"required"`
	Config map[string]interface{} `json:"CONFIG" binding:"required"`
	Domain string                 `json:"DOMAIN" binding:"required"`
}

type SubDomainUpdate

type SubDomainUpdate struct {
	Config map[string]interface{} `json:"CONFIG"`
}

type TcpTimeoutConfig

type TcpTimeoutConfig struct {
	EstablishedTimeout *string `yaml:"established-timeout,omitempty"`
	ClosingRstTimeout  *string `yaml:"closing-rst-timeout,omitempty"`
	OthersTimeout      *string `yaml:"others-timeout,omitempty"`
}

type TripleMapConfig

type TripleMapConfig struct {
	HashSlots *int `yaml:"hash-slots-size,omitempty"`
	Capacity  *int `yaml:"capacity,omitempty"`
}

type TypeInfo

type TypeInfo struct {
	ID   int    `json:"ID"`
	Name string `json:"NAME"`
}

type VTapGroupConfiguration

type VTapGroupConfiguration struct {
	VTapGroupID                   *string       `json:"VTAP_GROUP_ID" yaml:"vtap_group_id,omitempty"`
	VTapGroupLcuuid               *string       `json:"VTAP_GROUP_LCUUID" yaml:"vtap_group_lcuuid,omitempty"`
	MaxCollectPps                 *int          `json:"MAX_COLLECT_PPS" yaml:"max_collect_pps,omitempty"`
	MaxNpbBps                     *int64        `json:"MAX_NPB_BPS" yaml:"max_npb_bps,omitempty"` // unit: bps
	MaxCPUs                       *int          `json:"MAX_CPUS" yaml:"max_cpus,omitempty"`
	MaxMemory                     *int          `json:"MAX_MEMORY" yaml:"max_memory,omitempty"` // unit: M
	SyncInterval                  *int          `json:"SYNC_INTERVAL" yaml:"sync_interval,omitempty"`
	StatsInterval                 *int          `json:"STATS_INTERVAL" yaml:"stats_interval,omitempty"`
	RsyslogEnabled                *int          `json:"RSYSLOG_ENABLED" yaml:"rsyslog_enabled,omitempty"`   // 0: disabled 1:enabled
	MaxTxBandwidth                *int64        `json:"MAX_TX_BANDWIDTH" yaml:"max_tx_bandwidth,omitempty"` // unit: bps
	BandwidthProbeInterval        *int          `json:"BANDWIDTH_PROBE_INTERVAL" yaml:"bandwidth_probe_interval,omitempty"`
	TapInterfaceRegex             *string       `json:"TAP_INTERFACE_REGEX" yaml:"tap_interface_regex,omitempty"`
	MaxEscapeSeconds              *int          `json:"MAX_ESCAPE_SECONDS" yaml:"max_escape_seconds,omitempty"`
	Mtu                           *int          `json:"MTU" yaml:"mtu,omitempty"`
	OutputVlan                    *int          `json:"OUTPUT_VLAN" yaml:"output_vlan,omitempty"`
	CollectorSocketType           *string       `json:"COLLECTOR_SOCKET_TYPE" yaml:"collector_socket_type,omitempty"`
	CompressorSocketType          *string       `json:"COMPRESSOR_SOCKET_TYPE" yaml:"compressor_socket_type,omitempty"`
	NpbSocketType                 *string       `json:"NPB_SOCKET_TYPE" yaml:"npb_socket_type,omitempty"`
	NpbVlanMode                   *int          `json:"NPB_VLAN_MODE" yaml:"npb_vlan_mode,omitempty"`
	CollectorEnabled              *int          `json:"COLLECTOR_ENABLED" yaml:"collector_enabled,omitempty"`       // 0: disabled 1:enabled
	VTapFlow1sEnabled             *int          `json:"VTAP_FLOW_1S_ENABLED" yaml:"vtap_flow_1s_enabled,omitempty"` // 0: disabled 1:enabled
	L4LogTapTypes                 []int         `json:"L4_LOG_TAP_TYPES" yaml:"l4_log_tap_types,omitempty"`         // tap type info, separate by ","
	NpbDedupEnabled               *int          `json:"NPB_DEDUP_ENABLED" yaml:"npb_dedup_enabled,omitempty"`       // 0: disabled 1:enabled
	PlatformEnabled               *int          `json:"PLATFORM_ENABLED" yaml:"platform_enabled,omitempty"`         // 0: disabled 1:enabled
	IfMacSource                   *int          `json:"IF_MAC_SOURCE" yaml:"if_mac_source,omitempty"`               // 0: 接口MAC 1: 接口名称 2: 虚拟机MAC解析
	VMXMLPath                     *string       `json:"VM_XML_PATH" yaml:"vm_xml_path,omitempty"`
	ExtraNetnsRegex               *string       `json:"EXTRA_NETNS_REGEX" yaml:"extra_netns_regex,omitempty"`
	NatIPEnabled                  *int          `json:"NAT_IP_ENABLED" yaml:"nat_ip_enabled,omitempty"` // 0: disabled 1:enabled
	CapturePacketSize             *int          `json:"CAPTURE_PACKET_SIZE" yaml:"capture_packet_size,omitempty"`
	InactiveServerPortEnabled     *int          `json:"INACTIVE_SERVER_PORT_ENABLED" yaml:"inactive_server_port_enabled,omitempty"` // 0: disabled 1:enabled
	InactiveIPEnabled             *int          `json:"INACTIVE_IP_ENABLED" yaml:"inactive_ip_enabled,omitempty"`                   // 0: disabled 1:enabled
	LogThreshold                  *int          `json:"LOG_THRESHOLD" yaml:"log_threshold,omitempty"`
	LogLevel                      *string       `json:"LOG_LEVEL" yaml:"log_level,omitempty"`
	LogRetention                  *int          `json:"LOG_RETENTION" yaml:"log_retention,omitempty"`
	HTTPLogProxyClient            *string       `json:"HTTP_LOG_PROXY_CLIENT" yaml:"http_log_proxy_client,omitempty"`
	HTTPLogTraceID                *string       `json:"HTTP_LOG_TRACE_ID" yaml:"http_log_trace_id,omitempty"`
	L7LogPacketSize               *int          `json:"L7_LOG_PACKET_SIZE" yaml:"l7_log_packet_size,omitempty"`
	L4LogCollectNpsThreshold      *int          `json:"L4_LOG_COLLECT_NPS_THRESHOLD" yaml:"l4_log_collect_nps_threshold,omitempty"`
	L7LogCollectNpsThreshold      *int          `json:"L7_LOG_COLLECT_NPS_THRESHOLD" yaml:"l7_log_collect_nps_threshold,omitempty"`
	L7MetricsEnabled              *int          `json:"L7_METRICS_ENABLED" yaml:"l7_metrics_enabled,omitempty"`         // 0: disabled 1:enabled
	L7LogStoreTapTypes            []int         `json:"L7_LOG_STORE_TAP_TYPES" yaml:"l7_log_store_tap_types,omitempty"` // l7 log store tap types, separate by ","
	CaptureSocketType             *int          `json:"CAPTURE_SOCKET_TYPE" yaml:"capture_socket_type,omitempty"`
	CaptureBpf                    *string       `json:"CAPTURE_BPF" yaml:"capture_bpf,omitempty"`
	TapMode                       *int          `json:"TAP_MODE" yaml:"tap_mode,omitempty"`
	ThreadThreshold               *int          `json:"THREAD_THRESHOLD" yaml:"thread_threshold,omitempty"`
	ProcessThreshold              *int          `json:"PROCESS_THRESHOLD" yaml:"process_threshold,omitempty"`
	Lcuuid                        *string       `json:"LCUUID" yaml:"-"`
	NtpEnabled                    *int          `json:"NTP_ENABLED" yaml:"ntp_enabled,omitempty"`                         // 0: disabled 1:enabled
	L4PerformanceEnabled          *int          `json:"L4_PERFORMANCE_ENABLED" yaml:"l4_performance_enabled,omitempty"`   // 0: disabled 1:enabled
	PodClusterInternalIP          *int          `json:"POD_CLUSTER_INTERNAL_IP" yaml:"pod_cluster_internal_ip,omitempty"` // 0:  1:
	Domains                       []string      `json:"DOMAINS" yaml:"domains,omitempty"`                                 // domains info, separate by ","
	DecapType                     []int         `json:"DECAP_TYPE" yaml:"decap_type,omitempty"`                           // separate by ","
	HTTPLogSpanID                 *string       `json:"HTTP_LOG_SPAN_ID" yaml:"http_log_span_id,omitempty"`
	SysFreeMemoryLimit            *int          `json:"SYS_FREE_MEMORY_LIMIT" yaml:"sys_free_memory_limit,omitempty"` // unit: %
	LogFileSize                   *int          `json:"LOG_FILE_SIZE" yaml:"log_file_size,omitempty"`                 // unit: MB
	HTTPLogXRequestID             *string       `json:"HTTP_LOG_X_REQUEST_ID" yaml:"http_log_x_request_id,omitempty"`
	ExternalAgentHTTPProxyEnabled *int          `json:"EXTERNAL_AGENT_HTTP_PROXY_ENABLED" yaml:"external_agent_http_proxy_enabled,omitempty"`
	ExternalAgentHTTPProxyPort    *int          `json:"EXTERNAL_AGENT_HTTP_PROXY_PORT" yaml:"external_agent_http_proxy_port,omitempty"`
	AnalyzerPort                  *int          `json:"ANALYZER_PORT" yaml:"analyzer_port,omitempty"`
	ProxyControllerPort           *int          `json:"PROXY_CONTROLLER_PORT" yaml:"proxy_controller_port,omitempty"`
	ProxyControllerIP             *string       `json:"PROXY_CONTROLLER_IP" yaml:"proxy_controller_ip,omitempty"`
	AnalyzerIP                    *string       `json:"ANALYZER_IP" yaml:"analyzer_ip,omitempty"`
	YamlConfig                    *StaticConfig `yaml:"static_config,omitempty"`
}

type VTapGroupConfigurationResponse

type VTapGroupConfigurationResponse struct {
	MaxCollectPps                 *int          `json:"MAX_COLLECT_PPS"`
	MaxNpbBps                     *int64        `json:"MAX_NPB_BPS"` // unit: bps
	MaxCPUs                       *int          `json:"MAX_CPUS"`
	MaxMemory                     *int          `json:"MAX_MEMORY"` // unit: M
	SyncInterval                  *int          `json:"SYNC_INTERVAL"`
	StatsInterval                 *int          `json:"STATS_INTERVAL"`
	RsyslogEnabled                *int          `json:"RSYSLOG_ENABLED"`  // 0: disabled 1:enabled
	MaxTxBandwidth                *int64        `json:"MAX_TX_BANDWIDTH"` // unit: bps
	BandwidthProbeInterval        *int          `json:"BANDWIDTH_PROBE_INTERVAL"`
	TapInterfaceRegex             *string       `json:"TAP_INTERFACE_REGEX"`
	MaxEscapeSeconds              *int          `json:"MAX_ESCAPE_SECONDS"`
	Mtu                           *int          `json:"MTU"`
	OutputVlan                    *int          `json:"OUTPUT_VLAN"`
	CollectorSocketType           *string       `json:"COLLECTOR_SOCKET_TYPE"`
	CompressorSocketType          *string       `json:"COMPRESSOR_SOCKET_TYPE"`
	NpbSocketType                 *string       `json:"NPB_SOCKET_TYPE"`
	NpbVlanMode                   *int          `json:"NPB_VLAN_MODE"`
	CollectorEnabled              *int          `json:"COLLECTOR_ENABLED"`    // 0: disabled 1:enabled
	VTapFlow1sEnabled             *int          `json:"VTAP_FLOW_1S_ENABLED"` // 0: disabled 1:enabled
	L4LogTapTypes                 []*TypeInfo   `json:"L4_LOG_TAP_TYPES"`     // tap type info, separate by ","
	NpbDedupEnabled               *int          `json:"NPB_DEDUP_ENABLED"`    // 0: disabled 1:enabled
	PlatformEnabled               *int          `json:"PLATFORM_ENABLED"`     // 0: disabled 1:enabled
	IfMacSource                   *int          `json:"IF_MAC_SOURCE"`        // 0: 接口MAC 1: 接口名称 2: 虚拟机MAC解析
	VMXMLPath                     *string       `json:"VM_XML_PATH"`
	ExtraNetnsRegex               *string       `json:"EXTRA_NETNS_REGEX"`
	NatIPEnabled                  *int          `json:"NAT_IP_ENABLED"` // 0: disabled 1:enabled
	CapturePacketSize             *int          `json:"CAPTURE_PACKET_SIZE"`
	InactiveServerPortEnabled     *int          `json:"INACTIVE_SERVER_PORT_ENABLED"` // 0: disabled 1:enabled
	InactiveIPEnabled             *int          `json:"INACTIVE_IP_ENABLED"`          // 0: disabled 1:enabled
	VTapGroupLcuuid               *string       `json:"VTAP_GROUP_LCUUID"`
	VTapGroupID                   *string       `json:"VTAP_GROUP_ID"`
	VTapGroupName                 *string       `json:"VTAP_GROUP_NAME"`
	LogThreshold                  *int          `json:"LOG_THRESHOLD"`
	LogLevel                      *string       `json:"LOG_LEVEL"`
	LogRetention                  *int          `json:"LOG_RETENTION"`
	HTTPLogProxyClient            *string       `json:"HTTP_LOG_PROXY_CLIENT"`
	HTTPLogTraceID                *string       `json:"HTTP_LOG_TRACE_ID"`
	L7LogPacketSize               *int          `json:"L7_LOG_PACKET_SIZE"`
	L4LogCollectNpsThreshold      *int          `json:"L4_LOG_COLLECT_NPS_THRESHOLD"`
	L7LogCollectNpsThreshold      *int          `json:"L7_LOG_COLLECT_NPS_THRESHOLD"`
	L7MetricsEnabled              *int          `json:"L7_METRICS_ENABLED"`     // 0: disabled 1:enabled
	L7LogStoreTapTypes            []*TypeInfo   `json:"L7_LOG_STORE_TAP_TYPES"` // l7 log store tap types, separate by ","
	CaptureSocketType             *int          `json:"CAPTURE_SOCKET_TYPE"`
	CaptureBpf                    *string       `json:"CAPTURE_BPF"`
	TapMode                       *int          `json:"TAP_MODE"`
	ThreadThreshold               *int          `json:"THREAD_THRESHOLD"`
	ProcessThreshold              *int          `json:"PROCESS_THRESHOLD"`
	Lcuuid                        *string       `json:"LCUUID"`
	NtpEnabled                    *int          `json:"NTP_ENABLED"`             // 0: disabled 1:enabled
	L4PerformanceEnabled          *int          `json:"L4_PERFORMANCE_ENABLED"`  // 0: disabled 1:enabled
	PodClusterInternalIP          *int          `json:"POD_CLUSTER_INTERNAL_IP"` // 0:  1:
	Domains                       []*DomainInfo `json:"DOMAINS"`                 // domains info, separate by ","
	DecapType                     []*TypeInfo   `json:"DECAP_TYPE"`              // separate by ","
	HTTPLogSpanID                 *string       `json:"HTTP_LOG_SPAN_ID"`
	SysFreeMemoryLimit            *int          `json:"SYS_FREE_MEMORY_LIMIT"` // unit: %
	LogFileSize                   *int          `json:"LOG_FILE_SIZE"`         // unit: MB
	HTTPLogXRequestID             *string       `json:"HTTP_LOG_X_REQUEST_ID"`
	ExternalAgentHTTPProxyEnabled *int          `json:"EXTERNAL_AGENT_HTTP_PROXY_ENABLED"`
	ExternalAgentHTTPProxyPort    *int          `json:"EXTERNAL_AGENT_HTTP_PROXY_PORT"`
	AnalyzerPort                  *int          `json:"ANALYZER_PORT"`
	ProxyControllerPort           *int          `json:"PROXY_CONTROLLER_PORT"`
	ProxyControllerIP             *string       `json:"PROXY_CONTROLLER_IP"`
	AnalyzerIP                    *string       `json:"ANALYZER_IP"`
}

type VTapInterface

type VTapInterface struct {
	ID                 int    `json:"ID"`
	Name               string `json:"NAME"`
	MAC                string `json:"MAC"`
	TapName            string `json:"TAP_NAME"`
	TapMAC             string `json:"TAP_MAC"`
	VTapID             int    `json:"VTAP_ID"`
	VTapType           int    `json:"VTAP_TYPE"`
	VTapName           string `json:"VTAP_NAME"`
	VTapLaunchServer   string `json:"VTAP_LAUNCH_SERVER"`
	VTapLaunchServerID int    `json:"VTAP_LAUNCH_SERVER_ID"`
	DeviceName         string `json:"DEVICE_NAME"`
	DeviceType         int    `json:"DEVICE_TYPE"`
	DeviceID           int    `json:"DEVICE_ID"`
	DeviceHostID       int    `json:"DEVICE_HOST_ID"`
	DeviceHostName     string `json:"DEVICE_HOST_NAME"`
	HostIP             string `json:"HOST_IP"`
	NodeIP             string `json:"NODE_IP"`
	LastSeen           string `json:"LAST_SEEN"`
}

type VTapLicenseConsumption

type VTapLicenseConsumption struct {
	ID               int    `json:"ID"`
	Name             string `json:"NAME"`
	Type             int    `json:"TYPE"`
	LicenseType      int    `json:"LICENSE_TYPE"`
	LicenseFunctions []int  `json:"LICENSE_FUNCTIONS"`
	Lcuuid           string `json:"LCUUID"`

	LicenseUsedCount int `json:"LICENSE_CONSUME"`
}

type VTapRebalanceResult

type VTapRebalanceResult struct {
	TotalSwitchVTapNum int                       `json:"TOTAL_SWITCH_VTAP_NUM"`
	Details            []HostVTapRebalanceResult `json:"DETAILS"`
}

type Vtap

type Vtap struct {
	ID                 int     `json:"ID"`
	Name               string  `json:"NAME"`
	State              int     `json:"STATE"`
	Enable             int     `json:"ENABLE"`
	LaunchServer       string  `json:"LAUNCH_SERVER"`
	LaunchServerID     int     `json:"LAUNCH_SERVER_ID"`
	Type               int     `json:"TYPE"`
	CtrlIP             string  `json:"CTRL_IP"`
	CtrlMac            string  `json:"CTRL_MAC"`
	ControllerIP       string  `json:"CONTROLLER_IP"`
	AnalyzerIP         string  `json:"ANALYZER_IP"`
	CurControllerIP    string  `json:"CUR_CONTROLLER_IP"`
	CurAnalyzerIP      string  `json:"CUR_ANALYZER_IP"`
	SyncedControllerAt string  `json:"SYNCED_CONTROLLER_AT"`
	SyncedAnalyzerAt   string  `json:"SYNCED_ANALYZER_AT"`
	BootTime           int     `json:"BOOT_TIME"`
	Revision           string  `json:"REVISION"`
	CompleteRevision   string  `json:"COMPLETE_REVISION"`
	Exceptions         []int64 `json:"EXCEPTIONS"`
	VtapGroupLcuuid    string  `json:"VTAP_GROUP_LCUUID"`
	VtapGroupName      string  `json:"VTAP_GROUP_NAME"`
	AZ                 string  `json:"AZ"`
	AZName             string  `json:"AZ_NAME"`
	Region             string  `json:"REGION"`
	RegionName         string  `json:"REGION_NAME"`
	CPUNum             int     `json:"CPU_NUM"`
	MemorySize         int64   `json:"MEMORY_SIZE"`
	Arch               string  `json:"ARCH"`
	ArchType           int     `json:"ARCH_TYPE"`
	Os                 string  `json:"OS"`
	OsType             int     `json:"OS_TYPE"`
	KernelVersion      string  `json:"KERNEL_VERSION"`
	ProcessName        string  `json:"PROCESS_NAME"`
	LicenseType        int     `json:"LICENSE_TYPE"`
	LicenseFunctions   []int   `json:"LICENSE_FUNCTIONS"`
	ExpectedRevision   string  `json:"EXPECTED_REVISION"`
	UpgradePackage     string  `json:"UPGRADE_PACKAGE"`
	TapMode            int     `json:"TAP_MODE"`
	Lcuuid             string  `json:"LCUUID"`
}

type VtapCreate

type VtapCreate struct {
	Name            string `json:"NAME" binding:"required"`
	Type            int    `json:"TYPE" binding:"required"`
	CtrlIP          string `json:"CTRL_IP" binding:"required"`
	CtrlMac         string `json:"CTRL_MAC"`
	AZ              string `json:"AZ" binding:"required"`
	Region          string `json:"REGION" binding:"required"`
	VtapGroupLcuuid string `json:"VTAP_GROUP_LCUUID" binding:"required"`
}

type VtapGroup

type VtapGroup struct {
	ID                 int      `json:"ID"`
	Name               string   `json:"NAME"`
	UpdatedAt          string   `json:"UPDATED_AT"`
	ShortUUID          string   `json:"SHORT_UUID"`
	Lcuuid             string   `json:"LCUUID"`
	VtapLcuuids        []string `json:"VTAP_LCUUIDS"`
	DisableVtapLcuuids []string `json:"DISABLE_VTAP_LCUUIDS"`
	PendingVtapLcuuids []string `json:"PENDING_VTAP_LCUUIDS"`
}

type VtapGroupCreate

type VtapGroupCreate struct {
	Name        string   `json:"NAME"`
	State       int      `json:"STATE"`
	Enable      int      `json:"ENABLE"`
	VtapLcuuids []string `json:"VTAP_LCUUIDS"`
	GroupID     string   `json:"GROUP_ID"`
}

type VtapGroupUpdate

type VtapGroupUpdate struct {
	Name        string   `json:"NAME"`
	State       int      `json:"STATE"`
	Enable      int      `json:"ENABLE"`
	VtapLcuuids []string `json:"VTAP_LCUUIDS"`
}

type VtapRepo

type VtapRepo struct {
	Name      string `json:"NAME"`
	Arch      string `json:"ARCH" binding:"required"`
	OS        string `json:"OS"`
	Branch    string `json:"BRANCH"`
	RevCount  string `json:"REV_COUNT"`
	CommitID  string `json:"COMMIT_ID"`
	Image     []byte `json:"IMAGE,omitempty" binding:"required"`
	UpdatedAt string `json:"UPDATED_AT"`
}

type VtapUpdate

type VtapUpdate struct {
	Lcuuid           string `json:"LCUUID"`
	Enable           int    `json:"ENABLE"`
	State            int    `json:"STATE"`
	VtapGroupLcuuid  string `json:"VTAP_GROUP_LCUUID"`
	LicenseType      int    `json:"LICENSE_TYPE"`
	LicenseFunctions []int  `json:"LICENSE_FUNCTIONS"`
}

type VtapUpdateTapMode

type VtapUpdateTapMode struct {
	VTapLcuuids []string `json:"VTAP_LCUUIDS"`
	TapMode     int      `json:"TAP_MODE"`
}

type XflowCollectorConfig

type XflowCollectorConfig struct {
	SflowPorts   []string `yaml:"sflow-ports,omitempty"`
	NetflowPorts []string `yaml:"netflow-ports,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL