Skip to content

Commit

Permalink
fix!: proto annotations
Browse files Browse the repository at this point in the history
Co-authored-by: Benjamin E. Coe <bencoe@google.com>
  • Loading branch information
yoshi-automation and bcoe authored Mar 12, 2020
1 parent 572e600 commit e31cc01
Show file tree
Hide file tree
Showing 20 changed files with 4,101 additions and 1,712 deletions.
93 changes: 40 additions & 53 deletions protos/google/logging/v2/log_entry.proto
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ syntax = "proto3";

package google.logging.v2;

import "google/api/field_behavior.proto";
import "google/api/monitored_resource.proto";
import "google/api/resource.proto";
import "google/logging/type/http_request.proto";
Expand Down Expand Up @@ -55,9 +56,9 @@ message LogEntry {
// "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
// "folders/[FOLDER_ID]/logs/[LOG_ID]"
//
// A project number may optionally be used in place of PROJECT_ID. The project
// number is translated to its corresponding PROJECT_ID internally and the
// `log_name` field will contain PROJECT_ID in queries and exports.
// A project number may be used in place of PROJECT_ID. The project number is
// translated to its corresponding PROJECT_ID internally and the `log_name`
// field will contain PROJECT_ID in queries and exports.
//
// `[LOG_ID]` must be URL-encoded within `log_name`. Example:
// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
Expand All @@ -70,16 +71,16 @@ message LogEntry {
// forward-slash is removed. Listing the log entry will not show the leading
// slash and filtering for a log name with a leading slash will never return
// any results.
string log_name = 12;
string log_name = 12 [(google.api.field_behavior) = REQUIRED];

// Required. The monitored resource that produced this log entry.
//
// Example: a log entry that reports a database error would be associated with
// the monitored resource designating the particular database that reported
// the error.
google.api.MonitoredResource resource = 8;
google.api.MonitoredResource resource = 8 [(google.api.field_behavior) = REQUIRED];

// Optional. The log entry payload, which can be one of multiple types.
// The log entry payload, which can be one of multiple types.
oneof payload {
// The log entry payload, represented as a protocol buffer. Some Google
// Cloud Platform services use this field for their log entry payloads.
Expand All @@ -99,29 +100,27 @@ message LogEntry {
google.protobuf.Struct json_payload = 6;
}

// Optional. The time the event described by the log entry occurred. This
// time is used to compute the log entry's age and to enforce the logs
// retention period. If this field is omitted in a new log entry, then Logging
// assigns it the current time. Timestamps have nanosecond accuracy, but
// trailing zeros in the fractional seconds might be omitted when the
// timestamp is displayed.
// Optional. The time the event described by the log entry occurred. This time is used
// to compute the log entry's age and to enforce the logs retention period.
// If this field is omitted in a new log entry, then Logging assigns it the
// current time. Timestamps have nanosecond accuracy, but trailing zeros in
// the fractional seconds might be omitted when the timestamp is displayed.
//
// Incoming log entries should have timestamps that are no more than the [logs
// retention period](/logging/quotas) in the past, and no more than 24 hours
// in the future. Log entries outside those time boundaries will not be
// available when calling `entries.list`, but those log entries can still be
// [exported with LogSinks](/logging/docs/api/tasks/exporting-logs).
google.protobuf.Timestamp timestamp = 9;
google.protobuf.Timestamp timestamp = 9 [(google.api.field_behavior) = OPTIONAL];

// Output only. The time the log entry was received by Logging.
google.protobuf.Timestamp receive_timestamp = 24;
google.protobuf.Timestamp receive_timestamp = 24 [(google.api.field_behavior) = OUTPUT_ONLY];

// Optional. The severity of the log entry. The default value is
// `LogSeverity.DEFAULT`.
google.logging.type.LogSeverity severity = 10;
// Optional. The severity of the log entry. The default value is `LogSeverity.DEFAULT`.
google.logging.type.LogSeverity severity = 10 [(google.api.field_behavior) = OPTIONAL];

// Optional. A unique identifier for the log entry. If you provide a value,
// then Logging considers other log entries in the same project, with the same
// Optional. A unique identifier for the log entry. If you provide a value, then
// Logging considers other log entries in the same project, with the same
// `timestamp`, and with the same `insert_id` to be duplicates which are
// removed in a single query result. However, there are no guarantees of
// de-duplication in the export of logs.
Expand All @@ -131,43 +130,32 @@ message LogEntry {
//
// In queries, the `insert_id` is also used to order log entries that have
// the same `log_name` and `timestamp` values.
string insert_id = 4;
string insert_id = 4 [(google.api.field_behavior) = OPTIONAL];

// Optional. Information about the HTTP request associated with this log
// entry, if applicable.
google.logging.type.HttpRequest http_request = 7;
// Optional. Information about the HTTP request associated with this log entry, if
// applicable.
google.logging.type.HttpRequest http_request = 7 [(google.api.field_behavior) = OPTIONAL];

// Optional. A set of user-defined (key, value) data that provides additional
// information about the log entry.
map<string, string> labels = 11;

// Deprecated. Output only. Additional metadata about the monitored resource.
//
// Only `k8s_container`, `k8s_pod`, and `k8s_node` MonitoredResources have
// this field populated for GKE versions older than 1.12.6. For GKE versions
// 1.12.6 and above, the `metadata` field has been deprecated. The Kubernetes
// pod labels that used to be in `metadata.userLabels` will now be present in
// the `labels` field with a key prefix of `k8s-pod/`. The Stackdriver system
// labels that were present in the `metadata.systemLabels` field will no
// longer be available in the LogEntry.
google.api.MonitoredResourceMetadata metadata = 25 [deprecated = true];
map<string, string> labels = 11 [(google.api.field_behavior) = OPTIONAL];

// Optional. Information about an operation associated with the log entry, if
// applicable.
LogEntryOperation operation = 15;
LogEntryOperation operation = 15 [(google.api.field_behavior) = OPTIONAL];

// Optional. Resource name of the trace associated with the log entry, if any.
// If it contains a relative resource name, the name is assumed to be relative
// to `//tracing.googleapis.com`. Example:
// Optional. Resource name of the trace associated with the log entry, if any. If it
// contains a relative resource name, the name is assumed to be relative to
// `//tracing.googleapis.com`. Example:
// `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
string trace = 22;
string trace = 22 [(google.api.field_behavior) = OPTIONAL];

// Optional. The span ID within the trace associated with the log entry.
//
// For Trace spans, this is the same format that the Trace API v2 uses: a
// 16-character hexadecimal encoding of an 8-byte array, such as
// <code>"000000000000004a"</code>.
string span_id = 27;
// `000000000000004a`.
string span_id = 27 [(google.api.field_behavior) = OPTIONAL];

// Optional. The sampling decision of the trace associated with the log entry.
//
Expand All @@ -176,48 +164,47 @@ message LogEntry {
// for storage when this log entry was written, or the sampling decision was
// unknown at the time. A non-sampled `trace` value is still useful as a
// request correlation identifier. The default is False.
bool trace_sampled = 30;
bool trace_sampled = 30 [(google.api.field_behavior) = OPTIONAL];

// Optional. Source code location information associated with the log entry,
// if any.
LogEntrySourceLocation source_location = 23;
// Optional. Source code location information associated with the log entry, if any.
LogEntrySourceLocation source_location = 23 [(google.api.field_behavior) = OPTIONAL];
}

// Additional information about a potentially long-running operation with which
// a log entry is associated.
message LogEntryOperation {
// Optional. An arbitrary operation identifier. Log entries with the same
// identifier are assumed to be part of the same operation.
string id = 1;
string id = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. An arbitrary producer identifier. The combination of `id` and
// `producer` must be globally unique. Examples for `producer`:
// `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
string producer = 2;
string producer = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Set this to True if this is the first log entry in the operation.
bool first = 3;
bool first = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. Set this to True if this is the last log entry in the operation.
bool last = 4;
bool last = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Additional information about the source code location that produced the log
// entry.
message LogEntrySourceLocation {
// Optional. Source file name. Depending on the runtime environment, this
// might be a simple name or a fully-qualified name.
string file = 1;
string file = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. Line within the source file. 1-based; 0 indicates no line number
// available.
int64 line = 2;
int64 line = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Human-readable name of the function or method being invoked, with
// optional context such as the class or package name. This information may be
// used in contexts such as the logs viewer, where a file and line number are
// less meaningful. The format can vary by language. For example:
// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
// (Python).
string function = 3;
string function = 3 [(google.api.field_behavior) = OPTIONAL];
}
64 changes: 31 additions & 33 deletions protos/google/logging/v2/logging.proto
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ syntax = "proto3";

package google.logging.v2;

import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/monitored_resource.proto";
Expand All @@ -28,6 +27,7 @@ import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "google/rpc/status.proto";
import "google/api/annotations.proto";

option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Logging.V2";
Expand Down Expand Up @@ -142,7 +142,7 @@ message DeleteLogRequest {
string log_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "logging.googleapis.com/Log"
type: "logging.googleapis.com/Log"
}
];
}
Expand All @@ -162,13 +162,16 @@ message WriteLogEntriesRequest {
// "projects/my-project-id/logs/syslog"
// "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"
//
// The permission <code>logging.logEntries.create</code> is needed on each
// project, organization, billing account, or folder that is receiving
// new log entries, whether the resource is specified in
// <code>logName</code> or in an individual log entry.
string log_name = 1 [(google.api.resource_reference) = {
type: "logging.googleapis.com/Log"
}];
// The permission `logging.logEntries.create` is needed on each project,
// organization, billing account, or folder that is receiving new log
// entries, whether the resource is specified in `logName` or in an
// individual log entry.
string log_name = 1 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = {
type: "logging.googleapis.com/Log"
}
];

// Optional. A default monitored resource object that is assigned to all log
// entries in `entries` that do not specify a value for `resource`. Example:
Expand All @@ -178,13 +181,13 @@ message WriteLogEntriesRequest {
// "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
//
// See [LogEntry][google.logging.v2.LogEntry].
google.api.MonitoredResource resource = 2;
google.api.MonitoredResource resource = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Default labels that are added to the `labels` field of all log
// entries in `entries`. If a log entry already has a label with the same key
// as a label in this parameter, then the log entry's label is not changed.
// See [LogEntry][google.logging.v2.LogEntry].
map<string, string> labels = 3;
map<string, string> labels = 3 [(google.api.field_behavior) = OPTIONAL];

// Required. The log entries to send to Logging. The order of log
// entries in this list does not matter. Values supplied in this method's
Expand Down Expand Up @@ -216,19 +219,16 @@ message WriteLogEntriesRequest {
// entry is not written, then the response status is the error associated
// with one of the failed entries and the response includes error details
// keyed by the entries' zero-based index in the `entries.write` method.
bool partial_success = 5;
bool partial_success = 5 [(google.api.field_behavior) = OPTIONAL];

// Optional. If true, the request should expect normal response, but the
// entries won't be persisted nor exported. Useful for checking whether the
// logging API endpoints are working properly before sending valuable data.
bool dry_run = 6;
bool dry_run = 6 [(google.api.field_behavior) = OPTIONAL];
}

// Result returned from WriteLogEntries.
// empty
message WriteLogEntriesResponse {

}
message WriteLogEntriesResponse {}

// Error details for WriteLogEntries with partial success.
message WriteLogEntriesPartialErrors {
Expand All @@ -243,11 +243,6 @@ message WriteLogEntriesPartialErrors {

// The parameters to `ListLogEntries`.
message ListLogEntriesRequest {
// Deprecated. Use `resource_names` instead. One or more project identifiers
// or project numbers from which to retrieve log entries. Example:
// `"my-project-1A"`.
repeated string project_ids = 1 [deprecated = true];

// Required. Names of one or more parent resources from which to
// retrieve log entries:
//
Expand All @@ -272,26 +267,26 @@ message ListLogEntriesRequest {
// that is not listed in `resource_names` will cause the filter to return no
// results.
// The maximum length of the filter is 20000 characters.
string filter = 2;
string filter = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. How the results should be sorted. Presently, the only permitted
// values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
// option returns entries in order of increasing values of
// `LogEntry.timestamp` (oldest first), and the second option returns entries
// in order of decreasing timestamps (newest first). Entries with equal
// timestamps are returned in order of their `insert_id` values.
string order_by = 3;
string order_by = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The maximum number of results to return from this request.
// Non-positive values are ignored. The presence of `next_page_token` in the
// response indicates that more results might be available.
int32 page_size = 4;
int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];

// Optional. If present, then retrieve the next batch of results from the
// preceding call to this method. `page_token` must be the value of
// `next_page_token` from the previous response. The values of other method
// parameters should be identical to those in the previous call.
string page_token = 5;
string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
}

// Result returned from `ListLogEntries`.
Expand Down Expand Up @@ -319,13 +314,13 @@ message ListMonitoredResourceDescriptorsRequest {
// Optional. The maximum number of results to return from this request.
// Non-positive values are ignored. The presence of `nextPageToken` in the
// response indicates that more results might be available.
int32 page_size = 1;
int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. If present, then retrieve the next batch of results from the
// preceding call to this method. `pageToken` must be the value of
// `nextPageToken` from the previous response. The values of other method
// parameters should be identical to those in the previous call.
string page_token = 2;
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
}

// Result returned from ListMonitoredResourceDescriptors.
Expand All @@ -347,20 +342,23 @@ message ListLogsRequest {
// "organizations/[ORGANIZATION_ID]"
// "billingAccounts/[BILLING_ACCOUNT_ID]"
// "folders/[FOLDER_ID]"
string parent = 1 [(google.api.resource_reference) = {
child_type: "logging.googleapis.com/Log"
}];
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "logging.googleapis.com/Log"
}
];

// Optional. The maximum number of results to return from this request.
// Non-positive values are ignored. The presence of `nextPageToken` in the
// response indicates that more results might be available.
int32 page_size = 2;
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. If present, then retrieve the next batch of results from the
// preceding call to this method. `pageToken` must be the value of
// `nextPageToken` from the previous response. The values of other method
// parameters should be identical to those in the previous call.
string page_token = 3;
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
}

// Result returned from ListLogs.
Expand Down
Loading

0 comments on commit e31cc01

Please sign in to comment.