Class Service (2.17.0)

 public sealed class Service : IMessage<Service>, IEquatable<Service>, IDeepCloneable<Service>, IBufferMessage, IMessage 

Service is the root object of Google API service configuration (service config). It describes the basic information about a logical service, such as the service name and the user-facing 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. For more information, see each proto message definition.

Example:

 type: google.api.Service
name: calendar.googleapis.com
title: Google Calendar API
apis:
- name: google.calendar.v3.Calendar

visibility:
  rules:
  - selector: "google.calendar.v3.*"
    restriction: PREVIEW
backend:
  rules:
  - selector: "google.calendar.v3.*"
    address: calendar.example.com

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

object > Service

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

Service()

 public Service() 

Service(Service)

 public Service(Service other) 
Parameter
Name
Description
other

Fields

ApisFieldNumber

  public 
  
 const 
  
 int 
  
 ApisFieldNumber 
  
 = 
  
 3 
 

Field number for the "apis" field.

Field Value
Type
Description
int

AuthenticationFieldNumber

  public 
  
 const 
  
 int 
  
 AuthenticationFieldNumber 
  
 = 
  
 11 
 

Field number for the "authentication" field.

Field Value
Type
Description
int

BackendFieldNumber

  public 
  
 const 
  
 int 
  
 BackendFieldNumber 
  
 = 
  
 8 
 

Field number for the "backend" field.

Field Value
Type
Description
int

BillingFieldNumber

  public 
  
 const 
  
 int 
  
 BillingFieldNumber 
  
 = 
  
 26 
 

Field number for the "billing" field.

Field Value
Type
Description
int

ConfigVersionFieldNumber

  public 
  
 const 
  
 int 
  
 ConfigVersionFieldNumber 
  
 = 
  
 20 
 

Field number for the "config_version" field.

Field Value
Type
Description
int

ContextFieldNumber

  public 
  
 const 
  
 int 
  
 ContextFieldNumber 
  
 = 
  
 12 
 

Field number for the "context" field.

Field Value
Type
Description
int

ControlFieldNumber

  public 
  
 const 
  
 int 
  
 ControlFieldNumber 
  
 = 
  
 21 
 

Field number for the "control" field.

Field Value
Type
Description
int

DocumentationFieldNumber

  public 
  
 const 
  
 int 
  
 DocumentationFieldNumber 
  
 = 
  
 6 
 

Field number for the "documentation" field.

Field Value
Type
Description
int

EndpointsFieldNumber

  public 
  
 const 
  
 int 
  
 EndpointsFieldNumber 
  
 = 
  
 18 
 

Field number for the "endpoints" field.

Field Value
Type
Description
int

EnumsFieldNumber

  public 
  
 const 
  
 int 
  
 EnumsFieldNumber 
  
 = 
  
 5 
 

Field number for the "enums" field.

Field Value
Type
Description
int

HttpFieldNumber

  public 
  
 const 
  
 int 
  
 HttpFieldNumber 
  
 = 
  
 9 
 

Field number for the "http" field.

Field Value
Type
Description
int

IdFieldNumber

  public 
  
 const 
  
 int 
  
 IdFieldNumber 
  
 = 
  
 33 
 

Field number for the "id" field.

Field Value
Type
Description
int

LoggingFieldNumber

  public 
  
 const 
  
 int 
  
 LoggingFieldNumber 
  
 = 
  
 27 
 

Field number for the "logging" field.

Field Value
Type
Description
int

LogsFieldNumber

  public 
  
 const 
  
 int 
  
 LogsFieldNumber 
  
 = 
  
 23 
 

Field number for the "logs" field.

Field Value
Type
Description
int

MetricsFieldNumber

  public 
  
 const 
  
 int 
  
 MetricsFieldNumber 
  
 = 
  
 24 
 

Field number for the "metrics" field.

Field Value
Type
Description
int

MonitoredResourcesFieldNumber

  public 
  
 const 
  
 int 
  
 MonitoredResourcesFieldNumber 
  
 = 
  
 25 
 

Field number for the "monitored_resources" field.

Field Value
Type
Description
int

MonitoringFieldNumber

  public 
  
 const 
  
 int 
  
 MonitoringFieldNumber 
  
 = 
  
 28 
 

Field number for the "monitoring" field.

Field Value
Type
Description
int

NameFieldNumber

  public 
  
 const 
  
 int 
  
 NameFieldNumber 
  
 = 
  
 1 
 

Field number for the "name" field.

Field Value
Type
Description
int

ProducerProjectIdFieldNumber

  public 
  
 const 
  
 int 
  
 ProducerProjectIdFieldNumber 
  
 = 
  
 22 
 

Field number for the "producer_project_id" field.

Field Value
Type
Description
int

PublishingFieldNumber

  public 
  
 const 
  
 int 
  
 PublishingFieldNumber 
  
 = 
  
 45 
 

Field number for the "publishing" field.

Field Value
Type
Description
int

QuotaFieldNumber

  public 
  
 const 
  
 int 
  
 QuotaFieldNumber 
  
 = 
  
 10 
 

Field number for the "quota" field.

Field Value
Type
Description
int

SourceInfoFieldNumber

  public 
  
 const 
  
 int 
  
 SourceInfoFieldNumber 
  
 = 
  
 37 
 

Field number for the "source_info" field.

Field Value
Type
Description
int

SystemParametersFieldNumber

  public 
  
 const 
  
 int 
  
 SystemParametersFieldNumber 
  
 = 
  
 29 
 

Field number for the "system_parameters" field.

Field Value
Type
Description
int

TitleFieldNumber

  public 
  
 const 
  
 int 
  
 TitleFieldNumber 
  
 = 
  
 2 
 

Field number for the "title" field.

Field Value
Type
Description
int

Types_FieldNumber

  public 
  
 const 
  
 int 
  
 Types_FieldNumber 
  
 = 
  
 4 
 

Field number for the "types" field.

Field Value
Type
Description
int

UsageFieldNumber

  public 
  
 const 
  
 int 
  
 UsageFieldNumber 
  
 = 
  
 15 
 

Field number for the "usage" field.

Field Value
Type
Description
int

Properties

Apis

 public RepeatedField<Api> Apis { get; } 

A list of API interfaces exported by this service. Only the name field of the [google.protobuf.Api][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.

Property Value
Type
Description

Authentication

 public Authentication Authentication { get; set; } 

Auth configuration.

Property Value
Type
Description

Backend

 public Backend Backend { get; set; } 

API backend configuration.

Property Value
Type
Description

Billing

 public Billing Billing { get; set; } 

Billing configuration.

Property Value
Type
Description

ConfigVersion

 public uint? ConfigVersion { get; set; } 

Obsolete. Do not use.

This field has no semantic meaning. The service config compiler always sets this field to 3 .

Property Value
Type
Description
System.UInt32

Context

 public Context Context { get; set; } 

Context configuration.

Property Value
Type
Description

Control

 public Control Control { get; set; } 

Configuration for the service control plane.

Property Value
Type
Description

Descriptor

 public static MessageDescriptor Descriptor { get; } 
Property Value
Type
Description

Documentation

 public Documentation Documentation { get; set; } 

Additional API documentation.

Property Value
Type
Description

Endpoints

 public RepeatedField<Endpoint> Endpoints { get; } 

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.

Property Value
Type
Description

Enums

 public RepeatedField<Enum> Enums { get; } 

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 by the configuration author. Example:

 enums:
- name: google.someapi.v1.SomeEnum 
Property Value
Type
Description

Http

 public Http Http { get; set; } 

HTTP configuration.

Property Value
Type
Description

Id

 public string Id { get; set; } 

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.

Property Value
Type
Description

Logging

 public Logging Logging { get; set; } 

Logging configuration.

Property Value
Type
Description

Logs

 public RepeatedField<LogDescriptor> Logs { get; } 

Defines the logs used by this service.

Property Value
Type
Description

Metrics

 public RepeatedField<MetricDescriptor> Metrics { get; } 

Defines the metrics used by this service.

Property Value
Type
Description

MonitoredResources

 public RepeatedField<MonitoredResourceDescriptor> MonitoredResources { get; } 

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

Property Value
Type
Description

Monitoring

 public Monitoring Monitoring { get; set; } 

Monitoring configuration.

Property Value
Type
Description

Name

 public string Name { get; set; } 

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.

Property Value
Type
Description

Parser

 public static MessageParser<Service> Parser { get; } 
Property Value
Type
Description

ProducerProjectId

 public string ProducerProjectId { get; set; } 

The Google project that owns this service.

Property Value
Type
Description

Publishing

 public Publishing Publishing { get; set; } 

Settings for Google Cloud Client libraries generated from APIs defined as protocol buffers.

Property Value
Type
Description

Quota

 public Quota Quota { get; set; } 

Quota configuration.

Property Value
Type
Description

SourceInfo

 public SourceInfo SourceInfo { get; set; } 

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

Property Value
Type
Description

SystemParameters

 public SystemParameters SystemParameters { get; set; } 

System parameter configuration.

Property Value
Type
Description

Title

 public string Title { get; set; } 

The product title for this service, it is the name displayed in Google Cloud Console.

Property Value
Type
Description

Types_

 public RepeatedField<Type> Types_ { get; } 

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 by the configuration author. Example:

 types:
- name: google.protobuf.Int32 
Property Value
Type
Description

Usage

 public Usage Usage { get; set; } 

Configuration controlling usage of this service.

Property Value
Type
Description

Methods

CalculateSize()

 public int CalculateSize() 
Returns
Type
Description
int

Clone()

 public Service Clone() 
Returns
Type
Description

Equals(Service)

 public bool Equals(Service other) 
Parameter
Name
Description
other
Returns
Type
Description

Equals(object)

 public override bool Equals(object other) 
Parameter
Name
Description
other
Returns
Type
Description
Overrides

GetHashCode()

 public override int GetHashCode() 
Returns
Type
Description
int
Overrides

MergeFrom(Service)

 public void MergeFrom(Service other) 
Parameter
Name
Description
other

MergeFrom(CodedInputStream)

 public void MergeFrom(CodedInputStream input) 
Parameter
Name
Description

ToString()

 public override string ToString() 
Returns
Type
Description
Overrides

WriteTo(CodedOutputStream)

 public void WriteTo(CodedOutputStream output) 
Parameter
Name
Description
Design a Mobile Site
View Site in Mobile | Classic
Share by: