import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
check_error.pb.go distribution.pb.go http_request.pb.go log_entry.pb.go metric_value.pb.go operation.pb.go quota_controller.pb.go service_controller.pb.go
var ( CheckError_Code_name = map[int32]string{ 0: "ERROR_CODE_UNSPECIFIED", 5: "NOT_FOUND", 7: "PERMISSION_DENIED", 8: "RESOURCE_EXHAUSTED", 104: "SERVICE_NOT_ACTIVATED", 107: "BILLING_DISABLED", 108: "PROJECT_DELETED", 114: "PROJECT_INVALID", 125: "CONSUMER_INVALID", 109: "IP_ADDRESS_BLOCKED", 110: "REFERER_BLOCKED", 111: "CLIENT_APP_BLOCKED", 122: "API_TARGET_BLOCKED", 105: "API_KEY_INVALID", 112: "API_KEY_EXPIRED", 113: "API_KEY_NOT_FOUND", 123: "INVALID_CREDENTIAL", 300: "NAMESPACE_LOOKUP_UNAVAILABLE", 301: "SERVICE_STATUS_UNAVAILABLE", 302: "BILLING_STATUS_UNAVAILABLE", 305: "CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE", } CheckError_Code_value = map[string]int32{ "ERROR_CODE_UNSPECIFIED": 0, "NOT_FOUND": 5, "PERMISSION_DENIED": 7, "RESOURCE_EXHAUSTED": 8, "SERVICE_NOT_ACTIVATED": 104, "BILLING_DISABLED": 107, "PROJECT_DELETED": 108, "PROJECT_INVALID": 114, "CONSUMER_INVALID": 125, "IP_ADDRESS_BLOCKED": 109, "REFERER_BLOCKED": 110, "CLIENT_APP_BLOCKED": 111, "API_TARGET_BLOCKED": 122, "API_KEY_INVALID": 105, "API_KEY_EXPIRED": 112, "API_KEY_NOT_FOUND": 113, "INVALID_CREDENTIAL": 123, "NAMESPACE_LOOKUP_UNAVAILABLE": 300, "SERVICE_STATUS_UNAVAILABLE": 301, "BILLING_STATUS_UNAVAILABLE": 302, "CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE": 305, } )
Enum value maps for CheckError_Code.
var ( Operation_Importance_name = map[int32]string{ 0: "LOW", 1: "HIGH", } Operation_Importance_value = map[string]int32{ "LOW": 0, "HIGH": 1, } )
Enum value maps for Operation_Importance.
var ( QuotaOperation_QuotaMode_name = map[int32]string{ 0: "UNSPECIFIED", 1: "NORMAL", 2: "BEST_EFFORT", 3: "CHECK_ONLY", 4: "QUERY_ONLY", 5: "ADJUST_ONLY", } QuotaOperation_QuotaMode_value = map[string]int32{ "UNSPECIFIED": 0, "NORMAL": 1, "BEST_EFFORT": 2, "CHECK_ONLY": 3, "QUERY_ONLY": 4, "ADJUST_ONLY": 5, } )
Enum value maps for QuotaOperation_QuotaMode.
var ( QuotaError_Code_name = map[int32]string{ 0: "UNSPECIFIED", 8: "RESOURCE_EXHAUSTED", 107: "BILLING_NOT_ACTIVE", 108: "PROJECT_DELETED", 105: "API_KEY_INVALID", 112: "API_KEY_EXPIRED", } QuotaError_Code_value = map[string]int32{ "UNSPECIFIED": 0, "RESOURCE_EXHAUSTED": 8, "BILLING_NOT_ACTIVE": 107, "PROJECT_DELETED": 108, "API_KEY_INVALID": 105, "API_KEY_EXPIRED": 112, } )
Enum value maps for QuotaError_Code.
var ( CheckResponse_ConsumerInfo_ConsumerType_name = map[int32]string{ 0: "CONSUMER_TYPE_UNSPECIFIED", 1: "PROJECT", 2: "FOLDER", 3: "ORGANIZATION", 4: "SERVICE_SPECIFIC", } CheckResponse_ConsumerInfo_ConsumerType_value = map[string]int32{ "CONSUMER_TYPE_UNSPECIFIED": 0, "PROJECT": 1, "FOLDER": 2, "ORGANIZATION": 3, "SERVICE_SPECIFIC": 4, } )
Enum value maps for CheckResponse_ConsumerInfo_ConsumerType.
var File_google_api_servicecontrol_v1_check_error_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_distribution_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_http_request_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_log_entry_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_metric_value_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_operation_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_quota_controller_proto protoreflect.FileDescriptor
var File_google_api_servicecontrol_v1_service_controller_proto protoreflect.FileDescriptor
func RegisterQuotaControllerServer(s *grpc.Server, srv QuotaControllerServer)
func RegisterServiceControllerServer(s *grpc.Server, srv ServiceControllerServer)
type AllocateQuotaRequest struct { // Name of the service as specified in the service configuration. For example, // `"pubsub.googleapis.com"`. // // See [google.api.Service][google.api.Service] for the definition of a service name. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Operation that describes the quota allocation. AllocateOperation *QuotaOperation `protobuf:"bytes,2,opt,name=allocate_operation,json=allocateOperation,proto3" json:"allocate_operation,omitempty"` // Specifies which version of service configuration should be used to process // the request. If unspecified or no matching version can be found, the latest // one will be used. ServiceConfigId string `protobuf:"bytes,4,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // contains filtered or unexported fields }
Request message for the AllocateQuota method.
func (*AllocateQuotaRequest) Descriptor() ([]byte, []int)
Deprecated: Use AllocateQuotaRequest.ProtoReflect.Descriptor instead.
func (x *AllocateQuotaRequest) GetAllocateOperation() *QuotaOperation
func (x *AllocateQuotaRequest) GetServiceConfigId() string
func (x *AllocateQuotaRequest) GetServiceName() string
func (*AllocateQuotaRequest) ProtoMessage()
func (x *AllocateQuotaRequest) ProtoReflect() protoreflect.Message
func (x *AllocateQuotaRequest) Reset()
func (x *AllocateQuotaRequest) String() string
type AllocateQuotaResponse struct { // The same operation_id value used in the AllocateQuotaRequest. Used for // logging and diagnostics purposes. OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Indicates the decision of the allocate. AllocateErrors []*QuotaError `protobuf:"bytes,2,rep,name=allocate_errors,json=allocateErrors,proto3" json:"allocate_errors,omitempty"` // Quota metrics to indicate the result of allocation. Depending on the // request, one or more of the following metrics will be included: // // 1. Per quota group or per quota metric incremental usage will be specified // using the following delta metric : // "serviceruntime.googleapis.com/api/consumer/quota_used_count" // // 2. The quota limit reached condition will be specified using the following // boolean metric : // "serviceruntime.googleapis.com/quota/exceeded" QuotaMetrics []*MetricValueSet `protobuf:"bytes,3,rep,name=quota_metrics,json=quotaMetrics,proto3" json:"quota_metrics,omitempty"` // ID of the actual config used to process the request. ServiceConfigId string `protobuf:"bytes,4,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // contains filtered or unexported fields }
Response message for the AllocateQuota method.
func (*AllocateQuotaResponse) Descriptor() ([]byte, []int)
Deprecated: Use AllocateQuotaResponse.ProtoReflect.Descriptor instead.
func (x *AllocateQuotaResponse) GetAllocateErrors() []*QuotaError
func (x *AllocateQuotaResponse) GetOperationId() string
func (x *AllocateQuotaResponse) GetQuotaMetrics() []*MetricValueSet
func (x *AllocateQuotaResponse) GetServiceConfigId() string
func (*AllocateQuotaResponse) ProtoMessage()
func (x *AllocateQuotaResponse) ProtoReflect() protoreflect.Message
func (x *AllocateQuotaResponse) Reset()
func (x *AllocateQuotaResponse) String() string
type CheckError struct { // The error code. Code CheckError_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.api.servicecontrol.v1.CheckError_Code" json:"code,omitempty"` // Subject to whom this error applies. See the specific code enum for more // details on this field. For example: // // - "project:<project-id or project-number>" // - "folder:<folder-id>" // - "organization:<organization-id>" Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` // Free-form text providing details on the error cause of the error. Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"` // Contains public information about the check error. If available, // `status.code` will be non zero and client can propagate it out as public // error. Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` // contains filtered or unexported fields }
Defines the errors to be returned in [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].
func (*CheckError) Descriptor() ([]byte, []int)
Deprecated: Use CheckError.ProtoReflect.Descriptor instead.
func (x *CheckError) GetCode() CheckError_Code
func (x *CheckError) GetDetail() string
func (x *CheckError) GetStatus() *status.Status
func (x *CheckError) GetSubject() string
func (*CheckError) ProtoMessage()
func (x *CheckError) ProtoReflect() protoreflect.Message
func (x *CheckError) Reset()
func (x *CheckError) String() string
Error codes for Check responses.
const ( // This is never used in `CheckResponse`. CheckError_ERROR_CODE_UNSPECIFIED CheckError_Code = 0 // The consumer's project id, network container, or resource container was // not found. Same as [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND]. CheckError_NOT_FOUND CheckError_Code = 5 // The consumer doesn't have access to the specified resource. // Same as [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. CheckError_PERMISSION_DENIED CheckError_Code = 7 // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. CheckError_RESOURCE_EXHAUSTED CheckError_Code = 8 // The consumer hasn't activated the service. CheckError_SERVICE_NOT_ACTIVATED CheckError_Code = 104 // The consumer cannot access the service because billing is disabled. CheckError_BILLING_DISABLED CheckError_Code = 107 // The consumer's project has been marked as deleted (soft deletion). CheckError_PROJECT_DELETED CheckError_Code = 108 // The consumer's project number or id does not represent a valid project. CheckError_PROJECT_INVALID CheckError_Code = 114 // The input consumer info does not represent a valid consumer folder or // organization. CheckError_CONSUMER_INVALID CheckError_Code = 125 // The IP address of the consumer is invalid for the specific consumer // project. CheckError_IP_ADDRESS_BLOCKED CheckError_Code = 109 // The referer address of the consumer request is invalid for the specific // consumer project. CheckError_REFERER_BLOCKED CheckError_Code = 110 // The client application of the consumer request is invalid for the // specific consumer project. CheckError_CLIENT_APP_BLOCKED CheckError_Code = 111 // The API targeted by this request is invalid for the specified consumer // project. CheckError_API_TARGET_BLOCKED CheckError_Code = 122 // The consumer's API key is invalid. CheckError_API_KEY_INVALID CheckError_Code = 105 // The consumer's API Key has expired. CheckError_API_KEY_EXPIRED CheckError_Code = 112 // The consumer's API Key was not found in config record. CheckError_API_KEY_NOT_FOUND CheckError_Code = 113 // The credential in the request can not be verified. CheckError_INVALID_CREDENTIAL CheckError_Code = 123 // The backend server for looking up project id/number is unavailable. CheckError_NAMESPACE_LOOKUP_UNAVAILABLE CheckError_Code = 300 // The backend server for checking service status is unavailable. CheckError_SERVICE_STATUS_UNAVAILABLE CheckError_Code = 301 // The backend server for checking billing status is unavailable. CheckError_BILLING_STATUS_UNAVAILABLE CheckError_Code = 302 // Cloud Resource Manager backend server is unavailable. CheckError_CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE CheckError_Code = 305 )
func (CheckError_Code) Descriptor() protoreflect.EnumDescriptor
func (x CheckError_Code) Enum() *CheckError_Code
func (CheckError_Code) EnumDescriptor() ([]byte, []int)
Deprecated: Use CheckError_Code.Descriptor instead.
func (x CheckError_Code) Number() protoreflect.EnumNumber
func (x CheckError_Code) String() string
func (CheckError_Code) Type() protoreflect.EnumType
type CheckRequest struct { // The service name as specified in its service configuration. For example, // `"pubsub.googleapis.com"`. // // See // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) // for the definition of a service name. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // The operation to be checked. Operation *Operation `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"` // Specifies which version of service configuration should be used to process // the request. // // If unspecified or no matching version can be found, the // latest one will be used. ServiceConfigId string `protobuf:"bytes,4,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // contains filtered or unexported fields }
Request message for the Check method.
func (*CheckRequest) Descriptor() ([]byte, []int)
Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead.
func (x *CheckRequest) GetOperation() *Operation
func (x *CheckRequest) GetServiceConfigId() string
func (x *CheckRequest) GetServiceName() string
func (*CheckRequest) ProtoMessage()
func (x *CheckRequest) ProtoReflect() protoreflect.Message
func (x *CheckRequest) Reset()
func (x *CheckRequest) String() string
type CheckResponse struct { // The same operation_id value used in the [CheckRequest][google.api.servicecontrol.v1.CheckRequest]. // Used for logging and diagnostics purposes. OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Indicate the decision of the check. // // If no check errors are present, the service should process the operation. // Otherwise the service should use the list of errors to determine the // appropriate action. CheckErrors []*CheckError `protobuf:"bytes,2,rep,name=check_errors,json=checkErrors,proto3" json:"check_errors,omitempty"` // The actual config id used to process the request. ServiceConfigId string `protobuf:"bytes,5,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // The current service rollout id used to process the request. ServiceRolloutId string `protobuf:"bytes,11,opt,name=service_rollout_id,json=serviceRolloutId,proto3" json:"service_rollout_id,omitempty"` // Feedback data returned from the server during processing a Check request. CheckInfo *CheckResponse_CheckInfo `protobuf:"bytes,6,opt,name=check_info,json=checkInfo,proto3" json:"check_info,omitempty"` // contains filtered or unexported fields }
Response message for the Check method.
func (*CheckResponse) Descriptor() ([]byte, []int)
Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead.
func (x *CheckResponse) GetCheckErrors() []*CheckError
func (x *CheckResponse) GetCheckInfo() *CheckResponse_CheckInfo
func (x *CheckResponse) GetOperationId() string
func (x *CheckResponse) GetServiceConfigId() string
func (x *CheckResponse) GetServiceRolloutId() string
func (*CheckResponse) ProtoMessage()
func (x *CheckResponse) ProtoReflect() protoreflect.Message
func (x *CheckResponse) Reset()
func (x *CheckResponse) String() string
type CheckResponse_CheckInfo struct { // A list of fields and label keys that are ignored by the server. // The client doesn't need to send them for following requests to improve // performance and allow better aggregation. UnusedArguments []string `protobuf:"bytes,1,rep,name=unused_arguments,json=unusedArguments,proto3" json:"unused_arguments,omitempty"` // Consumer info of this check. ConsumerInfo *CheckResponse_ConsumerInfo `protobuf:"bytes,2,opt,name=consumer_info,json=consumerInfo,proto3" json:"consumer_info,omitempty"` // contains filtered or unexported fields }
Contains additional information about the check operation.
func (*CheckResponse_CheckInfo) Descriptor() ([]byte, []int)
Deprecated: Use CheckResponse_CheckInfo.ProtoReflect.Descriptor instead.
func (x *CheckResponse_CheckInfo) GetConsumerInfo() *CheckResponse_ConsumerInfo
func (x *CheckResponse_CheckInfo) GetUnusedArguments() []string
func (*CheckResponse_CheckInfo) ProtoMessage()
func (x *CheckResponse_CheckInfo) ProtoReflect() protoreflect.Message
func (x *CheckResponse_CheckInfo) Reset()
func (x *CheckResponse_CheckInfo) String() string
type CheckResponse_ConsumerInfo struct { // The Google cloud project number, e.g. 1234567890. A value of 0 indicates // no project number is found. // // NOTE: This field is deprecated after we support flexible consumer // id. New code should not depend on this field anymore. ProjectNumber int64 `protobuf:"varint,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"` // The type of the consumer which should have been defined in // [Google Resource Manager](https://cloud.google.com/resource-manager/). Type CheckResponse_ConsumerInfo_ConsumerType `protobuf:"varint,2,opt,name=type,proto3,enum=google.api.servicecontrol.v1.CheckResponse_ConsumerInfo_ConsumerType" json:"type,omitempty"` // The consumer identity number, can be Google cloud project number, folder // number or organization number e.g. 1234567890. A value of 0 indicates no // consumer number is found. ConsumerNumber int64 `protobuf:"varint,3,opt,name=consumer_number,json=consumerNumber,proto3" json:"consumer_number,omitempty"` // contains filtered or unexported fields }
`ConsumerInfo` provides information about the consumer.
func (*CheckResponse_ConsumerInfo) Descriptor() ([]byte, []int)
Deprecated: Use CheckResponse_ConsumerInfo.ProtoReflect.Descriptor instead.
func (x *CheckResponse_ConsumerInfo) GetConsumerNumber() int64
func (x *CheckResponse_ConsumerInfo) GetProjectNumber() int64
func (x *CheckResponse_ConsumerInfo) GetType() CheckResponse_ConsumerInfo_ConsumerType
func (*CheckResponse_ConsumerInfo) ProtoMessage()
func (x *CheckResponse_ConsumerInfo) ProtoReflect() protoreflect.Message
func (x *CheckResponse_ConsumerInfo) Reset()
func (x *CheckResponse_ConsumerInfo) String() string
The type of the consumer as defined in [Google Resource Manager](https://cloud.google.com/resource-manager/).
const ( // This is never used. CheckResponse_ConsumerInfo_CONSUMER_TYPE_UNSPECIFIED CheckResponse_ConsumerInfo_ConsumerType = 0 // The consumer is a Google Cloud Project. CheckResponse_ConsumerInfo_PROJECT CheckResponse_ConsumerInfo_ConsumerType = 1 // The consumer is a Google Cloud Folder. CheckResponse_ConsumerInfo_FOLDER CheckResponse_ConsumerInfo_ConsumerType = 2 // The consumer is a Google Cloud Organization. CheckResponse_ConsumerInfo_ORGANIZATION CheckResponse_ConsumerInfo_ConsumerType = 3 // Service-specific resource container which is defined by the service // producer to offer their users the ability to manage service control // functionalities at a finer level of granularity than the PROJECT. CheckResponse_ConsumerInfo_SERVICE_SPECIFIC CheckResponse_ConsumerInfo_ConsumerType = 4 )
func (CheckResponse_ConsumerInfo_ConsumerType) Descriptor() protoreflect.EnumDescriptor
func (CheckResponse_ConsumerInfo_ConsumerType) EnumDescriptor() ([]byte, []int)
Deprecated: Use CheckResponse_ConsumerInfo_ConsumerType.Descriptor instead.
func (x CheckResponse_ConsumerInfo_ConsumerType) Number() protoreflect.EnumNumber
func (x CheckResponse_ConsumerInfo_ConsumerType) String() string
func (CheckResponse_ConsumerInfo_ConsumerType) Type() protoreflect.EnumType
type Distribution struct { // The total number of samples in the distribution. Must be >= 0. Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` // The arithmetic mean of the samples in the distribution. If `count` is // zero then this field must be zero. Mean float64 `protobuf:"fixed64,2,opt,name=mean,proto3" json:"mean,omitempty"` // The minimum of the population of values. Ignored if `count` is zero. Minimum float64 `protobuf:"fixed64,3,opt,name=minimum,proto3" json:"minimum,omitempty"` // The maximum of the population of values. Ignored if `count` is zero. Maximum float64 `protobuf:"fixed64,4,opt,name=maximum,proto3" json:"maximum,omitempty"` // The sum of squared deviations from the mean: // Sum[i=1..count]((x_i - mean)^2) // where each x_i is a sample values. If `count` is zero then this field // must be zero, otherwise validation of the request fails. SumOfSquaredDeviation float64 `protobuf:"fixed64,5,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation,proto3" json:"sum_of_squared_deviation,omitempty"` // The number of samples in each histogram bucket. `bucket_counts` are // optional. If present, they must sum to the `count` value. // // The buckets are defined below in `bucket_option`. There are N buckets. // `bucket_counts[0]` is the number of samples in the underflow bucket. // `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples // in each of the finite buckets. And `bucket_counts[N] is the number // of samples in the overflow bucket. See the comments of `bucket_option` // below for more details. // // Any suffix of trailing zeros may be omitted. BucketCounts []int64 `protobuf:"varint,6,rep,packed,name=bucket_counts,json=bucketCounts,proto3" json:"bucket_counts,omitempty"` // Defines the buckets in the histogram. `bucket_option` and `bucket_counts` // must be both set, or both unset. // // Buckets are numbered in the range of [0, N], with a total of N+1 buckets. // There must be at least two buckets (a single-bucket histogram gives // no information that isn't already provided by `count`). // // The first bucket is the underflow bucket which has a lower bound // of -inf. The last bucket is the overflow bucket which has an // upper bound of +inf. All other buckets (if any) are called "finite" // buckets because they have finite lower and upper bounds. As described // below, there are three ways to define the finite buckets. // // (1) Buckets with constant width. // (2) Buckets with exponentially growing widths. // (3) Buckets with arbitrary user-provided widths. // // In all cases, the buckets cover the entire real number line (-inf, // +inf). Bucket upper bounds are exclusive and lower bounds are // inclusive. The upper bound of the underflow bucket is equal to the // lower bound of the smallest finite bucket; the lower bound of the // overflow bucket is equal to the upper bound of the largest finite // bucket. // // Types that are assignable to BucketOption: // *Distribution_LinearBuckets_ // *Distribution_ExponentialBuckets_ // *Distribution_ExplicitBuckets_ BucketOption isDistribution_BucketOption `protobuf_oneof:"bucket_option"` // contains filtered or unexported fields }
Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information:
- the arithmetic mean of the samples - the minimum and maximum of the samples - the sum-squared-deviation of the samples, used to compute variance - a histogram of the values of the sample points
func (*Distribution) Descriptor() ([]byte, []int)
Deprecated: Use Distribution.ProtoReflect.Descriptor instead.
func (x *Distribution) GetBucketCounts() []int64
func (m *Distribution) GetBucketOption() isDistribution_BucketOption
func (x *Distribution) GetCount() int64
func (x *Distribution) GetExplicitBuckets() *Distribution_ExplicitBuckets
func (x *Distribution) GetExponentialBuckets() *Distribution_ExponentialBuckets
func (x *Distribution) GetLinearBuckets() *Distribution_LinearBuckets
func (x *Distribution) GetMaximum() float64
func (x *Distribution) GetMean() float64
func (x *Distribution) GetMinimum() float64
func (x *Distribution) GetSumOfSquaredDeviation() float64
func (*Distribution) ProtoMessage()
func (x *Distribution) ProtoReflect() protoreflect.Message
func (x *Distribution) Reset()
func (x *Distribution) String() string
type Distribution_ExplicitBuckets struct { // 'bound' is a list of strictly increasing boundaries between // buckets. Note that a list of length N-1 defines N buckets because // of fenceposting. See comments on `bucket_options` for details. // // The i'th finite bucket covers the interval // [bound[i-1], bound[i]) // where i ranges from 1 to bound_size() - 1. Note that there are no // finite buckets at all if 'bound' only contains a single element; in // that special case the single bound defines the boundary between the // underflow and overflow buckets. // // bucket number lower bound upper bound // i == 0 (underflow) -inf bound[i] // 0 < i < bound_size() bound[i-1] bound[i] // i == bound_size() (overflow) bound[i-1] +inf Bounds []float64 `protobuf:"fixed64,1,rep,packed,name=bounds,proto3" json:"bounds,omitempty"` // contains filtered or unexported fields }
Describing buckets with arbitrary user-provided width.
func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int)
Deprecated: Use Distribution_ExplicitBuckets.ProtoReflect.Descriptor instead.
func (x *Distribution_ExplicitBuckets) GetBounds() []float64
func (*Distribution_ExplicitBuckets) ProtoMessage()
func (x *Distribution_ExplicitBuckets) ProtoReflect() protoreflect.Message
func (x *Distribution_ExplicitBuckets) Reset()
func (x *Distribution_ExplicitBuckets) String() string
type Distribution_ExplicitBuckets_ struct { // Buckets with arbitrary user-provided width. ExplicitBuckets *Distribution_ExplicitBuckets `protobuf:"bytes,9,opt,name=explicit_buckets,json=explicitBuckets,proto3,oneof"` }
type Distribution_ExponentialBuckets struct { // The number of finite buckets. With the underflow and overflow buckets, // the total number of buckets is `num_finite_buckets` + 2. // See comments on `bucket_options` for details. NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"` // The i'th exponential bucket covers the interval // [scale * growth_factor^(i-1), scale * growth_factor^i) // where i ranges from 1 to num_finite_buckets inclusive. // Must be larger than 1.0. GrowthFactor float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor,proto3" json:"growth_factor,omitempty"` // The i'th exponential bucket covers the interval // [scale * growth_factor^(i-1), scale * growth_factor^i) // where i ranges from 1 to num_finite_buckets inclusive. // Must be > 0. Scale float64 `protobuf:"fixed64,3,opt,name=scale,proto3" json:"scale,omitempty"` // contains filtered or unexported fields }
Describing buckets with exponentially growing width.
func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int)
Deprecated: Use Distribution_ExponentialBuckets.ProtoReflect.Descriptor instead.
func (x *Distribution_ExponentialBuckets) GetGrowthFactor() float64
func (x *Distribution_ExponentialBuckets) GetNumFiniteBuckets() int32
func (x *Distribution_ExponentialBuckets) GetScale() float64
func (*Distribution_ExponentialBuckets) ProtoMessage()
func (x *Distribution_ExponentialBuckets) ProtoReflect() protoreflect.Message
func (x *Distribution_ExponentialBuckets) Reset()
func (x *Distribution_ExponentialBuckets) String() string
type Distribution_ExponentialBuckets_ struct { // Buckets with exponentially growing width. ExponentialBuckets *Distribution_ExponentialBuckets `protobuf:"bytes,8,opt,name=exponential_buckets,json=exponentialBuckets,proto3,oneof"` }
type Distribution_LinearBuckets struct { // The number of finite buckets. With the underflow and overflow buckets, // the total number of buckets is `num_finite_buckets` + 2. // See comments on `bucket_options` for details. NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"` // The i'th linear bucket covers the interval // [offset + (i-1) * width, offset + i * width) // where i ranges from 1 to num_finite_buckets, inclusive. // Must be strictly positive. Width float64 `protobuf:"fixed64,2,opt,name=width,proto3" json:"width,omitempty"` // The i'th linear bucket covers the interval // [offset + (i-1) * width, offset + i * width) // where i ranges from 1 to num_finite_buckets, inclusive. Offset float64 `protobuf:"fixed64,3,opt,name=offset,proto3" json:"offset,omitempty"` // contains filtered or unexported fields }
Describing buckets with constant width.
func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int)
Deprecated: Use Distribution_LinearBuckets.ProtoReflect.Descriptor instead.
func (x *Distribution_LinearBuckets) GetNumFiniteBuckets() int32
func (x *Distribution_LinearBuckets) GetOffset() float64
func (x *Distribution_LinearBuckets) GetWidth() float64
func (*Distribution_LinearBuckets) ProtoMessage()
func (x *Distribution_LinearBuckets) ProtoReflect() protoreflect.Message
func (x *Distribution_LinearBuckets) Reset()
func (x *Distribution_LinearBuckets) String() string
type Distribution_LinearBuckets_ struct { // Buckets with constant width. LinearBuckets *Distribution_LinearBuckets `protobuf:"bytes,7,opt,name=linear_buckets,json=linearBuckets,proto3,oneof"` }
type HttpRequest struct { // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. RequestMethod string `protobuf:"bytes,1,opt,name=request_method,json=requestMethod,proto3" json:"request_method,omitempty"` // The scheme (http, https), the host name, the path, and the query // portion of the URL that was requested. // Example: `"http://example.com/some/info?color=red"`. RequestUrl string `protobuf:"bytes,2,opt,name=request_url,json=requestUrl,proto3" json:"request_url,omitempty"` // The size of the HTTP request message in bytes, including the request // headers and the request body. RequestSize int64 `protobuf:"varint,3,opt,name=request_size,json=requestSize,proto3" json:"request_size,omitempty"` // The response code indicating the status of the response. // Examples: 200, 404. Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` // The size of the HTTP response message sent back to the client, in bytes, // including the response headers and the response body. ResponseSize int64 `protobuf:"varint,5,opt,name=response_size,json=responseSize,proto3" json:"response_size,omitempty"` // The user agent sent by the client. Example: // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET // CLR 1.0.3705)"`. UserAgent string `protobuf:"bytes,6,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` // The IP address (IPv4 or IPv6) of the client that issued the HTTP // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. RemoteIp string `protobuf:"bytes,7,opt,name=remote_ip,json=remoteIp,proto3" json:"remote_ip,omitempty"` // The IP address (IPv4 or IPv6) of the origin server that the request was // sent to. ServerIp string `protobuf:"bytes,13,opt,name=server_ip,json=serverIp,proto3" json:"server_ip,omitempty"` // The referer URL of the request, as defined in // [HTTP/1.1 Header Field // Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). Referer string `protobuf:"bytes,8,opt,name=referer,proto3" json:"referer,omitempty"` // The request processing latency on the server, from the time the request was // received until the response was sent. Latency *durationpb.Duration `protobuf:"bytes,14,opt,name=latency,proto3" json:"latency,omitempty"` // Whether or not a cache lookup was attempted. CacheLookup bool `protobuf:"varint,11,opt,name=cache_lookup,json=cacheLookup,proto3" json:"cache_lookup,omitempty"` // Whether or not an entity was served from cache // (with or without validation). CacheHit bool `protobuf:"varint,9,opt,name=cache_hit,json=cacheHit,proto3" json:"cache_hit,omitempty"` // Whether or not the response was validated with the origin server before // being served from cache. This field is only meaningful if `cache_hit` is // True. CacheValidatedWithOriginServer bool `protobuf:"varint,10,opt,name=cache_validated_with_origin_server,json=cacheValidatedWithOriginServer,proto3" json:"cache_validated_with_origin_server,omitempty"` // The number of HTTP response bytes inserted into cache. Set only when a // cache fill was attempted. CacheFillBytes int64 `protobuf:"varint,12,opt,name=cache_fill_bytes,json=cacheFillBytes,proto3" json:"cache_fill_bytes,omitempty"` // Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" Protocol string `protobuf:"bytes,15,opt,name=protocol,proto3" json:"protocol,omitempty"` // contains filtered or unexported fields }
A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.
func (*HttpRequest) Descriptor() ([]byte, []int)
Deprecated: Use HttpRequest.ProtoReflect.Descriptor instead.
func (x *HttpRequest) GetCacheFillBytes() int64
func (x *HttpRequest) GetCacheHit() bool
func (x *HttpRequest) GetCacheLookup() bool
func (x *HttpRequest) GetCacheValidatedWithOriginServer() bool
func (x *HttpRequest) GetLatency() *durationpb.Duration
func (x *HttpRequest) GetProtocol() string
func (x *HttpRequest) GetReferer() string
func (x *HttpRequest) GetRemoteIp() string
func (x *HttpRequest) GetRequestMethod() string
func (x *HttpRequest) GetRequestSize() int64
func (x *HttpRequest) GetRequestUrl() string
func (x *HttpRequest) GetResponseSize() int64
func (x *HttpRequest) GetServerIp() string
func (x *HttpRequest) GetStatus() int32
func (x *HttpRequest) GetUserAgent() string
func (*HttpRequest) ProtoMessage()
func (x *HttpRequest) ProtoReflect() protoreflect.Message
func (x *HttpRequest) Reset()
func (x *HttpRequest) String() string
type LogEntry struct { // Required. The log to which this log entry belongs. Examples: `"syslog"`, // `"book_log"`. Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` // The time the event described by the log entry occurred. If // omitted, defaults to operation start time. Timestamp *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // The severity of the log entry. The default value is // `LogSeverity.DEFAULT`. Severity _type.LogSeverity `protobuf:"varint,12,opt,name=severity,proto3,enum=google.logging.type.LogSeverity" json:"severity,omitempty"` // Optional. Information about the HTTP request associated with this // log entry, if applicable. HttpRequest *HttpRequest `protobuf:"bytes,14,opt,name=http_request,json=httpRequest,proto3" json:"http_request,omitempty"` // Optional. Resource name of the trace associated with the log entry, if any. // If this field contains a relative resource name, you can assume the name is // relative to `//tracing.googleapis.com`. Example: // `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824` Trace string `protobuf:"bytes,15,opt,name=trace,proto3" json:"trace,omitempty"` // A unique ID for the log entry used for deduplication. If omitted, // the implementation will generate one based on operation_id. InsertId string `protobuf:"bytes,4,opt,name=insert_id,json=insertId,proto3" json:"insert_id,omitempty"` // A set of user-defined (key, value) data that provides additional // information about the log entry. Labels map[string]string `protobuf:"bytes,13,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The log entry payload, which can be one of multiple types. // // Types that are assignable to Payload: // *LogEntry_ProtoPayload // *LogEntry_TextPayload // *LogEntry_StructPayload Payload isLogEntry_Payload `protobuf_oneof:"payload"` // Optional. Information about an operation associated with the log entry, if // applicable. Operation *LogEntryOperation `protobuf:"bytes,16,opt,name=operation,proto3" json:"operation,omitempty"` // Optional. Source code location information associated with the log entry, // if any. SourceLocation *LogEntrySourceLocation `protobuf:"bytes,17,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"` // contains filtered or unexported fields }
An individual log entry.
Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
func (x *LogEntry) GetHttpRequest() *HttpRequest
func (x *LogEntry) GetOperation() *LogEntryOperation
func (x *LogEntry) GetSeverity() _type.LogSeverity
func (x *LogEntry) GetSourceLocation() *LogEntrySourceLocation
func (x *LogEntry) GetTimestamp() *timestamppb.Timestamp
func (x *LogEntry) ProtoReflect() protoreflect.Message
type LogEntryOperation struct { // Optional. An arbitrary operation identifier. Log entries with the // same identifier are assumed to be part of the same operation. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Optional. An arbitrary producer identifier. The combination of // `id` and `producer` must be globally unique. Examples for `producer`: // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. Producer string `protobuf:"bytes,2,opt,name=producer,proto3" json:"producer,omitempty"` // Optional. Set this to True if this is the first log entry in the operation. First bool `protobuf:"varint,3,opt,name=first,proto3" json:"first,omitempty"` // Optional. Set this to True if this is the last log entry in the operation. Last bool `protobuf:"varint,4,opt,name=last,proto3" json:"last,omitempty"` // contains filtered or unexported fields }
Additional information about a potentially long-running operation with which a log entry is associated.
func (*LogEntryOperation) Descriptor() ([]byte, []int)
Deprecated: Use LogEntryOperation.ProtoReflect.Descriptor instead.
func (x *LogEntryOperation) GetFirst() bool
func (x *LogEntryOperation) GetId() string
func (x *LogEntryOperation) GetLast() bool
func (x *LogEntryOperation) GetProducer() string
func (*LogEntryOperation) ProtoMessage()
func (x *LogEntryOperation) ProtoReflect() protoreflect.Message
func (x *LogEntryOperation) Reset()
func (x *LogEntryOperation) String() string
type LogEntrySourceLocation struct { // Optional. Source file name. Depending on the runtime environment, this // might be a simple name or a fully-qualified name. File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` // Optional. Line within the source file. 1-based; 0 indicates no line number // available. Line int64 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"` // Optional. Human-readable name of the function or method being invoked, with // optional context such as the class or package name. This information may be // used in contexts such as the logs viewer, where a file and line number are // less meaningful. The format can vary by language. For example: // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` // (Python). Function string `protobuf:"bytes,3,opt,name=function,proto3" json:"function,omitempty"` // contains filtered or unexported fields }
Additional information about the source code location that produced the log entry.
func (*LogEntrySourceLocation) Descriptor() ([]byte, []int)
Deprecated: Use LogEntrySourceLocation.ProtoReflect.Descriptor instead.
func (x *LogEntrySourceLocation) GetFile() string
func (x *LogEntrySourceLocation) GetFunction() string
func (x *LogEntrySourceLocation) GetLine() int64
func (*LogEntrySourceLocation) ProtoMessage()
func (x *LogEntrySourceLocation) ProtoReflect() protoreflect.Message
func (x *LogEntrySourceLocation) Reset()
func (x *LogEntrySourceLocation) String() string
type LogEntry_ProtoPayload struct { // The log entry payload, represented as a protocol buffer that is // expressed as a JSON object. The only accepted type currently is // [AuditLog][google.cloud.audit.AuditLog]. ProtoPayload *anypb.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,proto3,oneof"` }
type LogEntry_StructPayload struct { // The log entry payload, represented as a structure that // is expressed as a JSON object. StructPayload *structpb.Struct `protobuf:"bytes,6,opt,name=struct_payload,json=structPayload,proto3,oneof"` }
type LogEntry_TextPayload struct { // The log entry payload, represented as a Unicode string (UTF-8). TextPayload string `protobuf:"bytes,3,opt,name=text_payload,json=textPayload,proto3,oneof"` }
type MetricValue struct { // The labels describing the metric value. // See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for // the overriding relationship. // Note that this map must not contain monitored resource labels. Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The start of the time period over which this metric value's measurement // applies. The time period has different semantics for different metric // types (cumulative, delta, and gauge). See the metric definition // documentation in the service configuration for details. StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // The end of the time period over which this metric value's measurement // applies. EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // The value. The type of value used in the request must // agree with the metric definition in the service configuration, otherwise // the MetricValue is rejected. // // Types that are assignable to Value: // *MetricValue_BoolValue // *MetricValue_Int64Value // *MetricValue_DoubleValue // *MetricValue_StringValue // *MetricValue_DistributionValue Value isMetricValue_Value `protobuf_oneof:"value"` // contains filtered or unexported fields }
Represents a single metric value.
func (*MetricValue) Descriptor() ([]byte, []int)
Deprecated: Use MetricValue.ProtoReflect.Descriptor instead.
func (x *MetricValue) GetBoolValue() bool
func (x *MetricValue) GetDistributionValue() *Distribution
func (x *MetricValue) GetDoubleValue() float64
func (x *MetricValue) GetEndTime() *timestamppb.Timestamp
func (x *MetricValue) GetInt64Value() int64
func (x *MetricValue) GetLabels() map[string]string
func (x *MetricValue) GetStartTime() *timestamppb.Timestamp
func (x *MetricValue) GetStringValue() string
func (m *MetricValue) GetValue() isMetricValue_Value
func (*MetricValue) ProtoMessage()
func (x *MetricValue) ProtoReflect() protoreflect.Message
func (x *MetricValue) Reset()
func (x *MetricValue) String() string
type MetricValueSet struct { // The metric name defined in the service configuration. MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` // The values in this metric. MetricValues []*MetricValue `protobuf:"bytes,2,rep,name=metric_values,json=metricValues,proto3" json:"metric_values,omitempty"` // contains filtered or unexported fields }
Represents a set of metric values in the same metric. Each metric value in the set should have a unique combination of start time, end time, and label values.
func (*MetricValueSet) Descriptor() ([]byte, []int)
Deprecated: Use MetricValueSet.ProtoReflect.Descriptor instead.
func (x *MetricValueSet) GetMetricName() string
func (x *MetricValueSet) GetMetricValues() []*MetricValue
func (*MetricValueSet) ProtoMessage()
func (x *MetricValueSet) ProtoReflect() protoreflect.Message
func (x *MetricValueSet) Reset()
func (x *MetricValueSet) String() string
type MetricValue_BoolValue struct { // A boolean value. BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` }
type MetricValue_DistributionValue struct { // A distribution value. DistributionValue *Distribution `protobuf:"bytes,8,opt,name=distribution_value,json=distributionValue,proto3,oneof"` }
type MetricValue_DoubleValue struct { // A double precision floating point value. DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue,proto3,oneof"` }
type MetricValue_Int64Value struct { // A signed 64-bit integer value. Int64Value int64 `protobuf:"varint,5,opt,name=int64_value,json=int64Value,proto3,oneof"` }
type MetricValue_StringValue struct { // A text string value. StringValue string `protobuf:"bytes,7,opt,name=string_value,json=stringValue,proto3,oneof"` }
type Operation struct { // Identity of the operation. This must be unique within the scope of the // service that generated the operation. If the service calls // Check() and Report() on the same operation, the two calls should carry // the same id. // // UUID version 4 is recommended, though not required. // In scenarios where an operation is computed from existing information // and an idempotent id is desirable for deduplication purpose, UUID version 5 // is recommended. See RFC 4122 for details. OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Fully qualified name of the operation. Reserved for future use. OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"` // Identity of the consumer who is using the service. // This field should be filled in for the operations initiated by a // consumer, but not for service-initiated operations that are // not related to a specific consumer. // // - This can be in one of the following formats: // - project:PROJECT_ID, // - project`_`number:PROJECT_NUMBER, // - projects/PROJECT_ID or PROJECT_NUMBER, // - folders/FOLDER_NUMBER, // - organizations/ORGANIZATION_NUMBER, // - api`_`key:API_KEY. ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` // Required. Start time of the operation. StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // End time of the operation. // Required when the operation is used in [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report], // but optional when the operation is used in [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check]. EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // Labels describing the operation. Only the following labels are allowed: // // - Labels describing monitored resources as defined in // the service configuration. // - Default labels of metric values. When specified, labels defined in the // metric value override these default. // - The following labels defined by Google Cloud Platform: // - `cloud.googleapis.com/location` describing the location where the // operation happened, // - `servicecontrol.googleapis.com/user_agent` describing the user agent // of the API request, // - `servicecontrol.googleapis.com/service_agent` describing the service // used to handle the API request (e.g. ESP), // - `servicecontrol.googleapis.com/platform` describing the platform // where the API is served, such as App Engine, Compute Engine, or // Kubernetes Engine. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Represents information about this operation. Each MetricValueSet // corresponds to a metric defined in the service configuration. // The data type used in the MetricValueSet must agree with // the data type specified in the metric definition. // // Within a single operation, it is not allowed to have more than one // MetricValue instances that have the same metric names and identical // label value combinations. If a request has such duplicated MetricValue // instances, the entire request is rejected with // an invalid argument error. MetricValueSets []*MetricValueSet `protobuf:"bytes,7,rep,name=metric_value_sets,json=metricValueSets,proto3" json:"metric_value_sets,omitempty"` // Represents information to be logged. LogEntries []*LogEntry `protobuf:"bytes,8,rep,name=log_entries,json=logEntries,proto3" json:"log_entries,omitempty"` // DO NOT USE. This is an experimental field. Importance Operation_Importance `protobuf:"varint,11,opt,name=importance,proto3,enum=google.api.servicecontrol.v1.Operation_Importance" json:"importance,omitempty"` // Unimplemented. Extensions []*anypb.Any `protobuf:"bytes,16,rep,name=extensions,proto3" json:"extensions,omitempty"` // contains filtered or unexported fields }
Represents information regarding an operation.
Deprecated: Use Operation.ProtoReflect.Descriptor instead.
func (x *Operation) GetEndTime() *timestamppb.Timestamp
func (x *Operation) GetImportance() Operation_Importance
func (x *Operation) GetMetricValueSets() []*MetricValueSet
func (x *Operation) GetStartTime() *timestamppb.Timestamp
func (x *Operation) ProtoReflect() protoreflect.Message
Defines the importance of the data contained in the operation.
const ( // The API implementation may cache and aggregate the data. // The data may be lost when rare and unexpected system failures occur. Operation_LOW Operation_Importance = 0 // The API implementation doesn't cache and aggregate the data. // If the method returns successfully, it's guaranteed that the data has // been persisted in durable storage. Operation_HIGH Operation_Importance = 1 )
func (Operation_Importance) Descriptor() protoreflect.EnumDescriptor
func (x Operation_Importance) Enum() *Operation_Importance
func (Operation_Importance) EnumDescriptor() ([]byte, []int)
Deprecated: Use Operation_Importance.Descriptor instead.
func (x Operation_Importance) Number() protoreflect.EnumNumber
func (x Operation_Importance) String() string
func (Operation_Importance) Type() protoreflect.EnumType
type QuotaControllerClient interface { // Attempts to allocate quota for the specified consumer. It should be called // before the operation is executed. // // This method requires the `servicemanagement.services.quota` // permission on the specified service. For more information, see // [Cloud IAM](https://cloud.google.com/iam). // // **NOTE:** The client **must** fail-open on server errors `INTERNAL`, // `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system // reliability, the server may inject these errors to prohibit any hard // dependency on the quota functionality. AllocateQuota(ctx context.Context, in *AllocateQuotaRequest, opts ...grpc.CallOption) (*AllocateQuotaResponse, error) }
QuotaControllerClient is the client API for QuotaController service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewQuotaControllerClient(cc grpc.ClientConnInterface) QuotaControllerClient
type QuotaControllerServer interface { // Attempts to allocate quota for the specified consumer. It should be called // before the operation is executed. // // This method requires the `servicemanagement.services.quota` // permission on the specified service. For more information, see // [Cloud IAM](https://cloud.google.com/iam). // // **NOTE:** The client **must** fail-open on server errors `INTERNAL`, // `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system // reliability, the server may inject these errors to prohibit any hard // dependency on the quota functionality. AllocateQuota(context.Context, *AllocateQuotaRequest) (*AllocateQuotaResponse, error) }
QuotaControllerServer is the server API for QuotaController service.
type QuotaError struct { // Error code. Code QuotaError_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.api.servicecontrol.v1.QuotaError_Code" json:"code,omitempty"` // Subject to whom this error applies. See the specific enum for more details // on this field. For example, "clientip:<ip address of client>" or // "project:<Google developer project id>". Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` // Free-form text that provides details on the cause of the error. Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // contains filtered or unexported fields }
Represents error information for [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation].
func (*QuotaError) Descriptor() ([]byte, []int)
Deprecated: Use QuotaError.ProtoReflect.Descriptor instead.
func (x *QuotaError) GetCode() QuotaError_Code
func (x *QuotaError) GetDescription() string
func (x *QuotaError) GetSubject() string
func (*QuotaError) ProtoMessage()
func (x *QuotaError) ProtoReflect() protoreflect.Message
func (x *QuotaError) Reset()
func (x *QuotaError) String() string
Error codes related to project config validations are deprecated since the quota controller methods do not perform these validations. Instead services have to call the Check method, without quota_properties field, to perform these validations before calling the quota controller methods. These methods check only for project deletion to be wipe out compliant.
const ( // This is never used. QuotaError_UNSPECIFIED QuotaError_Code = 0 // Quota allocation failed. // Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. QuotaError_RESOURCE_EXHAUSTED QuotaError_Code = 8 // Consumer cannot access the service because the service requires active // billing. QuotaError_BILLING_NOT_ACTIVE QuotaError_Code = 107 // Consumer's project has been marked as deleted (soft deletion). QuotaError_PROJECT_DELETED QuotaError_Code = 108 // Specified API key is invalid. QuotaError_API_KEY_INVALID QuotaError_Code = 105 // Specified API Key has expired. QuotaError_API_KEY_EXPIRED QuotaError_Code = 112 )
func (QuotaError_Code) Descriptor() protoreflect.EnumDescriptor
func (x QuotaError_Code) Enum() *QuotaError_Code
func (QuotaError_Code) EnumDescriptor() ([]byte, []int)
Deprecated: Use QuotaError_Code.Descriptor instead.
func (x QuotaError_Code) Number() protoreflect.EnumNumber
func (x QuotaError_Code) String() string
func (QuotaError_Code) Type() protoreflect.EnumType
type QuotaOperation struct { // Identity of the operation. This is expected to be unique within the scope // of the service that generated the operation, and guarantees idempotency in // case of retries. // // In order to ensure best performance and latency in the Quota backends, // operation_ids are optimally associated with time, so that related // operations can be accessed fast in storage. For this reason, the // recommended token for services that intend to operate at a high QPS is // Unix time in nanos + UUID OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Fully qualified name of the API method for which this quota operation is // requested. This name is used for matching quota rules or metric rules and // billing status rules defined in service configuration. // // This field should not be set if any of the following is true: // (1) the quota operation is performed on non-API resources. // (2) quota_metrics is set because the caller is doing quota override. // // Example of an RPC method name: // google.example.library.v1.LibraryService.CreateShelf MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` // Identity of the consumer for whom this quota operation is being performed. // // This can be in one of the following formats: // project:<project_id>, // project_number:<project_number>, // api_key:<api_key>. ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` // Labels describing the operation. Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Represents information about this operation. Each MetricValueSet // corresponds to a metric defined in the service configuration. // The data type used in the MetricValueSet must agree with // the data type specified in the metric definition. // // Within a single operation, it is not allowed to have more than one // MetricValue instances that have the same metric names and identical // label value combinations. If a request has such duplicated MetricValue // instances, the entire request is rejected with // an invalid argument error. // // This field is mutually exclusive with method_name. QuotaMetrics []*MetricValueSet `protobuf:"bytes,5,rep,name=quota_metrics,json=quotaMetrics,proto3" json:"quota_metrics,omitempty"` // Quota mode for this operation. QuotaMode QuotaOperation_QuotaMode `protobuf:"varint,6,opt,name=quota_mode,json=quotaMode,proto3,enum=google.api.servicecontrol.v1.QuotaOperation_QuotaMode" json:"quota_mode,omitempty"` // contains filtered or unexported fields }
Represents information regarding a quota operation.
func (*QuotaOperation) Descriptor() ([]byte, []int)
Deprecated: Use QuotaOperation.ProtoReflect.Descriptor instead.
func (x *QuotaOperation) GetConsumerId() string
func (x *QuotaOperation) GetLabels() map[string]string
func (x *QuotaOperation) GetMethodName() string
func (x *QuotaOperation) GetOperationId() string
func (x *QuotaOperation) GetQuotaMetrics() []*MetricValueSet
func (x *QuotaOperation) GetQuotaMode() QuotaOperation_QuotaMode
func (*QuotaOperation) ProtoMessage()
func (x *QuotaOperation) ProtoReflect() protoreflect.Message
func (x *QuotaOperation) Reset()
func (x *QuotaOperation) String() string
Supported quota modes.
const ( // Guard against implicit default. Must not be used. QuotaOperation_UNSPECIFIED QuotaOperation_QuotaMode = 0 // For AllocateQuota request, allocates quota for the amount specified in // the service configuration or specified using the quota metrics. If the // amount is higher than the available quota, allocation error will be // returned and no quota will be allocated. // If multiple quotas are part of the request, and one fails, none of the // quotas are allocated or released. QuotaOperation_NORMAL QuotaOperation_QuotaMode = 1 // The operation allocates quota for the amount specified in the service // configuration or specified using the quota metrics. If the amount is // higher than the available quota, request does not fail but all available // quota will be allocated. // For rate quota, BEST_EFFORT will continue to deduct from other groups // even if one does not have enough quota. For allocation, it will find the // minimum available amount across all groups and deduct that amount from // all the affected groups. QuotaOperation_BEST_EFFORT QuotaOperation_QuotaMode = 2 // For AllocateQuota request, only checks if there is enough quota // available and does not change the available quota. No lock is placed on // the available quota either. QuotaOperation_CHECK_ONLY QuotaOperation_QuotaMode = 3 // Unimplemented. When used in AllocateQuotaRequest, this returns the // effective quota limit(s) in the response, and no quota check will be // performed. Not supported for other requests, and even for // AllocateQuotaRequest, this is currently supported only for whitelisted // services. QuotaOperation_QUERY_ONLY QuotaOperation_QuotaMode = 4 // The operation allocates quota for the amount specified in the service // configuration or specified using the quota metrics. If the requested // amount is higher than the available quota, request does not fail and // remaining quota would become negative (going over the limit) // Not supported for Rate Quota. QuotaOperation_ADJUST_ONLY QuotaOperation_QuotaMode = 5 )
func (QuotaOperation_QuotaMode) Descriptor() protoreflect.EnumDescriptor
func (x QuotaOperation_QuotaMode) Enum() *QuotaOperation_QuotaMode
func (QuotaOperation_QuotaMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use QuotaOperation_QuotaMode.Descriptor instead.
func (x QuotaOperation_QuotaMode) Number() protoreflect.EnumNumber
func (x QuotaOperation_QuotaMode) String() string
func (QuotaOperation_QuotaMode) Type() protoreflect.EnumType
type ReportRequest struct { // The service name as specified in its service configuration. For example, // `"pubsub.googleapis.com"`. // // See // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) // for the definition of a service name. ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // Operations to be reported. // // Typically the service should report one operation per request. // Putting multiple operations into a single request is allowed, but should // be used only when multiple operations are natually available at the time // of the report. // // There is no limit on the number of operations in the same ReportRequest, // however the ReportRequest size should be no larger than 1MB. See // [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] for partial failure behavior. Operations []*Operation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"` // Specifies which version of service config should be used to process the // request. // // If unspecified or no matching version can be found, the // latest one will be used. ServiceConfigId string `protobuf:"bytes,3,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // contains filtered or unexported fields }
Request message for the Report method.
func (*ReportRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReportRequest.ProtoReflect.Descriptor instead.
func (x *ReportRequest) GetOperations() []*Operation
func (x *ReportRequest) GetServiceConfigId() string
func (x *ReportRequest) GetServiceName() string
func (*ReportRequest) ProtoMessage()
func (x *ReportRequest) ProtoReflect() protoreflect.Message
func (x *ReportRequest) Reset()
func (x *ReportRequest) String() string
type ReportResponse struct { // Partial failures, one for each `Operation` in the request that failed // processing. There are three possible combinations of the RPC status: // // 1. The combination of a successful RPC status and an empty `report_errors` // list indicates a complete success where all `Operations` in the // request are processed successfully. // 2. The combination of a successful RPC status and a non-empty // `report_errors` list indicates a partial success where some // `Operations` in the request succeeded. Each // `Operation` that failed processing has a corresponding item // in this list. // 3. A failed RPC status indicates a general non-deterministic failure. // When this happens, it's impossible to know which of the // 'Operations' in the request succeeded or failed. ReportErrors []*ReportResponse_ReportError `protobuf:"bytes,1,rep,name=report_errors,json=reportErrors,proto3" json:"report_errors,omitempty"` // The actual config id used to process the request. ServiceConfigId string `protobuf:"bytes,2,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` // The current service rollout id used to process the request. ServiceRolloutId string `protobuf:"bytes,4,opt,name=service_rollout_id,json=serviceRolloutId,proto3" json:"service_rollout_id,omitempty"` // contains filtered or unexported fields }
Response message for the Report method.
func (*ReportResponse) Descriptor() ([]byte, []int)
Deprecated: Use ReportResponse.ProtoReflect.Descriptor instead.
func (x *ReportResponse) GetReportErrors() []*ReportResponse_ReportError
func (x *ReportResponse) GetServiceConfigId() string
func (x *ReportResponse) GetServiceRolloutId() string
func (*ReportResponse) ProtoMessage()
func (x *ReportResponse) ProtoReflect() protoreflect.Message
func (x *ReportResponse) Reset()
func (x *ReportResponse) String() string
type ReportResponse_ReportError struct { // The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request. OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // Details of the error when processing the [Operation][google.api.servicecontrol.v1.Operation]. Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // contains filtered or unexported fields }
Represents the processing error of one [Operation][google.api.servicecontrol.v1.Operation] in the request.
func (*ReportResponse_ReportError) Descriptor() ([]byte, []int)
Deprecated: Use ReportResponse_ReportError.ProtoReflect.Descriptor instead.
func (x *ReportResponse_ReportError) GetOperationId() string
func (x *ReportResponse_ReportError) GetStatus() *status.Status
func (*ReportResponse_ReportError) ProtoMessage()
func (x *ReportResponse_ReportError) ProtoReflect() protoreflect.Message
func (x *ReportResponse_ReportError) Reset()
func (x *ReportResponse_ReportError) String() string
type ServiceControllerClient interface { // Checks whether an operation on a service should be allowed to proceed // based on the configuration of the service and related policies. It must be // called before the operation is executed. // // If feasible, the client should cache the check results and reuse them for // 60 seconds. In case of any server errors, the client should rely on the // cached results for much longer time to avoid outage. // WARNING: There is general 60s delay for the configuration and policy // propagation, therefore callers MUST NOT depend on the `Check` method having // the latest policy information. // // NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has the size limit of 64KB. // // This method requires the `servicemanagement.services.check` permission // on the specified service. For more information, see // [Cloud IAM](https://cloud.google.com/iam). Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) // Reports operation results to Google Service Control, such as logs and // metrics. It should be called after an operation is completed. // // If feasible, the client should aggregate reporting data for up to 5 // seconds to reduce API traffic. Limiting aggregation to 5 seconds is to // reduce data loss during client crashes. Clients should carefully choose // the aggregation time window to avoid data loss risk more than 0.01% // for business and compliance reasons. // // NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has the size limit (wire-format byte size) of // 1MB. // // This method requires the `servicemanagement.services.report` permission // on the specified service. For more information, see // [Google Cloud IAM](https://cloud.google.com/iam). Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error) }
ServiceControllerClient is the client API for ServiceController service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewServiceControllerClient(cc grpc.ClientConnInterface) ServiceControllerClient
type ServiceControllerServer interface { // Checks whether an operation on a service should be allowed to proceed // based on the configuration of the service and related policies. It must be // called before the operation is executed. // // If feasible, the client should cache the check results and reuse them for // 60 seconds. In case of any server errors, the client should rely on the // cached results for much longer time to avoid outage. // WARNING: There is general 60s delay for the configuration and policy // propagation, therefore callers MUST NOT depend on the `Check` method having // the latest policy information. // // NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has the size limit of 64KB. // // This method requires the `servicemanagement.services.check` permission // on the specified service. For more information, see // [Cloud IAM](https://cloud.google.com/iam). Check(context.Context, *CheckRequest) (*CheckResponse, error) // Reports operation results to Google Service Control, such as logs and // metrics. It should be called after an operation is completed. // // If feasible, the client should aggregate reporting data for up to 5 // seconds to reduce API traffic. Limiting aggregation to 5 seconds is to // reduce data loss during client crashes. Clients should carefully choose // the aggregation time window to avoid data loss risk more than 0.01% // for business and compliance reasons. // // NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has the size limit (wire-format byte size) of // 1MB. // // This method requires the `servicemanagement.services.report` permission // on the specified service. For more information, see // [Google Cloud IAM](https://cloud.google.com/iam). Report(context.Context, *ReportRequest) (*ReportResponse, error) }
ServiceControllerServer is the server API for ServiceController service.
type UnimplementedQuotaControllerServer struct { }
UnimplementedQuotaControllerServer can be embedded to have forward compatible implementations.
func (*UnimplementedQuotaControllerServer) AllocateQuota(context.Context, *AllocateQuotaRequest) (*AllocateQuotaResponse, error)
type UnimplementedServiceControllerServer struct { }
UnimplementedServiceControllerServer can be embedded to have forward compatible implementations.
func (*UnimplementedServiceControllerServer) Check(context.Context, *CheckRequest) (*CheckResponse, error)
func (*UnimplementedServiceControllerServer) Report(context.Context, *ReportRequest) (*ReportResponse, error)
Package servicecontrol imports 16 packages (graph) and is imported by 3 packages. Updated 2020-11-09. Refresh now. Tools for package owners.