google-cloud-logging-v2 0.5.6 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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]"`
467
+ #
468
+ # For example:
418
469
  #
419
- # Example:
420
- # `"projects/my-logging-project/locations/my-location/buckets/my-bucket"`
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,14 +968,138 @@ module Google
890
968
  # The resource name for the configured Cloud KMS key.
891
969
  #
892
970
  # KMS key name format:
971
+ #
972
+ # "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
973
+ #
974
+ # For example:
975
+ #
976
+ # `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"`
977
+ #
978
+ #
979
+ #
980
+ # To enable CMEK for the Log Router, set this field to a valid
981
+ # `kms_key_name` for which the associated service account has the required
982
+ # cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
983
+ #
984
+ # The Cloud KMS key used by the Log Router can be updated by changing the
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.
990
+ #
991
+ # To disable CMEK for the Log Router, set this field to an empty string.
992
+ #
993
+ # See [Enabling CMEK for Log
994
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
995
+ # for more information.
996
+ # @!attribute [r] service_account_id
997
+ # @return [::String]
998
+ # Output only. The service account that will be used by the Log Router to access your
999
+ # Cloud KMS key.
1000
+ #
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
1004
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings} to
1005
+ # obtain the service account ID.
1006
+ #
1007
+ # See [Enabling CMEK for Log
1008
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
1009
+ # for more information.
1010
+ class CmekSettings
1011
+ include ::Google::Protobuf::MessageExts
1012
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1013
+ end
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] kms_key_name
1089
+ # @return [::String]
1090
+ # Optional. The resource name for the configured Cloud KMS key.
1091
+ #
1092
+ # KMS key name format:
1093
+ #
893
1094
  # "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
894
1095
  #
895
1096
  # For example:
896
- # `"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"`
897
1097
  #
1098
+ # `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"`
898
1099
  #
899
1100
  #
900
- # To enable CMEK for the Logs Router, set this field to a valid
1101
+ #
1102
+ # To enable CMEK for the Log Router, set this field to a valid
901
1103
  # `kms_key_name` for which the associated service account has the required
902
1104
  # `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key.
903
1105
  #
@@ -907,42 +1109,144 @@ module Google
907
1109
  # Decryption operations will be completed using the key that was used at the
908
1110
  # time of encryption unless access to that key has been revoked.
909
1111
  #
910
- # To disable CMEK for the Logs Router, set this field to an empty string.
1112
+ # To disable CMEK for the Log Router, set this field to an empty string.
911
1113
  #
912
- # See [Enabling CMEK for Logs
1114
+ # See [Enabling CMEK for Log
913
1115
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
914
1116
  # for more information.
915
- # @!attribute [r] service_account_id
1117
+ # @!attribute [r] kms_service_account_id
916
1118
  # @return [::String]
917
- # Output only. The service account that will be used by the Logs Router to access your
1119
+ # Output only. The service account that will be used by the Log Router to access your
918
1120
  # Cloud KMS key.
919
1121
  #
920
- # Before enabling CMEK for Logs Router, you must first assign the role
1122
+ # Before enabling CMEK for Log Router, you must first assign the role
921
1123
  # `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that
922
- # the Logs Router will use to access your Cloud KMS key. Use
923
- # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings} to
1124
+ # the Log Router will use to access your Cloud KMS key. Use
1125
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_settings GetSettings} to
924
1126
  # obtain the service account ID.
925
1127
  #
926
- # See [Enabling CMEK for Logs
1128
+ # See [Enabling CMEK for Log
927
1129
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
928
1130
  # for more information.
929
- class CmekSettings
1131
+ # @!attribute [rw] storage_location
1132
+ # @return [::String]
1133
+ # Optional. The Cloud region that will be used for _Default and _Required log buckets
1134
+ # for newly created projects and folders. For example `europe-west1`.
1135
+ # This setting does not affect the location of custom log buckets.
1136
+ # @!attribute [rw] disable_default_sink
1137
+ # @return [::Boolean]
1138
+ # Optional. If set to true, the _Default sink in newly created projects and folders
1139
+ # will created in a disabled state. This can be used to automatically disable
1140
+ # log ingestion if there is already an aggregated sink configured in the
1141
+ # hierarchy. The _Default sink can be re-enabled manually if needed.
1142
+ class Settings
1143
+ include ::Google::Protobuf::MessageExts
1144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1145
+ end
1146
+
1147
+ # The parameters to CopyLogEntries.
1148
+ # @!attribute [rw] name
1149
+ # @return [::String]
1150
+ # Required. Log bucket from which to copy log entries.
1151
+ #
1152
+ # For example:
1153
+ #
1154
+ # `"projects/my-project/locations/global/buckets/my-source-bucket"`
1155
+ # @!attribute [rw] filter
1156
+ # @return [::String]
1157
+ # Optional. A filter specifying which log entries to copy. The filter must be no more
1158
+ # than 20k characters. An empty filter matches all log entries.
1159
+ # @!attribute [rw] destination
1160
+ # @return [::String]
1161
+ # Required. Destination to which to copy log entries.
1162
+ class CopyLogEntriesRequest
1163
+ include ::Google::Protobuf::MessageExts
1164
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1165
+ end
1166
+
1167
+ # Metadata for CopyLogEntries long running operations.
1168
+ # @!attribute [rw] start_time
1169
+ # @return [::Google::Protobuf::Timestamp]
1170
+ # The create time of an operation.
1171
+ # @!attribute [rw] end_time
1172
+ # @return [::Google::Protobuf::Timestamp]
1173
+ # The end time of an operation.
1174
+ # @!attribute [rw] state
1175
+ # @return [::Google::Cloud::Logging::V2::OperationState]
1176
+ # State of an operation.
1177
+ # @!attribute [rw] cancellation_requested
1178
+ # @return [::Boolean]
1179
+ # Identifies whether the user has requested cancellation of the operation.
1180
+ # @!attribute [rw] request
1181
+ # @return [::Google::Cloud::Logging::V2::CopyLogEntriesRequest]
1182
+ # CopyLogEntries RPC request.
1183
+ # @!attribute [rw] progress
1184
+ # @return [::Integer]
1185
+ # Estimated progress of the operation (0 - 100%).
1186
+ # @!attribute [rw] writer_identity
1187
+ # @return [::String]
1188
+ # The IAM identity of a service account that must be granted access to the
1189
+ # destination.
1190
+ #
1191
+ # If the service account is not granted permission to the destination within
1192
+ # an hour, the operation will be cancelled.
1193
+ #
1194
+ # For example: `"serviceAccount:foo@bar.com"`
1195
+ class CopyLogEntriesMetadata
1196
+ include ::Google::Protobuf::MessageExts
1197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1198
+ end
1199
+
1200
+ # Response type for CopyLogEntries long running operations.
1201
+ # @!attribute [rw] log_entries_copied_count
1202
+ # @return [::Integer]
1203
+ # Number of log entries copied.
1204
+ class CopyLogEntriesResponse
930
1205
  include ::Google::Protobuf::MessageExts
931
1206
  extend ::Google::Protobuf::MessageExts::ClassMethods
932
1207
  end
933
1208
 
934
1209
  # LogBucket lifecycle states.
935
1210
  module LifecycleState
936
- # Unspecified state. This is only used/useful for distinguishing
937
- # unset values.
1211
+ # Unspecified state. This is only used/useful for distinguishing unset
1212
+ # values.
938
1213
  LIFECYCLE_STATE_UNSPECIFIED = 0
939
1214
 
940
1215
  # The normal and active state.
941
1216
  ACTIVE = 1
942
1217
 
943
- # The bucket has been marked for deletion by the user.
1218
+ # The resource has been marked for deletion by the user. For some resources
1219
+ # (e.g. buckets), this can be reversed by an un-delete operation.
944
1220
  DELETE_REQUESTED = 2
945
1221
  end
1222
+
1223
+ # List of different operation states.
1224
+ # High level state of the operation. This is used to report the job's
1225
+ # current state to the user. Once a long running operation is created,
1226
+ # the current state of the operation can be queried even before the
1227
+ # operation is finished and the final result is available.
1228
+ module OperationState
1229
+ # Should not be used.
1230
+ OPERATION_STATE_UNSPECIFIED = 0
1231
+
1232
+ # The operation is scheduled.
1233
+ OPERATION_STATE_SCHEDULED = 1
1234
+
1235
+ # Waiting for necessary permissions.
1236
+ OPERATION_STATE_WAITING_FOR_PERMISSIONS = 2
1237
+
1238
+ # The operation is running.
1239
+ OPERATION_STATE_RUNNING = 3
1240
+
1241
+ # The operation was completed successfully.
1242
+ OPERATION_STATE_SUCCEEDED = 4
1243
+
1244
+ # The operation failed.
1245
+ OPERATION_STATE_FAILED = 5
1246
+
1247
+ # The operation was cancelled by the user.
1248
+ OPERATION_STATE_CANCELLED = 6
1249
+ end
946
1250
  end
947
1251
  end
948
1252
  end