topology

package
v8.0.0-rc0+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 1 more Imports: 22 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Create

func Create(w http.ResponseWriter, r *http.Request)

Create is the handler for creating a new topology entity in api version 5.0.

func Delete

func Delete(w http.ResponseWriter, r *http.Request)

Delete is the handler for removing a topology entity in api version 5.0.

func DowngradeTopologyNodes

func DowngradeTopologyNodes(nodes []tc.TopologyNodeV5) []tc.TopologyNode

DowngradeTopologyNodes downgrades v5 topology nodes into legacy topology node structures.

func MakeTopologies

func MakeTopologies(tx *sql.Tx) (map[string]tc.CRConfigTopology, error)

MakeTopologies makes the topologies data for the crconfig and tmconfig snapshots.

func QueueUpdateHandler

func QueueUpdateHandler(w http.ResponseWriter, r *http.Request)

QueueUpdateHandler queues server updates for all servers in all cachegroups included in a given topology.

func Read

func Read(w http.ResponseWriter, r *http.Request)

Read is the handler for reading topologies in api version 5.0.

func Update

func Update(w http.ResponseWriter, r *http.Request)

Update is the handler for modifying a topology entity in api version 5.0.

func Validate

func Validate(reqObj tc.TopologiesQueueUpdateRequest, topologyName tc.TopologyName, tx *sql.Tx) error

func ValidateTopology

func ValidateTopology(topology tc.TopologyV5, reqInfo *api.APIInfo) (tc.Alerts, error, error)

ValidateTopology validates a v5 topology to make sure that the supplied fields are valid.

Types

type Component

type Component []tc.TopologyNode

type Graph

type Graph []*TarjanNode

type NodeStack

type NodeStack []*TarjanNode

type TOTopology

type TOTopology struct {
	api.APIInfoImpl `json:"-"`
	Alerts          tc.Alerts `json:"-"`
	RequestedName   string    `json:"-"`
	tc.Topology
}

TOTopology is a type alias on which we can define functions.

func (*TOTopology) Create

func (topology *TOTopology) Create() (error, error, int)

Create is a requirement of the api.Creator interface.

func (*TOTopology) Delete

func (topology *TOTopology) Delete() (error, error, int)

Delete is unused and simply satisfies the Deleter interface (although TOTOpology is used as an OptionsDeleter)

func (*TOTopology) DeleteKeyOptions

func (topology *TOTopology) DeleteKeyOptions() map[string]dbhelpers.WhereColumnInfo

GenericOptionsDeleter is required by the api.GenericOptionsDeleter interface and is called by api.GenericOptionsDelete().

func (*TOTopology) DeleteQueryBase

func (topology *TOTopology) DeleteQueryBase() string

DeleteQueryBase holds a delete query with no WHERE clause and is a requirement of the api.GenericOptionsDeleter interface.

func (*TOTopology) GetAlerts

func (topology *TOTopology) GetAlerts() tc.Alerts

GetAlerts implements the AlertsResponse interface.

func (*TOTopology) GetAuditName

func (topology *TOTopology) GetAuditName() string

GetAuditName is a requirement of the api.Identifier interface.

func (TOTopology) GetKeyFieldsInfo

func (topology TOTopology) GetKeyFieldsInfo() []api.KeyFieldInfo

GetKeyFieldsInfo is a requirement of the api.Updater interface.

func (TOTopology) GetKeys

func (topology TOTopology) GetKeys() (map[string]interface{}, bool)

Implementation of the Identifier, Validator interface functions

func (*TOTopology) GetType

func (topology *TOTopology) GetType() string

GetType returns the human-readable type of TOTopology as a string.

func (*TOTopology) OptionsDelete

func (topology *TOTopology) OptionsDelete() (error, error, int)

OptionsDelete is a requirement of the OptionsDeleter interface.

func (*TOTopology) ParamColumns

func (topology *TOTopology) ParamColumns() map[string]dbhelpers.WhereColumnInfo

ParamColumns maps query parameters to their respective database columns.

func (*TOTopology) Read

func (topology *TOTopology) Read(h http.Header, useIMS bool) ([]interface{}, error, error, int, *time.Time)

Read is a requirement of the api.Reader interface and is called by api.ReadHandler().

func (*TOTopology) SetKeys

func (topology *TOTopology) SetKeys(keys map[string]interface{})

SetKeys is a requirement of the api.Updater interface and is called by api.UpdateHandler().

func (*TOTopology) SetLastUpdated

func (topology *TOTopology) SetLastUpdated(time tc.TimeNoMod)

func (*TOTopology) Update

func (topology *TOTopology) Update(h http.Header) (error, error, int)

Update is a requirement of the api.Updater interface.

func (*TOTopology) Validate

func (topology *TOTopology) Validate() (error, error)

Validate is a requirement of the api.Validator interface.

type Tarjan

type Tarjan struct {
	Graph      *Graph
	Stack      *NodeStack
	Components []Component
	Index      int
}

type TarjanNode

type TarjanNode struct {
	tc.TopologyNode
	Index   *int
	LowLink *int
	OnStack *bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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