userdata

package
v19.10.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2019 License: Apache-2.0 Imports: 13 Imported by: 20

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Content

type Content struct {
	// BashLibrary contains the bash library
	BashLibrary string
	// Header is the bash header for scripts
	Header string
	// User is the name of the default user (api.DefaultUser)
	User string
	// ExitOnError helper to quit script on error
	ExitOnError string
	// Password for the user safescale (for troubleshoot use, usable only in console)
	Password string
	// PublicKey is the public key used to create the Host
	PublicKey string
	// PrivateKey is the private key used to create the Host
	PrivateKey string
	// ConfIF, if set to true, configure all interfaces to DHCP
	ConfIF bool
	// IsGateway, if set to true, activate IP forwarding
	IsGateway bool
	// PublicIP contains a public IP binded to the host
	PublicIP string
	// AddGateway, if set to true, configure default gateway
	AddGateway bool
	// DNSServers contains the list of DNS servers to use
	// Used only if IsGateway is true
	DNSServers []string
	// CIDR contains the cidr of the network
	CIDR string
	// DefaultRouteIP is the IP of the gateway or the VIP if gateway HA is enabled
	DefaultRouteIP string
	// PrimaryGatewayPrivateIP is the private IP of the primary gateway
	PrimaryGatewayPrivateIP string
	// PrimaryGatewayPublicIP is the public IP of the primary gateway
	PrimaryGatewayPublicIP string
	// SecondaryGatewayPrivateIP is the private IP of the secondary gateway
	SecondaryGatewayPrivateIP string
	// SecondaryGatewayPublicIP is the public IP of the secondary gateway
	SecondaryGatewayPublicIP string
	// EmulatedPublicNet is a private network which is used to emulate a public one
	EmulatedPublicNet string
	// HostName contains the name wanted as host name (default == name of the Cloud resource)
	HostName string
	// Tags contains tags and their content(s); a tag is named #<tag> in the template
	Tags map[string]map[string][]string
	// IsPrimaryGateway tells if the host is a primary gateway
	IsPrimaryGateway bool
	// PrivateVIP contains the private IP of the VIP instance if it exists
	PublicVIP string // VPL: change to EndpointIP
	// PrivateVIP contains the private IP of the VIP instance if it exists
	PrivateVIP string // VPL: change to DefaultRouteIP

}

Content is the structure to apply to userdata.sh template

func NewContent

func NewContent() *Content

NewContent ...

func (Content) AddInTag

func (ud Content) AddInTag(phase string, tagname string, content string)

AddInTag adds some useful code on the end of userdata.phase2.sh just before the end (on the label #insert_tag)

func (*Content) Generate

func (ud *Content) Generate(phase string) ([]byte, error)

Generate generates the script file corresponding to the phase

func (*Content) Prepare

func (ud *Content) Prepare(
	options stacks.ConfigurationOptions, request resources.HostRequest, cidr string, defaultNetworkCIDR string,
) error

Prepare prepares the initial configuration script executed by cloud compute resource

Jump to

Keyboard shortcuts

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