types

package
v1.59.2 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: Apache-2.0 Imports: 8 Imported by: 40

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