Help us shape the future of Go! Take the 2026 Go Developer Survey

types

package
v1.45.5 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloudConfigToString

func CloudConfigToString(c *CloudConfig) (string, error)

Types

type BlockStorageOpts

type BlockStorageOpts struct {
	BSVersion             string `gcfg:"bs-version"`
	TrustDevicePath       bool   `gcfg:"trust-device-path"`
	IgnoreVolumeAZ        bool   `gcfg:"ignore-volume-az"`
	NodeVolumeAttachLimit uint   `gcfg:"node-volume-attach-limit"`
}

type CloudConfig

type CloudConfig struct {
	Global       GlobalOpts
	LoadBalancer LoadBalancerOpts
	BlockStorage BlockStorageOpts
	Version      string
}

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

type GlobalOpts

type GlobalOpts struct {
	AuthURL                     string `gcfg:"auth-url"`
	Username                    string
	Password                    string
	ApplicationCredentialID     string `gcfg:"application-credential-id"`
	ApplicationCredentialSecret string `gcfg:"application-credential-secret"`

	// project name formerly known as tenant name.
	// it serialized as tenant-name because openstack CCM reads only tenant-name. In CCM, internally project and tenant
	// are stored into tenant-name.
	ProjectName string `gcfg:"tenant-name"`

	// project id formerly known as tenant id.
	// serialized as tenant-id for same reason as ProjectName
	ProjectID  string `gcfg:"tenant-id"`
	DomainName string `gcfg:"domain-name"`
	Region     string
}

type LoadBalancerOpts

type LoadBalancerOpts struct {
	LBVersion            string       `gcfg:"lb-version"`
	SubnetID             string       `gcfg:"subnet-id"`
	FloatingNetworkID    string       `gcfg:"floating-network-id"`
	LBMethod             string       `gcfg:"lb-method"`
	LBProvider           string       `gcfg:"lb-provider"`
	CreateMonitor        bool         `gcfg:"create-monitor"`
	MonitorDelay         ini.Duration `gcfg:"monitor-delay"`
	MonitorTimeout       ini.Duration `gcfg:"monitor-timeout"`
	MonitorMaxRetries    uint         `gcfg:"monitor-max-retries"`
	ManageSecurityGroups bool         `gcfg:"manage-security-groups"`
	UseOctavia           *bool        `gcfg:"use-octavia"`
}

type RawConfig

type RawConfig struct {
	// Auth details
	IdentityEndpoint            providerconfigtypes.ConfigVarString `json:"identityEndpoint,omitempty"`
	Username                    providerconfigtypes.ConfigVarString `json:"username,omitempty"`
	Password                    providerconfigtypes.ConfigVarString `json:"password,omitempty"`
	ApplicationCredentialID     providerconfigtypes.ConfigVarString `json:"applicationCredentialID,omitempty"`
	ApplicationCredentialSecret providerconfigtypes.ConfigVarString `json:"applicationCredentialSecret,omitempty"`
	DomainName                  providerconfigtypes.ConfigVarString `json:"domainName,omitempty"`
	ProjectName                 providerconfigtypes.ConfigVarString `json:"projectName,omitempty"`
	ProjectID                   providerconfigtypes.ConfigVarString `json:"projectID,omitempty"`
	TenantName                  providerconfigtypes.ConfigVarString `json:"tenantName,omitempty"`
	TenantID                    providerconfigtypes.ConfigVarString `json:"tenantID,omitempty"`
	TokenID                     providerconfigtypes.ConfigVarString `json:"tokenId,omitempty"`
	Region                      providerconfigtypes.ConfigVarString `json:"region,omitempty"`
	InstanceReadyCheckPeriod    providerconfigtypes.ConfigVarString `json:"instanceReadyCheckPeriod,omitempty"`
	InstanceReadyCheckTimeout   providerconfigtypes.ConfigVarString `json:"instanceReadyCheckTimeout,omitempty"`
	ComputeAPIVersion           providerconfigtypes.ConfigVarString `json:"computeAPIVersion,omitempty"`

	// Machine details
	Image                 providerconfigtypes.ConfigVarString   `json:"image"`
	Flavor                providerconfigtypes.ConfigVarString   `json:"flavor"`
	SecurityGroups        []providerconfigtypes.ConfigVarString `json:"securityGroups,omitempty"`
	Network               providerconfigtypes.ConfigVarString   `json:"network,omitempty"`
	Subnet                providerconfigtypes.ConfigVarString   `json:"subnet,omitempty"`
	FloatingIPPool        providerconfigtypes.ConfigVarString   `json:"floatingIpPool,omitempty"`
	AvailabilityZone      providerconfigtypes.ConfigVarString   `json:"availabilityZone,omitempty"`
	TrustDevicePath       providerconfigtypes.ConfigVarBool     `json:"trustDevicePath"`
	RootDiskSizeGB        *int                                  `json:"rootDiskSizeGB"`
	RootDiskVolumeType    providerconfigtypes.ConfigVarString   `json:"rootDiskVolumeType,omitempty"`
	NodeVolumeAttachLimit *uint                                 `json:"nodeVolumeAttachLimit"`
	ServerGroup           providerconfigtypes.ConfigVarString   `json:"serverGroup"`
	// This tag is related to server metadata, not compute server's tag
	Tags map[string]string `json:"tags,omitempty"`
}

func GetConfig added in v1.44.0

func GetConfig(pconfig providerconfigtypes.Config) (*RawConfig, error)

Jump to

Keyboard shortcuts

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