public sealed class Service : Protobuf.IMessage<Service>, Protobuf.IBufferMessage
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
Implements
Protobuf.IBufferMessageNamespace
Google.ApiAssembly
Google.Api.CommonProtos.dll
Constructors
Service()
public Service()
Service(Service)
public Service(Service other)
Fields
ApisFieldNumber
public
const
int
ApisFieldNumber
=
3
Field number for the "apis" field.
AuthenticationFieldNumber
public
const
int
AuthenticationFieldNumber
=
11
Field number for the "authentication" field.
BackendFieldNumber
public
const
int
BackendFieldNumber
=
8
Field number for the "backend" field.
BillingFieldNumber
public
const
int
BillingFieldNumber
=
26
Field number for the "billing" field.
ConfigVersionFieldNumber
public
const
int
ConfigVersionFieldNumber
=
20
Field number for the "config_version" field.
ContextFieldNumber
public
const
int
ContextFieldNumber
=
12
Field number for the "context" field.
ControlFieldNumber
public
const
int
ControlFieldNumber
=
21
Field number for the "control" field.
DocumentationFieldNumber
public
const
int
DocumentationFieldNumber
=
6
Field number for the "documentation" field.
EndpointsFieldNumber
public
const
int
EndpointsFieldNumber
=
18
Field number for the "endpoints" field.
EnumsFieldNumber
public
const
int
EnumsFieldNumber
=
5
Field number for the "enums" field.
HttpFieldNumber
public
const
int
HttpFieldNumber
=
9
Field number for the "http" field.
IdFieldNumber
public
const
int
IdFieldNumber
=
33
Field number for the "id" field.
LoggingFieldNumber
public
const
int
LoggingFieldNumber
=
27
Field number for the "logging" field.
LogsFieldNumber
public
const
int
LogsFieldNumber
=
23
Field number for the "logs" field.
MetricsFieldNumber
public
const
int
MetricsFieldNumber
=
24
Field number for the "metrics" field.
MonitoredResourcesFieldNumber
public
const
int
MonitoredResourcesFieldNumber
=
25
Field number for the "monitored_resources" field.
MonitoringFieldNumber
public
const
int
MonitoringFieldNumber
=
28
Field number for the "monitoring" field.
NameFieldNumber
public
const
int
NameFieldNumber
=
1
Field number for the "name" field.
ProducerProjectIdFieldNumber
public
const
int
ProducerProjectIdFieldNumber
=
22
Field number for the "producer_project_id" field.
QuotaFieldNumber
public
const
int
QuotaFieldNumber
=
10
Field number for the "quota" field.
SourceInfoFieldNumber
public
const
int
SourceInfoFieldNumber
=
37
Field number for the "source_info" field.
SystemParametersFieldNumber
public
const
int
SystemParametersFieldNumber
=
29
Field number for the "system_parameters" field.
TitleFieldNumber
public
const
int
TitleFieldNumber
=
2
Field number for the "title" field.
Types_FieldNumber
public
const
int
Types_FieldNumber
=
4
Field number for the "types" field.
UsageFieldNumber
public
const
int
UsageFieldNumber
=
15
Field number for the "usage" field.
Properties
Apis
public Protobuf.Collections.RepeatedField<Protobuf.WellKnownTypes.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.
Authentication
public Authentication Authentication { get; set; }
Auth configuration.
Backend
public Backend Backend { get; set; }
API backend configuration.
Billing
public Billing Billing { get; set; }
Billing configuration.
ConfigVersion
public uint? ConfigVersion { get; set; }
The semantic version of the service configuration. The config version affects the interpretation of the service configuration. For example, certain features are enabled by default for certain config versions.
The latest config version is 3
.
Context
public Context Context { get; set; }
Context configuration.
Control
public Control Control { get; set; }
Configuration for the service control plane.
Descriptor
public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Documentation
public Documentation Documentation { get; set; }
Additional API documentation.
Endpoints
public Protobuf.Collections.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.
Enums
public Protobuf.Collections.RepeatedField<Protobuf.WellKnownTypes.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. Example:
enums:
- name: google.someapi.v1.SomeEnum
Http
public Http Http { get; set; }
HTTP configuration.
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.
Logging
public Logging Logging { get; set; }
Logging configuration.
Logs
public Protobuf.Collections.RepeatedField<LogDescriptor> Logs { get; }
Defines the logs used by this service.
Metrics
public Protobuf.Collections.RepeatedField<MetricDescriptor> Metrics { get; }
Defines the metrics used by this service.
MonitoredResources
public Protobuf.Collections.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.
Monitoring
public Monitoring Monitoring { get; set; }
Monitoring configuration.
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.
Parser
public static Protobuf.MessageParser<Service> Parser { get; }
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Quota
public Quota Quota { get; set; }
Quota configuration.
SourceInfo
public SourceInfo SourceInfo { get; set; }
Output only. The source information for this configuration if available.
SystemParameters
public SystemParameters SystemParameters { get; set; }
System parameter configuration.
Title
public string Title { get; set; }
The product title for this service.
Types_
public Protobuf.Collections.RepeatedField<Protobuf.WellKnownTypes.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. Example:
types:
- name: google.protobuf.Int32
Usage
public Usage Usage { get; set; }
Configuration controlling usage of this service.
Methods
CalculateSize()
public int CalculateSize()
Clone()
public Service Clone()
Equals(Service)
public bool Equals(Service other)
Equals(Object)
public override bool Equals(object other)
GetHashCode()
public override int GetHashCode()
MergeFrom(Service)
public void MergeFrom(Service other)
MergeFrom(Protobuf.CodedInputStream)
public void MergeFrom(Protobuf.CodedInputStream input)
ToString()
public override string ToString()
WriteTo(Protobuf.CodedOutputStream)
public void WriteTo(Protobuf.CodedOutputStream output)