func NewEksDistroReleaseObject()

in tools/eksDistroBuildToolingOpsTools/pkg/eksDistroRelease/eksDistroRelease.go [24:62]


func NewEksDistroReleaseObject(versionString string) (*Release, error) {
	splitVersion := strings.Split(versionString, ".")
	patchAndRelease := strings.Split(splitVersion[2], "-")
	major, err := strconv.Atoi(splitVersion[0])
	if err != nil {
		return nil, err
	}

	minor, err := strconv.Atoi(splitVersion[1])
	if err != nil {
		return nil, err
	}

	patch, err := strconv.Atoi(patchAndRelease[0])
	if err != nil {
		return nil, err
	}

	release, err := strconv.Atoi(patchAndRelease[1])
	if err != nil {
		return nil, err
	}

	releaseBranch := fmt.Sprintf("%d-%d", major, minor)
	manifest, err := getReleaseManifestBody(releaseBranch, release)
	if err != nil {
		return nil, fmt.Errorf("getting release manifest body: %v", err)
	}

	return &Release{
		Major:      major,
		Manifest:   manifest,
		Minor:      minor,
		Patch:      patch,
		Release:    release,
		components: map[string]v1alpha1.Component{},
		assets:     map[string]v1alpha1.Asset{},
	}, nil
}