common

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EA_GRID_CONFIG_GRID_SYNC_SUPPORT           = "Grid Sync Support"
	EA_GRID_CONFIG_GRID_SYNC_MINIMUM_WAIT_TIME = "Grid Sync Minimum Wait Time"
	EA_GRID_CONFIG_GRID_SYNC_MAXIMUM_WAIT_TIME = "Grid Sync Maximum Wait Time"
	EA_GRID_CONFIG_DEFAULT_NETWORK_VIEW_SCOPE  = "Default Network View Scope"
	EA_GRID_CONFIG_DEFAULT_NETWORK_VIEW        = "Default Network View"
	EA_GRID_CONFIG_DEFAULT_HOST_NAME_PATTERN   = "Default Host Name Pattern"
	EA_GRID_CONFIG_DEFAULT_DOMAIN_NAME_PATTERN = "Default Domain Name Pattern"
	EA_GRID_CONFIG_NS_GROUP                    = "NS Group"
	EA_GRID_CONFIG_DNS_VIEW                    = "DNS View"
	EA_GRID_CONFIG_NETWORK_TEMPLATE            = "Network Template"
	EA_GRID_CONFIG_ADMIN_NETWORK_DELETION      = "Admin Network Deletion"
	EA_GRID_CONFIG_IP_ALLOCATION_STRATEGY      = "IP Allocation Strategy"
	EA_GRID_CONFIG_DNS_RECORD_BINDING_TYPES    = "DNS Record Binding Types"
	EA_GRID_CONFIG_DNS_RECORD_UNBINDING_TYPES  = "DNS Record Unbinding Types"
	EA_GRID_CONFIG_DNS_RECORD_REMOVABLE_TYPES  = "DNS Record Removable Types"
	EA_GRID_CONFIG_DHCP_SUPPORT                = "DHCP Support"
	EA_GRID_CONFIG_DNS_SUPPORT                 = "DNS Support"
	EA_GRID_CONFIG_RELAY_SUPPORT               = "Relay Support"
	EA_GRID_CONFIG_USE_GM_FOR_DHCP             = "Use Grid Master for DHCP"
	EA_GRID_CONFIG_TENANT_NAME_PERSISTENCE     = "Tenant Name Persistence"
	EA_GRID_CONFIG_REPORT_GRID_SYNC_TIME       = "Report Grid Sync Time"
	EA_GRID_CONFIG_ALLOW_SERVICE_RESTART       = "Allow Service Restart"

	EA_LAST_GRID_SYNC_TIME = "Last Grid Sync Time"

	EA_MAPPING_ADDRESS_SCOPE_ID   = "Address Scope ID Mapping"
	EA_MAPPING_ADDRESS_SCOPE_NAME = "Address Scope Name Mapping"
	EA_MAPPING_TENANT_ID          = "Tenant ID Mapping"
	EA_MAPPING_TENANT_NAME        = "Tenant Name Mapping"
	EA_MAPPING_NETWORK_ID         = "Network ID Mapping"
	EA_MAPPING_NETWORK_NAME       = "Network Name Mapping"
	EA_MAPPING_SUBNET_ID          = "Subnet ID Mapping"
	EA_MAPPING_SUBNET_CIDR        = "Subnet CIDR Mapping"

	EA_CLOUD_ADAPTER_ID = "Cloud Adapter ID"
	EA_IS_CLOUD_MEMBER  = "Is Cloud Member"

	EA_SUBNET_ID               = "Subnet ID"
	EA_SUBNET_NAME             = "Subnet Name"
	EA_NETWORK_ID              = "Network ID"
	EA_NETWORK_NAME            = "Network Name"
	EA_NETWORK_ENCAP           = "Network Encap"
	EA_SEGMENTATION_ID         = "Segmentation ID"
	EA_PHYSICAL_NETWORK_NAME   = "Physical Network Name"
	EA_PORT_ID                 = "Port ID"
	EA_PORT_DEVICE_OWNER       = "Port Attached Device - Device Owner"
	EA_PORT_DEVICE_ID          = "Port Attached Device - Device ID"
	EA_VM_ID                   = "VM ID"
	EA_VM_NAME                 = "VM Name"
	EA_IP_TYPE                 = "IP Type"
	EA_TENANT_ID               = "Tenant ID"
	EA_TENANT_NAME             = "Tenant Name"
	EA_ACCOUNT                 = "Account"
	EA_CLOUD_API_OWNED         = "Cloud API Owned"
	EA_CMP_TYPE                = "CMP Type"
	EA_IS_EXTERNAL             = "Is External"
	EA_IS_SHARED               = "Is Shared"
	EA_DOCKER_PLUGIN_LOCK      = "Docker-Plugin-Lock"
	EA_DOCKER_PLUGIN_LOCK_TIME = "Docker-Plugin-Lock-Time"
)
View Source
const (
	EA_TYPE_STRING  = "STRING"
	EA_TYPE_ENUM    = "ENUM"
	EA_TYPE_INTEGER = "INTEGER"
)

Variables

View Source
var RequiredEADefs = []ibclient.EADefinition{
	{Name: EA_CLOUD_API_OWNED, Type: EA_TYPE_ENUM, Flags: "C",
		ListValues: []ibclient.EADefListValue{"True", "False"},
		Comment:    "Is Cloud API owned"},
	{Name: EA_CMP_TYPE, Type: EA_TYPE_STRING, Flags: "C",
		Comment: "CMP Types (Docker)"},
	{Name: EA_TENANT_ID, Type: EA_TYPE_STRING, Flags: "C",
		Comment: "Docker Engine ID"},
	{Name: EA_VM_ID, Type: EA_TYPE_STRING, Flags: "C",
		Comment: "Containter ID in Docker"},
	{Name: EA_DOCKER_PLUGIN_LOCK, Type: EA_TYPE_STRING, Flags: "C",
		Comment: "Distributed Lock for Docker Engines"},
	{Name: EA_DOCKER_PLUGIN_LOCK_TIME, Type: EA_TYPE_INTEGER, Flags: "C",
		Comment: "UNIX Timestamp at which Lock for Docker Engines was acquired"},
}

Functions

func ReadFromConfigFile

func ReadFromConfigFile(filename string, config Config) error

Types

type Config

type Config interface {
	LoadFromConfFile() error
	LoadConfig() error
}

type CreateEADefConfig

type CreateEADefConfig struct {
	ConfigFile string `toml:""`
	Debug      bool   `toml:"debug"`
	GridConfig `toml:"grid-config"`
}

func LoadCreateEADefConfig

func LoadCreateEADefConfig() (*CreateEADefConfig, error)

func NewCreateEADefConfig

func NewCreateEADefConfig() CreateEADefConfig

func (*CreateEADefConfig) LoadConfig

func (eac *CreateEADefConfig) LoadConfig() error

func (*CreateEADefConfig) LoadFromCommandLine

func (eac *CreateEADefConfig) LoadFromCommandLine() error

func (*CreateEADefConfig) LoadFromConfFile

func (eac *CreateEADefConfig) LoadFromConfFile() error

func (CreateEADefConfig) String

func (eac CreateEADefConfig) String() string

type GridConfig

type GridConfig struct {
	GridHost            string `toml:"grid-host" env:"GRID_HOST"`
	WapiVer             string `toml:"wapi-version" env:"WAPI_VERSION"`
	WapiPort            string `toml:"wapi-port" env:"WAPI_PORT"`
	WapiUsername        string `toml:"wapi-username" env:"WAPI_USERNAME"`
	WapiPassword        string `toml:"wapi-password" env:"WAPI_PASSWORD"`
	SslVerify           string `toml:"ssl-verify" env:"SSL_VERIFY"`
	HttpRequestTimeout  uint   `toml:"http-request-timeout" env:"HTTP_REQUEST_TIMEOUT"`
	HttpPoolConnections uint   `toml:"http-pool-connections" env:"HTTP_POOL_CONNECTIONS"`
}

func NewGridConfig

func NewGridConfig() GridConfig

func (GridConfig) String

func (gc GridConfig) String() string

type IpamConfig

type IpamConfig struct {
	GlobalNetview          string `toml:"global-view" env:"GLOBAL_VIEW"`
	GlobalNetworkContainer string `toml:"global-network-container" env:"GLOBAL_NETWORK_CONTAINER"`
	GlobalPrefixLength     uint   `toml:"global-prefix-length" env:"GLOBAL_PREFIX_LENGTH"`
	LocalNetview           string `toml:"local-view" env:"LOCAL_VIEW"`
	LocalNetworkContainer  string `toml:"local-network-container" env:"LOCAL_NETWORK_CONTAINER"`
	LocalPrefixLength      uint   `toml:"local-prefix-length" env:"LOCAL_PREFIX_LENGTH"`
}

type PluginConfig

type PluginConfig struct {
	ConfigFile string `toml:"" env:"CONF_FILE_NAME"`
	Debug      bool   `toml:"debug" env:"DEBUG"`
	GridConfig `toml:"grid-config"`
	IpamConfig `toml:"ipam-config"`
}

func LoadPluginConfig

func LoadPluginConfig() (*PluginConfig, error)

func NewPluginConfig

func NewPluginConfig() PluginConfig

func (*PluginConfig) LoadConfig

func (pc *PluginConfig) LoadConfig() error

func (*PluginConfig) LoadFromConfFile

func (pc *PluginConfig) LoadFromConfFile() error

func (*PluginConfig) LoadFromEnv

func (pc *PluginConfig) LoadFromEnv() error

func (PluginConfig) String

func (pc PluginConfig) String() string

Jump to

Keyboard shortcuts

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