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
Implements
IMessage Service , IEquatable Service , IDeepCloneable Service , IBufferMessage , IMessageNamespace
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.
PublishingFieldNumber
public
const
int
PublishingFieldNumber
=
45
Field number for the "publishing" 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 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.
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; }
Obsolete. Do not use.
This field has no semantic meaning. The service config compiler always
sets this field to 3
.
System.UInt32
Context
public Context Context { get; set; }
Context configuration.
Control
public Control Control { get; set; }
Configuration for the service control plane.
Descriptor
public static MessageDescriptor Descriptor { get; }
Documentation
public Documentation Documentation { get; set; }
Additional API documentation.
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.
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
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 RepeatedField<LogDescriptor> Logs { get; }
Defines the logs used by this service.
Metrics
public RepeatedField<MetricDescriptor> Metrics { get; }
Defines the metrics used by this service.
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.
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 MessageParser<Service> Parser { get; }
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Publishing
public Publishing Publishing { get; set; }
Settings for Google Cloud Client libraries generated from APIs defined as protocol buffers.
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, it is the name displayed in Google Cloud Console.
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
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(CodedInputStream)
public void MergeFrom(CodedInputStream input)
ToString()
public override string ToString()
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)