in internal/updatecheck.go [41:67]
func getLatestLightsailctlVersion(
ctx context.Context,
g ContainerAPIMetadataGetter,
) (Semver, error) {
res, err := g.GetContainerAPIMetadata(ctx, &lightsail.GetContainerAPIMetadataInput{})
if err != nil {
return "", fmt.Errorf("could not get latest lightsailctl version: %w", err)
}
var rawSemver string
for _, md := range res.Metadata {
if md["name"] == "lightsailctlVersion" {
rawSemver = md["value"]
}
}
if rawSemver == "" {
return "", fmt.Errorf("latest lightsailctl version was not in GetContainerAPIMetadata response")
}
ver := Semver(rawSemver)
if !ver.IsValid() {
return "", fmt.Errorf("latest lightsailctl version is not a semver: %q", rawSemver)
}
return ver, nil
}