func()

in image/resources/netapp-exports/secrets.go [75:106]


func (s *GCPSecret) get(ctx context.Context) (string, error) {
	client, err := secretmanager.NewClient(ctx)
	if err != nil {
		return "", err
	}
	defer client.Close()

	name, err := s.fullName(ctx)
	if err != nil {
		return "", err
	}

	request := &secretmanagerpb.AccessSecretVersionRequest{
		Name: name,
	}

	response, err := client.AccessSecretVersion(ctx, request)
	if err != nil {
		return "", err
	}

	data := response.GetPayload().GetData()
	if data == nil {
		return "", errors.New("secret did not contain any data")
	}

	if !utf8.Valid(data) {
		return "", errors.New("secret is not valid UTF8")
	}

	return string(data), nil
}