12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- // Copyright 2024 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.api;
- option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
- option java_multiple_files = true;
- option java_outer_classname = "ConsumerProto";
- option java_package = "com.google.api";
- // A descriptor for defining project properties for a service. One service may
- // have many consumer projects, and the service may want to behave differently
- // depending on some properties on the project. For example, a project may be
- // associated with a school, or a business, or a government agency, a business
- // type property on the project may affect how a service responds to the client.
- // This descriptor defines which properties are allowed to be set on a project.
- //
- // Example:
- //
- // project_properties:
- // properties:
- // - name: NO_WATERMARK
- // type: BOOL
- // description: Allows usage of the API without watermarks.
- // - name: EXTENDED_TILE_CACHE_PERIOD
- // type: INT64
- message ProjectProperties {
- // List of per consumer project-specific properties.
- repeated Property properties = 1;
- }
- // Defines project properties.
- //
- // API services can define properties that can be assigned to consumer projects
- // so that backends can perform response customization without having to make
- // additional calls or maintain additional storage. For example, Maps API
- // defines properties that controls map tile cache period, or whether to embed a
- // watermark in a result.
- //
- // These values can be set via API producer console. Only API providers can
- // define and set these properties.
- message Property {
- // Supported data type of the property values
- enum PropertyType {
- // The type is unspecified, and will result in an error.
- UNSPECIFIED = 0;
- // The type is `int64`.
- INT64 = 1;
- // The type is `bool`.
- BOOL = 2;
- // The type is `string`.
- STRING = 3;
- // The type is 'double'.
- DOUBLE = 4;
- }
- // The name of the property (a.k.a key).
- string name = 1;
- // The type of this property.
- PropertyType type = 2;
- // The description of the property
- string description = 3;
- }
|