Disable a secret with ETags
Stay organized with collections
Save and categorize content based on your preferences.
Shows how to disable a given secret version that contains ETags.
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,["# Disable a secret with ETags\n\nShows how to disable a given secret version that contains ETags.\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\n \tsecretmanager \"cloud.google.com/go/secretmanager/apiv1\"\n \t\"cloud.google.com/go/secretmanager/apiv1/secretmanagerpb\"\n )\n\n // disableSecretVersionWithEtag disables the given secret version. Future requests will\n // throw an error until the secret version is enabled. Other secrets versions\n // are unaffected.\n func disableSecretVersionWithEtag(name, etag string) error {\n \t// name := \"projects/my-project/secrets/my-secret/versions/5\"\n \t// etag := `\"123\"`\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.DisableSecretVersionRequest{\n \t\tName: name,\n \t\tEtag: etag,\n \t}\n\n \t// Call the API.\n \tif _, err := client.DisableSecretVersion(ctx, req); err != nil {\n \t\treturn fmt.Errorf(\"failed to disable secret version: %w\", err)\n \t}\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.DisableSecretVersionRequest.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.SecretVersion.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersionName.html;\n import java.io.IOException;\n\n public class DisableSecretVersionWithEtag {\n\n public static void disableSecretVersion() throws IOException {\n // TODO(developer): Replace these variables before running the sample.\n String projectId = \"your-project-id\";\n String secretId = \"your-secret-id\";\n String versionId = \"your-version-id\";\n // Including the quotes is important.\n String etag = \"\\\"1234\\\"\";\n disableSecretVersion(projectId, secretId, versionId, etag);\n }\n\n // Disable an existing secret version.\n public static void disableSecretVersion(\n String projectId, String secretId, String versionId, String etag)\n 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 name from the version.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersionName.html secretVersionName = https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersionName.html.of(projectId, secretId, versionId);\n\n // Build the request.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.DisableSecretVersionRequest.html request =\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.DisableSecretVersionRequest.html.newBuilder()\n .setName(secretVersionName.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersionName.html#com_google_cloud_secretmanager_v1_SecretVersionName_toString__())\n .setEtag(etag)\n .build();\n\n // Disable the secret version.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersion.html version = client.disableSecretVersion(request);\n System.out.printf(\"Disabled secret version %s\\n\", version.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretVersion.html#com_google_cloud_secretmanager_v1_SecretVersion_getName__());\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 disable_secret_version_with_etag(\n project_id: str, secret_id: str, version_id: str, etag: str\n ) -\u003e secretmanager.DisableSecretVersionRequest:\n \"\"\"\n Disable the given secret version. Future requests will throw an error until\n the secret version is enabled. Other secrets versions are unaffected.\n \"\"\"\n\n # Import the Secret Manager client library.\n from google.cloud import secretmanager\n from google.cloud.secretmanager_v1.types import service\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 secret version\n name = f\"projects/{project_id}/secrets/{secret_id}/versions/{version_id}\"\n\n # Build the request\n request = service.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.types.DisableSecretVersionRequest.html()\n request.name = name\n request.etag = etag\n\n # Disable the secret version.\n response = 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_disable_secret_version(request=request)\n\n print(f\"Disabled secret version: {response.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)."]]