pfsense

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultURL           = "https://192.168.1.1"
	DefaultUsername      = "admin"
	DefaultTLSSkipVerify = false
	DefaultRetryMinWait  = time.Second
	DefaultRetryMaxWait  = 5 * time.Second
	DefaultMaxAttempts   = 3
)
View Source
const (
	DefaultDNSPort    = 53
	DefaultTLSDNSPort = 853
)

Variables

View Source
var (
	ErrFailedRequest         = errors.New("failed request")
	ErrHTTPStatus            = errors.New("HTTP status")
	ErrLoginFailed           = errors.New("login failed")
	ErrNotFound              = errors.New("not found")
	ErrUnableToParse         = errors.New("unable to parse")
	ErrUnableToScrapeHTML    = errors.New("unable to scrape HTML")
	ErrClientValidation      = errors.New("client validation")
	ErrServerValidation      = errors.New("server validation")
	ErrGetOperationFailed    = errors.New("failed to get")
	ErrCreateOperationFailed = errors.New("failed to create")
	ErrUpdateOperationFailed = errors.New("failed to update")
	ErrDeleteOperationFailed = errors.New("failed to delete")
)
View Source
var (
	ErrApplyDNSResolverChange = errors.New("failed to apply DNS resolver changes")
)
View Source
var (
	ErrReloadFirewallFilter = errors.New("failed to reload firewall filter")
)

Functions

This section is empty.

Types

type Client

type Client struct {
	Options *Options
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, opts *Options) (*Client, error)

func (*Client) ApplyDNSResolverChanges

func (pf *Client) ApplyDNSResolverChanges(ctx context.Context) error

func (*Client) CreateDNSResolverConfigFile

func (pf *Client) CreateDNSResolverConfigFile(ctx context.Context, configFileReq ConfigFile) (*ConfigFile, error)

func (*Client) CreateDNSResolverDomainOverride

func (pf *Client) CreateDNSResolverDomainOverride(ctx context.Context, domainOverrideReq DomainOverride) (*DomainOverride, error)

func (*Client) CreateDNSResolverHostOverride

func (pf *Client) CreateDNSResolverHostOverride(ctx context.Context, hostOverrideReq HostOverride) (*HostOverride, error)

func (*Client) CreateFirewallIPAlias added in v0.6.0

func (pf *Client) CreateFirewallIPAlias(ctx context.Context, ipAliasReq FirewallIPAlias) (*FirewallIPAlias, error)

func (*Client) DeleteDNSResolverConfigFile

func (pf *Client) DeleteDNSResolverConfigFile(ctx context.Context, name string) error

func (*Client) DeleteDNSResolverDomainOverride

func (pf *Client) DeleteDNSResolverDomainOverride(ctx context.Context, domain string) error

func (*Client) DeleteDNSResolverHostOverride

func (pf *Client) DeleteDNSResolverHostOverride(ctx context.Context, fqdn string) error

func (*Client) DeleteFirewallIPAlias added in v0.6.0

func (pf *Client) DeleteFirewallIPAlias(ctx context.Context, name string) error

func (*Client) GetDNSResolverConfigFile

func (pf *Client) GetDNSResolverConfigFile(ctx context.Context, name string) (*ConfigFile, error)

func (*Client) GetDNSResolverConfigFiles

func (pf *Client) GetDNSResolverConfigFiles(ctx context.Context) (*ConfigFiles, error)

func (*Client) GetDNSResolverDomainOverride

func (pf *Client) GetDNSResolverDomainOverride(ctx context.Context, domain string) (*DomainOverride, error)

func (*Client) GetDNSResolverDomainOverrides

func (pf *Client) GetDNSResolverDomainOverrides(ctx context.Context) (*DomainOverrides, error)

func (*Client) GetDNSResolverHostOverride

func (pf *Client) GetDNSResolverHostOverride(ctx context.Context, fqdn string) (*HostOverride, error)

func (*Client) GetDNSResolverHostOverrides

func (pf *Client) GetDNSResolverHostOverrides(ctx context.Context) (*HostOverrides, error)

func (*Client) GetFirewallIPAlias added in v0.6.0

func (pf *Client) GetFirewallIPAlias(ctx context.Context, name string) (*FirewallIPAlias, error)

func (*Client) GetFirewallIPAliases added in v0.6.0

func (pf *Client) GetFirewallIPAliases(ctx context.Context) (*FirewallIPAliases, error)

func (*Client) GetSystemVersion

func (pf *Client) GetSystemVersion(ctx context.Context) (*SystemVersion, error)

func (*Client) ReloadFirewallFilter added in v0.6.0

func (pf *Client) ReloadFirewallFilter(ctx context.Context) error

func (*Client) UpdateDNSResolverConfigFile

func (pf *Client) UpdateDNSResolverConfigFile(ctx context.Context, configFileReq ConfigFile) (*ConfigFile, error)

func (*Client) UpdateDNSResolverDomainOverride

func (pf *Client) UpdateDNSResolverDomainOverride(ctx context.Context, domainOverrideReq DomainOverride) (*DomainOverride, error)

func (*Client) UpdateDNSResolverHostOverride

func (pf *Client) UpdateDNSResolverHostOverride(ctx context.Context, hostOverrideReq HostOverride) (*HostOverride, error)

func (*Client) UpdateFirewallIPAlias added in v0.6.0

func (pf *Client) UpdateFirewallIPAlias(ctx context.Context, ipAliasReq FirewallIPAlias) (*FirewallIPAlias, error)

type ConfigFile

type ConfigFile struct {
	Name    string
	Content string
}

func (*ConfigFile) SetContent

func (cf *ConfigFile) SetContent(content string) error

func (*ConfigFile) SetName

func (cf *ConfigFile) SetName(name string) error

type ConfigFiles

type ConfigFiles []ConfigFile

func (ConfigFiles) GetByName

func (cfs ConfigFiles) GetByName(name string) (*ConfigFile, error)

type DomainOverride

type DomainOverride struct {
	Domain      string
	IPAddress   netip.AddrPort
	TLSQueries  bool
	TLSHostname string
	Description string
}

func (*DomainOverride) SetDescription

func (do *DomainOverride) SetDescription(description string) error

func (*DomainOverride) SetDomain

func (do *DomainOverride) SetDomain(domain string) error

func (*DomainOverride) SetIPAddress

func (do *DomainOverride) SetIPAddress(ipAddress string) error

TODO support address without port specified (default to 53/853)

func (*DomainOverride) SetTLSHostname

func (do *DomainOverride) SetTLSHostname(hostname string) error

func (*DomainOverride) SetTLSQueries

func (do *DomainOverride) SetTLSQueries(value bool) error

type DomainOverrides

type DomainOverrides []DomainOverride

func (DomainOverrides) GetByDomain

func (dos DomainOverrides) GetByDomain(domain string) (*DomainOverride, error)

func (DomainOverrides) GetControlIDByDomain

func (dos DomainOverrides) GetControlIDByDomain(domain string) (*int, error)

type FirewallIPAlias added in v0.6.0

type FirewallIPAlias struct {
	Name        string
	Description string
	Type        string
	Entries     []FirewallIPAliasEntry
	// contains filtered or unexported fields
}

func (*FirewallIPAlias) SetDescription added in v0.6.0

func (ipAlias *FirewallIPAlias) SetDescription(description string) error

func (*FirewallIPAlias) SetName added in v0.6.0

func (ipAlias *FirewallIPAlias) SetName(name string) error

func (*FirewallIPAlias) SetType added in v0.6.0

func (ipAlias *FirewallIPAlias) SetType(t string) error

type FirewallIPAliasEntry added in v0.6.0

type FirewallIPAliasEntry struct {
	Address     string // TODO can be a IP, CIDR, FQDN, or alias, how to validate?
	Description string
}

func (*FirewallIPAliasEntry) SetAddress added in v0.6.0

func (entry *FirewallIPAliasEntry) SetAddress(addr string) error

func (*FirewallIPAliasEntry) SetDescription added in v0.6.0

func (entry *FirewallIPAliasEntry) SetDescription(description string) error

type FirewallIPAliases added in v0.6.0

type FirewallIPAliases []FirewallIPAlias

func (FirewallIPAliases) GetByName added in v0.6.0

func (ipAliases FirewallIPAliases) GetByName(name string) (*FirewallIPAlias, error)

func (FirewallIPAliases) GetControlIDByName added in v0.6.0

func (ipAliases FirewallIPAliases) GetControlIDByName(name string) (*int, error)

type HostOverride

type HostOverride struct {
	Host        string
	Domain      string
	IPAddresses []netip.Addr
	Description string
	Aliases     []HostOverrideAlias
}

func (HostOverride) FQDN

func (ho HostOverride) FQDN() string

func (*HostOverride) SetDescription

func (ho *HostOverride) SetDescription(description string) error

func (*HostOverride) SetDomain

func (ho *HostOverride) SetDomain(domain string) error

func (*HostOverride) SetHost

func (ho *HostOverride) SetHost(host string) error

func (*HostOverride) SetIPAddresses

func (ho *HostOverride) SetIPAddresses(ipAddresses []string) error

type HostOverrideAlias

type HostOverrideAlias struct {
	Host        string
	Domain      string
	Description string
}

func (HostOverrideAlias) FQDN

func (hoa HostOverrideAlias) FQDN() string

func (*HostOverrideAlias) SetDescription

func (hoa *HostOverrideAlias) SetDescription(description string) error

func (*HostOverrideAlias) SetDomain

func (hoa *HostOverrideAlias) SetDomain(domain string) error

func (*HostOverrideAlias) SetHost

func (hoa *HostOverrideAlias) SetHost(host string) error

type HostOverrides

type HostOverrides []HostOverride

func (HostOverrides) GetByFQDN

func (hos HostOverrides) GetByFQDN(fqdn string) (*HostOverride, error)

func (HostOverrides) GetControlIDByFQDN

func (hos HostOverrides) GetControlIDByFQDN(fqdn string) (*int, error)

type Options

type Options struct {
	URL           *url.URL
	Username      string
	Password      string
	TLSSkipVerify *bool
	RetryMinWait  *time.Duration
	RetryMaxWait  *time.Duration
	MaxAttempts   *int
}

type SystemVersion

type SystemVersion struct {
	Current string `json:"installed_version"`
	Latest  string `json:"version"`
}

Jump to

Keyboard shortcuts

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