in pkg/cluster/snow.go [13:93]
func snowEntry() *ConfigManagerEntry {
return &ConfigManagerEntry{
APIObjectMapping: map[string]APIObjectGenerator{
anywherev1.SnowDatacenterKind: func() APIObject {
return &anywherev1.SnowDatacenterConfig{}
},
anywherev1.SnowMachineConfigKind: func() APIObject {
return &anywherev1.SnowMachineConfig{}
},
anywherev1.SnowIPPoolKind: func() APIObject {
return &anywherev1.SnowIPPool{}
},
},
Processors: []ParsedProcessor{
processSnowDatacenter,
machineConfigsProcessor(processSnowMachineConfig),
snowIPPoolsProcessor,
},
Defaulters: []Defaulter{
func(c *Config) error {
if c.SnowDatacenter != nil {
SetSnowDatacenterIndentityRefDefault(c.SnowDatacenter)
}
return nil
},
func(c *Config) error {
for _, m := range c.SnowMachineConfigs {
m.SetDefaults()
}
return nil
},
SetSnowMachineConfigsAnnotations,
},
Validations: []Validation{
func(c *Config) error {
if c.SnowDatacenter != nil {
return c.SnowDatacenter.Validate()
}
return nil
},
func(c *Config) error {
for _, m := range c.SnowMachineConfigs {
if err := m.Validate(); err != nil {
return err
}
}
return nil
},
func(c *Config) error {
for _, p := range c.SnowIPPools {
if err := p.Validate(); err != nil {
return err
}
}
return nil
},
func(c *Config) error {
if c.SnowDatacenter != nil {
if err := validateSameNamespace(c, c.SnowDatacenter); err != nil {
return err
}
}
return nil
},
func(c *Config) error {
for _, v := range c.SnowMachineConfigs {
if err := validateSameNamespace(c, v); err != nil {
return err
}
}
return nil
},
func(c *Config) error {
return ValidateSnowMachineRefExists(c)
},
func(c *Config) error {
return validateSnowUnstackedEtcd(c)
},
},
}
}