Get policy tag

Stay organized with collections Save and categorize content based on your preferences.

Retrieve existing policy tag.

Code sample

Go

Before trying this sample, follow the Go setup instructions in the Data Catalog quickstart using client libraries. For more information, see the Data Catalog Go API reference documentation.

import (
	"context"
	"fmt"
	"io"

	datacatalog "cloud.google.com/go/datacatalog/apiv1beta1"
	datacatalogpb "google.golang.org/genproto/googleapis/cloud/datacatalog/v1beta1"
)

// getPolicyTag prints information about a given policy tag.
func getPolicyTag(w io.Writer, policyTagID string) error {
	// policyTagID := "projects/myproject/locations/us/taxonomies/1234/policyTags/5678"
	ctx := context.Background()
	policyClient, err := datacatalog.NewPolicyTagManagerClient(ctx)
	if err != nil {
		return fmt.Errorf("datacatalog.NewPolicyTagManagerClient: %v", err)
	}
	defer policyClient.Close()

	req := &datacatalogpb.GetPolicyTagRequest{
		Name: policyTagID,
	}
	resp, err := policyClient.GetPolicyTag(ctx, req)
	if err != nil {
		return fmt.Errorf("GetPolicyTag: %v", err)
	}
	fmt.Fprintf(w, "PolicyTag %s has Display Name %s", resp.Name, resp.DisplayName)
	if resp.ParentPolicyTag != "" {
		fmt.Fprintf(w, " and is a child of Policy Tag %s", resp.ParentPolicyTag)
	}
	if len(resp.ChildPolicyTags) > 0 {
		fmt.Fprintf(w, ", with %d child tags", len(resp.ChildPolicyTags))
	}
	fmt.Fprintln(w)
	return nil
}

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.