List secrets with a filter
Stay organized with collections
Save and categorize content based on your preferences.
Shows how to list all secrets in a project that match a filter.
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# List secrets with a filter\n\nShows how to list all secrets in a project that match a filter.\n\nCode sample\n-----------\n\n### Go\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \tsecretmanager \"cloud.google.com/go/secretmanager/apiv1\"\n \t\"cloud.google.com/go/secretmanager/apiv1/secretmanagerpb\"\n \t\"google.golang.org/api/iterator\"\n )\n\n // listSecretsWithFilter lists all filter-matching secrets in the given project.\n func listSecretsWithFilter(w io.Writer, parent string, filter string) error {\n \t// parent := \"projects/my-project\"\n \t// Follow https://cloud.google.com/secret-manager/docs/filtering\n \t// for filter syntax and examples.\n \t// filter := \"name:name-substring\"\n\n \t// Create the client.\n \tctx := context.Background()\n \tclient, err := secretmanager.https://cloud.google.com/go/docs/reference/cloud.google.com/go/secretmanager/latest/apiv1.html#cloud_google_com_go_secretmanager_apiv1_Client_NewClient(ctx)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to create secretmanager client: %w\", err)\n \t}\n \tdefer client.https://cloud.google.com/go/docs/reference/cloud.google.com/go/secretmanager/latest/apiv1.html#cloud_google_com_go_secretmanager_apiv1_Client_Close()\n\n \t// Build the request.\n \treq := &secretmanagerpb.ListSecretsRequest{\n \t\tParent: parent,\n \t\tFilter: filter,\n \t}\n\n \t// Call the API.\n \tit := client.ListSecrets(ctx, req)\n \tfor {\n \t\tresp, err := it.Next()\n \t\tif err == iterator.Done {\n \t\t\tbreak\n \t\t}\n\n \t\tif err != nil {\n \t\t\treturn fmt.Errorf(\"failed to list secrets: %w\", err)\n \t\t}\n\n \t\tfmt.Fprintf(w, \"Found secret %s\\n\", resp.Name)\n \t}\n\n \treturn nil\n }\n\n### Java\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretsRequest.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ProjectName.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.ListSecretsPagedResponse.html;\n import java.io.IOException;\n\n public class ListSecretsWithFilter {\n\n public static void listSecrets() throws IOException {\n // TODO(developer): Replace these variables before running the sample.\n String projectId = \"your-project-id\";\n // Follow https://cloud.google.com/secret-manager/docs/filtering\n // for filter syntax and examples.\n String filter = \"name:your-secret-substring AND expire_time\u003c2022-01-01T00:00:00Z\";\n listSecrets(projectId, filter);\n }\n\n // List all secrets for a project\n public static void listSecrets(String projectId, String filter) throws IOException {\n // Initialize client that will be used to send requests. This client only needs to be created\n // once, and can be reused for multiple requests. After completing all of your requests, call\n // the \"close\" method on the client to safely clean up any remaining background resources.\n try (https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html client = https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html.create()) {\n // Build the parent name.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ProjectName.html projectName = https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ProjectName.html.of(projectId);\n\n // Get filtered secrets.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretsRequest.html request =\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretsRequest.html.newBuilder()\n .setParent(projectName.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ProjectName.html#com_google_cloud_secretmanager_v1_ProjectName_toString__())\n .setFilter(filter)\n .build();\n\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.ListSecretsPagedResponse.html pagedResponse = client.listSecrets(request);\n\n // List all secrets.\n pagedResponse\n .iterateAll()\n .forEach(\n secret -\u003e {\n System.out.printf(\"Secret %s\\n\", secret.getName());\n });\n }\n }\n }\n\n### Python\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n def list_secrets_with_filter(project_id: str, filter_str: str) -\u003e None:\n \"\"\"\n List all secrets in the given project.\n\n Args:\n project_id: Parent project id\n filter_str: Secret filter, constructing according to\n https://cloud.google.com/secret-manager/docs/filtering\n \"\"\"\n\n # Import the Secret Manager client library.\n from google.cloud import secretmanager\n\n # Create the Secret Manager client.\n client = secretmanager.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html()\n\n # Build the resource name of the parent project.\n parent = f\"projects/{project_id}\"\n\n # List all secrets.\n for secret in client.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html#google_cloud_secretmanager_v1_services_secret_manager_service_SecretManagerServiceClient_list_secrets(request={\"parent\": parent, \"filter\": filter_str}):\n print(f\"Found secret: {secret.name}\")\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=secretmanager)."]]