| // Copyright 2023 Google LLC | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // https://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, software | |
| // distributed under the License is distributed on an "AS IS" BASIS, | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| // See the License for the specific language governing permissions and | |
| // limitations under the License. | |
| // Code generated by protoc-gen-go_gapic. DO NOT EDIT. | |
| // Package binaryauthorization is an auto-generated package for the | |
| // Binary Authorization API. | |
| // | |
| // The management interface for Binary Authorization, a system providing | |
| // policy control for images deployed to Kubernetes Engine clusters, Anthos | |
| // clusters on VMware, and Cloud Run. | |
| // | |
| // NOTE: This package is in beta. It is not stable, and may be subject to changes. | |
| // | |
| // # General documentation | |
| // | |
| // For information about setting deadlines, reusing contexts, and more | |
| // please visit https://pkg.go.dev/cloud.google.com/go. | |
| // | |
| // # Example usage | |
| // | |
| // To get started with this package, create a client. | |
| // | |
| // ctx := context.Background() | |
| // // This snippet has been automatically generated and should be regarded as a code template only. | |
| // // It will require modifications to work: | |
| // // - It may require correct/in-range values for request initialization. | |
| // // - It may require specifying regional endpoints when creating the service client as shown in: | |
| // // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options | |
| // c, err := binaryauthorization.NewBinauthzManagementServiceV1Beta1Client(ctx) | |
| // if err != nil { | |
| // // TODO: Handle error. | |
| // } | |
| // defer c.Close() | |
| // | |
| // The client will use your default application credentials. Clients should be reused instead of created as needed. | |
| // The methods of Client are safe for concurrent use by multiple goroutines. | |
| // The returned client must be Closed when it is done being used. | |
| // | |
| // # Using the Client | |
| // | |
| // The following is an example of making an API call with the newly created client. | |
| // | |
| // ctx := context.Background() | |
| // // This snippet has been automatically generated and should be regarded as a code template only. | |
| // // It will require modifications to work: | |
| // // - It may require correct/in-range values for request initialization. | |
| // // - It may require specifying regional endpoints when creating the service client as shown in: | |
| // // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options | |
| // c, err := binaryauthorization.NewBinauthzManagementServiceV1Beta1Client(ctx) | |
| // if err != nil { | |
| // // TODO: Handle error. | |
| // } | |
| // defer c.Close() | |
| // | |
| // req := &binaryauthorizationpb.GetPolicyRequest{ | |
| // // TODO: Fill request struct fields. | |
| // // See https://pkg.go.dev/cloud.google.com/go/binaryauthorization/apiv1beta1/binaryauthorizationpb#GetPolicyRequest. | |
| // } | |
| // resp, err := c.GetPolicy(ctx, req) | |
| // if err != nil { | |
| // // TODO: Handle error. | |
| // } | |
| // // TODO: Use resp. | |
| // _ = resp | |
| // | |
| // # Inspecting errors | |
| // | |
| // To see examples of how to inspect errors returned by this package please reference | |
| // [Inspecting errors](https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors). | |
| // | |
| // # Use of Context | |
| // | |
| // The ctx passed to NewBinauthzManagementServiceV1Beta1Client is used for authentication requests and | |
| // for creating the underlying connection, but is not used for subsequent calls. | |
| // Individual methods on the client use the ctx given to them. | |
| // | |
| // To close the open connection, use the Close() method. | |
| package binaryauthorization // import "cloud.google.com/go/binaryauthorization/apiv1beta1" | |
| import ( | |
| "context" | |
| "net/http" | |
| "google.golang.org/api/option" | |
| "google.golang.org/grpc/metadata" | |
| ) | |
| // For more information on implementing a client constructor hook, see | |
| // https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. | |
| type clientHookParams struct{} | |
| type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) | |
| var versionClient string | |
| func getVersionClient() string { | |
| if versionClient == "" { | |
| return "UNKNOWN" | |
| } | |
| return versionClient | |
| } | |
| func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context { | |
| out, _ := metadata.FromOutgoingContext(ctx) | |
| out = out.Copy() | |
| for _, md := range mds { | |
| for k, v := range md { | |
| out[k] = append(out[k], v...) | |
| } | |
| } | |
| return metadata.NewOutgoingContext(ctx, out) | |
| } | |
| // DefaultAuthScopes reports the default set of authentication scopes to use with this package. | |
| func DefaultAuthScopes() []string { | |
| return []string{ | |
| "https://www.googleapis.com/auth/cloud-platform", | |
| } | |
| } | |
| // buildHeaders extracts metadata from the outgoing context, joins it with any other | |
| // given metadata, and converts them into a http.Header. | |
| func buildHeaders(ctx context.Context, mds ...metadata.MD) http.Header { | |
| if cmd, ok := metadata.FromOutgoingContext(ctx); ok { | |
| mds = append(mds, cmd) | |
| } | |
| md := metadata.Join(mds...) | |
| return http.Header(md) | |
| } |