public sealed class Service : IMessage<Service>, IEquatable<Service>, IDeepCloneable<Service>, IBufferMessage, IMessage
Service acts as a top-level container that manages a set of configurations and revision templates which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership.
Implements
IMessage<Service>, IEquatable<Service>, IDeepCloneable<Service>, IBufferMessage, IMessageNamespace
Google.Cloud.Run.V2Assembly
Google.Cloud.Run.V2.dll
Constructors
Service()
public Service()
Service(Service)
public Service(Service other)
Parameter | |
---|---|
Name | Description |
other | Service |
Properties
Annotations
public MapField<string, string> Annotations { get; }
Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run will populate some annotations using 'run.googleapis.com' or 'serving.knative.dev' namespaces. This field follows Kubernetes annotations' namespacing, limits, and rules. More info: https://kubernetes.io/docs/user-guide/annotations
Property Value | |
---|---|
Type | Description |
MapField<String, String> |
BinaryAuthorization
public BinaryAuthorization BinaryAuthorization { get; set; }
Settings for the Binary Authorization feature.
Property Value | |
---|---|
Type | Description |
BinaryAuthorization |
Client
public string Client { get; set; }
Arbitrary identifier for the API client.
Property Value | |
---|---|
Type | Description |
String |
ClientVersion
public string ClientVersion { get; set; }
Arbitrary version identifier for the API client.
Property Value | |
---|---|
Type | Description |
String |
Conditions
public RepeatedField<Condition> Conditions { get; }
Output only. The Conditions of all other associated sub-resources. They contain
additional diagnostics information in case the Service does not reach its
Serving state. See comments in reconciling
for additional information on
reconciliation process in Cloud Run.
Property Value | |
---|---|
Type | Description |
RepeatedField<Condition> |
CreateTime
public Timestamp CreateTime { get; set; }
Output only. The creation time.
Property Value | |
---|---|
Type | Description |
Timestamp |
Creator
public string Creator { get; set; }
Output only. Email address of the authenticated creator.
Property Value | |
---|---|
Type | Description |
String |
DeleteTime
public Timestamp DeleteTime { get; set; }
Output only. The deletion time.
Property Value | |
---|---|
Type | Description |
Timestamp |
Description
public string Description { get; set; }
User-provided description of the Service. This field currently has a 512-character limit.
Property Value | |
---|---|
Type | Description |
String |
Etag
public string Etag { get; set; }
Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
Property Value | |
---|---|
Type | Description |
String |
ExpireTime
public Timestamp ExpireTime { get; set; }
Output only. For a deleted resource, the time after which it will be permamently deleted.
Property Value | |
---|---|
Type | Description |
Timestamp |
Generation
public long Generation { get; set; }
Output only. A number that monotonically increases every time the user
modifies the desired state.
Please note that unlike v1, this is an int64 value. As with most Google
APIs, its JSON representation will be a string
instead of an integer
.
Property Value | |
---|---|
Type | Description |
Int64 |
Ingress
public IngressTraffic Ingress { get; set; }
Provides the ingress settings for this Service. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
Property Value | |
---|---|
Type | Description |
IngressTraffic |
Labels
public MapField<string, string> Labels { get; }
Map of string keys and values that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels Cloud Run will populate some labels with 'run.googleapis.com' or 'serving.knative.dev' namespaces. Those labels are read-only, and user changes will not be preserved.
Property Value | |
---|---|
Type | Description |
MapField<String, String> |
LastModifier
public string LastModifier { get; set; }
Output only. Email address of the last authenticated modifier.
Property Value | |
---|---|
Type | Description |
String |
LatestCreatedRevision
public string LatestCreatedRevision { get; set; }
Output only. Name of the last created revision. See comments in reconciling
for
additional information on reconciliation process in Cloud Run.
Property Value | |
---|---|
Type | Description |
String |
LatestCreatedRevisionAsRevisionName
public RevisionName LatestCreatedRevisionAsRevisionName { get; set; }
RevisionName-typed view over the LatestCreatedRevision resource name property.
Property Value | |
---|---|
Type | Description |
RevisionName |
LatestReadyRevision
public string LatestReadyRevision { get; set; }
Output only. Name of the latest revision that is serving traffic. See comments in
reconciling
for additional information on reconciliation process in Cloud
Run.
Property Value | |
---|---|
Type | Description |
String |
LatestReadyRevisionAsRevisionName
public RevisionName LatestReadyRevisionAsRevisionName { get; set; }
RevisionName-typed view over the LatestReadyRevision resource name property.
Property Value | |
---|---|
Type | Description |
RevisionName |
LaunchStage
public LaunchStage LaunchStage { get; set; }
The launch stage as defined by Google Cloud Platform
Launch Stages.
Cloud Run supports ALPHA
, BETA
, and GA
. If no value is specified, GA
is assumed.
Property Value | |
---|---|
Type | Description |
LaunchStage |
Name
public string Name { get; set; }
The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id.
Format: projects/{project}/locations/{location}/services/{service_id}
Property Value | |
---|---|
Type | Description |
String |
ObservedGeneration
public long ObservedGeneration { get; set; }
Output only. The generation of this Service currently serving traffic. See comments in
reconciling
for additional information on reconciliation process in Cloud
Run.
Please note that unlike v1, this is an int64 value. As with most Google
APIs, its JSON representation will be a string
instead of an integer
.
Property Value | |
---|---|
Type | Description |
Int64 |
Reconciling
public bool Reconciling { get; set; }
Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state.
When a new Service is created, or an existing one is updated, Cloud Run
will asynchronously perform all necessary steps to bring the Service to the
desired serving state. This process is called reconciliation.
While reconciliation is in process, observed_generation
,
latest_ready_revison
, traffic_statuses
, and uri
will have transient
values that might mismatch the intended state: Once reconciliation is over
(and this field is false), there are two possible outcomes: reconciliation
succeeded and the serving state matches the Service, or there was an error,
and reconciliation failed. This state can be found in
terminal_condition.state
.
If reconciliation succeeded, the following fields will match: traffic
and
traffic_statuses
, observed_generation
and generation
,
latest_ready_revision
and latest_created_revision
.
If reconciliation failed, traffic_statuses
, observed_generation
, and
latest_ready_revision
will have the state of the last serving revision,
or empty for newly created Services. Additional information on the failure
can be found in terminal_condition
and conditions
.
Property Value | |
---|---|
Type | Description |
Boolean |
ServiceName
public ServiceName ServiceName { get; set; }
ServiceName-typed view over the Name resource name property.
Property Value | |
---|---|
Type | Description |
ServiceName |
Template
public RevisionTemplate Template { get; set; }
Required. The template used to create revisions for this Service.
Property Value | |
---|---|
Type | Description |
RevisionTemplate |
TerminalCondition
public Condition TerminalCondition { get; set; }
Output only. The Condition of this Service, containing its readiness status, and
detailed error information in case it did not reach a serving state. See
comments in reconciling
for additional information on reconciliation
process in Cloud Run.
Property Value | |
---|---|
Type | Description |
Condition |
Traffic
public RepeatedField<TrafficTarget> Traffic { get; }
Specifies how to distribute traffic over a collection of Revisions
belonging to the Service. If traffic is empty or not provided, defaults to
100% traffic to the latest Ready
Revision.
Property Value | |
---|---|
Type | Description |
RepeatedField<TrafficTarget> |
TrafficStatuses
public RepeatedField<TrafficTargetStatus> TrafficStatuses { get; }
Output only. Detailed status information for corresponding traffic targets. See comments
in reconciling
for additional information on reconciliation process in
Cloud Run.
Property Value | |
---|---|
Type | Description |
RepeatedField<TrafficTargetStatus> |
Uid
public string Uid { get; set; }
Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.
Property Value | |
---|---|
Type | Description |
String |
UpdateTime
public Timestamp UpdateTime { get; set; }
Output only. The last-modified time.
Property Value | |
---|---|
Type | Description |
Timestamp |
Uri
public string Uri { get; set; }
Output only. The main URI in which this Service is serving traffic.
Property Value | |
---|---|
Type | Description |
String |