func()

in pkg/agent/bakerapi.go [110:157]


func (agentBaker *agentBakerImpl) GetDistroSigImageConfig(
	sigConfig datamodel.SIGConfig, envInfo *datamodel.EnvironmentInfo) (map[datamodel.Distro]datamodel.SigImageConfig, error) {
	allAzureSigConfig, err := datamodel.GetSIGAzureCloudSpecConfig(sigConfig, envInfo.Region)
	if err != nil {
		return nil, fmt.Errorf("failed to get sig image config: %w", err)
	}

	e := toggles.NewEntityFromEnvironmentInfo(envInfo)

	allDistros := map[datamodel.Distro]datamodel.SigImageConfig{}
	for distro, sigConfig := range allAzureSigConfig.SigWindowsImageConfig {
		allDistros[distro] = sigConfig
	}

	for distro, sigConfig := range allAzureSigConfig.SigCBLMarinerImageConfig {
		imageVersion := agentBaker.toggles.GetLinuxNodeImageVersion(e, distro)
		if imageVersion != "" {
			sigConfig.Version = imageVersion
		}
		allDistros[distro] = sigConfig
	}

	for distro, sigConfig := range allAzureSigConfig.SigAzureLinuxImageConfig {
		imageVersion := agentBaker.toggles.GetLinuxNodeImageVersion(e, distro)
		if imageVersion != "" {
			sigConfig.Version = imageVersion
		}
		allDistros[distro] = sigConfig
	}

	for distro, sigConfig := range allAzureSigConfig.SigUbuntuImageConfig {
		imageVersion := agentBaker.toggles.GetLinuxNodeImageVersion(e, distro)
		if imageVersion != "" {
			sigConfig.Version = imageVersion
		}
		allDistros[distro] = sigConfig
	}

	for distro, sigConfig := range allAzureSigConfig.SigUbuntuEdgeZoneImageConfig {
		imageVersion := agentBaker.toggles.GetLinuxNodeImageVersion(e, distro)
		if imageVersion != "" {
			sigConfig.Version = imageVersion
		}
		allDistros[distro] = sigConfig
	}

	return allDistros, nil
}