1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.api.serviceusage.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/auth.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/documentation.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/endpoint.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/monitored_resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/monitoring.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/api/quota.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/api/usage.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/api.proto"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ServiceUsage.V1"; 30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb"; 31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourcesProto"; 33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.serviceusage.v1"; 34*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; 35*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ServiceUsage::V1"; 36*d5c09012SAndroid Build Coastguard Worker 37*d5c09012SAndroid Build Coastguard Worker// A service that is available for use by the consumer. 38*d5c09012SAndroid Build Coastguard Workermessage Service { 39*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 40*d5c09012SAndroid Build Coastguard Worker type: "serviceusage.googleapis.com/Service" 41*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/services/{service}" 42*d5c09012SAndroid Build Coastguard Worker pattern: "folders/{folder}/services/{service}" 43*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/services/{service}" 44*d5c09012SAndroid Build Coastguard Worker }; 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker // The resource name of the consumer and service. 47*d5c09012SAndroid Build Coastguard Worker // 48*d5c09012SAndroid Build Coastguard Worker // A valid name would be: 49*d5c09012SAndroid Build Coastguard Worker // - projects/123/services/serviceusage.googleapis.com 50*d5c09012SAndroid Build Coastguard Worker string name = 1; 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // The resource name of the consumer. 53*d5c09012SAndroid Build Coastguard Worker // 54*d5c09012SAndroid Build Coastguard Worker // A valid name would be: 55*d5c09012SAndroid Build Coastguard Worker // - projects/123 56*d5c09012SAndroid Build Coastguard Worker string parent = 5; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // The service configuration of the available service. 59*d5c09012SAndroid Build Coastguard Worker // Some fields may be filtered out of the configuration in responses to 60*d5c09012SAndroid Build Coastguard Worker // the `ListServices` method. These fields are present only in responses to 61*d5c09012SAndroid Build Coastguard Worker // the `GetService` method. 62*d5c09012SAndroid Build Coastguard Worker ServiceConfig config = 2; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Whether or not the service has been enabled for use by the consumer. 65*d5c09012SAndroid Build Coastguard Worker State state = 4; 66*d5c09012SAndroid Build Coastguard Worker} 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker// Whether or not a service has been enabled for use by a consumer. 69*d5c09012SAndroid Build Coastguard Workerenum State { 70*d5c09012SAndroid Build Coastguard Worker // The default value, which indicates that the enabled state of the service 71*d5c09012SAndroid Build Coastguard Worker // is unspecified or not meaningful. Currently, all consumers other than 72*d5c09012SAndroid Build Coastguard Worker // projects (such as folders and organizations) are always in this state. 73*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // The service cannot be used by this consumer. It has either been explicitly 76*d5c09012SAndroid Build Coastguard Worker // disabled, or has never been enabled. 77*d5c09012SAndroid Build Coastguard Worker DISABLED = 1; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // The service has been explicitly enabled for use by this consumer. 80*d5c09012SAndroid Build Coastguard Worker ENABLED = 2; 81*d5c09012SAndroid Build Coastguard Worker} 82*d5c09012SAndroid Build Coastguard Worker 83*d5c09012SAndroid Build Coastguard Worker// The configuration of the service. 84*d5c09012SAndroid Build Coastguard Workermessage ServiceConfig { 85*d5c09012SAndroid Build Coastguard Worker // The DNS address at which this service is available. 86*d5c09012SAndroid Build Coastguard Worker // 87*d5c09012SAndroid Build Coastguard Worker // An example DNS address would be: 88*d5c09012SAndroid Build Coastguard Worker // `calendar.googleapis.com`. 89*d5c09012SAndroid Build Coastguard Worker string name = 1; 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // The product title for this service. 92*d5c09012SAndroid Build Coastguard Worker string title = 2; 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // A list of API interfaces exported by this service. Contains only the names, 95*d5c09012SAndroid Build Coastguard Worker // versions, and method names of the interfaces. 96*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Api apis = 3; 97*d5c09012SAndroid Build Coastguard Worker 98*d5c09012SAndroid Build Coastguard Worker // Additional API documentation. Contains only the summary and the 99*d5c09012SAndroid Build Coastguard Worker // documentation URL. 100*d5c09012SAndroid Build Coastguard Worker google.api.Documentation documentation = 6; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // Quota configuration. 103*d5c09012SAndroid Build Coastguard Worker google.api.Quota quota = 10; 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // Auth configuration. Contains only the OAuth rules. 106*d5c09012SAndroid Build Coastguard Worker google.api.Authentication authentication = 11; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Configuration controlling usage of this service. 109*d5c09012SAndroid Build Coastguard Worker google.api.Usage usage = 15; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // Configuration for network endpoints. Contains only the names and aliases 112*d5c09012SAndroid Build Coastguard Worker // of the endpoints. 113*d5c09012SAndroid Build Coastguard Worker repeated google.api.Endpoint endpoints = 18; 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // Defines the monitored resources used by this service. This is required 116*d5c09012SAndroid Build Coastguard Worker // by the [Service.monitoring][google.api.Service.monitoring] and 117*d5c09012SAndroid Build Coastguard Worker // [Service.logging][google.api.Service.logging] configurations. 118*d5c09012SAndroid Build Coastguard Worker repeated google.api.MonitoredResourceDescriptor monitored_resources = 25; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Monitoring configuration. 121*d5c09012SAndroid Build Coastguard Worker // This should not include the 'producer_destinations' field. 122*d5c09012SAndroid Build Coastguard Worker google.api.Monitoring monitoring = 28; 123*d5c09012SAndroid Build Coastguard Worker} 124*d5c09012SAndroid Build Coastguard Worker 125*d5c09012SAndroid Build Coastguard Worker// The operation metadata returned for the batchend services operation. 126*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata { 127*d5c09012SAndroid Build Coastguard Worker // The full name of the resources that this operation is directly 128*d5c09012SAndroid Build Coastguard Worker // associated with. 129*d5c09012SAndroid Build Coastguard Worker repeated string resource_names = 2; 130*d5c09012SAndroid Build Coastguard Worker} 131