1 // Copyright 2024 Google LLC 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // https://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go_gapic. DO NOT EDIT. 16 17 // Package kms is an auto-generated package for the 18 // Cloud Key Management Service (KMS) API. 19 // 20 // Manages keys and performs cryptographic operations in a central cloud 21 // service, for direct use by other cloud resources and applications. 22 // 23 // # General documentation 24 // 25 // For information that is relevant for all client libraries please reference 26 // https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this 27 // page includes: 28 // 29 // - [Authentication and Authorization] 30 // - [Timeouts and Cancellation] 31 // - [Testing against Client Libraries] 32 // - [Debugging Client Libraries] 33 // - [Inspecting errors] 34 // 35 // # Example usage 36 // 37 // To get started with this package, create a client. 38 // 39 // ctx := context.Background() 40 // // This snippet has been automatically generated and should be regarded as a code template only. 41 // // It will require modifications to work: 42 // // - It may require correct/in-range values for request initialization. 43 // // - It may require specifying regional endpoints when creating the service client as shown in: 44 // // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options 45 // c, err := kms.NewEkmClient(ctx) 46 // if err != nil { 47 // // TODO: Handle error. 48 // } 49 // defer c.Close() 50 // 51 // The client will use your default application credentials. Clients should be reused instead of created as needed. 52 // The methods of Client are safe for concurrent use by multiple goroutines. 53 // The returned client must be Closed when it is done being used. 54 // 55 // # Using the Client 56 // 57 // The following is an example of making an API call with the newly created client. 58 // 59 // ctx := context.Background() 60 // // This snippet has been automatically generated and should be regarded as a code template only. 61 // // It will require modifications to work: 62 // // - It may require correct/in-range values for request initialization. 63 // // - It may require specifying regional endpoints when creating the service client as shown in: 64 // // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options 65 // c, err := kms.NewEkmClient(ctx) 66 // if err != nil { 67 // // TODO: Handle error. 68 // } 69 // defer c.Close() 70 // 71 // req := &kmspb.CreateEkmConnectionRequest{ 72 // // TODO: Fill request struct fields. 73 // // See https://pkg.go.dev/cloud.google.com/go/kms/apiv1/kmspb#CreateEkmConnectionRequest. 74 // } 75 // resp, err := c.CreateEkmConnection(ctx, req) 76 // if err != nil { 77 // // TODO: Handle error. 78 // } 79 // // TODO: Use resp. 80 // _ = resp 81 // 82 // # Use of Context 83 // 84 // The ctx passed to NewEkmClient is used for authentication requests and 85 // for creating the underlying connection, but is not used for subsequent calls. 86 // Individual methods on the client use the ctx given to them. 87 // 88 // To close the open connection, use the Close() method. 89 // 90 // [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization 91 // [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation 92 // [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing 93 // [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging 94 // [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors 95 package kms // import "cloud.google.com/go/kms/apiv1" 96 97 import ( 98 "context" 99 100 "google.golang.org/api/option" 101 ) 102 103 // For more information on implementing a client constructor hook, see 104 // https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. 105 type clientHookParams struct{} 106 type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) 107 108 var versionClient string 109 110 func getVersionClient() string { 111 if versionClient == "" { 112 return "UNKNOWN" 113 } 114 return versionClient 115 } 116 117 // DefaultAuthScopes reports the default set of authentication scopes to use with this package. 118 func DefaultAuthScopes() []string { 119 return []string{ 120 "https://www.googleapis.com/auth/cloud-platform", 121 "https://www.googleapis.com/auth/cloudkms", 122 } 123 } 124