Documentation ¶
Index ¶
- Variables
- func IntreeCloudProviderImplementationSupported(cloudProvider CloudProvider, version string) (inTree bool, err error)
- type CloudProvider
- type Config
- type ConfigVarBool
- type ConfigVarString
- type DNSConfig
- type GlobalConfigMapKeySelector
- type GlobalObjectKeySelector
- type GlobalSecretKeySelector
- type NetworkConfig
- type OperatingSystem
Constants ¶
This section is empty.
Variables ¶
var ( ErrOSNotSupported = errors.New("os not supported") // AllOperatingSystems is a slice containing all supported operating system identifiers. AllOperatingSystems = []OperatingSystem{ OperatingSystemUbuntu, OperatingSystemCentOS, OperatingSystemAmazonLinux2, OperatingSystemRHEL, OperatingSystemFlatcar, OperatingSystemRockyLinux, } // AllCloudProviders is a slice containing all supported cloud providers. AllCloudProviders = []CloudProvider{ CloudProviderAWS, CloudProviderAzure, CloudProviderDigitalocean, CloudProviderEquinixMetal, CloudProviderPacket, CloudProviderGoogle, CloudProviderHetzner, CloudProviderKubeVirt, CloudProviderLinode, CloudProviderNutanix, CloudProviderOpenstack, CloudProviderVsphere, CloudProviderVMwareCloudDirector, CloudProviderFake, CloudProviderAlibaba, CloudProviderAnexia, CloudProviderScaleway, CloudProviderBaremetal, CloudProviderVultr, CloudProviderOpenNebula, } )
Functions ¶
func IntreeCloudProviderImplementationSupported ¶ added in v1.57.6
func IntreeCloudProviderImplementationSupported(cloudProvider CloudProvider, version string) (inTree bool, err error)
Types ¶
type CloudProvider ¶
type CloudProvider string
const ( CloudProviderAWS CloudProvider = "aws" CloudProviderAzure CloudProvider = "azure" CloudProviderDigitalocean CloudProvider = "digitalocean" CloudProviderGoogle CloudProvider = "gce" CloudProviderEquinixMetal CloudProvider = "equinixmetal" CloudProviderPacket CloudProvider = "packet" CloudProviderHetzner CloudProvider = "hetzner" CloudProviderKubeVirt CloudProvider = "kubevirt" CloudProviderLinode CloudProvider = "linode" CloudProviderNutanix CloudProvider = "nutanix" CloudProviderOpenstack CloudProvider = "openstack" CloudProviderVsphere CloudProvider = "vsphere" CloudProviderVultr CloudProvider = "vultr" CloudProviderVMwareCloudDirector CloudProvider = "vmware-cloud-director" CloudProviderFake CloudProvider = "fake" CloudProviderAlibaba CloudProvider = "alibaba" CloudProviderAnexia CloudProvider = "anexia" CloudProviderScaleway CloudProvider = "scaleway" CloudProviderBaremetal CloudProvider = "baremetal" CloudProviderExternal CloudProvider = "external" CloudProviderOpenNebula CloudProvider = "opennebula" )
type Config ¶
type Config struct { SSHPublicKeys []string `json:"sshPublicKeys"` CAPublicKey string `json:"caPublicKey"` CloudProvider CloudProvider `json:"cloudProvider"` CloudProviderSpec runtime.RawExtension `json:"cloudProviderSpec"` OperatingSystem OperatingSystem `json:"operatingSystem"` OperatingSystemSpec runtime.RawExtension `json:"operatingSystemSpec"` // +optional Network *NetworkConfig `json:"network,omitempty"` // +optional OverwriteCloudConfig *string `json:"overwriteCloudConfig,omitempty"` }
func GetConfig ¶
func GetConfig(provSpec clusterv1alpha1.ProviderSpec) (*Config, error)
type ConfigVarBool ¶
type ConfigVarBool struct { Value *bool `json:"value,omitempty"` SecretKeyRef GlobalSecretKeySelector `json:"secretKeyRef,omitempty"` ConfigMapKeyRef GlobalConfigMapKeySelector `json:"configMapKeyRef,omitempty"` }
func (ConfigVarBool) MarshalJSON ¶
func (configVarBool ConfigVarBool) MarshalJSON() ([]byte, error)
MarshalJSON encodes the configVarBool, omitting empty strings This is done to not have the json object cluttered with empty strings This will eventually hopefully be resolved within golang itself https://github.com/golang/go/issues/11939
func (*ConfigVarBool) UnmarshalJSON ¶
func (configVarBool *ConfigVarBool) UnmarshalJSON(b []byte) error
type ConfigVarString ¶
type ConfigVarString struct { Value string `json:"value,omitempty"` SecretKeyRef GlobalSecretKeySelector `json:"secretKeyRef,omitempty"` ConfigMapKeyRef GlobalConfigMapKeySelector `json:"configMapKeyRef,omitempty"` }
func (ConfigVarString) MarshalJSON ¶
func (configVarString ConfigVarString) MarshalJSON() ([]byte, error)
MarshalJSON converts a configVarString to its JSON form, omitting empty strings. This is done to not have the json object cluttered with empty strings This will eventually hopefully be resolved within golang itself https://github.com/golang/go/issues/11939.
func (*ConfigVarString) UnmarshalJSON ¶
func (configVarString *ConfigVarString) UnmarshalJSON(b []byte) error
type DNSConfig ¶
type DNSConfig struct {
Servers []string `json:"servers"`
}
DNSConfig contains a machine's DNS configuration.
type GlobalConfigMapKeySelector ¶
type GlobalConfigMapKeySelector GlobalObjectKeySelector
type GlobalObjectKeySelector ¶
type GlobalObjectKeySelector struct { corev1.ObjectReference `json:",inline"` Key string `json:"key,omitempty"` }
GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
type GlobalSecretKeySelector ¶
type GlobalSecretKeySelector GlobalObjectKeySelector
type NetworkConfig ¶
type NetworkConfig struct { CIDR string `json:"cidr"` Gateway string `json:"gateway"` DNS DNSConfig `json:"dns"` IPFamily util.IPFamily `json:"ipFamily,omitempty"` }
NetworkConfig contains a machine's static network configuration.
func (*NetworkConfig) GetIPFamily ¶ added in v1.47.0
func (n *NetworkConfig) GetIPFamily() util.IPFamily
func (*NetworkConfig) IsStaticIPConfig ¶ added in v1.48.0
func (n *NetworkConfig) IsStaticIPConfig() bool
type OperatingSystem ¶
type OperatingSystem string
OperatingSystem defines the host operating system.
const ( OperatingSystemUbuntu OperatingSystem = "ubuntu" OperatingSystemCentOS OperatingSystem = "centos" OperatingSystemAmazonLinux2 OperatingSystem = "amzn2" OperatingSystemRHEL OperatingSystem = "rhel" OperatingSystemFlatcar OperatingSystem = "flatcar" OperatingSystemRockyLinux OperatingSystem = "rockylinux" )