Documentation ¶
Index ¶
- type AZ
- type CEN
- type DHCPPort
- type DataGenerator
- type FloatingIP
- type Host
- type IP
- type LANIP
- type LB
- type LBListener
- type LBTargetServer
- type LBVMConnection
- type NATGateway
- type NATRule
- type NATVMConnection
- type Network
- type PeerConnection
- type Pod
- type PodCluster
- type PodGroup
- type PodGroupPort
- type PodIngress
- type PodIngressRule
- type PodIngressRuleBackend
- type PodNamespace
- type PodNode
- type PodReplicaSet
- type PodService
- type PodServicePort
- type Process
- type PrometheusTarget
- type RDSInstance
- type RedisInstance
- type Region
- type ResourceUpdater
- type RoutingTable
- type SecurityGroup
- type SecurityGroupRule
- type SubDomain
- type Subnet
- type UpdaterBase
- func (u *UpdaterBase[CT, MT, BT]) GetChanged() bool
- func (u *UpdaterBase[CT, MT, BT]) GetMySQLModelString() []string
- func (u *UpdaterBase[CT, MT, BT]) HandleAddAndUpdate()
- func (u *UpdaterBase[CT, MT, BT]) HandleDelete()
- func (u *UpdaterBase[CT, MT, BT]) RegisterListener(listener listener.Listener[CT, MT, BT]) ResourceUpdater
- type VIP
- type VInterface
- type VM
- type VMPodNodeConnection
- type VMSecurityGroup
- type VPC
- type VRouter
- type WANIP
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AZ ¶
type AZ struct { UpdaterBase[cloudmodel.AZ, mysql.AZ, *diffbase.AZ] }
type CEN ¶
type CEN struct { UpdaterBase[cloudmodel.CEN, mysql.CEN, *diffbase.CEN] }
type DHCPPort ¶
type DHCPPort struct { UpdaterBase[cloudmodel.DHCPPort, mysql.DHCPPort, *diffbase.DHCPPort] }
func NewDHCPPort ¶
func NewDHCPPort(wholeCache *cache.Cache, cloudData []cloudmodel.DHCPPort) *DHCPPort
type DataGenerator ¶
type DataGenerator[CT constraint.CloudModel, MT constraint.MySQLModel, BT constraint.DiffBase[MT]] interface { // contains filtered or unexported methods }
type FloatingIP ¶
type FloatingIP struct { UpdaterBase[cloudmodel.FloatingIP, mysql.FloatingIP, *diffbase.FloatingIP] }
func NewFloatingIP ¶
func NewFloatingIP(wholeCache *cache.Cache, cloudData []cloudmodel.FloatingIP) *FloatingIP
type Host ¶
type Host struct { UpdaterBase[cloudmodel.Host, mysql.Host, *diffbase.Host] }
type IP ¶
type IP struct {
// contains filtered or unexported fields
}
func (*IP) GetChanged ¶
func (*IP) GetMySQLModelString ¶
func (*IP) HandleAddAndUpdate ¶
func (i *IP) HandleAddAndUpdate()
func (*IP) HandleDelete ¶
func (i *IP) HandleDelete()
type LANIP ¶
type LANIP struct { UpdaterBase[cloudmodel.IP, mysql.LANIP, *diffbase.LANIP] }
func (*LANIP) SetCloudData ¶
func (i *LANIP) SetCloudData(cloudData []cloudmodel.IP)
type LB ¶
type LB struct { UpdaterBase[cloudmodel.LB, mysql.LB, *diffbase.LB] }
type LBListener ¶
type LBListener struct { UpdaterBase[cloudmodel.LBListener, mysql.LBListener, *diffbase.LBListener] }
func NewLBListener ¶
func NewLBListener(wholeCache *cache.Cache, cloudData []cloudmodel.LBListener) *LBListener
type LBTargetServer ¶
type LBTargetServer struct { UpdaterBase[cloudmodel.LBTargetServer, mysql.LBTargetServer, *diffbase.LBTargetServer] }
func NewLBTargetServer ¶
func NewLBTargetServer(wholeCache *cache.Cache, cloudData []cloudmodel.LBTargetServer) *LBTargetServer
type LBVMConnection ¶
type LBVMConnection struct { UpdaterBase[cloudmodel.LBVMConnection, mysql.LBVMConnection, *diffbase.LBVMConnection] }
func NewLBVMConnection ¶
func NewLBVMConnection(wholeCache *cache.Cache, cloudData []cloudmodel.LBVMConnection) *LBVMConnection
type NATGateway ¶
type NATGateway struct { UpdaterBase[cloudmodel.NATGateway, mysql.NATGateway, *diffbase.NATGateway] }
func NewNATGateway ¶
func NewNATGateway(wholeCache *cache.Cache, cloudData []cloudmodel.NATGateway) *NATGateway
type NATRule ¶
type NATRule struct { UpdaterBase[cloudmodel.NATRule, mysql.NATRule, *diffbase.NATRule] }
func NewNATRule ¶
func NewNATRule(wholeCache *cache.Cache, cloudData []cloudmodel.NATRule) *NATRule
type NATVMConnection ¶
type NATVMConnection struct { UpdaterBase[cloudmodel.NATVMConnection, mysql.NATVMConnection, *diffbase.NATVMConnection] }
func NewNATVMConnection ¶
func NewNATVMConnection(wholeCache *cache.Cache, cloudData []cloudmodel.NATVMConnection) *NATVMConnection
type Network ¶
type Network struct { UpdaterBase[cloudmodel.Network, mysql.Network, *diffbase.Network] }
func NewNetwork ¶
func NewNetwork(wholeCache *cache.Cache, cloudData []cloudmodel.Network) *Network
type PeerConnection ¶
type PeerConnection struct { UpdaterBase[cloudmodel.PeerConnection, mysql.PeerConnection, *diffbase.PeerConnection] }
func NewPeerConnection ¶
func NewPeerConnection(wholeCache *cache.Cache, cloudData []cloudmodel.PeerConnection) *PeerConnection
type Pod ¶
type Pod struct { UpdaterBase[cloudmodel.Pod, mysql.Pod, *diffbase.Pod] }
type PodCluster ¶
type PodCluster struct { UpdaterBase[cloudmodel.PodCluster, mysql.PodCluster, *diffbase.PodCluster] }
func NewPodCluster ¶
func NewPodCluster(wholeCache *cache.Cache, cloudData []cloudmodel.PodCluster) *PodCluster
type PodGroup ¶
type PodGroup struct { UpdaterBase[cloudmodel.PodGroup, mysql.PodGroup, *diffbase.PodGroup] }
func NewPodGroup ¶
func NewPodGroup(wholeCache *cache.Cache, cloudData []cloudmodel.PodGroup) *PodGroup
type PodGroupPort ¶
type PodGroupPort struct { UpdaterBase[cloudmodel.PodGroupPort, mysql.PodGroupPort, *diffbase.PodGroupPort] }
func NewPodGroupPort ¶
func NewPodGroupPort(wholeCache *cache.Cache, cloudData []cloudmodel.PodGroupPort) *PodGroupPort
type PodIngress ¶
type PodIngress struct { UpdaterBase[cloudmodel.PodIngress, mysql.PodIngress, *diffbase.PodIngress] }
func NewPodIngress ¶
func NewPodIngress(wholeCache *cache.Cache, cloudData []cloudmodel.PodIngress) *PodIngress
type PodIngressRule ¶
type PodIngressRule struct { UpdaterBase[cloudmodel.PodIngressRule, mysql.PodIngressRule, *diffbase.PodIngressRule] }
func NewPodIngressRule ¶
func NewPodIngressRule(wholeCache *cache.Cache, cloudData []cloudmodel.PodIngressRule) *PodIngressRule
type PodIngressRuleBackend ¶
type PodIngressRuleBackend struct { UpdaterBase[cloudmodel.PodIngressRuleBackend, mysql.PodIngressRuleBackend, *diffbase.PodIngressRuleBackend] }
func NewPodIngressRuleBackend ¶
func NewPodIngressRuleBackend(wholeCache *cache.Cache, cloudData []cloudmodel.PodIngressRuleBackend) *PodIngressRuleBackend
type PodNamespace ¶
type PodNamespace struct { UpdaterBase[cloudmodel.PodNamespace, mysql.PodNamespace, *diffbase.PodNamespace] }
func NewPodNamespace ¶
func NewPodNamespace(wholeCache *cache.Cache, cloudData []cloudmodel.PodNamespace) *PodNamespace
type PodNode ¶
type PodNode struct { UpdaterBase[cloudmodel.PodNode, mysql.PodNode, *diffbase.PodNode] }
func NewPodNode ¶
func NewPodNode(wholeCache *cache.Cache, cloudData []cloudmodel.PodNode) *PodNode
type PodReplicaSet ¶
type PodReplicaSet struct { UpdaterBase[cloudmodel.PodReplicaSet, mysql.PodReplicaSet, *diffbase.PodReplicaSet] }
func NewPodReplicaSet ¶
func NewPodReplicaSet(wholeCache *cache.Cache, cloudData []cloudmodel.PodReplicaSet) *PodReplicaSet
type PodService ¶
type PodService struct { UpdaterBase[cloudmodel.PodService, mysql.PodService, *diffbase.PodService] }
func NewPodService ¶
func NewPodService(wholeCache *cache.Cache, cloudData []cloudmodel.PodService) *PodService
type PodServicePort ¶
type PodServicePort struct { UpdaterBase[cloudmodel.PodServicePort, mysql.PodServicePort, *diffbase.PodServicePort] }
func NewPodServicePort ¶
func NewPodServicePort(wholeCache *cache.Cache, cloudData []cloudmodel.PodServicePort) *PodServicePort
type Process ¶
type Process struct { UpdaterBase[cloudmodel.Process, mysql.Process, *diffbase.Process] }
func NewProcess ¶
func NewProcess(wholeCache *cache.Cache, cloudData []cloudmodel.Process) *Process
type PrometheusTarget ¶
type PrometheusTarget struct { UpdaterBase[cloudmodel.PrometheusTarget, mysql.PrometheusTarget, *diffbase.PrometheusTarget] }
func NewPrometheusTarget ¶
func NewPrometheusTarget(wholeCache *cache.Cache, cloudData []cloudmodel.PrometheusTarget) *PrometheusTarget
type RDSInstance ¶
type RDSInstance struct { UpdaterBase[cloudmodel.RDSInstance, mysql.RDSInstance, *diffbase.RDSInstance] }
func NewRDSInstance ¶
func NewRDSInstance(wholeCache *cache.Cache, cloudData []cloudmodel.RDSInstance) *RDSInstance
type RedisInstance ¶
type RedisInstance struct { UpdaterBase[cloudmodel.RedisInstance, mysql.RedisInstance, *diffbase.RedisInstance] }
func NewRedisInstance ¶
func NewRedisInstance(wholeCache *cache.Cache, cloudData []cloudmodel.RedisInstance) *RedisInstance
type Region ¶
type Region struct { UpdaterBase[cloudmodel.Region, mysql.Region, *diffbase.Region] }
type ResourceUpdater ¶
type ResourceUpdater interface { // 以资源的 lcuuid 为 key ,逐一检查 cloud 数据 // 若 cache 的 diff base 中不存在,则添加 // 若 cache 的 diff base 中存在,基于可更新字段,检查 cloud 数据是否发生变化,若发生变化,则更新; // 无论已存在资源有无变化,根据 cache 的 sequence 更新的 diff base 中的 sequence,用于标记资源是否需要被删除 HandleAddAndUpdate() // 逐一检查 diff base 中的资源,若 sequence 不等于 cache 中的 sequence,则删除 HandleDelete() GetChanged() bool GetMySQLModelString() []string }
ResourceUpdater 实现资源进行新旧数据比对,并根据比对结果增删改资源
type RoutingTable ¶
type RoutingTable struct { UpdaterBase[cloudmodel.RoutingTable, mysql.RoutingTable, *diffbase.RoutingTable] }
func NewRoutingTable ¶
func NewRoutingTable(wholeCache *cache.Cache, cloudData []cloudmodel.RoutingTable) *RoutingTable
type SecurityGroup ¶
type SecurityGroup struct { UpdaterBase[cloudmodel.SecurityGroup, mysql.SecurityGroup, *diffbase.SecurityGroup] }
func NewSecurityGroup ¶
func NewSecurityGroup(wholeCache *cache.Cache, cloudData []cloudmodel.SecurityGroup) *SecurityGroup
type SecurityGroupRule ¶
type SecurityGroupRule struct { UpdaterBase[cloudmodel.SecurityGroupRule, mysql.SecurityGroupRule, *diffbase.SecurityGroupRule] }
func NewSecurityGroupRule ¶
func NewSecurityGroupRule(wholeCache *cache.Cache, cloudData []cloudmodel.SecurityGroupRule) *SecurityGroupRule
type SubDomain ¶
type SubDomain struct { UpdaterBase[cloudmodel.SubDomain, mysql.SubDomain, *diffbase.SubDomain] }
func NewSubDomain ¶
func NewSubDomain(wholeCache *cache.Cache, cloudData []cloudmodel.SubDomain) *SubDomain
type Subnet ¶
type Subnet struct { UpdaterBase[cloudmodel.Subnet, mysql.Subnet, *diffbase.Subnet] }
type UpdaterBase ¶
type UpdaterBase[CT constraint.CloudModel, MT constraint.MySQLModel, BT constraint.DiffBase[MT]] struct { // Set Changed to true if the resource database and cache are updated, // used for cache update notifications to trisolaris module. Changed bool // contains filtered or unexported fields }
func (*UpdaterBase[CT, MT, BT]) GetChanged ¶
func (u *UpdaterBase[CT, MT, BT]) GetChanged() bool
func (*UpdaterBase[CT, MT, BT]) GetMySQLModelString ¶
func (u *UpdaterBase[CT, MT, BT]) GetMySQLModelString() []string
func (*UpdaterBase[CT, MT, BT]) HandleAddAndUpdate ¶
func (u *UpdaterBase[CT, MT, BT]) HandleAddAndUpdate()
func (*UpdaterBase[CT, MT, BT]) HandleDelete ¶
func (u *UpdaterBase[CT, MT, BT]) HandleDelete()
func (*UpdaterBase[CT, MT, BT]) RegisterListener ¶
func (u *UpdaterBase[CT, MT, BT]) RegisterListener(listener listener.Listener[CT, MT, BT]) ResourceUpdater
type VIP ¶
type VIP struct { UpdaterBase[cloudmodel.VIP, mysql.VIP, *diffbase.VIP] }
type VInterface ¶
type VInterface struct { UpdaterBase[cloudmodel.VInterface, mysql.VInterface, *diffbase.VInterface] }
func NewVInterface ¶
func NewVInterface(wholeCache *cache.Cache, cloudData []cloudmodel.VInterface, domainToolDataSet *tool.DataSet) *VInterface
type VM ¶
type VM struct { UpdaterBase[cloudmodel.VM, mysql.VM, *diffbase.VM] }
type VMPodNodeConnection ¶
type VMPodNodeConnection struct { UpdaterBase[cloudmodel.VMPodNodeConnection, mysql.VMPodNodeConnection, *diffbase.VMPodNodeConnection] }
func NewVMPodNodeConnection ¶
func NewVMPodNodeConnection(wholeCache *cache.Cache, cloudData []cloudmodel.VMPodNodeConnection) *VMPodNodeConnection
type VMSecurityGroup ¶
type VMSecurityGroup struct { UpdaterBase[cloudmodel.VMSecurityGroup, mysql.VMSecurityGroup, *diffbase.VMSecurityGroup] }
func NewVMSecurityGroup ¶
func NewVMSecurityGroup(wholeCache *cache.Cache, cloudData []cloudmodel.VMSecurityGroup) *VMSecurityGroup
type VPC ¶
type VPC struct { UpdaterBase[cloudmodel.VPC, mysql.VPC, *diffbase.VPC] }
type VRouter ¶
type VRouter struct { UpdaterBase[cloudmodel.VRouter, mysql.VRouter, *diffbase.VRouter] }
func NewVRouter ¶
func NewVRouter(wholeCache *cache.Cache, cloudData []cloudmodel.VRouter) *VRouter
Source Files ¶
- az.go
- cen.go
- dhcp_port.go
- floating_ip.go
- host.go
- ip.go
- lan_ip.go
- lb.go
- lb_listener.go
- lb_target_server.go
- lb_vm_connection.go
- logger.go
- nat_gateway.go
- nat_rule.go
- nat_vm_connection.go
- network.go
- peer_connection.go
- pod.go
- pod_cluster.go
- pod_group.go
- pod_group_port.go
- pod_ingress.go
- pod_ingress_rule.go
- pod_ingress_rule_backend.go
- pod_namespace.go
- pod_node.go
- pod_replica_set.go
- pod_service.go
- pod_service_port.go
- process.go
- prometheus_target.go
- rds_instance.go
- redis_instance.go
- region.go
- routing_table.go
- security_group.go
- security_group_rule.go
- sub_domain.go
- subnet.go
- updater.go
- vinterface.go
- vip.go
- vm.go
- vm_pod_node_connection.go
- vm_security_group.go
- vpc.go
- vrouter.go
- wan_ip.go
Click to show internal directories.
Click to hide internal directories.