feat: Makes remaining LogBucket and LogViews methods public

PiperOrigin-RevId: 342353190
This commit is contained in:
Google APIs 2020-11-13 15:44:35 -08:00 committed by Copybara-Service
parent eb60ffabbe
commit be0bdf86cd
4 changed files with 432 additions and 27 deletions

View File

@ -57,11 +57,13 @@ message HttpRequest {
string user_agent = 6;
// The IP address (IPv4 or IPv6) of the client that issued the HTTP
// request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
// request. This field can include port information. Examples:
// `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
string remote_ip = 7;
// The IP address (IPv4 or IPv6) of the origin server that the request was
// sent to.
// sent to. This field can include port information. Examples:
// `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
string server_ip = 13;
// The referer URL of the request, as defined in

View File

@ -64,6 +64,13 @@ authentication:
https://www.googleapis.com/auth/cloud-platform.read-only,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/logging.read
- selector: google.logging.v2.ConfigServiceV2.GetView
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/logging.read
- selector: google.logging.v2.ConfigServiceV2.ListBuckets
oauth:
canonical_scopes: |-
@ -85,6 +92,13 @@ authentication:
https://www.googleapis.com/auth/cloud-platform.read-only,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/logging.read
- selector: google.logging.v2.ConfigServiceV2.ListViews
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/cloud-platform.read-only,
https://www.googleapis.com/auth/logging.admin,
https://www.googleapis.com/auth/logging.read
- selector: 'google.logging.v2.LoggingServiceV2.*'
oauth:
canonical_scopes: |-

View File

@ -55,7 +55,7 @@ service ConfigServiceV2 {
"https://www.googleapis.com/auth/logging.admin,"
"https://www.googleapis.com/auth/logging.read";
// Lists buckets (Beta).
// Lists buckets.
rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) {
option (google.api.http) = {
get: "/v2/{parent=*/*/locations/*}/buckets"
@ -75,7 +75,7 @@ service ConfigServiceV2 {
option (google.api.method_signature) = "parent";
}
// Gets a bucket (Beta).
// Gets a bucket.
rpc GetBucket(GetBucketRequest) returns (LogBucket) {
option (google.api.http) = {
get: "/v2/{name=*/*/locations/*/buckets/*}"
@ -94,6 +94,31 @@ service ConfigServiceV2 {
};
}
// Creates a bucket that can be used to store log entries. Once a bucket has
// been created, the region cannot be changed.
rpc CreateBucket(CreateBucketRequest) returns (LogBucket) {
option (google.api.http) = {
post: "/v2/{parent=*/*/locations/*}/buckets"
body: "bucket"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*}/buckets"
body: "bucket"
}
additional_bindings {
post: "/v2/{parent=organizations/*/locations/*}/buckets"
body: "bucket"
}
additional_bindings {
post: "/v2/{parent=folders/*/locations/*}/buckets"
body: "bucket"
}
additional_bindings {
post: "/v2/{parent=billingAccounts/*/locations/*}/buckets"
body: "bucket"
}
};
}
// Updates a bucket. This method replaces the following fields in the
// existing bucket with values from the new bucket: `retention_period`
//
@ -104,7 +129,6 @@ service ConfigServiceV2 {
// will be returned.
//
// A buckets region may not be modified after it is created.
// This method is in Beta.
rpc UpdateBucket(UpdateBucketRequest) returns (LogBucket) {
option (google.api.http) = {
patch: "/v2/{name=*/*/locations/*/buckets/*}"
@ -128,6 +152,161 @@ service ConfigServiceV2 {
};
}
// Deletes a bucket.
// Moves the bucket to the DELETE_REQUESTED state. After 7 days, the
// bucket will be purged and all logs in the bucket will be permanently
// deleted.
rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v2/{name=*/*/locations/*/buckets/*}"
additional_bindings {
delete: "/v2/{name=projects/*/locations/*/buckets/*}"
}
additional_bindings {
delete: "/v2/{name=organizations/*/locations/*/buckets/*}"
}
additional_bindings {
delete: "/v2/{name=folders/*/locations/*/buckets/*}"
}
additional_bindings {
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*}"
}
};
}
// Undeletes a bucket. A bucket that has been deleted may be undeleted within
// the grace period of 7 days.
rpc UndeleteBucket(UndeleteBucketRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v2/{name=*/*/locations/*/buckets/*}:undelete"
body: "*"
additional_bindings {
post: "/v2/{name=projects/*/locations/*/buckets/*}:undelete"
body: "*"
}
additional_bindings {
post: "/v2/{name=organizations/*/locations/*/buckets/*}:undelete"
body: "*"
}
additional_bindings {
post: "/v2/{name=folders/*/locations/*/buckets/*}:undelete"
body: "*"
}
additional_bindings {
post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete"
body: "*"
}
};
}
// Lists views on a bucket.
rpc ListViews(ListViewsRequest) returns (ListViewsResponse) {
option (google.api.http) = {
get: "/v2/{parent=*/*/locations/*/buckets/*}/views"
additional_bindings {
get: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
}
additional_bindings {
get: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
}
additional_bindings {
get: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
}
additional_bindings {
get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
}
};
option (google.api.method_signature) = "parent";
}
// Gets a view.
rpc GetView(GetViewRequest) returns (LogView) {
option (google.api.http) = {
get: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
additional_bindings {
get: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
get: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
get: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
get: "/v2/{name=billingAccounts/*/buckets/*/views/*}"
}
};
}
// Creates a view over logs in a bucket. A bucket may contain a maximum of
// 50 views.
rpc CreateView(CreateViewRequest) returns (LogView) {
option (google.api.http) = {
post: "/v2/{parent=*/*/locations/*/buckets/*}/views"
body: "view"
additional_bindings {
post: "/v2/{parent=projects/*/locations/*/buckets/*}/views"
body: "view"
}
additional_bindings {
post: "/v2/{parent=organizations/*/locations/*/buckets/*}/views"
body: "view"
}
additional_bindings {
post: "/v2/{parent=folders/*/locations/*/buckets/*}/views"
body: "view"
}
additional_bindings {
post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views"
body: "view"
}
};
}
// Updates a view. This method replaces the following fields in the existing
// view with values from the new view: `filter`.
rpc UpdateView(UpdateViewRequest) returns (LogView) {
option (google.api.http) = {
patch: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
body: "view"
additional_bindings {
patch: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
body: "view"
}
additional_bindings {
patch: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
body: "view"
}
additional_bindings {
patch: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
body: "view"
}
additional_bindings {
patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
body: "view"
}
};
}
// Deletes a view from a bucket.
rpc DeleteView(DeleteViewRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v2/{name=*/*/locations/*/buckets/*/views/*}"
additional_bindings {
delete: "/v2/{name=projects/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
delete: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
delete: "/v2/{name=folders/*/locations/*/buckets/*/views/*}"
}
additional_bindings {
delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}"
}
};
}
// Lists sinks.
rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
option (google.api.http) = {
@ -420,7 +599,7 @@ service ConfigServiceV2 {
}
}
// Describes a repository of logs (Beta).
// Describes a repository of logs.
message LogBucket {
option (google.api.resource) = {
type: "logging.googleapis.com/LogBucket"
@ -435,7 +614,6 @@ message LogBucket {
// "projects/my-project-id/locations/my-location/buckets/my-bucket-id The
// supported locations are:
// "global"
// "us-central1"
//
// For the location of `global` it is unspecified where logs are actually
// stored.
@ -458,10 +636,63 @@ message LogBucket {
// 30 days will be used.
int32 retention_days = 11;
// Whether the bucket has been locked.
// The retention period on a locked bucket may not be changed.
// Locked buckets may only be deleted if they are empty.
bool locked = 9;
// Output only. The bucket lifecycle state.
LifecycleState lifecycle_state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// LogBucket lifecycle states.
enum LifecycleState {
// Unspecified state. This is only used/useful for distinguishing
// unset values.
LIFECYCLE_STATE_UNSPECIFIED = 0;
// The normal and active state.
ACTIVE = 1;
// The bucket has been marked for deletion by the user.
DELETE_REQUESTED = 2;
}
// Describes a view over logs in a bucket.
message LogView {
option (google.api.resource) = {
type: "logging.googleapis.com/LogView"
pattern: "projects/{project}/locations/{location}/buckets/{bucket}/views/{view}"
pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}"
pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}"
pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}"
};
// The resource name of the view.
// For example
// "projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view
string name = 1;
// Describes this view.
string description = 3;
// Output only. The creation timestamp of the view.
google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The last update timestamp of the view.
google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Filter that restricts which log entries in a bucket are visible in this
// view. Filters are restricted to be a logical AND of ==/!= of any of the
// following:
// originating project/folder/organization/billing account.
// resource type
// log id
// Example: SOURCE("projects/myproject") AND resource.type = "gce_instance"
// AND LOG_ID("stdout")
string filter = 7;
}
// Describes a sink used to export log entries to one of the following
// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a
// Cloud Pub/Sub topic. A logs filter controls which log entries are exported.
@ -529,10 +760,15 @@ message LogSink {
// export any log entries.
bool disabled = 19 [(google.api.field_behavior) = OPTIONAL];
// Optional. Log entries that match any of the exclusion filters will not be exported.
// If a log entry is matched by both `filter` and one of `exclusion_filters`
// it will not be exported.
repeated LogExclusion exclusions = 16 [(google.api.field_behavior) = OPTIONAL];
// Deprecated. This field is unused.
VersionFormat output_version_format = 6 [deprecated = true];
// Output only. An IAM identitya service account or group—under which Logging
// Output only. An IAM identity—a service account or group—under which Logging
// writes the exported log entries to the sink's destination. This field is
// set by [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and
// [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the
@ -599,20 +835,7 @@ message BigQueryOptions {
bool uses_timestamp_column_partitioning = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// LogBucket lifecycle states (Beta).
enum LifecycleState {
// Unspecified state. This is only used/useful for distinguishing
// unset values.
LIFECYCLE_STATE_UNSPECIFIED = 0;
// The normal and active state.
ACTIVE = 1;
// The bucket has been marked for deletion by the user.
DELETE_REQUESTED = 2;
}
// The parameters to `ListBuckets` (Beta).
// The parameters to `ListBuckets`.
message ListBucketsRequest {
// Required. The parent resource whose buckets are to be listed:
//
@ -643,7 +866,7 @@ message ListBucketsRequest {
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
}
// The response from ListBuckets (Beta).
// The response from ListBuckets.
message ListBucketsResponse {
// A list of buckets.
repeated LogBucket buckets = 1;
@ -654,7 +877,32 @@ message ListBucketsResponse {
string next_page_token = 2;
}
// The parameters to `UpdateBucket` (Beta).
// The parameters to `CreateBucket`.
message CreateBucketRequest {
// Required. The resource in which to create the bucket:
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
//
// Example: `"projects/my-logging-project/locations/global"`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "logging.googleapis.com/LogBucket"
}
];
// Required. A client-assigned identifier such as `"my-bucket"`. Identifiers are
// limited to 100 characters and can include only letters, digits,
// underscores, hyphens, and periods.
string bucket_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The new bucket. The region specified in the new bucket must be compliant
// with any Location Restriction Org Policy. The name field in the bucket is
// ignored.
LogBucket bucket = 3 [(google.api.field_behavior) = REQUIRED];
}
// The parameters to `UpdateBucket`.
message UpdateBucketRequest {
// Required. The full resource name of the bucket to update.
//
@ -688,7 +936,7 @@ message UpdateBucketRequest {
google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED];
}
// The parameters to `GetBucket` (Beta).
// The parameters to `GetBucket`.
message GetBucketRequest {
// Required. The resource name of the bucket:
//
@ -707,6 +955,147 @@ message GetBucketRequest {
];
}
// The parameters to `DeleteBucket`.
message DeleteBucketRequest {
// Required. The full resource name of the bucket to delete.
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
//
// Example:
// `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "logging.googleapis.com/LogBucket"
}
];
}
// The parameters to `UndeleteBucket`.
message UndeleteBucketRequest {
// Required. The full resource name of the bucket to undelete.
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
//
// Example:
// `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "logging.googleapis.com/LogBucket"
}
];
}
// The parameters to `ListViews`.
message ListViewsRequest {
// Required. The bucket whose views are to be listed:
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
string parent = 1 [(google.api.field_behavior) = REQUIRED];
// 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 [(google.api.field_behavior) = OPTIONAL];
// 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 = 3 [(google.api.field_behavior) = OPTIONAL];
}
// The response from ListViews.
message ListViewsResponse {
// A list of views.
repeated LogView views = 1;
// If there might be more results than appear in this response, then
// `nextPageToken` is included. To get the next set of results, call the same
// method again using the value of `nextPageToken` as `pageToken`.
string next_page_token = 2;
}
// The parameters to `CreateView`.
message CreateViewRequest {
// Required. The bucket in which to create the view
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
//
// Example:
// `"projects/my-logging-project/locations/my-location/buckets/my-bucket"`
string parent = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The id to use for this view.
string view_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The new view.
LogView view = 3 [(google.api.field_behavior) = REQUIRED];
}
// The parameters to `UpdateView`.
message UpdateViewRequest {
// Required. The full resource name of the view to update
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
//
// Example:
// `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
string name = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The updated view.
LogView view = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. Field mask that specifies the fields in `view` that need
// an update. A field will be overwritten if, and only if, it is
// in the update mask. `name` and output only fields cannot be updated.
//
// For a detailed `FieldMask` definition, see
// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
//
// Example: `updateMask=filter`.
google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = OPTIONAL];
}
// The parameters to `GetView`.
message GetViewRequest {
// Required. The resource name of the policy:
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
//
// Example:
// `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "logging.googleapis.com/LogView"
}
];
}
// The parameters to `DeleteView`.
message DeleteViewRequest {
// Required. The full resource name of the view to delete:
//
// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
//
// Example:
// `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "logging.googleapis.com/LogView"
}
];
}
// The parameters to `ListSinks`.
message ListSinksRequest {
// Required. The parent resource whose sinks are to be listed:

View File

@ -92,8 +92,8 @@ service MetricsServiceV2 {
// Describes a logs-based metric. The value of the metric is the number of log
// entries that match a logs filter in a given time interval.
//
// Logs-based metric can also be used to extract values from logs and create a
// a distribution of the values. The distribution records the statistics of the
// Logs-based metrics can also be used to extract values from logs and create a
// distribution of the values. The distribution records the statistics of the
// extracted values along with an optional histogram of the values as specified
// by the bucket options.
message LogMetric {