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 |
---|
Name | Description |
other | Service
|
Fields
ApisFieldNumber
public const int ApisFieldNumber = 3
Field number for the "apis" field.
Field Value |
---|
Type | Description |
Int32 | |
AuthenticationFieldNumber
public const int AuthenticationFieldNumber = 11
Field number for the "authentication" field.
Field Value |
---|
Type | Description |
Int32 | |
BackendFieldNumber
public const int BackendFieldNumber = 8
Field number for the "backend" field.
Field Value |
---|
Type | Description |
Int32 | |
BillingFieldNumber
public const int BillingFieldNumber = 26
Field number for the "billing" field.
Field Value |
---|
Type | Description |
Int32 | |
ConfigVersionFieldNumber
public const int ConfigVersionFieldNumber = 20
Field number for the "config_version" field.
Field Value |
---|
Type | Description |
Int32 | |
ContextFieldNumber
public const int ContextFieldNumber = 12
Field number for the "context" field.
Field Value |
---|
Type | Description |
Int32 | |
ControlFieldNumber
public const int ControlFieldNumber = 21
Field number for the "control" field.
Field Value |
---|
Type | Description |
Int32 | |
DocumentationFieldNumber
public const int DocumentationFieldNumber = 6
Field number for the "documentation" field.
Field Value |
---|
Type | Description |
Int32 | |
EndpointsFieldNumber
public const int EndpointsFieldNumber = 18
Field number for the "endpoints" field.
Field Value |
---|
Type | Description |
Int32 | |
EnumsFieldNumber
public const int EnumsFieldNumber = 5
Field number for the "enums" field.
Field Value |
---|
Type | Description |
Int32 | |
HttpFieldNumber
public const int HttpFieldNumber = 9
Field number for the "http" field.
Field Value |
---|
Type | Description |
Int32 | |
IdFieldNumber
public const int IdFieldNumber = 33
Field number for the "id" field.
Field Value |
---|
Type | Description |
Int32 | |
LoggingFieldNumber
public const int LoggingFieldNumber = 27
Field number for the "logging" field.
Field Value |
---|
Type | Description |
Int32 | |
LogsFieldNumber
public const int LogsFieldNumber = 23
Field number for the "logs" field.
Field Value |
---|
Type | Description |
Int32 | |
MetricsFieldNumber
public const int MetricsFieldNumber = 24
Field number for the "metrics" field.
Field Value |
---|
Type | Description |
Int32 | |
MonitoredResourcesFieldNumber
public const int MonitoredResourcesFieldNumber = 25
Field number for the "monitored_resources" field.
Field Value |
---|
Type | Description |
Int32 | |
MonitoringFieldNumber
public const int MonitoringFieldNumber = 28
Field number for the "monitoring" field.
Field Value |
---|
Type | Description |
Int32 | |
NameFieldNumber
public const int NameFieldNumber = 1
Field number for the "name" field.
Field Value |
---|
Type | Description |
Int32 | |
ProducerProjectIdFieldNumber
public const int ProducerProjectIdFieldNumber = 22
Field number for the "producer_project_id" field.
Field Value |
---|
Type | Description |
Int32 | |
QuotaFieldNumber
public const int QuotaFieldNumber = 10
Field number for the "quota" field.
Field Value |
---|
Type | Description |
Int32 | |
SourceInfoFieldNumber
public const int SourceInfoFieldNumber = 37
Field number for the "source_info" field.
Field Value |
---|
Type | Description |
Int32 | |
SystemParametersFieldNumber
public const int SystemParametersFieldNumber = 29
Field number for the "system_parameters" field.
Field Value |
---|
Type | Description |
Int32 | |
TitleFieldNumber
public const int TitleFieldNumber = 2
Field number for the "title" field.
Field Value |
---|
Type | Description |
Int32 | |
Types_FieldNumber
public const int Types_FieldNumber = 4
Field number for the "types" field.
Field Value |
---|
Type | Description |
Int32 | |
UsageFieldNumber
public const int UsageFieldNumber = 15
Field number for the "usage" field.
Field Value |
---|
Type | Description |
Int32 | |
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; }
Backend
public Backend Backend { get; set; }
API backend configuration.
Property Value |
---|
Type | Description |
Backend | |
Billing
public Billing Billing { get; set; }
Property Value |
---|
Type | Description |
Billing | |
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; }
Property Value |
---|
Type | Description |
Context | |
Control
public Control Control { get; set; }
Configuration for the service control plane.
Property Value |
---|
Type | Description |
Control | |
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; }
Property Value |
---|
Type | Description |
Http | |
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 |
String | |
Logging
public Logging Logging { get; set; }
Property Value |
---|
Type | Description |
Logging | |
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.
Property Value |
---|
Type | Description |
String | |
Parser
public static Protobuf.MessageParser<Service> Parser { get; }
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Property Value |
---|
Type | Description |
String | |
Quota
public Quota Quota { get; set; }
Property Value |
---|
Type | Description |
Quota | |
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.
Property Value |
---|
Type | Description |
String | |
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.
Property Value |
---|
Type | Description |
Usage | |
Methods
CalculateSize()
public int CalculateSize()
Returns |
---|
Type | Description |
Int32 | |
Clone()
Equals(Service)
public bool Equals(Service other)
Parameter |
---|
Name | Description |
other | Service
|
Equals(Object)
public override bool Equals(object other)
Parameter |
---|
Name | Description |
other | Object
|
GetHashCode()
public override int GetHashCode()
Returns |
---|
Type | Description |
Int32 | |
MergeFrom(Service)
public void MergeFrom(Service other)
Parameter |
---|
Name | Description |
other | Service
|
public void MergeFrom(Protobuf.CodedInputStream input)
ToString()
public override string ToString()
WriteTo(Protobuf.CodedOutputStream)
public void WriteTo(Protobuf.CodedOutputStream output)