func snowEntry()

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)
			},
		},
	}
}