Show / Hide Table of Contents

Class GoogleApiService

Service is the root object of Google service configuration schema. It describes basic information about a service, such as the name and the title, and delegates other aspects to sub-sections. Each sub-section is either a proto message or a repeated proto message that configures a specific aspect, such as auth. See each proto message definition for details. Example: type: google.api.Service config_version: 3 name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth

Inheritance
System.Object
GoogleApiService
Implements
IDirectResponseSchema
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Google.Apis.ServiceUsage.v1.Data
Assembly: Google.Apis.ServiceUsage.v1.dll
Syntax
public class GoogleApiService : IDirectResponseSchema

Properties

Apis

A list of API interfaces exported by this service. Only the name field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files.

Declaration
[JsonProperty("apis")]
public virtual IList<Api> Apis { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<Api>

Authentication

Auth configuration.

Declaration
[JsonProperty("authentication")]
public virtual Authentication Authentication { get; set; }
Property Value
Type Description
Authentication

Backend

API backend configuration.

Declaration
[JsonProperty("backend")]
public virtual Backend Backend { get; set; }
Property Value
Type Description
Backend

Billing

Billing configuration.

Declaration
[JsonProperty("billing")]
public virtual Billing Billing { get; set; }
Property Value
Type Description
Billing

ConfigVersion

Deprecated. The service config compiler always sets this field to 3.

Declaration
[JsonProperty("configVersion")]
public virtual long? ConfigVersion { get; set; }
Property Value
Type Description
System.Nullable<System.Int64>

Context

Context configuration.

Declaration
[JsonProperty("context")]
public virtual Context Context { get; set; }
Property Value
Type Description
Context

Control

Configuration for the service control plane.

Declaration
[JsonProperty("control")]
public virtual Control Control { get; set; }
Property Value
Type Description
Control

CustomError

Custom error configuration.

Declaration
[JsonProperty("customError")]
public virtual CustomError CustomError { get; set; }
Property Value
Type Description
CustomError

Documentation

Additional API documentation.

Declaration
[JsonProperty("documentation")]
public virtual Documentation Documentation { get; set; }
Property Value
Type Description
Documentation

Endpoints

Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.

Declaration
[JsonProperty("endpoints")]
public virtual IList<Endpoint> Endpoints { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<Endpoint>

Enums

A list of all enum types included in this API service. Enums referenced directly or indirectly by the apis are automatically included. Enums which are not referenced but shall be included should be listed here by name. Example: enums: - name: google.someapi.v1.SomeEnum

Declaration
[JsonProperty("enums")]
public virtual IList<Enum> Enums { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<Enum>

ETag

The ETag of the item.

Declaration
public virtual string ETag { get; set; }
Property Value
Type Description
System.String

Http

HTTP configuration.

Declaration
[JsonProperty("http")]
public virtual Http Http { get; set; }
Property Value
Type Description
Http

Id

A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If empty, the server may choose to generate one instead.

Declaration
[JsonProperty("id")]
public virtual string Id { get; set; }
Property Value
Type Description
System.String

Logging

Logging configuration.

Declaration
[JsonProperty("logging")]
public virtual Logging Logging { get; set; }
Property Value
Type Description
Logging

Logs

Defines the logs used by this service.

Declaration
[JsonProperty("logs")]
public virtual IList<LogDescriptor> Logs { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<LogDescriptor>

Metrics

Defines the metrics used by this service.

Declaration
[JsonProperty("metrics")]
public virtual IList<MetricDescriptor> Metrics { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<MetricDescriptor>

MonitoredResources

Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations.

Declaration
[JsonProperty("monitoredResources")]
public virtual IList<MonitoredResourceDescriptor> MonitoredResources { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<MonitoredResourceDescriptor>

Monitoring

Monitoring configuration.

Declaration
[JsonProperty("monitoring")]
public virtual Monitoring Monitoring { get; set; }
Property Value
Type Description
Monitoring

Name

The service name, which is a DNS-like logical identifier for the service, such as calendar.googleapis.com. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name.

Declaration
[JsonProperty("name")]
public virtual string Name { get; set; }
Property Value
Type Description
System.String

ProducerProjectId

The Google project that owns this service.

Declaration
[JsonProperty("producerProjectId")]
public virtual string ProducerProjectId { get; set; }
Property Value
Type Description
System.String

Quota

Quota configuration.

Declaration
[JsonProperty("quota")]
public virtual Quota Quota { get; set; }
Property Value
Type Description
Quota

SourceInfo

Output only. The source information for this configuration if available.

Declaration
[JsonProperty("sourceInfo")]
public virtual SourceInfo SourceInfo { get; set; }
Property Value
Type Description
SourceInfo

SystemParameters

System parameter configuration.

Declaration
[JsonProperty("systemParameters")]
public virtual SystemParameters SystemParameters { get; set; }
Property Value
Type Description
SystemParameters

SystemTypes

A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF.

Declaration
[JsonProperty("systemTypes")]
public virtual IList<Type> SystemTypes { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<Type>

Title

The product title for this service.

Declaration
[JsonProperty("title")]
public virtual string Title { get; set; }
Property Value
Type Description
System.String

Types

A list of all proto message types included in this API service. Types referenced directly or indirectly by the apis are automatically included. Messages which are not referenced but shall be included, such as types used by the google.protobuf.Any type, should be listed here by name. Example: types: - name: google.protobuf.Int32

Declaration
[JsonProperty("types")]
public virtual IList<Type> Types { get; set; }
Property Value
Type Description
System.Collections.Generic.IList<Type>

Usage

Configuration controlling usage of this service.

Declaration
[JsonProperty("usage")]
public virtual Usage Usage { get; set; }
Property Value
Type Description
Usage

Implements

IDirectResponseSchema
In This Article
Back to top