You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.6 KiB
97 lines
3.6 KiB
// Copyright 2016 Google Inc. |
|
// |
|
// Licensed under the Apache License, Version 2.0 (the "License"); |
|
// you may not use this file except in compliance with the License. |
|
// You may obtain a copy of the License at |
|
// |
|
// http://www.apache.org/licenses/LICENSE-2.0 |
|
// |
|
// Unless required by applicable law or agreed to in writing, software |
|
// distributed under the License is distributed on an "AS IS" BASIS, |
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
// See the License for the specific language governing permissions and |
|
// limitations under the License. |
|
|
|
syntax = "proto3"; |
|
|
|
package google.api; |
|
|
|
import "google/api/annotations.proto"; |
|
import "google/api/metric.proto"; |
|
|
|
option java_multiple_files = true; |
|
option java_outer_classname = "BillingProto"; |
|
option java_package = "com.google.api"; |
|
|
|
|
|
// Billing related configuration of the service. |
|
// |
|
// The following example shows how to configure metrics for billing: |
|
// |
|
// metrics: |
|
// - name: library.googleapis.com/read_calls |
|
// metric_kind: DELTA |
|
// value_type: INT64 |
|
// - name: library.googleapis.com/write_calls |
|
// metric_kind: DELTA |
|
// value_type: INT64 |
|
// billing: |
|
// metrics: |
|
// - library.googleapis.com/read_calls |
|
// - library.googleapis.com/write_calls |
|
// |
|
// The next example shows how to enable billing status check and customize the |
|
// check behavior. It makes sure billing status check is included in the `Check` |
|
// method of [Service Control API](https://cloud.google.com/service-control/). |
|
// In the example, "google.storage.Get" method can be served when the billing |
|
// status is either `current` or `delinquent`, while "google.storage.Write" |
|
// method can only be served when the billing status is `current`: |
|
// |
|
// billing: |
|
// rules: |
|
// - selector: google.storage.Get |
|
// allowed_statuses: |
|
// - current |
|
// - delinquent |
|
// - selector: google.storage.Write |
|
// allowed_statuses: current |
|
// |
|
// Mostly services should only allow `current` status when serving requests. |
|
// In addition, services can choose to allow both `current` and `delinquent` |
|
// statuses when serving read-only requests to resources. If there's no |
|
// matching selector for operation, no billing status check will be performed. |
|
// |
|
message Billing { |
|
// Names of the metrics to report to billing. Each name must |
|
// be defined in [Service.metrics][google.api.Service.metrics] section. |
|
repeated string metrics = 1; |
|
|
|
// A list of billing status rules for configuring billing status check. |
|
repeated BillingStatusRule rules = 5; |
|
} |
|
|
|
// Defines the billing status requirements for operations. |
|
// |
|
// When used with |
|
// [Service Control API](https://cloud.google.com/service-control/), the |
|
// following statuses are supported: |
|
// |
|
// - **current**: the associated billing account is up to date and capable of |
|
// paying for resource usages. |
|
// - **delinquent**: the associated billing account has a correctable problem, |
|
// such as late payment. |
|
// |
|
// Mostly services should only allow `current` status when serving requests. |
|
// In addition, services can choose to allow both `current` and `delinquent` |
|
// statuses when serving read-only requests to resources. If the list of |
|
// allowed_statuses is empty, it means no billing requirement. |
|
// |
|
message BillingStatusRule { |
|
// Selects the operation names to which this rule applies. |
|
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. |
|
string selector = 1; |
|
|
|
// Allowed billing statuses. The billing status check passes if the actual |
|
// billing status matches any of the provided values here. |
|
repeated string allowed_statuses = 2; |
|
}
|
|
|