func()

in pkg/provider/keyvault.go [143:174]


func (c *client) GetCertificateVersions(ctx context.Context, name string) ([]types.KeyVaultObjectVersion, error) {
	pager := c.certs.NewListCertificateVersionsPager(name, &azcertificates.ListCertificateVersionsOptions{})
	var versions []types.KeyVaultObjectVersion

	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			return nil, err
		}
		for _, cert := range page.CertificateListResult.Value {
			if cert.Attributes == nil {
				continue
			}
			if cert.Attributes.Enabled != nil && !*cert.Attributes.Enabled {
				continue
			}

			id := *cert.ID
			created := date.UnixEpoch()
			if cert.Attributes.Created != nil {
				created = *cert.Attributes.Created
			}

			versions = append(versions, types.KeyVaultObjectVersion{
				Version: id.Version(),
				Created: created,
			})
		}
	}

	return versions, nil
}