efficientip

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2024 License: BSD-2-Clause Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EfficientIPAPI

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

func NewEfficientipAPI

func NewEfficientipAPI(ctx context.Context, config *eip.Configuration) EfficientIPAPI

func (*EfficientIPAPI) RecordAdd

func (e *EfficientIPAPI) RecordAdd(rr *endpoint.Endpoint) error

func (*EfficientIPAPI) RecordDelete

func (e *EfficientIPAPI) RecordDelete(rr *endpoint.Endpoint) error

func (*EfficientIPAPI) RecordList

func (e *EfficientIPAPI) RecordList(zone ZoneAuth) (endpoints []*endpoint.Endpoint, _ error)

func (*EfficientIPAPI) ZonesList

func (e *EfficientIPAPI) ZonesList(config *EfficientIPConfig) ([]*ZoneAuth, error)

type EfficientIPConfig

type EfficientIPConfig struct {
	Host       string `env:"EIP_HOST,required" envDefault:"localhost"`
	Port       int    `env:"EIP_PORT,required" envDefault:"443"`
	Username   string `env:"EIP_USER,required"`
	Password   string `env:"EIP_PASSWORD,required"`
	DnsSmart   string `env:"EIP_SMART,required"`
	DnsView    string `env:"EIP_VIEW" envDefault:""`
	SSLVerify  bool   `env:"EIP_SSL_VERIFY" envDefault:"true"`
	DryRun     bool   `env:"EIP_DRY_RUN" envDefault:"false"`
	MaxResults int    `env:"EIP_MAX_RESULTS" envDefault:"1500"`
	CreatePTR  bool   `env:"EIP_CREATE_PTR" envDefault:"false"`
	DefaultTTL int    `env:"EIP_DEFAULT_TTL" envDefault:"300"`
	FQDNRegEx  string
	NameRegEx  string
}

type EfficientipClient

type EfficientipClient interface {
	ZonesList(config *EfficientIPConfig) ([]*ZoneAuth, error)
	RecordAdd(rr *endpoint.Endpoint) error
	RecordDelete(rr *endpoint.Endpoint) error
	RecordList(Zone ZoneAuth) (endpoints []*endpoint.Endpoint, _ error)
}

type Provider

type Provider struct {
	provider.BaseProvider
	// contains filtered or unexported fields
}

func NewEfficientIPProvider

func NewEfficientIPProvider(config *EfficientIPConfig, domainFilter endpoint.DomainFilter) (*Provider, error)

Creates a new EfficientIP provider.

func (*Provider) AdjustEndpoints

func (p *Provider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*endpoint.Endpoint, error)

func (*Provider) ApplyChanges

func (p *Provider) ApplyChanges(ctx context.Context, changes *plan.Changes) error

ApplyChanges applies the given changes.

func (*Provider) CreateChanges

func (p *Provider) CreateChanges(_ context.Context, changes *endpoint.Endpoint) error

func (*Provider) DeleteChanges

func (p *Provider) DeleteChanges(_ context.Context, changes *endpoint.Endpoint) error

func (*Provider) Records

func (p *Provider) Records(ctx context.Context) (endpoints []*endpoint.Endpoint, err error)

Records gets the current records.

func (*Provider) Zones

func (p *Provider) Zones() ([]*ZoneAuth, error)

type ZoneAuth

type ZoneAuth struct {
	Name string
	Type string
	ID   string
}

func NewZoneAuth

func NewZoneAuth(zone eip.DnsZoneDataData) *ZoneAuth

Jump to

Keyboard shortcuts

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