manager

package
v0.1.10 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EAKey = "F5IPAM"
	EAVal = "managed"
)
View Source
const F5IPAMProvider = "f5-ip-provider"
View Source
const InfobloxProvider = "infoblox"

Variables

This section is empty.

Functions

func ParseLabels added in v0.1.4

func ParseLabels(params string) (map[string]IBConfig, error)

Types

type ConnectorHandler added in v0.1.6

type ConnectorHandler struct {
	*ibxclient.Connector
}

type IBConfig added in v0.1.5

type IBConfig struct {
	DNSView string `json:"dnsView,omitempty"`
	CIDR    string `json:"cidr"`
}

type IPAMManager

type IPAMManager struct {
	// contains filtered or unexported fields
}

func NewIPAMManager

func NewIPAMManager(params IPAMManagerParams) (*IPAMManager, error)

func (*IPAMManager) AllocateNextIPAddress added in v0.1.5

func (ipMgr *IPAMManager) AllocateNextIPAddress(req ipamspec.IPAMRequest) string

AllocateNextIPAddress method gets and reserves the next available IP address

func (*IPAMManager) CreateARecord

func (ipMgr *IPAMManager) CreateARecord(req ipamspec.IPAMRequest) bool

CreateARecord method creates an A record

func (*IPAMManager) DeleteARecord

func (ipMgr *IPAMManager) DeleteARecord(req ipamspec.IPAMRequest)

DeleteARecord method deletes an A record and releases the IP address

func (*IPAMManager) GetIPAddress

func (ipMgr *IPAMManager) GetIPAddress(req ipamspec.IPAMRequest) string

func (*IPAMManager) ReleaseIPAddress

func (ipMgr *IPAMManager) ReleaseIPAddress(req ipamspec.IPAMRequest)

ReleaseIPAddress method releases an IP address

type IPAMManagerParams

type IPAMManagerParams struct {
	Range string
}

type InfobloxManager added in v0.1.4

type InfobloxManager struct {
	NetView  string
	IBLabels map[string]IBConfig
	// contains filtered or unexported fields
}

func NewInfobloxManager added in v0.1.4

func NewInfobloxManager(params InfobloxParams) (*InfobloxManager, error)

func (*InfobloxManager) AllocateNextIPAddress added in v0.1.5

func (infMgr *InfobloxManager) AllocateNextIPAddress(req ipamspec.IPAMRequest) string

GetNextIPAddress Gets and reserves the next available IP address

func (*InfobloxManager) CreateARecord added in v0.1.4

func (infMgr *InfobloxManager) CreateARecord(req ipamspec.IPAMRequest) bool

CreateARecord Creates an A record

func (*InfobloxManager) DeleteARecord added in v0.1.4

func (infMgr *InfobloxManager) DeleteARecord(req ipamspec.IPAMRequest)

DeleteARecord Deletes an A record and releases the IP address

func (*InfobloxManager) GetIPAddress added in v0.1.4

func (infMgr *InfobloxManager) GetIPAddress(req ipamspec.IPAMRequest) string

GetIPAddress Gets IP Address associated with hostname

func (*InfobloxManager) ReleaseIPAddress added in v0.1.4

func (infMgr *InfobloxManager) ReleaseIPAddress(req ipamspec.IPAMRequest)

ReleaseIPAddress Releases an IP address

type InfobloxParams added in v0.1.4

type InfobloxParams struct {
	Host       string
	Version    string
	Port       string
	Username   string
	Password   string
	IbLabelMap string
	NetView    string
	SslVerify  string
}

type Manager

type Manager interface {
	// Creates an A record
	CreateARecord(req ipamspec.IPAMRequest) bool
	// Deletes an A record and releases the IP address
	DeleteARecord(req ipamspec.IPAMRequest)
	// Gets IP Address associated with hostname/key
	GetIPAddress(req ipamspec.IPAMRequest) string
	// Gets and reserves the next available IP address
	AllocateNextIPAddress(req ipamspec.IPAMRequest) string
	// Releases an IP address
	ReleaseIPAddress(req ipamspec.IPAMRequest)
}

Manager defines the interface that the IPAM system should implement

func NewManager

func NewManager(params Params) (Manager, error)

type ObjMgrHandler added in v0.1.6

type ObjMgrHandler struct {
	*ibxclient.ObjectManager
}

type Params

type Params struct {
	Provider string
	IPAMManagerParams
	InfobloxParams
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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