Class Operation (2.0.0)

public sealed class Operation : IMessage<Operation>, IEquatable<Operation>, IDeepCloneable<Operation>, IBufferMessage, IMessage

Represents information regarding an operation.

Inheritance

Object > Operation

Namespace

Google.Cloud.ServiceControl.V1

Assembly

Google.Cloud.ServiceControl.V1.dll

Constructors

Operation()

public Operation()

Operation(Operation)

public Operation(Operation other)
Parameter
NameDescription
otherOperation

Properties

ConsumerId

public string ConsumerId { get; set; }

Identity of the consumer who is using the service. This field should be filled in for the operations initiated by a consumer, but not for service-initiated operations that are not related to a specific consumer.

  • This can be in one of the following formats:
  • project:PROJECT_ID,
  • project_number:PROJECT_NUMBER,
  • projects/PROJECT_ID or PROJECT_NUMBER,
  • folders/FOLDER_NUMBER,
  • organizations/ORGANIZATION_NUMBER,
  • api_key:API_KEY.
Property Value
TypeDescription
String

EndTime

public Timestamp EndTime { get; set; }

End time of the operation. Required when the operation is used in [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report], but optional when the operation is used in [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check].

Property Value
TypeDescription
Timestamp

Extensions

public RepeatedField<Any> Extensions { get; }

Unimplemented.

Property Value
TypeDescription
RepeatedField<Any>

Importance

public Operation.Types.Importance Importance { get; set; }

DO NOT USE. This is an experimental field.

Property Value
TypeDescription
Operation.Types.Importance

Labels

public MapField<string, string> Labels { get; }

Labels describing the operation. Only the following labels are allowed:

  • Labels describing monitored resources as defined in the service configuration.
  • Default labels of metric values. When specified, labels defined in the metric value override these default.
  • The following labels defined by Google Cloud Platform:
  • cloud.googleapis.com/location describing the location where the operation happened,
  • servicecontrol.googleapis.com/user_agent describing the user agent of the API request,
  • servicecontrol.googleapis.com/service_agent describing the service used to handle the API request (e.g. ESP),
  • servicecontrol.googleapis.com/platform describing the platform where the API is served, such as App Engine, Compute Engine, or Kubernetes Engine.
Property Value
TypeDescription
MapField<String, String>

LogEntries

public RepeatedField<LogEntry> LogEntries { get; }

Represents information to be logged.

Property Value
TypeDescription
RepeatedField<LogEntry>

MetricValueSets

public RepeatedField<MetricValueSet> MetricValueSets { get; }

Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition.

Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error.

Property Value
TypeDescription
RepeatedField<MetricValueSet>

OperationId

public string OperationId { get; set; }

Identity of the operation. This must be unique within the scope of the service that generated the operation. If the service calls Check() and Report() on the same operation, the two calls should carry the same id.

UUID version 4 is recommended, though not required. In scenarios where an operation is computed from existing information and an idempotent id is desirable for deduplication purpose, UUID version 5 is recommended. See RFC 4122 for details.

Property Value
TypeDescription
String

OperationName

public string OperationName { get; set; }

Fully qualified name of the operation. Reserved for future use.

Property Value
TypeDescription
String

StartTime

public Timestamp StartTime { get; set; }

Required. Start time of the operation.

Property Value
TypeDescription
Timestamp