servicecontrol - ActiveState ActiveGo 1.8
...

Package servicecontrol

import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
Overview
Index

Overview ▾

Package servicecontrol is a generated protocol buffer package.

It is generated from these files:

google/api/servicecontrol/v1/check_error.proto
google/api/servicecontrol/v1/distribution.proto
google/api/servicecontrol/v1/log_entry.proto
google/api/servicecontrol/v1/metric_value.proto
google/api/servicecontrol/v1/operation.proto
google/api/servicecontrol/v1/service_controller.proto

It has these top-level messages:

CheckError
Distribution
LogEntry
MetricValue
MetricValueSet
Operation
CheckRequest
CheckResponse
ReportRequest
ReportResponse

Index ▾

Variables
func RegisterServiceControllerServer(s *grpc.Server, srv ServiceControllerServer)
type CheckError
    func (*CheckError) Descriptor() ([]byte, []int)
    func (m *CheckError) GetCode() CheckError_Code
    func (m *CheckError) GetDetail() string
    func (*CheckError) ProtoMessage()
    func (m *CheckError) Reset()
    func (m *CheckError) String() string
type CheckError_Code
    func (CheckError_Code) EnumDescriptor() ([]byte, []int)
    func (x CheckError_Code) String() string
type CheckRequest
    func (*CheckRequest) Descriptor() ([]byte, []int)
    func (m *CheckRequest) GetOperation() *Operation
    func (m *CheckRequest) GetServiceConfigId() string
    func (m *CheckRequest) GetServiceName() string
    func (*CheckRequest) ProtoMessage()
    func (m *CheckRequest) Reset()
    func (m *CheckRequest) String() string
type CheckResponse
    func (*CheckResponse) Descriptor() ([]byte, []int)
    func (m *CheckResponse) GetCheckErrors() []*CheckError
    func (m *CheckResponse) GetOperationId() string
    func (m *CheckResponse) GetServiceConfigId() string
    func (*CheckResponse) ProtoMessage()
    func (m *CheckResponse) Reset()
    func (m *CheckResponse) String() string
type Distribution
    func (*Distribution) Descriptor() ([]byte, []int)
    func (m *Distribution) GetBucketCounts() []int64
    func (m *Distribution) GetBucketOption() isDistribution_BucketOption
    func (m *Distribution) GetCount() int64
    func (m *Distribution) GetExplicitBuckets() *Distribution_ExplicitBuckets
    func (m *Distribution) GetExponentialBuckets() *Distribution_ExponentialBuckets
    func (m *Distribution) GetLinearBuckets() *Distribution_LinearBuckets
    func (m *Distribution) GetMaximum() float64
    func (m *Distribution) GetMean() float64
    func (m *Distribution) GetMinimum() float64
    func (m *Distribution) GetSumOfSquaredDeviation() float64
    func (*Distribution) ProtoMessage()
    func (m *Distribution) Reset()
    func (m *Distribution) String() string
    func (*Distribution) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
type Distribution_ExplicitBuckets
    func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int)
    func (m *Distribution_ExplicitBuckets) GetBounds() []float64
    func (*Distribution_ExplicitBuckets) ProtoMessage()
    func (m *Distribution_ExplicitBuckets) Reset()
    func (m *Distribution_ExplicitBuckets) String() string
type Distribution_ExplicitBuckets_
type Distribution_ExponentialBuckets
    func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int)
    func (m *Distribution_ExponentialBuckets) GetGrowthFactor() float64
    func (m *Distribution_ExponentialBuckets) GetNumFiniteBuckets() int32
    func (m *Distribution_ExponentialBuckets) GetScale() float64
    func (*Distribution_ExponentialBuckets) ProtoMessage()
    func (m *Distribution_ExponentialBuckets) Reset()
    func (m *Distribution_ExponentialBuckets) String() string
type Distribution_ExponentialBuckets_
type Distribution_LinearBuckets
    func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int)
    func (m *Distribution_LinearBuckets) GetNumFiniteBuckets() int32
    func (m *Distribution_LinearBuckets) GetOffset() float64
    func (m *Distribution_LinearBuckets) GetWidth() float64
    func (*Distribution_LinearBuckets) ProtoMessage()
    func (m *Distribution_LinearBuckets) Reset()
    func (m *Distribution_LinearBuckets) String() string
type Distribution_LinearBuckets_
type LogEntry
    func (*LogEntry) Descriptor() ([]byte, []int)
    func (m *LogEntry) GetInsertId() string
    func (m *LogEntry) GetLabels() map[string]string
    func (m *LogEntry) GetName() string
    func (m *LogEntry) GetPayload() isLogEntry_Payload
    func (m *LogEntry) GetProtoPayload() *google_protobuf1.Any
    func (m *LogEntry) GetSeverity() google_logging_type.LogSeverity
    func (m *LogEntry) GetStructPayload() *google_protobuf2.Struct
    func (m *LogEntry) GetTextPayload() string
    func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp
    func (*LogEntry) ProtoMessage()
    func (m *LogEntry) Reset()
    func (m *LogEntry) String() string
    func (*LogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
type LogEntry_ProtoPayload
type LogEntry_StructPayload
type LogEntry_TextPayload
type MetricValue
    func (*MetricValue) Descriptor() ([]byte, []int)
    func (m *MetricValue) GetBoolValue() bool
    func (m *MetricValue) GetDistributionValue() *Distribution
    func (m *MetricValue) GetDoubleValue() float64
    func (m *MetricValue) GetEndTime() *google_protobuf3.Timestamp
    func (m *MetricValue) GetInt64Value() int64
    func (m *MetricValue) GetLabels() map[string]string
    func (m *MetricValue) GetStartTime() *google_protobuf3.Timestamp
    func (m *MetricValue) GetStringValue() string
    func (m *MetricValue) GetValue() isMetricValue_Value
    func (*MetricValue) ProtoMessage()
    func (m *MetricValue) Reset()
    func (m *MetricValue) String() string
    func (*MetricValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
type MetricValueSet
    func (*MetricValueSet) Descriptor() ([]byte, []int)
    func (m *MetricValueSet) GetMetricName() string
    func (m *MetricValueSet) GetMetricValues() []*MetricValue
    func (*MetricValueSet) ProtoMessage()
    func (m *MetricValueSet) Reset()
    func (m *MetricValueSet) String() string
type MetricValue_BoolValue
type MetricValue_DistributionValue
type MetricValue_DoubleValue
type MetricValue_Int64Value
type MetricValue_StringValue
type Operation
    func (*Operation) Descriptor() ([]byte, []int)
    func (m *Operation) GetConsumerId() string
    func (m *Operation) GetEndTime() *google_protobuf3.Timestamp
    func (m *Operation) GetImportance() Operation_Importance
    func (m *Operation) GetLabels() map[string]string
    func (m *Operation) GetLogEntries() []*LogEntry
    func (m *Operation) GetMetricValueSets() []*MetricValueSet
    func (m *Operation) GetOperationId() string
    func (m *Operation) GetOperationName() string
    func (m *Operation) GetStartTime() *google_protobuf3.Timestamp
    func (*Operation) ProtoMessage()
    func (m *Operation) Reset()
    func (m *Operation) String() string
type Operation_Importance
    func (Operation_Importance) EnumDescriptor() ([]byte, []int)
    func (x Operation_Importance) String() string
type ReportRequest
    func (*ReportRequest) Descriptor() ([]byte, []int)
    func (m *ReportRequest) GetOperations() []*Operation
    func (m *ReportRequest) GetServiceConfigId() string
    func (m *ReportRequest) GetServiceName() string
    func (*ReportRequest) ProtoMessage()
    func (m *ReportRequest) Reset()
    func (m *ReportRequest) String() string
type ReportResponse
    func (*ReportResponse) Descriptor() ([]byte, []int)
    func (m *ReportResponse) GetReportErrors() []*ReportResponse_ReportError
    func (m *ReportResponse) GetServiceConfigId() string
    func (*ReportResponse) ProtoMessage()
    func (m *ReportResponse) Reset()
    func (m *ReportResponse) String() string
type ReportResponse_ReportError
    func (*ReportResponse_ReportError) Descriptor() ([]byte, []int)
    func (m *ReportResponse_ReportError) GetOperationId() string
    func (m *ReportResponse_ReportError) GetStatus() *google_rpc.Status
    func (*ReportResponse_ReportError) ProtoMessage()
    func (m *ReportResponse_ReportError) Reset()
    func (m *ReportResponse_ReportError) String() string
type ServiceControllerClient
    func NewServiceControllerClient(cc *grpc.ClientConn) ServiceControllerClient
type ServiceControllerServer

Package files

check_error.pb.go distribution.pb.go log_entry.pb.go metric_value.pb.go operation.pb.go service_controller.pb.go

Variables

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",
    109: "IP_ADDRESS_BLOCKED",
    110: "REFERER_BLOCKED",
    111: "CLIENT_APP_BLOCKED",
    105: "API_KEY_INVALID",
    112: "API_KEY_EXPIRED",
    113: "API_KEY_NOT_FOUND",
    300: "NAMESPACE_LOOKUP_UNAVAILABLE",
    301: "SERVICE_STATUS_UNAVAILABLE",
    302: "BILLING_STATUS_UNAVAILABLE",
}
var 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,
    "IP_ADDRESS_BLOCKED":           109,
    "REFERER_BLOCKED":              110,
    "CLIENT_APP_BLOCKED":           111,
    "API_KEY_INVALID":              105,
    "API_KEY_EXPIRED":              112,
    "API_KEY_NOT_FOUND":            113,
    "NAMESPACE_LOOKUP_UNAVAILABLE": 300,
    "SERVICE_STATUS_UNAVAILABLE":   301,
    "BILLING_STATUS_UNAVAILABLE":   302,
}
var Operation_Importance_name = map[int32]string{
    0: "LOW",
    1: "HIGH",
}
var Operation_Importance_value = map[string]int32{
    "LOW":  0,
    "HIGH": 1,
}

func RegisterServiceControllerServer

func RegisterServiceControllerServer(s *grpc.Server, srv ServiceControllerServer)

type CheckError

Defines the errors to be returned in [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].

type CheckError struct {
    // The error code.
    Code CheckError_Code `protobuf:"varint,1,opt,name=code,enum=google.api.servicecontrol.v1.CheckError_Code" json:"code,omitempty"`
    // Free-form text providing details on the error cause of the error.
    Detail string `protobuf:"bytes,2,opt,name=detail" json:"detail,omitempty"`
}

func (*CheckError) Descriptor

func (*CheckError) Descriptor() ([]byte, []int)

func (*CheckError) GetCode

func (m *CheckError) GetCode() CheckError_Code

func (*CheckError) GetDetail

func (m *CheckError) GetDetail() string

func (*CheckError) ProtoMessage

func (*CheckError) ProtoMessage()

func (*CheckError) Reset

func (m *CheckError) Reset()

func (*CheckError) String

func (m *CheckError) String() string

type CheckError_Code

Error codes for Check responses.

type CheckError_Code int32
const (
    // This is never used in `CheckResponse`.
    CheckError_ERROR_CODE_UNSPECIFIED CheckError_Code = 0
    // The consumer's project id was not found.
    // Same as [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][].
    CheckError_PERMISSION_DENIED CheckError_Code = 7
    // Quota check failed. Same as [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 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 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 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
)

func (CheckError_Code) EnumDescriptor

func (CheckError_Code) EnumDescriptor() ([]byte, []int)

func (CheckError_Code) String

func (x CheckError_Code) String() string

type CheckRequest

Request message for the Check method.

type CheckRequest struct {
    // The service name as specified in its 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" json:"service_name,omitempty"`
    // The operation to be checked.
    Operation *Operation `protobuf:"bytes,2,opt,name=operation" 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" json:"service_config_id,omitempty"`
}

func (*CheckRequest) Descriptor

func (*CheckRequest) Descriptor() ([]byte, []int)

func (*CheckRequest) GetOperation

func (m *CheckRequest) GetOperation() *Operation

func (*CheckRequest) GetServiceConfigId

func (m *CheckRequest) GetServiceConfigId() string

func (*CheckRequest) GetServiceName

func (m *CheckRequest) GetServiceName() string

func (*CheckRequest) ProtoMessage

func (*CheckRequest) ProtoMessage()

func (*CheckRequest) Reset

func (m *CheckRequest) Reset()

func (*CheckRequest) String

func (m *CheckRequest) String() string

type CheckResponse

Response message for the Check method.

type CheckResponse struct {
    // The same operation_id value used in the CheckRequest.
    // Used for logging and diagnostics purposes.
    OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId" 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" 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" json:"service_config_id,omitempty"`
}

func (*CheckResponse) Descriptor

func (*CheckResponse) Descriptor() ([]byte, []int)

func (*CheckResponse) GetCheckErrors

func (m *CheckResponse) GetCheckErrors() []*CheckError

func (*CheckResponse) GetOperationId

func (m *CheckResponse) GetOperationId() string

func (*CheckResponse) GetServiceConfigId

func (m *CheckResponse) GetServiceConfigId() string

func (*CheckResponse) ProtoMessage

func (*CheckResponse) ProtoMessage()

func (*CheckResponse) Reset

func (m *CheckResponse) Reset()

func (*CheckResponse) String

func (m *CheckResponse) String() string

type Distribution

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
type Distribution struct {
    // The total number of samples in the distribution. Must be >= 0.
    Count int64 `protobuf:"varint,1,opt,name=count" 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" json:"mean,omitempty"`
    // The minimum of the population of values. Ignored if `count` is zero.
    Minimum float64 `protobuf:"fixed64,3,opt,name=minimum" json:"minimum,omitempty"`
    // The maximum of the population of values. Ignored if `count` is zero.
    Maximum float64 `protobuf:"fixed64,4,opt,name=maximum" 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" 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" 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 the 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 valid to be assigned to BucketOption:
    //	*Distribution_LinearBuckets_
    //	*Distribution_ExponentialBuckets_
    //	*Distribution_ExplicitBuckets_
    BucketOption isDistribution_BucketOption `protobuf_oneof:"bucket_option"`
}

func (*Distribution) Descriptor

func (*Distribution) Descriptor() ([]byte, []int)

func (*Distribution) GetBucketCounts

func (m *Distribution) GetBucketCounts() []int64

func (*Distribution) GetBucketOption

func (m *Distribution) GetBucketOption() isDistribution_BucketOption

func (*Distribution) GetCount

func (m *Distribution) GetCount() int64

func (*Distribution) GetExplicitBuckets

func (m *Distribution) GetExplicitBuckets() *Distribution_ExplicitBuckets

func (*Distribution) GetExponentialBuckets

func (m *Distribution) GetExponentialBuckets() *Distribution_ExponentialBuckets

func (*Distribution) GetLinearBuckets

func (m *Distribution) GetLinearBuckets() *Distribution_LinearBuckets

func (*Distribution) GetMaximum

func (m *Distribution) GetMaximum() float64

func (*Distribution) GetMean

func (m *Distribution) GetMean() float64

func (*Distribution) GetMinimum

func (m *Distribution) GetMinimum() float64

func (*Distribution) GetSumOfSquaredDeviation

func (m *Distribution) GetSumOfSquaredDeviation() float64

func (*Distribution) ProtoMessage

func (*Distribution) ProtoMessage()

func (*Distribution) Reset

func (m *Distribution) Reset()

func (*Distribution) String

func (m *Distribution) String() string

func (*Distribution) XXX_OneofFuncs

func (*Distribution) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type Distribution_ExplicitBuckets

Describing buckets with arbitrary user-provided width.

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" json:"bounds,omitempty"`
}

func (*Distribution_ExplicitBuckets) Descriptor

func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int)

func (*Distribution_ExplicitBuckets) GetBounds

func (m *Distribution_ExplicitBuckets) GetBounds() []float64

func (*Distribution_ExplicitBuckets) ProtoMessage

func (*Distribution_ExplicitBuckets) ProtoMessage()

func (*Distribution_ExplicitBuckets) Reset

func (m *Distribution_ExplicitBuckets) Reset()

func (*Distribution_ExplicitBuckets) String

func (m *Distribution_ExplicitBuckets) String() string

type Distribution_ExplicitBuckets_

type Distribution_ExplicitBuckets_ struct {
    ExplicitBuckets *Distribution_ExplicitBuckets `protobuf:"bytes,9,opt,name=explicit_buckets,json=explicitBuckets,oneof"`
}

type Distribution_ExponentialBuckets

Describing buckets with exponentially growing width.

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" 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" 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" json:"scale,omitempty"`
}

func (*Distribution_ExponentialBuckets) Descriptor

func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int)

func (*Distribution_ExponentialBuckets) GetGrowthFactor

func (m *Distribution_ExponentialBuckets) GetGrowthFactor() float64

func (*Distribution_ExponentialBuckets) GetNumFiniteBuckets

func (m *Distribution_ExponentialBuckets) GetNumFiniteBuckets() int32

func (*Distribution_ExponentialBuckets) GetScale

func (m *Distribution_ExponentialBuckets) GetScale() float64

func (*Distribution_ExponentialBuckets) ProtoMessage

func (*Distribution_ExponentialBuckets) ProtoMessage()

func (*Distribution_ExponentialBuckets) Reset

func (m *Distribution_ExponentialBuckets) Reset()

func (*Distribution_ExponentialBuckets) String

func (m *Distribution_ExponentialBuckets) String() string

type Distribution_ExponentialBuckets_

type Distribution_ExponentialBuckets_ struct {
    ExponentialBuckets *Distribution_ExponentialBuckets `protobuf:"bytes,8,opt,name=exponential_buckets,json=exponentialBuckets,oneof"`
}

type Distribution_LinearBuckets

Describing buckets with constant width.

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" 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" 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" json:"offset,omitempty"`
}

func (*Distribution_LinearBuckets) Descriptor

func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int)

func (*Distribution_LinearBuckets) GetNumFiniteBuckets

func (m *Distribution_LinearBuckets) GetNumFiniteBuckets() int32

func (*Distribution_LinearBuckets) GetOffset

func (m *Distribution_LinearBuckets) GetOffset() float64

func (*Distribution_LinearBuckets) GetWidth

func (m *Distribution_LinearBuckets) GetWidth() float64

func (*Distribution_LinearBuckets) ProtoMessage

func (*Distribution_LinearBuckets) ProtoMessage()

func (*Distribution_LinearBuckets) Reset

func (m *Distribution_LinearBuckets) Reset()

func (*Distribution_LinearBuckets) String

func (m *Distribution_LinearBuckets) String() string

type Distribution_LinearBuckets_

type Distribution_LinearBuckets_ struct {
    LinearBuckets *Distribution_LinearBuckets `protobuf:"bytes,7,opt,name=linear_buckets,json=linearBuckets,oneof"`
}

type LogEntry

An individual log entry.

type LogEntry struct {
    // Required. The log to which this log entry belongs. Examples: `"syslog"`,
    // `"book_log"`.
    Name string `protobuf:"bytes,10,opt,name=name" json:"name,omitempty"`
    // The time the event described by the log entry occurred. If
    // omitted, defaults to operation start time.
    Timestamp *google_protobuf3.Timestamp `protobuf:"bytes,11,opt,name=timestamp" json:"timestamp,omitempty"`
    // The severity of the log entry. The default value is
    // `LogSeverity.DEFAULT`.
    Severity google_logging_type.LogSeverity `protobuf:"varint,12,opt,name=severity,enum=google.logging.type.LogSeverity" json:"severity,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" 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" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // The log entry payload, which can be one of multiple types.
    //
    // Types that are valid to be assigned to Payload:
    //	*LogEntry_ProtoPayload
    //	*LogEntry_TextPayload
    //	*LogEntry_StructPayload
    Payload isLogEntry_Payload `protobuf_oneof:"payload"`
}

func (*LogEntry) Descriptor

func (*LogEntry) Descriptor() ([]byte, []int)

func (*LogEntry) GetInsertId

func (m *LogEntry) GetInsertId() string

func (*LogEntry) GetLabels

func (m *LogEntry) GetLabels() map[string]string

func (*LogEntry) GetName

func (m *LogEntry) GetName() string

func (*LogEntry) GetPayload

func (m *LogEntry) GetPayload() isLogEntry_Payload

func (*LogEntry) GetProtoPayload

func (m *LogEntry) GetProtoPayload() *google_protobuf1.Any

func (*LogEntry) GetSeverity

func (m *LogEntry) GetSeverity() google_logging_type.LogSeverity

func (*LogEntry) GetStructPayload

func (m *LogEntry) GetStructPayload() *google_protobuf2.Struct

func (*LogEntry) GetTextPayload

func (m *LogEntry) GetTextPayload() string

func (*LogEntry) GetTimestamp

func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp

func (*LogEntry) ProtoMessage

func (*LogEntry) ProtoMessage()

func (*LogEntry) Reset

func (m *LogEntry) Reset()

func (*LogEntry) String

func (m *LogEntry) String() string

func (*LogEntry) XXX_OneofFuncs

func (*LogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type LogEntry_ProtoPayload

type LogEntry_ProtoPayload struct {
    ProtoPayload *google_protobuf1.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,oneof"`
}

type LogEntry_StructPayload

type LogEntry_StructPayload struct {
    StructPayload *google_protobuf2.Struct `protobuf:"bytes,6,opt,name=struct_payload,json=structPayload,oneof"`
}

type LogEntry_TextPayload

type LogEntry_TextPayload struct {
    TextPayload string `protobuf:"bytes,3,opt,name=text_payload,json=textPayload,oneof"`
}

type MetricValue

Represents a single metric value.

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.
    Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // 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 *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
    // The end of the time period over which this metric value's measurement
    // applies.
    EndTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" 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 valid to be assigned to Value:
    //	*MetricValue_BoolValue
    //	*MetricValue_Int64Value
    //	*MetricValue_DoubleValue
    //	*MetricValue_StringValue
    //	*MetricValue_DistributionValue
    Value isMetricValue_Value `protobuf_oneof:"value"`
}

func (*MetricValue) Descriptor

func (*MetricValue) Descriptor() ([]byte, []int)

func (*MetricValue) GetBoolValue

func (m *MetricValue) GetBoolValue() bool

func (*MetricValue) GetDistributionValue

func (m *MetricValue) GetDistributionValue() *Distribution

func (*MetricValue) GetDoubleValue

func (m *MetricValue) GetDoubleValue() float64

func (*MetricValue) GetEndTime

func (m *MetricValue) GetEndTime() *google_protobuf3.Timestamp

func (*MetricValue) GetInt64Value

func (m *MetricValue) GetInt64Value() int64

func (*MetricValue) GetLabels

func (m *MetricValue) GetLabels() map[string]string

func (*MetricValue) GetStartTime

func (m *MetricValue) GetStartTime() *google_protobuf3.Timestamp

func (*MetricValue) GetStringValue

func (m *MetricValue) GetStringValue() string

func (*MetricValue) GetValue

func (m *MetricValue) GetValue() isMetricValue_Value

func (*MetricValue) ProtoMessage

func (*MetricValue) ProtoMessage()

func (*MetricValue) Reset

func (m *MetricValue) Reset()

func (*MetricValue) String

func (m *MetricValue) String() string

func (*MetricValue) XXX_OneofFuncs

func (*MetricValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type MetricValueSet

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.

type MetricValueSet struct {
    // The metric name defined in the service configuration.
    MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
    // The values in this metric.
    MetricValues []*MetricValue `protobuf:"bytes,2,rep,name=metric_values,json=metricValues" json:"metric_values,omitempty"`
}

func (*MetricValueSet) Descriptor

func (*MetricValueSet) Descriptor() ([]byte, []int)

func (*MetricValueSet) GetMetricName

func (m *MetricValueSet) GetMetricName() string

func (*MetricValueSet) GetMetricValues

func (m *MetricValueSet) GetMetricValues() []*MetricValue

func (*MetricValueSet) ProtoMessage

func (*MetricValueSet) ProtoMessage()

func (*MetricValueSet) Reset

func (m *MetricValueSet) Reset()

func (*MetricValueSet) String

func (m *MetricValueSet) String() string

type MetricValue_BoolValue

type MetricValue_BoolValue struct {
    BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
}

type MetricValue_DistributionValue

type MetricValue_DistributionValue struct {
    DistributionValue *Distribution `protobuf:"bytes,8,opt,name=distribution_value,json=distributionValue,oneof"`
}

type MetricValue_DoubleValue

type MetricValue_DoubleValue struct {
    DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue,oneof"`
}

type MetricValue_Int64Value

type MetricValue_Int64Value struct {
    Int64Value int64 `protobuf:"varint,5,opt,name=int64_value,json=int64Value,oneof"`
}

type MetricValue_StringValue

type MetricValue_StringValue struct {
    StringValue string `protobuf:"bytes,7,opt,name=string_value,json=stringValue,oneof"`
}

type Operation

Represents information regarding an operation.

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" 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" 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>,
    //   api_key:<api_key>.
    ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
    // Required. Start time of the operation.
    StartTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime" 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 *google_protobuf3.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime" 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 (e.g. GAE, GCE, GKE).
    Labels map[string]string `protobuf:"bytes,6,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    // 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" json:"metric_value_sets,omitempty"`
    // Represents information to be logged.
    LogEntries []*LogEntry `protobuf:"bytes,8,rep,name=log_entries,json=logEntries" json:"log_entries,omitempty"`
    // DO NOT USE. This is an experimental field.
    Importance Operation_Importance `protobuf:"varint,11,opt,name=importance,enum=google.api.servicecontrol.v1.Operation_Importance" json:"importance,omitempty"`
}

func (*Operation) Descriptor

func (*Operation) Descriptor() ([]byte, []int)

func (*Operation) GetConsumerId

func (m *Operation) GetConsumerId() string

func (*Operation) GetEndTime

func (m *Operation) GetEndTime() *google_protobuf3.Timestamp

func (*Operation) GetImportance

func (m *Operation) GetImportance() Operation_Importance

func (*Operation) GetLabels

func (m *Operation) GetLabels() map[string]string

func (*Operation) GetLogEntries

func (m *Operation) GetLogEntries() []*LogEntry

func (*Operation) GetMetricValueSets

func (m *Operation) GetMetricValueSets() []*MetricValueSet

func (*Operation) GetOperationId

func (m *Operation) GetOperationId() string

func (*Operation) GetOperationName

func (m *Operation) GetOperationName() string

func (*Operation) GetStartTime

func (m *Operation) GetStartTime() *google_protobuf3.Timestamp

func (*Operation) ProtoMessage

func (*Operation) ProtoMessage()

func (*Operation) Reset

func (m *Operation) Reset()

func (*Operation) String

func (m *Operation) String() string

type Operation_Importance

Defines the importance of the data contained in the operation.

type Operation_Importance int32
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) EnumDescriptor

func (Operation_Importance) EnumDescriptor() ([]byte, []int)

func (Operation_Importance) String

func (x Operation_Importance) String() string

type ReportRequest

Request message for the Report method.

type ReportRequest struct {
    // The service name as specified in its 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" 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.
    //
    // If multiple operations are in a single request, the total request 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" 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" json:"service_config_id,omitempty"`
}

func (*ReportRequest) Descriptor

func (*ReportRequest) Descriptor() ([]byte, []int)

func (*ReportRequest) GetOperations

func (m *ReportRequest) GetOperations() []*Operation

func (*ReportRequest) GetServiceConfigId

func (m *ReportRequest) GetServiceConfigId() string

func (*ReportRequest) GetServiceName

func (m *ReportRequest) GetServiceName() string

func (*ReportRequest) ProtoMessage

func (*ReportRequest) ProtoMessage()

func (*ReportRequest) Reset

func (m *ReportRequest) Reset()

func (*ReportRequest) String

func (m *ReportRequest) String() string

type ReportResponse

Response message for the Report method.

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 complete failure where none of the
    //    `Operations` in the request succeeded.
    ReportErrors []*ReportResponse_ReportError `protobuf:"bytes,1,rep,name=report_errors,json=reportErrors" 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" json:"service_config_id,omitempty"`
}

func (*ReportResponse) Descriptor

func (*ReportResponse) Descriptor() ([]byte, []int)

func (*ReportResponse) GetReportErrors

func (m *ReportResponse) GetReportErrors() []*ReportResponse_ReportError

func (*ReportResponse) GetServiceConfigId

func (m *ReportResponse) GetServiceConfigId() string

func (*ReportResponse) ProtoMessage

func (*ReportResponse) ProtoMessage()

func (*ReportResponse) Reset

func (m *ReportResponse) Reset()

func (*ReportResponse) String

func (m *ReportResponse) String() string

type ReportResponse_ReportError

Represents the processing error of one `Operation` in the request.

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" json:"operation_id,omitempty"`
    // Details of the error when processing the `Operation`.
    Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
}

func (*ReportResponse_ReportError) Descriptor

func (*ReportResponse_ReportError) Descriptor() ([]byte, []int)

func (*ReportResponse_ReportError) GetOperationId

func (m *ReportResponse_ReportError) GetOperationId() string

func (*ReportResponse_ReportError) GetStatus

func (m *ReportResponse_ReportError) GetStatus() *google_rpc.Status

func (*ReportResponse_ReportError) ProtoMessage

func (*ReportResponse_ReportError) ProtoMessage()

func (*ReportResponse_ReportError) Reset

func (m *ReportResponse_ReportError) Reset()

func (*ReportResponse_ReportError) String

func (m *ReportResponse_ReportError) String() string

type ServiceControllerClient

type ServiceControllerClient interface {
    // Checks an operation with Google Service Control to decide whether
    // the given operation should proceed. It should be called before the
    // operation is executed.
    //
    // If feasible, the client should cache the check results and reuse them for
    // up to 60s. In case of server errors, the client may rely on the cached
    // results for longer time.
    //
    // This method requires the `servicemanagement.services.check` permission
    // on the specified service. For more information, see
    // [Google Cloud IAM](https://cloud.google.com/iam).
    Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
    // Reports operations to Google Service Control. It should be called
    // after the operation is completed.
    //
    // If feasible, the client should aggregate reporting data for up to 5s to
    // reduce API traffic. Limiting aggregation to 5s is to reduce data loss
    // during client crashes. Clients should carefully choose the aggregation
    // window to avoid data loss risk more than 0.01% for business and
    // compliance reasons.
    //
    // 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)
}

func NewServiceControllerClient

func NewServiceControllerClient(cc *grpc.ClientConn) ServiceControllerClient

type ServiceControllerServer

type ServiceControllerServer interface {
    // Checks an operation with Google Service Control to decide whether
    // the given operation should proceed. It should be called before the
    // operation is executed.
    //
    // If feasible, the client should cache the check results and reuse them for
    // up to 60s. In case of server errors, the client may rely on the cached
    // results for longer time.
    //
    // This method requires the `servicemanagement.services.check` permission
    // on the specified service. For more information, see
    // [Google Cloud IAM](https://cloud.google.com/iam).
    Check(context.Context, *CheckRequest) (*CheckResponse, error)
    // Reports operations to Google Service Control. It should be called
    // after the operation is completed.
    //
    // If feasible, the client should aggregate reporting data for up to 5s to
    // reduce API traffic. Limiting aggregation to 5s is to reduce data loss
    // during client crashes. Clients should carefully choose the aggregation
    // window to avoid data loss risk more than 0.01% for business and
    // compliance reasons.
    //
    // 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)
}