config

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2020 License: Apache-2.0, MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SizeSmall is the NSX-T load balancer size small (10 virtual servers)
	SizeSmall = "SMALL"
	// SizeMedium is the NSX-T load balancer size medium (100 virtual servers)
	SizeMedium = "MEDIUM"
	// SizeLarge is the NSX-T load balancer size large (1000 virtual servers)
	SizeLarge = "LARGE"

	// DefaultMaxRetries is the default value for max retries
	DefaultMaxRetries = 30
	// DefaultRetryMinDelay is teh default value for minimum retry delay
	DefaultRetryMinDelay = 500
	// DefaultRetryMaxDelay is teh default value for maximum retry delay
	DefaultRetryMaxDelay = 5000

	// DefaultLoadBalancerClass is the default load balancer class
	DefaultLoadBalancerClass = "default"
)

Variables

View Source
var SizeToMaxVirtualServers = map[string]int{
	SizeSmall:  20,
	SizeMedium: 100,
	SizeLarge:  1000,
}

SizeToMaxVirtualServers contains the mapping from size to maximum number of virtual servers

Functions

This section is empty.

Types

type LBConfig added in v0.2.0

type LBConfig struct {
	LoadBalancer        LoadBalancerConfig                  `gcfg:"LoadBalancer"`
	LoadBalancerClasses map[string]*LoadBalancerClassConfig `gcfg:"LoadBalancerClass"`
	NSXT                NsxtConfig                          `gcfg:"NSX-T"`
	AdditionalTags      map[string]string                   `gcfg:"Tags"`
	NSXTSimulation      *NsxtSimulation                     `gcfg:"NSX-T-Simulation"`
}

LBConfig is used to read and store information from the cloud configuration file

func ReadConfig

func ReadConfig(config io.Reader) (*LBConfig, error)

ReadConfig parses vSphere cloud config file and stores it into VSphereConfig. Environment variables are also checked

func (*LBConfig) CompleteAndValidate added in v0.2.0

func (cfg *LBConfig) CompleteAndValidate() error

CompleteAndValidate sets default values, overrides by env and validates the resulting config

func (*LBConfig) IsEnabled added in v0.2.0

func (cfg *LBConfig) IsEnabled() bool

IsEnabled returns false if no load balancer configuration is set

type LoadBalancerClassConfig

type LoadBalancerClassConfig struct {
	IPPoolName string `gcfg:"ipPoolName"`
	IPPoolID   string `gcfg:"ipPoolID"`
}

LoadBalancerClassConfig contains the configuration for a load balancer class

type LoadBalancerConfig

type LoadBalancerConfig struct {
	IPPoolName      string `gcfg:"ipPoolName"`
	IPPoolID        string `gcfg:"ipPoolID"`
	Size            string `gcfg:"size"`
	LBServiceID     string `gcfg:"lbServiceId"`
	LogicalRouterID string `gcfg:"logicalRouterId"`
}

LoadBalancerConfig contains the configuration for the load balancer itself

func (*LoadBalancerConfig) IsEmpty added in v0.2.0

func (cfg *LoadBalancerConfig) IsEmpty() bool

IsEmpty returns true if no configuration is set

type NsxtConfig

type NsxtConfig struct {
	// NSX-T username.
	User string `gcfg:"user"`
	// NSX-T password in clear text.
	Password string `gcfg:"password"`
	// NSX-T host.
	Host string `gcfg:"host"`
	// True if vCenter uses self-signed cert.
	InsecureFlag       bool   `gcfg:"insecure-flag"`
	RemoteAuth         bool   `gcfg:"remote-auth"`
	MaxRetries         int    `gcfg:"max-retries"`
	RetryMinDelay      int    `gcfg:"retry-min-delay"`
	RetryMaxDelay      int    `gcfg:"retry-max-delay"`
	RetryOnStatusCodes []int  `gcfg:"retry-on-status-codes"`
	ClientAuthCertFile string `gcfg:"client-auth-cert-file"`
	ClientAuthKeyFile  string `gcfg:"client-auth-key-file"`
	CAFile             string `gcfg:"ca-file"`
}

NsxtConfig contains the NSX-T specific configuration

func (*NsxtConfig) FromEnv

func (cfg *NsxtConfig) FromEnv() error

FromEnv initializes the provided configuratoin object with values obtained from environment variables. If an environment variable is set for a property that's already initialized, the environment variable's value takes precedence.

type NsxtSimulation added in v0.2.0

type NsxtSimulation struct {
	SimulatedIPPools []string `gcfg:"simulatedIPPools"`
}

NsxtSimulation contains simulation configuration

Jump to

Keyboard shortcuts

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