123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- // 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 logging is an auto-generated package for the
- // Cloud Logging API.
- //
- // Writes log entries and manages your Cloud Logging configuration.
- //
- // # 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 := logging.NewClient(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 := logging.NewClient(ctx)
- // if err != nil {
- // // TODO: Handle error.
- // }
- // defer c.Close()
- //
- // req := &loggingpb.DeleteLogRequest{
- // // TODO: Fill request struct fields.
- // // See https://pkg.go.dev/cloud.google.com/go/logging/apiv2/loggingpb#DeleteLogRequest.
- // }
- // err = c.DeleteLog(ctx, req)
- // if err != nil {
- // // TODO: Handle error.
- // }
- //
- // # Use of Context
- //
- // The ctx passed to NewClient 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 logging // import "cloud.google.com/go/logging/apiv2"
- import (
- "context"
- "os"
- "runtime"
- "strconv"
- "strings"
- "unicode"
- "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)
- }
- func checkDisableDeadlines() (bool, error) {
- raw, ok := os.LookupEnv("GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE")
- if !ok {
- return false, nil
- }
- b, err := strconv.ParseBool(raw)
- return b, err
- }
- // 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",
- "https://www.googleapis.com/auth/cloud-platform.read-only",
- "https://www.googleapis.com/auth/logging.admin",
- "https://www.googleapis.com/auth/logging.read",
- "https://www.googleapis.com/auth/logging.write",
- }
- }
- // versionGo returns the Go runtime version. The returned string
- // has no whitespace, suitable for reporting in header.
- func versionGo() string {
- const develPrefix = "devel +"
- s := runtime.Version()
- if strings.HasPrefix(s, develPrefix) {
- s = s[len(develPrefix):]
- if p := strings.IndexFunc(s, unicode.IsSpace); p >= 0 {
- s = s[:p]
- }
- return s
- }
- notSemverRune := func(r rune) bool {
- return !strings.ContainsRune("0123456789.", r)
- }
- if strings.HasPrefix(s, "go1") {
- s = s[2:]
- var prerelease string
- if p := strings.IndexFunc(s, notSemverRune); p >= 0 {
- s, prerelease = s[:p], s[p:]
- }
- if strings.HasSuffix(s, ".") {
- s += "0"
- } else if strings.Count(s, ".") < 2 {
- s += ".0"
- }
- if prerelease != "" {
- s += "-" + prerelease
- }
- return s
- }
- return "UNKNOWN"
- }
|