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:
Namespace
Google.Api
Assembly
Google.Api.CommonProtos.dll
Constructors
Service()
Service(Service)
public Service(Service other)
Parameter
Fields
ApisFieldNumber
public const int ApisFieldNumber = 3
Field number for the "apis" field.
Field Value
AuthenticationFieldNumber
public const int AuthenticationFieldNumber = 11
Field number for the "authentication" field.
Field Value
BackendFieldNumber
public const int BackendFieldNumber = 8
Field number for the "backend" field.
Field Value
BillingFieldNumber
public const int BillingFieldNumber = 26
Field number for the "billing" field.
Field Value
ConfigVersionFieldNumber
public const int ConfigVersionFieldNumber = 20
Field number for the "config_version" field.
Field Value
ContextFieldNumber
public const int ContextFieldNumber = 12
Field number for the "context" field.
Field Value
ControlFieldNumber
public const int ControlFieldNumber = 21
Field number for the "control" field.
Field Value
DocumentationFieldNumber
public const int DocumentationFieldNumber = 6
Field number for the "documentation" field.
Field Value
EndpointsFieldNumber
public const int EndpointsFieldNumber = 18
Field number for the "endpoints" field.
Field Value
EnumsFieldNumber
public const int EnumsFieldNumber = 5
Field number for the "enums" field.
Field Value
HttpFieldNumber
public const int HttpFieldNumber = 9
Field number for the "http" field.
Field Value
IdFieldNumber
public const int IdFieldNumber = 33
Field number for the "id" field.
Field Value
LoggingFieldNumber
public const int LoggingFieldNumber = 27
Field number for the "logging" field.
Field Value
LogsFieldNumber
public const int LogsFieldNumber = 23
Field number for the "logs" field.
Field Value
MetricsFieldNumber
public const int MetricsFieldNumber = 24
Field number for the "metrics" field.
Field Value
MonitoredResourcesFieldNumber
public const int MonitoredResourcesFieldNumber = 25
Field number for the "monitored_resources" field.
Field Value
MonitoringFieldNumber
public const int MonitoringFieldNumber = 28
Field number for the "monitoring" field.
Field Value
NameFieldNumber
public const int NameFieldNumber = 1
Field number for the "name" field.
Field Value
ProducerProjectIdFieldNumber
public const int ProducerProjectIdFieldNumber = 22
Field number for the "producer_project_id" field.
Field Value
QuotaFieldNumber
public const int QuotaFieldNumber = 10
Field number for the "quota" field.
Field Value
SourceInfoFieldNumber
public const int SourceInfoFieldNumber = 37
Field number for the "source_info" field.
Field Value
SystemParametersFieldNumber
public const int SystemParametersFieldNumber = 29
Field number for the "system_parameters" field.
Field Value
TitleFieldNumber
public const int TitleFieldNumber = 2
Field number for the "title" field.
Field Value
Types_FieldNumber
public const int Types_FieldNumber = 4
Field number for the "types" field.
Field Value
UsageFieldNumber
public const int UsageFieldNumber = 15
Field number for the "usage" field.
Field Value
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.
Property Value
Authentication
public Authentication Authentication { get; set; }
Property Value
Backend
public Backend Backend { get; set; }
API backend configuration.
Property Value
Billing
public Billing Billing { get; set; }
Property Value
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
.
Property Value
Context
public Context Context { get; set; }
Property Value
Control
public Control Control { get; set; }
Configuration for the service control plane.
Property Value
Descriptor
public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
Documentation
public Documentation Documentation { get; set; }
Additional API documentation.
Property Value
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.
Property Value
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
Property Value
Http
public Http Http { get; set; }
Property Value
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
Logging
public Logging Logging { get; set; }
Property Value
Logs
public Protobuf.Collections.RepeatedField<LogDescriptor> Logs { get; }
Defines the logs used by this service.
Property Value
Metrics
public Protobuf.Collections.RepeatedField<MetricDescriptor> Metrics { get; }
Defines the metrics used by this service.
Property Value
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.
Property Value
Monitoring
public Monitoring Monitoring { get; set; }
Monitoring configuration.
Property Value
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
Parser
public static Protobuf.MessageParser<Service> Parser { get; }
Property Value
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Property Value
Quota
public Quota Quota { get; set; }
Property Value
SourceInfo
public SourceInfo SourceInfo { get; set; }
Output only. The source information for this configuration if available.
Property Value
SystemParameters
public SystemParameters SystemParameters { get; set; }
System parameter configuration.
Property Value
Title
public string Title { get; set; }
The product title for this service.
Property Value
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
Property Value
Usage
public Usage Usage { get; set; }
Configuration controlling usage of this service.
Property Value
Methods
CalculateSize()
public int CalculateSize()
Returns
Clone()
Returns
Equals(Service)
public bool Equals(Service other)
Parameter
Returns
Equals(Object)
public override bool Equals(object other)
Parameter
Returns
GetHashCode()
public override int GetHashCode()
Returns
MergeFrom(Service)
public void MergeFrom(Service other)
Parameter
public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
ToString()
public override string ToString()
Returns
WriteTo(Protobuf.CodedOutputStream)
public void WriteTo(Protobuf.CodedOutputStream output)
Parameter