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.ApiAssembly
Google.Api.CommonProtos.dll
Constructors
Service()
public 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.
Property Value | |
---|---|
Type | Description |
RepeatedFieldApi |
Authentication
public Authentication Authentication { get; set; }
Auth configuration.
Property Value | |
---|---|
Type | Description |
Authentication |
Backend
public Backend Backend { get; set; }
API backend configuration.
Property Value | |
---|---|
Type | Description |
Backend |
Billing
public Billing Billing { get; set; }
Billing configuration.
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; }
Context configuration.
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; }
Property Value | |
---|---|
Type | Description |
MessageDescriptor |
Documentation
public Documentation Documentation { get; set; }
Additional API documentation.
Property Value | |
---|---|
Type | Description |
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.
Property Value | |
---|---|
Type | Description |
RepeatedFieldEndpoint |
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
Property Value | |
---|---|
Type | Description |
RepeatedFieldEnum |
Http
public Http Http { get; set; }
HTTP configuration.
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; }
Logging configuration.
Property Value | |
---|---|
Type | Description |
Logging |
Logs
public RepeatedField<LogDescriptor> Logs { get; }
Defines the logs used by this service.
Property Value | |
---|---|
Type | Description |
RepeatedFieldLogDescriptor |
Metrics
public RepeatedField<MetricDescriptor> Metrics { get; }
Defines the metrics used by this service.
Property Value | |
---|---|
Type | Description |
RepeatedFieldMetricDescriptor |
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.
Property Value | |
---|---|
Type | Description |
RepeatedFieldMonitoredResourceDescriptor |
Monitoring
public Monitoring Monitoring { get; set; }
Monitoring configuration.
Property Value | |
---|---|
Type | Description |
Monitoring |
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; }
Property Value | |
---|---|
Type | Description |
MessageParserService |
ProducerProjectId
public string ProducerProjectId { get; set; }
The Google project that owns this service.
Property Value | |
---|---|
Type | Description |
string |
Publishing
public Publishing Publishing { get; set; }
Settings for Google Cloud Client libraries generated from APIs defined as protocol buffers.
Property Value | |
---|---|
Type | Description |
Publishing |
Quota
public Quota Quota { get; set; }
Quota configuration.
Property Value | |
---|---|
Type | Description |
Quota |
SourceInfo
public SourceInfo SourceInfo { get; set; }
Output only. The source information for this configuration if available.
Property Value | |
---|---|
Type | Description |
SourceInfo |
SystemParameters
public SystemParameters SystemParameters { get; set; }
System parameter configuration.
Property Value | |
---|---|
Type | Description |
SystemParameters |
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
Property Value | |
---|---|
Type | Description |
RepeatedFieldType |
Usage
public Usage Usage { get; set; }
Configuration controlling usage of this service.
Property Value | |
---|---|
Type | Description |
Usage |
Methods
CalculateSize()
public int CalculateSize()
Calculates the size of this message in Protocol Buffer wire format, in bytes.
Returns | |
---|---|
Type | Description |
int |
The number of bytes required to write this message to a coded output stream. |
Clone()
public Service Clone()
Creates a deep clone of this object.
Returns | |
---|---|
Type | Description |
Service |
A deep clone of this object. |
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 |
GetHashCode()
public override int GetHashCode()
Returns | |
---|---|
Type | Description |
int |
MergeFrom(Service)
public void MergeFrom(Service other)
Merges the given message into this one.
Parameter | |
---|---|
Name | Description |
other |
Service |
See the user guide for precise merge semantics.
MergeFrom(CodedInputStream)
public void MergeFrom(CodedInputStream input)
Merges the data from the specified coded input stream with the current message.
Parameter | |
---|---|
Name | Description |
input |
CodedInputStream |
See the user guide for precise merge semantics.
ToString()
public override string ToString()
Returns | |
---|---|
Type | Description |
string |
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)
Writes the data to the given coded output stream.
Parameter | |
---|---|
Name | Description |
output |
CodedOutputStream Coded output stream to write the data to. Must not be null. |