google-cloud-logging-v2 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,18 +21,22 @@ module Google
21
21
  module Cloud
22
22
  module Logging
23
23
  module V2
24
- # Describes a repository of logs.
25
- # @!attribute [rw] name
24
+ # Describes a repository in which log entries are stored.
25
+ # @!attribute [r] name
26
26
  # @return [::String]
27
- # The resource name of the bucket.
27
+ # Output only. The resource name of the bucket.
28
+ #
28
29
  # For example:
29
- # "projects/my-project-id/locations/my-location/buckets/my-bucket-id The
30
- # supported locations are:
31
- # "global"
32
30
  #
33
- # For the location of `global` it is unspecified where logs are actually
34
- # stored.
35
- # Once a bucket has been created, the location can not be changed.
31
+ # `projects/my-project/locations/global/buckets/my-bucket`
32
+ #
33
+ # For a list of supported locations, see [Supported
34
+ # Regions](https://cloud.google.com/logging/docs/region-support)
35
+ #
36
+ # For the location of `global` it is unspecified where log entries are
37
+ # actually stored.
38
+ #
39
+ # After a bucket has been created, the location cannot be changed.
36
40
  # @!attribute [rw] description
37
41
  # @return [::String]
38
42
  # Describes this bucket.
@@ -46,28 +50,47 @@ module Google
46
50
  # @!attribute [rw] retention_days
47
51
  # @return [::Integer]
48
52
  # Logs will be retained by default for this amount of time, after which they
49
- # will automatically be deleted. The minimum retention period is 1 day.
50
- # If this value is set to zero at bucket creation time, the default time of
51
- # 30 days will be used.
53
+ # will automatically be deleted. The minimum retention period is 1 day. If
54
+ # this value is set to zero at bucket creation time, the default time of 30
55
+ # days will be used.
52
56
  # @!attribute [rw] locked
53
57
  # @return [::Boolean]
54
- # Whether the bucket has been locked.
55
- # The retention period on a locked bucket may not be changed.
56
- # Locked buckets may only be deleted if they are empty.
58
+ # Whether the bucket is locked.
59
+ #
60
+ # The retention period on a locked bucket cannot be changed. Locked buckets
61
+ # may only be deleted if they are empty.
57
62
  # @!attribute [r] lifecycle_state
58
63
  # @return [::Google::Cloud::Logging::V2::LifecycleState]
59
64
  # Output only. The bucket lifecycle state.
65
+ # @!attribute [rw] restricted_fields
66
+ # @return [::Array<::String>]
67
+ # Log entry field paths that are denied access in this bucket.
68
+ #
69
+ # The following fields and their children are eligible: `textPayload`,
70
+ # `jsonPayload`, `protoPayload`, `httpRequest`, `labels`, `sourceLocation`.
71
+ #
72
+ # Restricting a repeated field will restrict all values. Adding a parent will
73
+ # block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`)
74
+ # @!attribute [rw] cmek_settings
75
+ # @return [::Google::Cloud::Logging::V2::CmekSettings]
76
+ # The CMEK settings of the log bucket. If present, new log entries written to
77
+ # this log bucket are encrypted using the CMEK key provided in this
78
+ # configuration. If a log bucket has CMEK settings, the CMEK settings cannot
79
+ # be disabled later by updating the log bucket. Changing the KMS key is
80
+ # allowed.
60
81
  class LogBucket
61
82
  include ::Google::Protobuf::MessageExts
62
83
  extend ::Google::Protobuf::MessageExts::ClassMethods
63
84
  end
64
85
 
65
- # Describes a view over logs in a bucket.
86
+ # Describes a view over log entries in a bucket.
66
87
  # @!attribute [rw] name
67
88
  # @return [::String]
68
89
  # The resource name of the view.
69
- # For example
70
- # "projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view
90
+ #
91
+ # For example:
92
+ #
93
+ # `projects/my-project/locations/global/buckets/my-bucket/views/my-view`
71
94
  # @!attribute [rw] description
72
95
  # @return [::String]
73
96
  # Describes this view.
@@ -80,28 +103,35 @@ module Google
80
103
  # @!attribute [rw] filter
81
104
  # @return [::String]
82
105
  # Filter that restricts which log entries in a bucket are visible in this
83
- # view. Filters are restricted to be a logical AND of ==/!= of any of the
106
+ # view.
107
+ #
108
+ # Filters are restricted to be a logical AND of ==/!= of any of the
84
109
  # following:
85
- # originating project/folder/organization/billing account.
86
- # resource type
87
- # log id
88
- # Example: SOURCE("projects/myproject") AND resource.type = "gce_instance"
89
- # AND LOG_ID("stdout")
110
+ #
111
+ # - originating project/folder/organization/billing account.
112
+ # - resource type
113
+ # - log id
114
+ #
115
+ # For example:
116
+ #
117
+ # SOURCE("projects/myproject") AND resource.type = "gce_instance"
118
+ # AND LOG_ID("stdout")
90
119
  class LogView
91
120
  include ::Google::Protobuf::MessageExts
92
121
  extend ::Google::Protobuf::MessageExts::ClassMethods
93
122
  end
94
123
 
95
124
  # Describes a sink used to export log entries to one of the following
96
- # destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a
97
- # Cloud Pub/Sub topic. A logs filter controls which log entries are exported.
98
- # The sink must be created within a project, organization, billing account, or
99
- # folder.
125
+ # destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a
126
+ # Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log
127
+ # entries are exported. The sink must be created within a project,
128
+ # organization, billing account, or folder.
100
129
  # @!attribute [rw] name
101
130
  # @return [::String]
102
- # Required. The client-assigned sink identifier, unique within the project. Example:
103
- # `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100
104
- # characters and can include only the following characters: upper and
131
+ # Required. The client-assigned sink identifier, unique within the project.
132
+ #
133
+ # For example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited
134
+ # to 100 characters and can include only the following characters: upper and
105
135
  # lower-case alphanumeric characters, underscores, hyphens, and periods.
106
136
  # First character has to be alphanumeric.
107
137
  # @!attribute [rw] destination
@@ -112,9 +142,9 @@ module Google
112
142
  # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
113
143
  # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
114
144
  #
115
- # The sink's `writer_identity`, set when the sink is created, must
116
- # have permission to write to the destination or else the log
117
- # entries are not exported. For more information, see
145
+ # The sink's `writer_identity`, set when the sink is created, must have
146
+ # permission to write to the destination or else the log entries are not
147
+ # exported. For more information, see
118
148
  # [Exporting Logs with
119
149
  # Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
120
150
  # @!attribute [rw] filter
@@ -122,20 +152,24 @@ module Google
122
152
  # Optional. An [advanced logs
123
153
  # filter](https://cloud.google.com/logging/docs/view/advanced-queries). The
124
154
  # only exported log entries are those that are in the resource owning the
125
- # sink and that match the filter. For example:
155
+ # sink and that match the filter.
156
+ #
157
+ # For example:
126
158
  #
127
- # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
159
+ # `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR`
128
160
  # @!attribute [rw] description
129
161
  # @return [::String]
130
162
  # Optional. A description of this sink.
163
+ #
131
164
  # The maximum length of the description is 8000 characters.
132
165
  # @!attribute [rw] disabled
133
166
  # @return [::Boolean]
134
- # Optional. If set to True, then this sink is disabled and it does not
135
- # export any log entries.
167
+ # Optional. If set to true, then this sink is disabled and it does not export any log
168
+ # entries.
136
169
  # @!attribute [rw] exclusions
137
170
  # @return [::Array<::Google::Cloud::Logging::V2::LogExclusion>]
138
- # Optional. Log entries that match any of the exclusion filters will not be exported.
171
+ # Optional. Log entries that match any of these exclusion filters will not be exported.
172
+ #
139
173
  # If a log entry is matched by both `filter` and one of `exclusion_filters`
140
174
  # it will not be exported.
141
175
  # @!attribute [rw] output_version_format
@@ -143,33 +177,42 @@ module Google
143
177
  # Deprecated. This field is unused.
144
178
  # @!attribute [r] writer_identity
145
179
  # @return [::String]
146
- # Output only. An IAM identity&mdash;a service account or group&mdash;under which Logging
147
- # writes the exported log entries to the sink's destination. This field is
148
- # set by {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#create_sink sinks.create} and
180
+ # Output only. An IAM identity&mdash;a service account or group&mdash;under which Cloud
181
+ # Logging writes the exported log entries to the sink's destination. This
182
+ # field is set by
183
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#create_sink sinks.create} and
149
184
  # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#update_sink sinks.update} based on the
150
185
  # value of `unique_writer_identity` in those methods.
151
186
  #
152
187
  # Until you grant this identity write-access to the destination, log entry
153
- # exports from this sink will fail. For more information,
154
- # see [Granting Access for a
188
+ # exports from this sink will fail. For more information, see [Granting
189
+ # Access for a
155
190
  # Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
156
191
  # Consult the destination service's documentation to determine the
157
192
  # appropriate IAM roles to assign to the identity.
193
+ #
194
+ # Sinks that have a destination that is a log bucket in the same project as
195
+ # the sink do not have a writer_identity and no additional permissions are
196
+ # required.
158
197
  # @!attribute [rw] include_children
159
198
  # @return [::Boolean]
160
- # Optional. This field applies only to sinks owned by organizations and
161
- # folders. If the field is false, the default, only the logs owned by the
162
- # sink's parent resource are available for export. If the field is true, then
163
- # logs from all the projects, folders, and billing accounts contained in the
199
+ # Optional. This field applies only to sinks owned by organizations and folders. If the
200
+ # field is false, the default, only the logs owned by the sink's parent
201
+ # resource are available for export. If the field is true, then log entries
202
+ # from all the projects, folders, and billing accounts contained in the
164
203
  # sink's parent resource are also available for export. Whether a particular
165
204
  # log entry from the children is exported depends on the sink's filter
166
- # expression. For example, if this field is true, then the filter
205
+ # expression.
206
+ #
207
+ # For example, if this field is true, then the filter
167
208
  # `resource.type=gce_instance` would export all Compute Engine VM instance
168
- # log entries from all projects in the sink's parent. To only export entries
169
- # from certain child projects, filter on the project part of the log name:
209
+ # log entries from all projects in the sink's parent.
210
+ #
211
+ # To only export entries from certain child projects, filter on the project
212
+ # part of the log name:
170
213
  #
171
- # logName:("projects/test-project1/" OR "projects/test-project2/") AND
172
- # resource.type=gce_instance
214
+ # logName:("projects/test-project1/" OR "projects/test-project2/") AND
215
+ # resource.type=gce_instance
173
216
  # @!attribute [rw] bigquery_options
174
217
  # @return [::Google::Cloud::Logging::V2::BigQueryOptions]
175
218
  # Optional. Options that affect sinks exporting data to BigQuery.
@@ -205,16 +248,17 @@ module Google
205
248
  # @return [::Boolean]
206
249
  # Optional. Whether to use [BigQuery's partition
207
250
  # tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By
208
- # default, Logging creates dated tables based on the log entries' timestamps,
209
- # e.g. syslog_20170523. With partitioned tables the date suffix is no longer
210
- # present and [special query
251
+ # default, Cloud Logging creates dated tables based on the log entries'
252
+ # timestamps, e.g. syslog_20170523. With partitioned tables the date suffix
253
+ # is no longer present and [special query
211
254
  # syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables)
212
255
  # has to be used instead. In both cases, tables are sharded based on UTC
213
256
  # timezone.
214
257
  # @!attribute [r] uses_timestamp_column_partitioning
215
258
  # @return [::Boolean]
216
- # Output only. True if new timestamp column based partitioning is in use,
217
- # false if legacy ingestion-time partitioning is in use.
259
+ # Output only. True if new timestamp column based partitioning is in use, false if legacy
260
+ # ingestion-time partitioning is in use.
261
+ #
218
262
  # All new sinks will have this field set true and will use timestamp column
219
263
  # based partitioning. If use_partitioned_tables is false, this value has no
220
264
  # meaning and will be false. Legacy sinks using partitioned tables will have
@@ -239,15 +283,15 @@ module Google
239
283
  # buckets.
240
284
  # @!attribute [rw] page_token
241
285
  # @return [::String]
242
- # Optional. If present, then retrieve the next batch of results from the
243
- # preceding call to this method. `pageToken` must be the value of
244
- # `nextPageToken` from the previous response. The values of other method
245
- # parameters should be identical to those in the previous call.
286
+ # Optional. If present, then retrieve the next batch of results from the preceding call
287
+ # to this method. `pageToken` must be the value of `nextPageToken` from the
288
+ # previous response. The values of other method parameters should be
289
+ # identical to those in the previous call.
246
290
  # @!attribute [rw] page_size
247
291
  # @return [::Integer]
248
- # Optional. The maximum number of results to return from this request.
249
- # Non-positive values are ignored. The presence of `nextPageToken` in the
250
- # response indicates that more results might be available.
292
+ # Optional. The maximum number of results to return from this request. Non-positive
293
+ # values are ignored. The presence of `nextPageToken` in the response
294
+ # indicates that more results might be available.
251
295
  class ListBucketsRequest
252
296
  include ::Google::Protobuf::MessageExts
253
297
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -270,16 +314,18 @@ module Google
270
314
  # The parameters to `CreateBucket`.
271
315
  # @!attribute [rw] parent
272
316
  # @return [::String]
273
- # Required. The resource in which to create the bucket:
317
+ # Required. The resource in which to create the log bucket:
274
318
  #
275
319
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
276
320
  #
277
- # Example: `"projects/my-logging-project/locations/global"`
321
+ # For example:
322
+ #
323
+ # `"projects/my-project/locations/global"`
278
324
  # @!attribute [rw] bucket_id
279
325
  # @return [::String]
280
- # Required. A client-assigned identifier such as `"my-bucket"`. Identifiers are
281
- # limited to 100 characters and can include only letters, digits,
282
- # underscores, hyphens, and periods.
326
+ # Required. A client-assigned identifier such as `"my-bucket"`. Identifiers are limited
327
+ # to 100 characters and can include only letters, digits, underscores,
328
+ # hyphens, and periods.
283
329
  # @!attribute [rw] bucket
284
330
  # @return [::Google::Cloud::Logging::V2::LogBucket]
285
331
  # Required. The new bucket. The region specified in the new bucket must be compliant
@@ -300,23 +346,22 @@ module Google
300
346
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
301
347
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
302
348
  #
303
- # Example:
304
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. Also
305
- # requires permission "resourcemanager.projects.updateLiens" to set the
306
- # locked property
349
+ # For example:
350
+ #
351
+ # `"projects/my-project/locations/global/buckets/my-bucket"`
307
352
  # @!attribute [rw] bucket
308
353
  # @return [::Google::Cloud::Logging::V2::LogBucket]
309
354
  # Required. The updated bucket.
310
355
  # @!attribute [rw] update_mask
311
356
  # @return [::Google::Protobuf::FieldMask]
312
357
  # Required. Field mask that specifies the fields in `bucket` that need an update. A
313
- # bucket field will be overwritten if, and only if, it is in the update
314
- # mask. `name` and output only fields cannot be updated.
358
+ # bucket field will be overwritten if, and only if, it is in the update mask.
359
+ # `name` and output only fields cannot be updated.
315
360
  #
316
- # For a detailed `FieldMask` definition, see
361
+ # For a detailed `FieldMask` definition, see:
317
362
  # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
318
363
  #
319
- # Example: `updateMask=retention_days`.
364
+ # For example: `updateMask=retention_days`
320
365
  class UpdateBucketRequest
321
366
  include ::Google::Protobuf::MessageExts
322
367
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -332,8 +377,9 @@ module Google
332
377
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
333
378
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
334
379
  #
335
- # Example:
336
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
380
+ # For example:
381
+ #
382
+ # `"projects/my-project/locations/global/buckets/my-bucket"`
337
383
  class GetBucketRequest
338
384
  include ::Google::Protobuf::MessageExts
339
385
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -349,8 +395,9 @@ module Google
349
395
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
350
396
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
351
397
  #
352
- # Example:
353
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
398
+ # For example:
399
+ #
400
+ # `"projects/my-project/locations/global/buckets/my-bucket"`
354
401
  class DeleteBucketRequest
355
402
  include ::Google::Protobuf::MessageExts
356
403
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -366,8 +413,9 @@ module Google
366
413
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
367
414
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
368
415
  #
369
- # Example:
370
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
416
+ # For example:
417
+ #
418
+ # `"projects/my-project/locations/global/buckets/my-bucket"`
371
419
  class UndeleteBucketRequest
372
420
  include ::Google::Protobuf::MessageExts
373
421
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -381,13 +429,14 @@ module Google
381
429
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
382
430
  # @!attribute [rw] page_token
383
431
  # @return [::String]
384
- # Optional. If present, then retrieve the next batch of results from the
385
- # preceding call to this method. `pageToken` must be the value of
386
- # `nextPageToken` from the previous response. The values of other method
387
- # parameters should be identical to those in the previous call.
432
+ # Optional. If present, then retrieve the next batch of results from the preceding call
433
+ # to this method. `pageToken` must be the value of `nextPageToken` from the
434
+ # previous response. The values of other method parameters should be
435
+ # identical to those in the previous call.
388
436
  # @!attribute [rw] page_size
389
437
  # @return [::Integer]
390
438
  # Optional. The maximum number of results to return from this request.
439
+ #
391
440
  # Non-positive values are ignored. The presence of `nextPageToken` in the
392
441
  # response indicates that more results might be available.
393
442
  class ListViewsRequest
@@ -414,10 +463,11 @@ module Google
414
463
  # @return [::String]
415
464
  # Required. The bucket in which to create the view
416
465
  #
417
- # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
466
+ # `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"`
418
467
  #
419
- # Example:
420
- # `"projects/my-logging-project/locations/my-location/buckets/my-bucket"`
468
+ # For example:
469
+ #
470
+ # `"projects/my-project/locations/global/buckets/my-bucket"`
421
471
  # @!attribute [rw] view_id
422
472
  # @return [::String]
423
473
  # Required. The id to use for this view.
@@ -436,8 +486,9 @@ module Google
436
486
  #
437
487
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
438
488
  #
439
- # Example:
440
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
489
+ # For example:
490
+ #
491
+ # `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
441
492
  # @!attribute [rw] view
442
493
  # @return [::Google::Cloud::Logging::V2::LogView]
443
494
  # Required. The updated view.
@@ -450,7 +501,7 @@ module Google
450
501
  # For a detailed `FieldMask` definition, see
451
502
  # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
452
503
  #
453
- # Example: `updateMask=filter`.
504
+ # For example: `updateMask=filter`
454
505
  class UpdateViewRequest
455
506
  include ::Google::Protobuf::MessageExts
456
507
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -463,8 +514,9 @@ module Google
463
514
  #
464
515
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
465
516
  #
466
- # Example:
467
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
517
+ # For example:
518
+ #
519
+ # `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
468
520
  class GetViewRequest
469
521
  include ::Google::Protobuf::MessageExts
470
522
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -477,8 +529,9 @@ module Google
477
529
  #
478
530
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]"
479
531
  #
480
- # Example:
481
- # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id/views/my-view-id"`.
532
+ # For example:
533
+ #
534
+ # `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`
482
535
  class DeleteViewRequest
483
536
  include ::Google::Protobuf::MessageExts
484
537
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -533,7 +586,9 @@ module Google
533
586
  # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
534
587
  # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
535
588
  #
536
- # Example: `"projects/my-project-id/sinks/my-sink-id"`.
589
+ # For example:
590
+ #
591
+ # `"projects/my-project/sinks/my-sink"`
537
592
  class GetSinkRequest
538
593
  include ::Google::Protobuf::MessageExts
539
594
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -549,7 +604,10 @@ module Google
549
604
  # "billingAccounts/[BILLING_ACCOUNT_ID]"
550
605
  # "folders/[FOLDER_ID]"
551
606
  #
552
- # Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
607
+ # For examples:
608
+ #
609
+ # `"projects/my-project"`
610
+ # `"organizations/123456789"`
553
611
  # @!attribute [rw] sink
554
612
  # @return [::Google::Cloud::Logging::V2::LogSink]
555
613
  # Required. The new sink, whose `name` parameter is a sink identifier that
@@ -559,9 +617,9 @@ module Google
559
617
  # Optional. Determines the kind of IAM identity returned as `writer_identity`
560
618
  # in the new sink. If this value is omitted or set to false, and if the
561
619
  # sink's parent is a project, then the value returned as `writer_identity` is
562
- # the same group or service account used by Logging before the addition of
563
- # writer identities to this API. The sink's destination must be in the same
564
- # project as the sink itself.
620
+ # the same group or service account used by Cloud Logging before the addition
621
+ # of writer identities to this API. The sink's destination must be in the
622
+ # same project as the sink itself.
565
623
  #
566
624
  # If this field is set to true, or if the sink is owned by a non-project
567
625
  # resource such as an organization, then the value of `writer_identity` will
@@ -583,7 +641,9 @@ module Google
583
641
  # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
584
642
  # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
585
643
  #
586
- # Example: `"projects/my-project-id/sinks/my-sink-id"`.
644
+ # For example:
645
+ #
646
+ # `"projects/my-project/sinks/my-sink"`
587
647
  # @!attribute [rw] sink
588
648
  # @return [::Google::Cloud::Logging::V2::LogSink]
589
649
  # Required. The updated sink, whose name is the same identifier that appears as part
@@ -607,16 +667,18 @@ module Google
607
667
  # an update. A sink field will be overwritten if, and only if, it is
608
668
  # in the update mask. `name` and output only fields cannot be updated.
609
669
  #
610
- # An empty updateMask is temporarily treated as using the following mask
670
+ # An empty `updateMask` is temporarily treated as using the following mask
611
671
  # for backwards compatibility purposes:
612
- # destination,filter,includeChildren
672
+ #
673
+ # `destination,filter,includeChildren`
674
+ #
613
675
  # At some point in the future, behavior will be removed and specifying an
614
- # empty updateMask will be an error.
676
+ # empty `updateMask` will be an error.
615
677
  #
616
678
  # For a detailed `FieldMask` definition, see
617
679
  # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
618
680
  #
619
- # Example: `updateMask=filter`.
681
+ # For example: `updateMask=filter`
620
682
  class UpdateSinkRequest
621
683
  include ::Google::Protobuf::MessageExts
622
684
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -633,18 +695,19 @@ module Google
633
695
  # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
634
696
  # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
635
697
  #
636
- # Example: `"projects/my-project-id/sinks/my-sink-id"`.
698
+ # For example:
699
+ #
700
+ # `"projects/my-project/sinks/my-sink"`
637
701
  class DeleteSinkRequest
638
702
  include ::Google::Protobuf::MessageExts
639
703
  extend ::Google::Protobuf::MessageExts::ClassMethods
640
704
  end
641
705
 
642
- # Specifies a set of log entries that are not to be stored in
643
- # Logging. If your GCP resource receives a large volume of logs, you can
644
- # use exclusions to reduce your chargeable logs. Exclusions are
645
- # processed after log sinks, so you can export log entries before they are
646
- # excluded. Note that organization-level and folder-level exclusions don't
647
- # apply to child resources, and that you can't exclude audit log entries.
706
+ # Specifies a set of log entries that are filtered out by a sink. If
707
+ # your Google Cloud resource receives a large volume of log entries, you can
708
+ # use exclusions to reduce your chargeable logs. Note that exclusions on
709
+ # organization-level and folder-level sinks don't apply to child resources.
710
+ # Note also that you cannot modify the _Required sink or exclude logs from it.
648
711
  # @!attribute [rw] name
649
712
  # @return [::String]
650
713
  # Required. A client-assigned identifier, such as `"load-balancer-exclusion"`.
@@ -661,10 +724,11 @@ module Google
661
724
  # matches the log entries to be excluded. By using the [sample
662
725
  # function](https://cloud.google.com/logging/docs/view/advanced-queries#sample),
663
726
  # you can exclude less than 100% of the matching log entries.
664
- # For example, the following query matches 99% of low-severity log
665
- # entries from Google Cloud Storage buckets:
666
727
  #
667
- # `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"`
728
+ # For example, the following query matches 99% of low-severity log entries
729
+ # from Google Cloud Storage buckets:
730
+ #
731
+ # `resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)`
668
732
  # @!attribute [rw] disabled
669
733
  # @return [::Boolean]
670
734
  # Optional. If set to True, then this exclusion is disabled and it does not
@@ -735,7 +799,9 @@ module Google
735
799
  # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
736
800
  # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
737
801
  #
738
- # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
802
+ # For example:
803
+ #
804
+ # `"projects/my-project/exclusions/my-exclusion"`
739
805
  class GetExclusionRequest
740
806
  include ::Google::Protobuf::MessageExts
741
807
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -751,7 +817,10 @@ module Google
751
817
  # "billingAccounts/[BILLING_ACCOUNT_ID]"
752
818
  # "folders/[FOLDER_ID]"
753
819
  #
754
- # Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
820
+ # For examples:
821
+ #
822
+ # `"projects/my-logging-project"`
823
+ # `"organizations/123456789"`
755
824
  # @!attribute [rw] exclusion
756
825
  # @return [::Google::Cloud::Logging::V2::LogExclusion]
757
826
  # Required. The new exclusion, whose `name` parameter is an exclusion name
@@ -771,7 +840,9 @@ module Google
771
840
  # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
772
841
  # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
773
842
  #
774
- # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
843
+ # For example:
844
+ #
845
+ # `"projects/my-project/exclusions/my-exclusion"`
775
846
  # @!attribute [rw] exclusion
776
847
  # @return [::Google::Cloud::Logging::V2::LogExclusion]
777
848
  # Required. New values for the existing exclusion. Only the fields specified in
@@ -800,7 +871,9 @@ module Google
800
871
  # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
801
872
  # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
802
873
  #
803
- # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
874
+ # For example:
875
+ #
876
+ # `"projects/my-project/exclusions/my-exclusion"`
804
877
  class DeleteExclusionRequest
805
878
  include ::Google::Protobuf::MessageExts
806
879
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -809,7 +882,7 @@ module Google
809
882
  # The parameters to
810
883
  # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings}.
811
884
  #
812
- # See [Enabling CMEK for Logs
885
+ # See [Enabling CMEK for Log
813
886
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
814
887
  # more information.
815
888
  # @!attribute [rw] name
@@ -821,11 +894,14 @@ module Google
821
894
  # "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
822
895
  # "folders/[FOLDER_ID]/cmekSettings"
823
896
  #
824
- # Example: `"organizations/12345/cmekSettings"`.
897
+ # For example:
898
+ #
899
+ # `"organizations/12345/cmekSettings"`
825
900
  #
826
- # Note: CMEK for the Logs Router can currently only be configured for GCP
827
- # organizations. Once configured, it applies to all projects and folders in
828
- # the GCP organization.
901
+ # Note: CMEK for the Log Router can be configured for Google Cloud projects,
902
+ # folders, organizations and billing accounts. Once configured for an
903
+ # organization, it applies to all projects and folders in the Google Cloud
904
+ # organization.
829
905
  class GetCmekSettingsRequest
830
906
  include ::Google::Protobuf::MessageExts
831
907
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -834,7 +910,7 @@ module Google
834
910
  # The parameters to
835
911
  # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#update_cmek_settings UpdateCmekSettings}.
836
912
  #
837
- # See [Enabling CMEK for Logs
913
+ # See [Enabling CMEK for Log
838
914
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
839
915
  # more information.
840
916
  # @!attribute [rw] name
@@ -846,16 +922,18 @@ module Google
846
922
  # "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
847
923
  # "folders/[FOLDER_ID]/cmekSettings"
848
924
  #
849
- # Example: `"organizations/12345/cmekSettings"`.
925
+ # For example:
926
+ #
927
+ # `"organizations/12345/cmekSettings"`
850
928
  #
851
- # Note: CMEK for the Logs Router can currently only be configured for GCP
852
- # organizations. Once configured, it applies to all projects and folders in
853
- # the GCP organization.
929
+ # Note: CMEK for the Log Router can currently only be configured for Google
930
+ # Cloud organizations. Once configured, it applies to all projects and
931
+ # folders in the Google Cloud organization.
854
932
  # @!attribute [rw] cmek_settings
855
933
  # @return [::Google::Cloud::Logging::V2::CmekSettings]
856
934
  # Required. The CMEK settings to update.
857
935
  #
858
- # See [Enabling CMEK for Logs
936
+ # See [Enabling CMEK for Log
859
937
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
860
938
  # for more information.
861
939
  # @!attribute [rw] update_mask
@@ -866,7 +944,7 @@ module Google
866
944
  #
867
945
  # See {::Google::Protobuf::FieldMask FieldMask} for more information.
868
946
  #
869
- # Example: `"updateMask=kmsKeyName"`
947
+ # For example: `"updateMask=kmsKeyName"`
870
948
  class UpdateCmekSettingsRequest
871
949
  include ::Google::Protobuf::MessageExts
872
950
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -875,11 +953,11 @@ module Google
875
953
  # Describes the customer-managed encryption key (CMEK) settings associated with
876
954
  # a project, folder, organization, billing account, or flexible resource.
877
955
  #
878
- # Note: CMEK for the Logs Router can currently only be configured for GCP
879
- # organizations. Once configured, it applies to all projects and folders in the
880
- # GCP organization.
956
+ # Note: CMEK for the Log Router can currently only be configured for Google
957
+ # Cloud organizations. Once configured, it applies to all projects and folders
958
+ # in the Google Cloud organization.
881
959
  #
882
- # See [Enabling CMEK for Logs
960
+ # See [Enabling CMEK for Log
883
961
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
884
962
  # more information.
885
963
  # @!attribute [r] name
@@ -890,40 +968,43 @@ module Google
890
968
  # The resource name for the configured Cloud KMS key.
891
969
  #
892
970
  # KMS key name format:
971
+ #
893
972
  # "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
894
973
  #
895
974
  # For example:
896
- # `"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"`
897
975
  #
976
+ # `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"`
898
977
  #
899
978
  #
900
- # To enable CMEK for the Logs Router, set this field to a valid
979
+ #
980
+ # To enable CMEK for the Log Router, set this field to a valid
901
981
  # `kms_key_name` for which the associated service account has the required
902
- # `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key.
982
+ # cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
903
983
  #
904
984
  # The Cloud KMS key used by the Log Router can be updated by changing the
905
- # `kms_key_name` to a new valid key name. Encryption operations that are in
906
- # progress will be completed with the key that was in use when they started.
907
- # Decryption operations will be completed using the key that was used at the
908
- # time of encryption unless access to that key has been revoked.
985
+ # `kms_key_name` to a new valid key name or disabled by setting the key name
986
+ # to an empty string. Encryption operations that are in progress will be
987
+ # completed with the key that was in use when they started. Decryption
988
+ # operations will be completed using the key that was used at the time of
989
+ # encryption unless access to that key has been revoked.
909
990
  #
910
- # To disable CMEK for the Logs Router, set this field to an empty string.
991
+ # To disable CMEK for the Log Router, set this field to an empty string.
911
992
  #
912
- # See [Enabling CMEK for Logs
993
+ # See [Enabling CMEK for Log
913
994
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
914
995
  # for more information.
915
996
  # @!attribute [r] service_account_id
916
997
  # @return [::String]
917
- # Output only. The service account that will be used by the Logs Router to access your
998
+ # Output only. The service account that will be used by the Log Router to access your
918
999
  # Cloud KMS key.
919
1000
  #
920
- # Before enabling CMEK for Logs Router, you must first assign the role
921
- # `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that
922
- # the Logs Router will use to access your Cloud KMS key. Use
1001
+ # Before enabling CMEK for Log Router, you must first assign the
1002
+ # cloudkms.cryptoKeyEncrypterDecrypter role to the service account that
1003
+ # the Log Router will use to access your Cloud KMS key. Use
923
1004
  # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings} to
924
1005
  # obtain the service account ID.
925
1006
  #
926
- # See [Enabling CMEK for Logs
1007
+ # See [Enabling CMEK for Log
927
1008
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
928
1009
  # for more information.
929
1010
  class CmekSettings
@@ -931,18 +1012,198 @@ module Google
931
1012
  extend ::Google::Protobuf::MessageExts::ClassMethods
932
1013
  end
933
1014
 
1015
+ # The parameters to
1016
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_settings GetSettings}.
1017
+ #
1018
+ # See [Enabling CMEK for Log
1019
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
1020
+ # more information.
1021
+ # @!attribute [rw] name
1022
+ # @return [::String]
1023
+ # Required. The resource for which to retrieve settings.
1024
+ #
1025
+ # "projects/[PROJECT_ID]/settings"
1026
+ # "organizations/[ORGANIZATION_ID]/settings"
1027
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/settings"
1028
+ # "folders/[FOLDER_ID]/settings"
1029
+ #
1030
+ # For example:
1031
+ #
1032
+ # `"organizations/12345/settings"`
1033
+ #
1034
+ # Note: Settings for the Log Router can be get for Google Cloud projects,
1035
+ # folders, organizations and billing accounts. Currently it can only be
1036
+ # configured for organizations. Once configured for an organization, it
1037
+ # applies to all projects and folders in the Google Cloud organization.
1038
+ class GetSettingsRequest
1039
+ include ::Google::Protobuf::MessageExts
1040
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1041
+ end
1042
+
1043
+ # The parameters to
1044
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#update_settings UpdateSettings}.
1045
+ #
1046
+ # See [Enabling CMEK for Log
1047
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for
1048
+ # more information.
1049
+ # @!attribute [rw] name
1050
+ # @return [::String]
1051
+ # Required. The resource name for the settings to update.
1052
+ #
1053
+ # "organizations/[ORGANIZATION_ID]/settings"
1054
+ #
1055
+ # For example:
1056
+ #
1057
+ # `"organizations/12345/settings"`
1058
+ #
1059
+ # Note: Settings for the Log Router can currently only be configured for
1060
+ # Google Cloud organizations. Once configured, it applies to all projects and
1061
+ # folders in the Google Cloud organization.
1062
+ # @!attribute [rw] settings
1063
+ # @return [::Google::Cloud::Logging::V2::Settings]
1064
+ # Required. The settings to update.
1065
+ #
1066
+ # See [Enabling CMEK for Log
1067
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
1068
+ # for more information.
1069
+ # @!attribute [rw] update_mask
1070
+ # @return [::Google::Protobuf::FieldMask]
1071
+ # Optional. Field mask identifying which fields from `settings` should
1072
+ # be updated. A field will be overwritten if and only if it is in the update
1073
+ # mask. Output only fields cannot be updated.
1074
+ #
1075
+ # See {::Google::Protobuf::FieldMask FieldMask} for more information.
1076
+ #
1077
+ # For example: `"updateMask=kmsKeyName"`
1078
+ class UpdateSettingsRequest
1079
+ include ::Google::Protobuf::MessageExts
1080
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1081
+ end
1082
+
1083
+ # Describes the settings associated with a project, folder, organization,
1084
+ # billing account, or flexible resource.
1085
+ # @!attribute [r] name
1086
+ # @return [::String]
1087
+ # Output only. The resource name of the settings.
1088
+ # @!attribute [rw] storage_location
1089
+ # @return [::String]
1090
+ # Optional. The Cloud region that will be used for _Default and _Required log buckets
1091
+ # for newly created projects and folders. For example `europe-west1`.
1092
+ # This setting does not affect the location of custom log buckets.
1093
+ # @!attribute [rw] disable_default_sink
1094
+ # @return [::Boolean]
1095
+ # Optional. If set to true, the _Default sink in newly created projects and folders
1096
+ # will created in a disabled state. This can be used to automatically disable
1097
+ # log ingestion if there is already an aggregated sink configured in the
1098
+ # hierarchy. The _Default sink can be re-enabled manually if needed.
1099
+ class Settings
1100
+ include ::Google::Protobuf::MessageExts
1101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1102
+ end
1103
+
1104
+ # The parameters to CopyLogEntries.
1105
+ # @!attribute [rw] name
1106
+ # @return [::String]
1107
+ # Required. Log bucket from which to copy log entries.
1108
+ #
1109
+ # For example:
1110
+ #
1111
+ # `"projects/my-project/locations/global/buckets/my-source-bucket"`
1112
+ # @!attribute [rw] filter
1113
+ # @return [::String]
1114
+ # Optional. A filter specifying which log entries to copy. The filter must be no more
1115
+ # than 20k characters. An empty filter matches all log entries.
1116
+ # @!attribute [rw] destination
1117
+ # @return [::String]
1118
+ # Required. Destination to which to copy log entries.
1119
+ class CopyLogEntriesRequest
1120
+ include ::Google::Protobuf::MessageExts
1121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1122
+ end
1123
+
1124
+ # Metadata for CopyLogEntries long running operations.
1125
+ # @!attribute [rw] start_time
1126
+ # @return [::Google::Protobuf::Timestamp]
1127
+ # The create time of an operation.
1128
+ # @!attribute [rw] end_time
1129
+ # @return [::Google::Protobuf::Timestamp]
1130
+ # The end time of an operation.
1131
+ # @!attribute [rw] state
1132
+ # @return [::Google::Cloud::Logging::V2::OperationState]
1133
+ # State of an operation.
1134
+ # @!attribute [rw] cancellation_requested
1135
+ # @return [::Boolean]
1136
+ # Identifies whether the user has requested cancellation of the operation.
1137
+ # @!attribute [rw] request
1138
+ # @return [::Google::Cloud::Logging::V2::CopyLogEntriesRequest]
1139
+ # CopyLogEntries RPC request.
1140
+ # @!attribute [rw] progress
1141
+ # @return [::Integer]
1142
+ # Estimated progress of the operation (0 - 100%).
1143
+ # @!attribute [rw] writer_identity
1144
+ # @return [::String]
1145
+ # The IAM identity of a service account that must be granted access to the
1146
+ # destination.
1147
+ #
1148
+ # If the service account is not granted permission to the destination within
1149
+ # an hour, the operation will be cancelled.
1150
+ #
1151
+ # For example: `"serviceAccount:foo@bar.com"`
1152
+ class CopyLogEntriesMetadata
1153
+ include ::Google::Protobuf::MessageExts
1154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1155
+ end
1156
+
1157
+ # Response type for CopyLogEntries long running operations.
1158
+ # @!attribute [rw] log_entries_copied_count
1159
+ # @return [::Integer]
1160
+ # Number of log entries copied.
1161
+ class CopyLogEntriesResponse
1162
+ include ::Google::Protobuf::MessageExts
1163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1164
+ end
1165
+
934
1166
  # LogBucket lifecycle states.
935
1167
  module LifecycleState
936
- # Unspecified state. This is only used/useful for distinguishing
937
- # unset values.
1168
+ # Unspecified state. This is only used/useful for distinguishing unset
1169
+ # values.
938
1170
  LIFECYCLE_STATE_UNSPECIFIED = 0
939
1171
 
940
1172
  # The normal and active state.
941
1173
  ACTIVE = 1
942
1174
 
943
- # The bucket has been marked for deletion by the user.
1175
+ # The resource has been marked for deletion by the user. For some resources
1176
+ # (e.g. buckets), this can be reversed by an un-delete operation.
944
1177
  DELETE_REQUESTED = 2
945
1178
  end
1179
+
1180
+ # List of different operation states.
1181
+ # High level state of the operation. This is used to report the job's
1182
+ # current state to the user. Once a long running operation is created,
1183
+ # the current state of the operation can be queried even before the
1184
+ # operation is finished and the final result is available.
1185
+ module OperationState
1186
+ # Should not be used.
1187
+ OPERATION_STATE_UNSPECIFIED = 0
1188
+
1189
+ # The operation is scheduled.
1190
+ OPERATION_STATE_SCHEDULED = 1
1191
+
1192
+ # Waiting for necessary permissions.
1193
+ OPERATION_STATE_WAITING_FOR_PERMISSIONS = 2
1194
+
1195
+ # The operation is running.
1196
+ OPERATION_STATE_RUNNING = 3
1197
+
1198
+ # The operation was completed successfully.
1199
+ OPERATION_STATE_SUCCEEDED = 4
1200
+
1201
+ # The operation failed.
1202
+ OPERATION_STATE_FAILED = 5
1203
+
1204
+ # The operation was cancelled by the user.
1205
+ OPERATION_STATE_CANCELLED = 6
1206
+ end
946
1207
  end
947
1208
  end
948
1209
  end