update kube-controller-manager dependencies
This commit is contained in:
5568
vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/gen.go
generated
vendored
5568
vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/gen.go
generated
vendored
File diff suppressed because it is too large
Load Diff
135
vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta/meta.go
generated
vendored
135
vendor/github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta/meta.go
generated
vendored
@@ -127,6 +127,8 @@ var AllServices = []*ServiceInfo{
|
||||
"Patch",
|
||||
"Update",
|
||||
"SetSecurityPolicy",
|
||||
"AddSignedUrlKey",
|
||||
"DeleteSignedUrlKey",
|
||||
},
|
||||
options: AggregatedList,
|
||||
},
|
||||
@@ -140,6 +142,8 @@ var AllServices = []*ServiceInfo{
|
||||
additionalMethods: []string{
|
||||
"Update",
|
||||
"SetSecurityPolicy",
|
||||
"AddSignedUrlKey",
|
||||
"DeleteSignedUrlKey",
|
||||
},
|
||||
options: AggregatedList,
|
||||
},
|
||||
@@ -153,6 +157,8 @@ var AllServices = []*ServiceInfo{
|
||||
additionalMethods: []string{
|
||||
"Update",
|
||||
"SetSecurityPolicy",
|
||||
"AddSignedUrlKey",
|
||||
"DeleteSignedUrlKey",
|
||||
},
|
||||
options: AggregatedList,
|
||||
},
|
||||
@@ -222,6 +228,7 @@ var AllServices = []*ServiceInfo{
|
||||
serviceType: reflect.TypeOf(&alpha.FirewallsService{}),
|
||||
additionalMethods: []string{
|
||||
"Update",
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -233,6 +240,7 @@ var AllServices = []*ServiceInfo{
|
||||
serviceType: reflect.TypeOf(&beta.FirewallsService{}),
|
||||
additionalMethods: []string{
|
||||
"Update",
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -243,6 +251,51 @@ var AllServices = []*ServiceInfo{
|
||||
serviceType: reflect.TypeOf(&ga.FirewallsService{}),
|
||||
additionalMethods: []string{
|
||||
"Update",
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "FirewallPolicy",
|
||||
Service: "NetworkFirewallPolicies",
|
||||
Resource: "networkFirewallPolicies",
|
||||
version: VersionAlpha,
|
||||
keyType: Global,
|
||||
serviceType: reflect.TypeOf(&alpha.NetworkFirewallPoliciesService{}),
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
"GetRule",
|
||||
"AddRule",
|
||||
"PatchRule",
|
||||
"CloneRules",
|
||||
"RemoveRule",
|
||||
"GetAssociation",
|
||||
"AddAssociation",
|
||||
"RemoveAssociation",
|
||||
"GetIamPolicy",
|
||||
"SetIamPolicy",
|
||||
"TestIamPermissions",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "FirewallPolicy",
|
||||
Service: "RegionNetworkFirewallPolicies",
|
||||
Resource: "regionNetworkFirewallPolicies",
|
||||
version: VersionAlpha,
|
||||
keyType: Regional,
|
||||
serviceType: reflect.TypeOf(&alpha.RegionNetworkFirewallPoliciesService{}),
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
"GetRule",
|
||||
"AddRule",
|
||||
"PatchRule",
|
||||
"CloneRules",
|
||||
"RemoveRule",
|
||||
"GetAssociation",
|
||||
"AddAssociation",
|
||||
"RemoveAssociation",
|
||||
"GetIamPolicy",
|
||||
"SetIamPolicy",
|
||||
"TestIamPermissions",
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -444,6 +497,53 @@ var AllServices = []*ServiceInfo{
|
||||
"UpdateNetworkInterface",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Image",
|
||||
Service: "Images",
|
||||
Resource: "Images",
|
||||
keyType: Global,
|
||||
serviceType: reflect.TypeOf(&ga.ImagesService{}),
|
||||
additionalMethods: []string{
|
||||
"GetFromFamily",
|
||||
"GetIamPolicy",
|
||||
"Patch",
|
||||
"SetIamPolicy",
|
||||
"SetLabels",
|
||||
"TestIamPermissions",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Image",
|
||||
Service: "Images",
|
||||
Resource: "Images",
|
||||
version: VersionBeta,
|
||||
keyType: Global,
|
||||
serviceType: reflect.TypeOf(&beta.ImagesService{}),
|
||||
additionalMethods: []string{
|
||||
"GetFromFamily",
|
||||
"GetIamPolicy",
|
||||
"Patch",
|
||||
"SetIamPolicy",
|
||||
"SetLabels",
|
||||
"TestIamPermissions",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Image",
|
||||
Service: "Images",
|
||||
Resource: "Images",
|
||||
version: VersionAlpha,
|
||||
keyType: Global,
|
||||
serviceType: reflect.TypeOf(&alpha.ImagesService{}),
|
||||
additionalMethods: []string{
|
||||
"GetFromFamily",
|
||||
"GetIamPolicy",
|
||||
"Patch",
|
||||
"SetIamPolicy",
|
||||
"SetLabels",
|
||||
"TestIamPermissions",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Network",
|
||||
Service: "Networks",
|
||||
@@ -593,6 +693,17 @@ var AllServices = []*ServiceInfo{
|
||||
"RemoveRule",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "ServiceAttachment",
|
||||
Service: "ServiceAttachments",
|
||||
Resource: "serviceAttachments",
|
||||
version: VersionGA,
|
||||
keyType: Regional,
|
||||
serviceType: reflect.TypeOf(&ga.ServiceAttachmentsService{}),
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "ServiceAttachment",
|
||||
Service: "ServiceAttachments",
|
||||
@@ -678,6 +789,9 @@ var AllServices = []*ServiceInfo{
|
||||
keyType: Regional,
|
||||
serviceType: reflect.TypeOf(&alpha.SubnetworksService{}),
|
||||
options: ListUsable,
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Subnetwork",
|
||||
@@ -685,8 +799,11 @@ var AllServices = []*ServiceInfo{
|
||||
Resource: "subnetworks",
|
||||
version: VersionBeta,
|
||||
keyType: Regional,
|
||||
serviceType: reflect.TypeOf(&alpha.SubnetworksService{}),
|
||||
serviceType: reflect.TypeOf(&beta.SubnetworksService{}),
|
||||
options: ListUsable,
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "Subnetwork",
|
||||
@@ -694,8 +811,11 @@ var AllServices = []*ServiceInfo{
|
||||
Resource: "subnetworks",
|
||||
version: VersionGA,
|
||||
keyType: Regional,
|
||||
serviceType: reflect.TypeOf(&alpha.SubnetworksService{}),
|
||||
serviceType: reflect.TypeOf(&ga.SubnetworksService{}),
|
||||
options: ListUsable,
|
||||
additionalMethods: []string{
|
||||
"Patch",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "TargetHttpProxy",
|
||||
@@ -870,6 +990,17 @@ var AllServices = []*ServiceInfo{
|
||||
"SetBackendService",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "TargetTcpProxy",
|
||||
Service: "TargetTcpProxies",
|
||||
Resource: "targetTcpProxies",
|
||||
version: VersionGA,
|
||||
keyType: Global,
|
||||
serviceType: reflect.TypeOf(&ga.TargetTcpProxiesService{}),
|
||||
additionalMethods: []string{
|
||||
"SetBackendService",
|
||||
},
|
||||
},
|
||||
{
|
||||
Object: "UrlMap",
|
||||
Service: "UrlMaps",
|
||||
|
296
vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go
generated
vendored
Normal file
296
vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go
generated
vendored
Normal file
@@ -0,0 +1,296 @@
|
||||
// Copyright 2021, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Package apierror implements a wrapper error for parsing error details from
|
||||
// API calls. Currently, only errors representing a gRPC status are supported.
|
||||
package apierror
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
jsonerror "github.com/googleapis/gax-go/v2/apierror/internal/proto"
|
||||
"google.golang.org/api/googleapi"
|
||||
"google.golang.org/genproto/googleapis/rpc/errdetails"
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
)
|
||||
|
||||
// ErrDetails holds the google/rpc/error_details.proto messages.
|
||||
type ErrDetails struct {
|
||||
ErrorInfo *errdetails.ErrorInfo
|
||||
BadRequest *errdetails.BadRequest
|
||||
PreconditionFailure *errdetails.PreconditionFailure
|
||||
QuotaFailure *errdetails.QuotaFailure
|
||||
RetryInfo *errdetails.RetryInfo
|
||||
ResourceInfo *errdetails.ResourceInfo
|
||||
RequestInfo *errdetails.RequestInfo
|
||||
DebugInfo *errdetails.DebugInfo
|
||||
Help *errdetails.Help
|
||||
LocalizedMessage *errdetails.LocalizedMessage
|
||||
|
||||
// Unknown stores unidentifiable error details.
|
||||
Unknown []interface{}
|
||||
}
|
||||
|
||||
func (e ErrDetails) String() string {
|
||||
var d strings.Builder
|
||||
if e.ErrorInfo != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: name = ErrorInfo reason = %s domain = %s metadata = %s\n",
|
||||
e.ErrorInfo.GetReason(), e.ErrorInfo.GetDomain(), e.ErrorInfo.GetMetadata()))
|
||||
}
|
||||
|
||||
if e.BadRequest != nil {
|
||||
v := e.BadRequest.GetFieldViolations()
|
||||
var f []string
|
||||
var desc []string
|
||||
for _, x := range v {
|
||||
f = append(f, x.GetField())
|
||||
desc = append(desc, x.GetDescription())
|
||||
}
|
||||
d.WriteString(fmt.Sprintf("error details: name = BadRequest field = %s desc = %s\n",
|
||||
strings.Join(f, " "), strings.Join(desc, " ")))
|
||||
}
|
||||
|
||||
if e.PreconditionFailure != nil {
|
||||
v := e.PreconditionFailure.GetViolations()
|
||||
var t []string
|
||||
var s []string
|
||||
var desc []string
|
||||
for _, x := range v {
|
||||
t = append(t, x.GetType())
|
||||
s = append(s, x.GetSubject())
|
||||
desc = append(desc, x.GetDescription())
|
||||
}
|
||||
d.WriteString(fmt.Sprintf("error details: name = PreconditionFailure type = %s subj = %s desc = %s\n", strings.Join(t, " "),
|
||||
strings.Join(s, " "), strings.Join(desc, " ")))
|
||||
}
|
||||
|
||||
if e.QuotaFailure != nil {
|
||||
v := e.QuotaFailure.GetViolations()
|
||||
var s []string
|
||||
var desc []string
|
||||
for _, x := range v {
|
||||
s = append(s, x.GetSubject())
|
||||
desc = append(desc, x.GetDescription())
|
||||
}
|
||||
d.WriteString(fmt.Sprintf("error details: name = QuotaFailure subj = %s desc = %s\n",
|
||||
strings.Join(s, " "), strings.Join(desc, " ")))
|
||||
}
|
||||
|
||||
if e.RequestInfo != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: name = RequestInfo id = %s data = %s\n",
|
||||
e.RequestInfo.GetRequestId(), e.RequestInfo.GetServingData()))
|
||||
}
|
||||
|
||||
if e.ResourceInfo != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: name = ResourceInfo type = %s resourcename = %s owner = %s desc = %s\n",
|
||||
e.ResourceInfo.GetResourceType(), e.ResourceInfo.GetResourceName(),
|
||||
e.ResourceInfo.GetOwner(), e.ResourceInfo.GetDescription()))
|
||||
|
||||
}
|
||||
if e.RetryInfo != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: retry in %s\n", e.RetryInfo.GetRetryDelay().AsDuration()))
|
||||
|
||||
}
|
||||
if e.Unknown != nil {
|
||||
var s []string
|
||||
for _, x := range e.Unknown {
|
||||
s = append(s, fmt.Sprintf("%v", x))
|
||||
}
|
||||
d.WriteString(fmt.Sprintf("error details: name = Unknown desc = %s\n", strings.Join(s, " ")))
|
||||
}
|
||||
|
||||
if e.DebugInfo != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: name = DebugInfo detail = %s stack = %s\n", e.DebugInfo.GetDetail(),
|
||||
strings.Join(e.DebugInfo.GetStackEntries(), " ")))
|
||||
}
|
||||
if e.Help != nil {
|
||||
var desc []string
|
||||
var url []string
|
||||
for _, x := range e.Help.Links {
|
||||
desc = append(desc, x.GetDescription())
|
||||
url = append(url, x.GetUrl())
|
||||
}
|
||||
d.WriteString(fmt.Sprintf("error details: name = Help desc = %s url = %s\n",
|
||||
strings.Join(desc, " "), strings.Join(url, " ")))
|
||||
}
|
||||
if e.LocalizedMessage != nil {
|
||||
d.WriteString(fmt.Sprintf("error details: name = LocalizedMessage locale = %s msg = %s\n",
|
||||
e.LocalizedMessage.GetLocale(), e.LocalizedMessage.GetMessage()))
|
||||
}
|
||||
|
||||
return d.String()
|
||||
}
|
||||
|
||||
// APIError wraps either a gRPC Status error or a HTTP googleapi.Error. It
|
||||
// implements error and Status interfaces.
|
||||
type APIError struct {
|
||||
err error
|
||||
status *status.Status
|
||||
httpErr *googleapi.Error
|
||||
details ErrDetails
|
||||
}
|
||||
|
||||
// Details presents the error details of the APIError.
|
||||
func (a *APIError) Details() ErrDetails {
|
||||
return a.details
|
||||
}
|
||||
|
||||
// Unwrap extracts the original error.
|
||||
func (a *APIError) Unwrap() error {
|
||||
return a.err
|
||||
}
|
||||
|
||||
// Error returns a readable representation of the APIError.
|
||||
func (a *APIError) Error() string {
|
||||
var msg string
|
||||
if a.status != nil {
|
||||
msg = a.err.Error()
|
||||
} else if a.httpErr != nil {
|
||||
// Truncate the googleapi.Error message because it dumps the Details in
|
||||
// an ugly way.
|
||||
msg = fmt.Sprintf("googleapi: Error %d: %s", a.httpErr.Code, a.httpErr.Message)
|
||||
}
|
||||
return strings.TrimSpace(fmt.Sprintf("%s\n%s", msg, a.details))
|
||||
}
|
||||
|
||||
// GRPCStatus extracts the underlying gRPC Status error.
|
||||
// This method is necessary to fulfill the interface
|
||||
// described in https://pkg.go.dev/google.golang.org/grpc/status#FromError.
|
||||
func (a *APIError) GRPCStatus() *status.Status {
|
||||
return a.status
|
||||
}
|
||||
|
||||
// Reason returns the reason in an ErrorInfo.
|
||||
// If ErrorInfo is nil, it returns an empty string.
|
||||
func (a *APIError) Reason() string {
|
||||
return a.details.ErrorInfo.GetReason()
|
||||
}
|
||||
|
||||
// Domain returns the domain in an ErrorInfo.
|
||||
// If ErrorInfo is nil, it returns an empty string.
|
||||
func (a *APIError) Domain() string {
|
||||
return a.details.ErrorInfo.GetDomain()
|
||||
}
|
||||
|
||||
// Metadata returns the metadata in an ErrorInfo.
|
||||
// If ErrorInfo is nil, it returns nil.
|
||||
func (a *APIError) Metadata() map[string]string {
|
||||
return a.details.ErrorInfo.GetMetadata()
|
||||
|
||||
}
|
||||
|
||||
// FromError parses a Status error or a googleapi.Error and builds an APIError.
|
||||
func FromError(err error) (*APIError, bool) {
|
||||
if err == nil {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
ae := APIError{err: err}
|
||||
st, isStatus := status.FromError(err)
|
||||
herr, isHTTPErr := err.(*googleapi.Error)
|
||||
|
||||
switch {
|
||||
case isStatus:
|
||||
ae.status = st
|
||||
ae.details = parseDetails(st.Details())
|
||||
case isHTTPErr:
|
||||
ae.httpErr = herr
|
||||
ae.details = parseHTTPDetails(herr)
|
||||
default:
|
||||
return nil, false
|
||||
}
|
||||
|
||||
return &ae, true
|
||||
|
||||
}
|
||||
|
||||
// parseDetails accepts a slice of interface{} that should be backed by some
|
||||
// sort of proto.Message that can be cast to the google/rpc/error_details.proto
|
||||
// types.
|
||||
//
|
||||
// This is for internal use only.
|
||||
func parseDetails(details []interface{}) ErrDetails {
|
||||
var ed ErrDetails
|
||||
for _, d := range details {
|
||||
switch d := d.(type) {
|
||||
case *errdetails.ErrorInfo:
|
||||
ed.ErrorInfo = d
|
||||
case *errdetails.BadRequest:
|
||||
ed.BadRequest = d
|
||||
case *errdetails.PreconditionFailure:
|
||||
ed.PreconditionFailure = d
|
||||
case *errdetails.QuotaFailure:
|
||||
ed.QuotaFailure = d
|
||||
case *errdetails.RetryInfo:
|
||||
ed.RetryInfo = d
|
||||
case *errdetails.ResourceInfo:
|
||||
ed.ResourceInfo = d
|
||||
case *errdetails.RequestInfo:
|
||||
ed.RequestInfo = d
|
||||
case *errdetails.DebugInfo:
|
||||
ed.DebugInfo = d
|
||||
case *errdetails.Help:
|
||||
ed.Help = d
|
||||
case *errdetails.LocalizedMessage:
|
||||
ed.LocalizedMessage = d
|
||||
default:
|
||||
ed.Unknown = append(ed.Unknown, d)
|
||||
}
|
||||
}
|
||||
|
||||
return ed
|
||||
}
|
||||
|
||||
// parseHTTPDetails will convert the given googleapi.Error into the protobuf
|
||||
// representation then parse the Any values that contain the error details.
|
||||
//
|
||||
// This is for internal use only.
|
||||
func parseHTTPDetails(gae *googleapi.Error) ErrDetails {
|
||||
e := &jsonerror.Error{}
|
||||
if err := protojson.Unmarshal([]byte(gae.Body), e); err != nil {
|
||||
// If the error body does not conform to the error schema, ignore it
|
||||
// altogther. See https://cloud.google.com/apis/design/errors#http_mapping.
|
||||
return ErrDetails{}
|
||||
}
|
||||
|
||||
// Coerce the Any messages into proto.Message then parse the details.
|
||||
details := []interface{}{}
|
||||
for _, any := range e.GetError().GetDetails() {
|
||||
m, err := any.UnmarshalNew()
|
||||
if err != nil {
|
||||
// Ignore malformed Any values.
|
||||
continue
|
||||
}
|
||||
details = append(details, m)
|
||||
}
|
||||
|
||||
return parseDetails(details)
|
||||
}
|
30
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/README.md
generated
vendored
Normal file
30
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/README.md
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# HTTP JSON Error Schema
|
||||
|
||||
The `error.proto` represents the HTTP-JSON schema used by Google APIs to convey
|
||||
error payloads as described by https://cloud.google.com/apis/design/errors#http_mapping.
|
||||
This package is for internal parsing logic only and should not be used in any
|
||||
other context.
|
||||
|
||||
## Regeneration
|
||||
|
||||
To regenerate the protobuf Go code you will need the following:
|
||||
|
||||
* A local copy of [googleapis], the absolute path to which should be exported to
|
||||
the environment variable `GOOGLEAPIS`
|
||||
* The protobuf compiler [protoc]
|
||||
* The Go [protobuf plugin]
|
||||
* The [goimports] tool
|
||||
|
||||
From this directory run the following command:
|
||||
```sh
|
||||
protoc -I $GOOGLEAPIS -I. --go_out=. --go_opt=module=github.com/googleapis/gax-go/v2/apierror/internal/proto error.proto
|
||||
goimports -w .
|
||||
```
|
||||
|
||||
Note: the `module` plugin option ensures the generated code is placed in this
|
||||
directory, and not in several nested directories defined by `go_package` option.
|
||||
|
||||
[googleapis]: https://github.com/googleapis/googleapis
|
||||
[protoc]: https://github.com/protocolbuffers/protobuf#protocol-compiler-installation
|
||||
[protobuf plugin]: https://developers.google.com/protocol-buffers/docs/reference/go-generated
|
||||
[goimports]: https://pkg.go.dev/golang.org/x/tools/cmd/goimports
|
278
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.pb.go
generated
vendored
Normal file
278
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.pb.go
generated
vendored
Normal file
@@ -0,0 +1,278 @@
|
||||
// Copyright 2021 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
|
||||
//
|
||||
// http://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. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.15.8
|
||||
// source: error.proto
|
||||
|
||||
package jsonerror
|
||||
|
||||
import (
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
code "google.golang.org/genproto/googleapis/rpc/code"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
anypb "google.golang.org/protobuf/types/known/anypb"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
// The error format v2 for Google JSON REST APIs.
|
||||
// Copied from https://cloud.google.com/apis/design/errors#http_mapping.
|
||||
//
|
||||
// NOTE: This schema is not used for other wire protocols.
|
||||
type Error struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// The actual error payload. The nested message structure is for backward
|
||||
// compatibility with Google API client libraries. It also makes the error
|
||||
// more readable to developers.
|
||||
Error *Error_Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Error) Reset() {
|
||||
*x = Error{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_error_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Error) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Error) ProtoMessage() {}
|
||||
|
||||
func (x *Error) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_error_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Error.ProtoReflect.Descriptor instead.
|
||||
func (*Error) Descriptor() ([]byte, []int) {
|
||||
return file_error_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Error) GetError() *Error_Status {
|
||||
if x != nil {
|
||||
return x.Error
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// This message has the same semantics as `google.rpc.Status`. It uses HTTP
|
||||
// status code instead of gRPC status code. It has an extra field `status`
|
||||
// for backward compatibility with Google API Client Libraries.
|
||||
type Error_Status struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// The HTTP status code that corresponds to `google.rpc.Status.code`.
|
||||
Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
|
||||
// This corresponds to `google.rpc.Status.message`.
|
||||
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
|
||||
// This is the enum version for `google.rpc.Status.code`.
|
||||
Status code.Code `protobuf:"varint,4,opt,name=status,proto3,enum=google.rpc.Code" json:"status,omitempty"`
|
||||
// This corresponds to `google.rpc.Status.details`.
|
||||
Details []*anypb.Any `protobuf:"bytes,5,rep,name=details,proto3" json:"details,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Error_Status) Reset() {
|
||||
*x = Error_Status{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_error_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Error_Status) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Error_Status) ProtoMessage() {}
|
||||
|
||||
func (x *Error_Status) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_error_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Error_Status.ProtoReflect.Descriptor instead.
|
||||
func (*Error_Status) Descriptor() ([]byte, []int) {
|
||||
return file_error_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *Error_Status) GetCode() int32 {
|
||||
if x != nil {
|
||||
return x.Code
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Error_Status) GetMessage() string {
|
||||
if x != nil {
|
||||
return x.Message
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Error_Status) GetStatus() code.Code {
|
||||
if x != nil {
|
||||
return x.Status
|
||||
}
|
||||
return code.Code(0)
|
||||
}
|
||||
|
||||
func (x *Error_Status) GetDetails() []*anypb.Any {
|
||||
if x != nil {
|
||||
return x.Details
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_error_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_error_proto_rawDesc = []byte{
|
||||
0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x65,
|
||||
0x72, 0x72, 0x6f, 0x72, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x64, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72,
|
||||
0x12, 0x29, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x13, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x90, 0x01, 0x0a, 0x06,
|
||||
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
|
||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73,
|
||||
0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e,
|
||||
0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x43,
|
||||
0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x61, 0x78, 0x2d, 0x67, 0x6f, 0x2f, 0x76,
|
||||
0x32, 0x2f, 0x61, 0x70, 0x69, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
|
||||
0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x6a, 0x73, 0x6f, 0x6e, 0x65, 0x72,
|
||||
0x72, 0x6f, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_error_proto_rawDescOnce sync.Once
|
||||
file_error_proto_rawDescData = file_error_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_error_proto_rawDescGZIP() []byte {
|
||||
file_error_proto_rawDescOnce.Do(func() {
|
||||
file_error_proto_rawDescData = protoimpl.X.CompressGZIP(file_error_proto_rawDescData)
|
||||
})
|
||||
return file_error_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_error_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_error_proto_goTypes = []interface{}{
|
||||
(*Error)(nil), // 0: error.Error
|
||||
(*Error_Status)(nil), // 1: error.Error.Status
|
||||
(code.Code)(0), // 2: google.rpc.Code
|
||||
(*anypb.Any)(nil), // 3: google.protobuf.Any
|
||||
}
|
||||
var file_error_proto_depIdxs = []int32{
|
||||
1, // 0: error.Error.error:type_name -> error.Error.Status
|
||||
2, // 1: error.Error.Status.status:type_name -> google.rpc.Code
|
||||
3, // 2: error.Error.Status.details:type_name -> google.protobuf.Any
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_error_proto_init() }
|
||||
func file_error_proto_init() {
|
||||
if File_error_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_error_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Error); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_error_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Error_Status); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_error_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_error_proto_goTypes,
|
||||
DependencyIndexes: file_error_proto_depIdxs,
|
||||
MessageInfos: file_error_proto_msgTypes,
|
||||
}.Build()
|
||||
File_error_proto = out.File
|
||||
file_error_proto_rawDesc = nil
|
||||
file_error_proto_goTypes = nil
|
||||
file_error_proto_depIdxs = nil
|
||||
}
|
46
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.proto
generated
vendored
Normal file
46
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.proto
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
// Copyright 2021 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
|
||||
//
|
||||
// http://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.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package error;
|
||||
|
||||
import "google/protobuf/any.proto";
|
||||
import "google/rpc/code.proto";
|
||||
|
||||
option go_package = "github.com/googleapis/gax-go/v2/apierror/internal/proto;jsonerror";
|
||||
|
||||
// The error format v2 for Google JSON REST APIs.
|
||||
// Copied from https://cloud.google.com/apis/design/errors#http_mapping.
|
||||
//
|
||||
// NOTE: This schema is not used for other wire protocols.
|
||||
message Error {
|
||||
// This message has the same semantics as `google.rpc.Status`. It uses HTTP
|
||||
// status code instead of gRPC status code. It has an extra field `status`
|
||||
// for backward compatibility with Google API Client Libraries.
|
||||
message Status {
|
||||
// The HTTP status code that corresponds to `google.rpc.Status.code`.
|
||||
int32 code = 1;
|
||||
// This corresponds to `google.rpc.Status.message`.
|
||||
string message = 2;
|
||||
// This is the enum version for `google.rpc.Status.code`.
|
||||
google.rpc.Code status = 4;
|
||||
// This corresponds to `google.rpc.Status.details`.
|
||||
repeated google.protobuf.Any details = 5;
|
||||
}
|
||||
// The actual error payload. The nested message structure is for backward
|
||||
// compatibility with Google API client libraries. It also makes the error
|
||||
// more readable to developers.
|
||||
Status error = 1;
|
||||
}
|
46
vendor/github.com/googleapis/gax-go/v2/call_option.go
generated
vendored
46
vendor/github.com/googleapis/gax-go/v2/call_option.go
generated
vendored
@@ -47,7 +47,7 @@ type CallOption interface {
|
||||
|
||||
// Retryer is used by Invoke to determine retry behavior.
|
||||
type Retryer interface {
|
||||
// Retry reports whether a request should be retriedand how long to pause before retrying
|
||||
// Retry reports whether a request should be retried and how long to pause before retrying
|
||||
// if the previous attempt returned with err. Invoke never calls Retry with nil error.
|
||||
Retry(err error) (pause time.Duration, shouldRetry bool)
|
||||
}
|
||||
@@ -63,6 +63,31 @@ func WithRetry(fn func() Retryer) CallOption {
|
||||
return retryerOption(fn)
|
||||
}
|
||||
|
||||
// OnErrorFunc returns a Retryer that retries if and only if the previous attempt
|
||||
// returns an error that satisfies shouldRetry.
|
||||
//
|
||||
// Pause times between retries are specified by bo. bo is only used for its
|
||||
// parameters; each Retryer has its own copy.
|
||||
func OnErrorFunc(bo Backoff, shouldRetry func(err error) bool) Retryer {
|
||||
return &errorRetryer{
|
||||
shouldRetry: shouldRetry,
|
||||
backoff: bo,
|
||||
}
|
||||
}
|
||||
|
||||
type errorRetryer struct {
|
||||
backoff Backoff
|
||||
shouldRetry func(err error) bool
|
||||
}
|
||||
|
||||
func (r *errorRetryer) Retry(err error) (time.Duration, bool) {
|
||||
if r.shouldRetry(err) {
|
||||
return r.backoff.Pause(), true
|
||||
}
|
||||
|
||||
return 0, false
|
||||
}
|
||||
|
||||
// OnCodes returns a Retryer that retries if and only if
|
||||
// the previous attempt returns a GRPC error whose error code is stored in cc.
|
||||
// Pause times between retries are specified by bo.
|
||||
@@ -94,22 +119,25 @@ func (r *boRetryer) Retry(err error) (time.Duration, bool) {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
// Backoff implements exponential backoff.
|
||||
// The wait time between retries is a random value between 0 and the "retry envelope".
|
||||
// The envelope starts at Initial and increases by the factor of Multiplier every retry,
|
||||
// but is capped at Max.
|
||||
// Backoff implements exponential backoff. The wait time between retries is a
|
||||
// random value between 0 and the "retry period" - the time between retries. The
|
||||
// retry period starts at Initial and increases by the factor of Multiplier
|
||||
// every retry, but is capped at Max.
|
||||
//
|
||||
// Note: MaxNumRetries / RPCDeadline is specifically not provided. These should
|
||||
// be built on top of Backoff.
|
||||
type Backoff struct {
|
||||
// Initial is the initial value of the retry envelope, defaults to 1 second.
|
||||
// Initial is the initial value of the retry period, defaults to 1 second.
|
||||
Initial time.Duration
|
||||
|
||||
// Max is the maximum value of the retry envelope, defaults to 30 seconds.
|
||||
// Max is the maximum value of the retry period, defaults to 30 seconds.
|
||||
Max time.Duration
|
||||
|
||||
// Multiplier is the factor by which the retry envelope increases.
|
||||
// Multiplier is the factor by which the retry period increases.
|
||||
// It should be greater than 1 and defaults to 2.
|
||||
Multiplier float64
|
||||
|
||||
// cur is the current retry envelope
|
||||
// cur is the current retry period.
|
||||
cur time.Duration
|
||||
}
|
||||
|
||||
|
2
vendor/github.com/googleapis/gax-go/v2/gax.go
generated
vendored
2
vendor/github.com/googleapis/gax-go/v2/gax.go
generated
vendored
@@ -36,4 +36,4 @@
|
||||
package gax
|
||||
|
||||
// Version specifies the gax-go version being used.
|
||||
const Version = "2.0.4"
|
||||
const Version = "2.1.1"
|
||||
|
15
vendor/github.com/googleapis/gax-go/v2/invoke.go
generated
vendored
15
vendor/github.com/googleapis/gax-go/v2/invoke.go
generated
vendored
@@ -33,13 +33,15 @@ import (
|
||||
"context"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/googleapis/gax-go/v2/apierror"
|
||||
)
|
||||
|
||||
// APICall is a user defined call stub.
|
||||
type APICall func(context.Context, CallSettings) error
|
||||
|
||||
// Invoke calls the given APICall,
|
||||
// performing retries as specified by opts, if any.
|
||||
// Invoke calls the given APICall, performing retries as specified by opts, if
|
||||
// any.
|
||||
func Invoke(ctx context.Context, call APICall, opts ...CallOption) error {
|
||||
var settings CallSettings
|
||||
for _, opt := range opts {
|
||||
@@ -71,9 +73,6 @@ func invoke(ctx context.Context, call APICall, settings CallSettings, sp sleeper
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
if settings.Retry == nil {
|
||||
return err
|
||||
}
|
||||
// Never retry permanent certificate errors. (e.x. if ca-certificates
|
||||
// are not installed). We should only make very few, targeted
|
||||
// exceptions: many (other) status=Unavailable should be retried, such
|
||||
@@ -83,6 +82,12 @@ func invoke(ctx context.Context, call APICall, settings CallSettings, sp sleeper
|
||||
if strings.Contains(err.Error(), "x509: certificate signed by unknown authority") {
|
||||
return err
|
||||
}
|
||||
if apierr, ok := apierror.FromError(err); ok {
|
||||
err = apierr
|
||||
}
|
||||
if settings.Retry == nil {
|
||||
return err
|
||||
}
|
||||
if retryer == nil {
|
||||
if r := settings.Retry(); r != nil {
|
||||
retryer = r
|
||||
|
Reference in New Issue
Block a user