I am trying to access GCP secret manager from google cloud function. Below is the code snippet
// Package p contains an HTTP Cloud Function.
package p
import (
"context"
"fmt"
secretmanager "cloud.google.com/go/secretmanager/apiv1"
secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1"
)
func main() {
ctx := context.Background()
client, err := secretmanager.NewClient(ctx)
if err != nil {
fmt.Errorf("failed to create secretmanager client: %v", err)
}
defer client.Close()
name := "projects/485126440943/secrets/APIAdminServiceAccountLookupKey"
// Build the request.
req := &secretmanagerpb.GetSecretRequest{
Name: name,
}
// Call the API.
result, err := client.GetSecret(ctx, req)
if err != nil {
fmt.Errorf("failed to get secret: %v", err)
}
replication := result.Replication.Replication
fmt.Printf("Found secret %s with replication policy %s\n", result.Name, replication)
//return nil
}
But i am getting secretManagerClient as Nil ]. Thats why after running code I am getting below error:
panic: runtime error: invalid memory address or nil pointer dereference panic: runtime error: invalid memory address or nil pointer dereference
How to solve this issue? Thanks in advance!!