plan

package
v0.1.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2017 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Changes

type Changes struct {
	// Records that need to be created
	Create []endpoint.Endpoint
	// Records that need to be updated (current data)
	UpdateOld []endpoint.Endpoint
	// Records that need to be updated (desired data)
	UpdateNew []endpoint.Endpoint
	// Records that need to be deleted
	Delete []endpoint.Endpoint
}

Changes holds lists of actions to be executed by dns providers

type Plan

type Plan struct {
	// List of current records
	Current []endpoint.Endpoint
	// List of desired records
	Desired []endpoint.Endpoint
	// List of changes necessary to move towards desired state
	// Populated after calling Calculate()
	Changes Changes
}

Plan can convert a list of desired and current records to a series of create, update and delete actions.

Example

ExamplePlan shows how plan can be used.

Output:

Create: [{baz.example.com 6.6.6.6}]
UpdateOld: [{bar.example.com 8.8.8.8}]
UpdateNew: [{bar.example.com 8.8.4.4}]
Delete: [{foo.example.com 1.2.3.4}]

func (*Plan) Calculate

func (p *Plan) Calculate() *Plan

Calculate computes the actions needed to move current state towards desired state. It returns a copy of Plan with the changes populated.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳