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
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 |
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.
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; }
Obsolete. Do not use.
This field has no semantic meaning. The service config compiler always
sets this field to 3
.
Property Value |
Type |
Description |
uint |
|
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 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; }
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 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.
Property Value |
Type |
Description |
string |
|
Parser
public static MessageParser<Service> Parser { get; }
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Property Value |
Type |
Description |
string |
|
Publishing
public Publishing Publishing { get; set; }
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, it is the name displayed in Google
Cloud Console.
Property Value |
Type |
Description |
string |
|
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.
Property Value |
Type |
Description |
Usage |
|
Methods
CalculateSize()
public int CalculateSize()
Returns |
Type |
Description |
int |
|
Clone()
Equals(Service)
public bool Equals(Service other)
Parameter |
Name |
Description |
other |
Service
|
Returns |
Type |
Description |
bool |
|
Equals(object)
public override bool Equals(object other)
Parameter |
Name |
Description |
other |
object
|
Returns |
Type |
Description |
bool |
|
Overrides
GetHashCode()
public override int GetHashCode()
Returns |
Type |
Description |
int |
|
Overrides
MergeFrom(Service)
public void MergeFrom(Service other)
Parameter |
Name |
Description |
other |
Service
|
public void MergeFrom(CodedInputStream input)
ToString()
public override string ToString()
Returns |
Type |
Description |
string |
|
Overrides
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)