Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EgoscaleClientI ¶
type EgoscaleClientI interface { ListDNSDomainRecords(context.Context, string, string) ([]egoscale.DNSDomainRecord, error) ListDNSDomains(context.Context, string) ([]egoscale.DNSDomain, error) CreateDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) (*egoscale.DNSDomainRecord, error) DeleteDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) error UpdateDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) error }
EgoscaleClientI for replaceable implementation
type ExoscaleOption ¶
type ExoscaleOption func(*ExoscaleProvider)
ExoscaleOption for Provider options
func ExoscaleWithDomain ¶
func ExoscaleWithDomain(domainFilter endpoint.DomainFilter) ExoscaleOption
ExoscaleWithDomain modifies the domain on which dns zones are filtered
func ExoscaleWithLogging ¶
func ExoscaleWithLogging() ExoscaleOption
ExoscaleWithLogging injects logging when ApplyChanges is called
type ExoscaleProvider ¶
type ExoscaleProvider struct { provider.BaseProvider OnApplyChanges func(changes *plan.Changes) // contains filtered or unexported fields }
ExoscaleProvider initialized as dns provider with no records
func NewExoscaleProvider ¶
func NewExoscaleProvider(env, zone, key, secret string, dryRun bool, opts ...ExoscaleOption) (*ExoscaleProvider, error)
NewExoscaleProvider returns ExoscaleProvider DNS provider interface implementation
func NewExoscaleProviderWithClient ¶
func NewExoscaleProviderWithClient(client EgoscaleClientI, env, zone string, dryRun bool, opts ...ExoscaleOption) *ExoscaleProvider
NewExoscaleProviderWithClient returns ExoscaleProvider DNS provider interface implementation (Client provided)
func (*ExoscaleProvider) ApplyChanges ¶
ApplyChanges simply modifies DNS via exoscale API
Click to show internal directories.
Click to hide internal directories.