google-cloud-logging-v2 0.8.1 → 0.10.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/README.md +3 -3
  4. data/lib/google/cloud/logging/v2/config_service/client.rb +728 -71
  5. data/lib/google/cloud/logging/v2/config_service/operations.rb +14 -16
  6. data/lib/google/cloud/logging/v2/config_service/paths.rb +81 -0
  7. data/lib/google/cloud/logging/v2/config_service.rb +1 -1
  8. data/lib/google/cloud/logging/v2/logging_service/client.rb +47 -48
  9. data/lib/google/cloud/logging/v2/logging_service.rb +1 -1
  10. data/lib/google/cloud/logging/v2/metrics_service/client.rb +6 -8
  11. data/lib/google/cloud/logging/v2/metrics_service.rb +1 -1
  12. data/lib/google/cloud/logging/v2/version.rb +1 -1
  13. data/lib/google/cloud/logging/v2.rb +2 -2
  14. data/lib/google/logging/v2/log_entry_pb.rb +29 -38
  15. data/lib/google/logging/v2/logging_config_pb.rb +39 -215
  16. data/lib/google/logging/v2/logging_config_services_pb.rb +23 -5
  17. data/lib/google/logging/v2/logging_metrics_pb.rb +27 -41
  18. data/lib/google/logging/v2/logging_pb.rb +28 -64
  19. data/proto_docs/google/api/client.rb +381 -0
  20. data/proto_docs/google/api/distribution.rb +2 -0
  21. data/proto_docs/google/api/launch_stage.rb +3 -3
  22. data/proto_docs/google/api/metric.rb +10 -6
  23. data/proto_docs/google/api/monitored_resource.rb +30 -18
  24. data/proto_docs/google/logging/type/http_request.rb +1 -1
  25. data/proto_docs/google/logging/v2/log_entry.rb +56 -23
  26. data/proto_docs/google/logging/v2/logging.rb +36 -35
  27. data/proto_docs/google/logging/v2/logging_config.rb +350 -78
  28. data/proto_docs/google/logging/v2/logging_metrics.rb +14 -2
  29. data/proto_docs/google/protobuf/any.rb +7 -4
  30. data/proto_docs/google/protobuf/struct.rb +1 -1
  31. data/proto_docs/google/protobuf/timestamp.rb +1 -3
  32. data/proto_docs/google/rpc/status.rb +4 -2
  33. metadata +9 -8
@@ -21,6 +21,31 @@ module Google
21
21
  module Cloud
22
22
  module Logging
23
23
  module V2
24
+ # Configuration for an indexed field.
25
+ # @!attribute [rw] field_path
26
+ # @return [::String]
27
+ # Required. The LogEntry field path to index.
28
+ #
29
+ # Note that some paths are automatically indexed, and other paths are not
30
+ # eligible for indexing. See [indexing documentation](
31
+ # https://cloud.google.com/logging/docs/view/advanced-queries#indexed-fields)
32
+ # for details.
33
+ #
34
+ # For example: `jsonPayload.request.status`
35
+ # @!attribute [rw] type
36
+ # @return [::Google::Cloud::Logging::V2::IndexType]
37
+ # Required. The type of data in this index.
38
+ # @!attribute [r] create_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. The timestamp when the index was last modified.
41
+ #
42
+ # This is used to return the timestamp, and will be ignored if supplied
43
+ # during update.
44
+ class IndexConfig
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+
24
49
  # Describes a repository in which log entries are stored.
25
50
  # @!attribute [r] name
26
51
  # @return [::String]
@@ -42,8 +67,8 @@ module Google
42
67
  # Describes this bucket.
43
68
  # @!attribute [r] create_time
44
69
  # @return [::Google::Protobuf::Timestamp]
45
- # Output only. The creation timestamp of the bucket. This is not set for any of the
46
- # default buckets.
70
+ # Output only. The creation timestamp of the bucket. This is not set for any
71
+ # of the default buckets.
47
72
  # @!attribute [r] update_time
48
73
  # @return [::Google::Protobuf::Timestamp]
49
74
  # Output only. The last update timestamp of the bucket.
@@ -62,6 +87,11 @@ module Google
62
87
  # @!attribute [r] lifecycle_state
63
88
  # @return [::Google::Cloud::Logging::V2::LifecycleState]
64
89
  # Output only. The bucket lifecycle state.
90
+ # @!attribute [rw] analytics_enabled
91
+ # @return [::Boolean]
92
+ # Whether log analytics is enabled for this bucket.
93
+ #
94
+ # Once enabled, log analytics features cannot be disabled.
65
95
  # @!attribute [rw] restricted_fields
66
96
  # @return [::Array<::String>]
67
97
  # Log entry field paths that are denied access in this bucket.
@@ -71,6 +101,9 @@ module Google
71
101
  #
72
102
  # Restricting a repeated field will restrict all values. Adding a parent will
73
103
  # block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`)
104
+ # @!attribute [rw] index_configs
105
+ # @return [::Array<::Google::Cloud::Logging::V2::IndexConfig>]
106
+ # A list of indexed fields and related configuration data.
74
107
  # @!attribute [rw] cmek_settings
75
108
  # @return [::Google::Cloud::Logging::V2::CmekSettings]
76
109
  # The CMEK settings of the log bucket. If present, new log entries written to
@@ -164,11 +197,12 @@ module Google
164
197
  # The maximum length of the description is 8000 characters.
165
198
  # @!attribute [rw] disabled
166
199
  # @return [::Boolean]
167
- # Optional. If set to true, then this sink is disabled and it does not export any log
168
- # entries.
200
+ # Optional. If set to true, then this sink is disabled and it does not export
201
+ # any log entries.
169
202
  # @!attribute [rw] exclusions
170
203
  # @return [::Array<::Google::Cloud::Logging::V2::LogExclusion>]
171
- # Optional. Log entries that match any of these exclusion filters will not be exported.
204
+ # Optional. Log entries that match any of these exclusion filters will not be
205
+ # exported.
172
206
  #
173
207
  # If a log entry is matched by both `filter` and one of `exclusion_filters`
174
208
  # it will not be exported.
@@ -177,9 +211,10 @@ module Google
177
211
  # Deprecated. This field is unused.
178
212
  # @!attribute [r] writer_identity
179
213
  # @return [::String]
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
214
+ # Output only. An IAM identity&mdash;a service account or group&mdash;under
215
+ # which Cloud Logging writes the exported log entries to the sink's
216
+ # destination. This field is either set by specifying
217
+ # `custom_writer_identity` or set automatically by
183
218
  # {::Google::Cloud::Logging::V2::ConfigService::Client#create_sink sinks.create} and
184
219
  # {::Google::Cloud::Logging::V2::ConfigService::Client#update_sink sinks.update} based on the
185
220
  # value of `unique_writer_identity` in those methods.
@@ -192,17 +227,17 @@ module Google
192
227
  # appropriate IAM roles to assign to the identity.
193
228
  #
194
229
  # 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
230
+ # the sink cannot have a writer_identity and no additional permissions are
196
231
  # required.
197
232
  # @!attribute [rw] include_children
198
233
  # @return [::Boolean]
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
203
- # sink's parent resource are also available for export. Whether a particular
204
- # log entry from the children is exported depends on the sink's filter
205
- # expression.
234
+ # Optional. This field applies only to sinks owned by organizations and
235
+ # folders. If the field is false, the default, only the logs owned by the
236
+ # sink's parent resource are available for export. If the field is true, then
237
+ # log entries from all the projects, folders, and billing accounts contained
238
+ # in the sink's parent resource are also available for export. Whether a
239
+ # particular log entry from the children is exported depends on the sink's
240
+ # filter expression.
206
241
  #
207
242
  # For example, if this field is true, then the filter
208
243
  # `resource.type=gce_instance` would export all Compute Engine VM instance
@@ -243,6 +278,58 @@ module Google
243
278
  end
244
279
  end
245
280
 
281
+ # Describes a BigQuery dataset that was created by a link.
282
+ # @!attribute [r] dataset_id
283
+ # @return [::String]
284
+ # Output only. The full resource name of the BigQuery dataset. The DATASET_ID
285
+ # will match the ID of the link, so the link must match the naming
286
+ # restrictions of BigQuery datasets (alphanumeric characters and underscores
287
+ # only).
288
+ #
289
+ # The dataset will have a resource path of
290
+ # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]"
291
+ class BigQueryDataset
292
+ include ::Google::Protobuf::MessageExts
293
+ extend ::Google::Protobuf::MessageExts::ClassMethods
294
+ end
295
+
296
+ # Describes a link connected to an analytics enabled bucket.
297
+ # @!attribute [rw] name
298
+ # @return [::String]
299
+ # The resource name of the link. The name can have up to 100 characters.
300
+ # A valid link id (at the end of the link name) must only have alphanumeric
301
+ # characters and underscores within it.
302
+ #
303
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
304
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
305
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
306
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
307
+ #
308
+ # For example:
309
+ #
310
+ # `projects/my-project/locations/global/buckets/my-bucket/links/my_link
311
+ # @!attribute [rw] description
312
+ # @return [::String]
313
+ # Describes this link.
314
+ #
315
+ # The maximum length of the description is 8000 characters.
316
+ # @!attribute [r] create_time
317
+ # @return [::Google::Protobuf::Timestamp]
318
+ # Output only. The creation timestamp of the link.
319
+ # @!attribute [r] lifecycle_state
320
+ # @return [::Google::Cloud::Logging::V2::LifecycleState]
321
+ # Output only. The resource lifecycle state.
322
+ # @!attribute [rw] bigquery_dataset
323
+ # @return [::Google::Cloud::Logging::V2::BigQueryDataset]
324
+ # The information of a BigQuery Dataset. When a link is created, a BigQuery
325
+ # dataset is created along with it, in the same project as the LogBucket it's
326
+ # linked to. This dataset will also have BigQuery Views corresponding to the
327
+ # LogViews in the bucket.
328
+ class Link
329
+ include ::Google::Protobuf::MessageExts
330
+ extend ::Google::Protobuf::MessageExts::ClassMethods
331
+ end
332
+
246
333
  # Options that change functionality of a sink exporting data to BigQuery.
247
334
  # @!attribute [rw] use_partitioned_tables
248
335
  # @return [::Boolean]
@@ -256,8 +343,8 @@ module Google
256
343
  # timezone.
257
344
  # @!attribute [r] uses_timestamp_column_partitioning
258
345
  # @return [::Boolean]
259
- # Output only. True if new timestamp column based partitioning is in use, false if legacy
260
- # ingestion-time partitioning is in use.
346
+ # Output only. True if new timestamp column based partitioning is in use,
347
+ # false if legacy ingestion-time partitioning is in use.
261
348
  #
262
349
  # All new sinks will have this field set true and will use timestamp column
263
350
  # based partitioning. If use_partitioned_tables is false, this value has no
@@ -283,15 +370,15 @@ module Google
283
370
  # buckets.
284
371
  # @!attribute [rw] page_token
285
372
  # @return [::String]
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.
373
+ # Optional. If present, then retrieve the next batch of results from the
374
+ # preceding call to this method. `pageToken` must be the value of
375
+ # `nextPageToken` from the previous response. The values of other method
376
+ # parameters should be identical to those in the previous call.
290
377
  # @!attribute [rw] page_size
291
378
  # @return [::Integer]
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.
379
+ # Optional. The maximum number of results to return from this request.
380
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
381
+ # response indicates that more results might be available.
295
382
  class ListBucketsRequest
296
383
  include ::Google::Protobuf::MessageExts
297
384
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -323,14 +410,14 @@ module Google
323
410
  # `"projects/my-project/locations/global"`
324
411
  # @!attribute [rw] bucket_id
325
412
  # @return [::String]
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.
413
+ # Required. A client-assigned identifier such as `"my-bucket"`. Identifiers
414
+ # are limited to 100 characters and can include only letters, digits,
415
+ # underscores, hyphens, and periods.
329
416
  # @!attribute [rw] bucket
330
417
  # @return [::Google::Cloud::Logging::V2::LogBucket]
331
- # Required. The new bucket. The region specified in the new bucket must be compliant
332
- # with any Location Restriction Org Policy. The name field in the bucket is
333
- # ignored.
418
+ # Required. The new bucket. The region specified in the new bucket must be
419
+ # compliant with any Location Restriction Org Policy. The name field in the
420
+ # bucket is ignored.
334
421
  class CreateBucketRequest
335
422
  include ::Google::Protobuf::MessageExts
336
423
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -354,9 +441,9 @@ module Google
354
441
  # Required. The updated bucket.
355
442
  # @!attribute [rw] update_mask
356
443
  # @return [::Google::Protobuf::FieldMask]
357
- # Required. Field mask that specifies the fields in `bucket` that need an update. A
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.
444
+ # Required. Field mask that specifies the fields in `bucket` that need an
445
+ # update. A bucket field will be overwritten if, and only if, it is in the
446
+ # update mask. `name` and output only fields cannot be updated.
360
447
  #
361
448
  # For a detailed `FieldMask` definition, see:
362
449
  # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
@@ -429,10 +516,10 @@ module Google
429
516
  # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
430
517
  # @!attribute [rw] page_token
431
518
  # @return [::String]
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.
519
+ # Optional. If present, then retrieve the next batch of results from the
520
+ # preceding call to this method. `pageToken` must be the value of
521
+ # `nextPageToken` from the previous response. The values of other method
522
+ # parameters should be identical to those in the previous call.
436
523
  # @!attribute [rw] page_size
437
524
  # @return [::Integer]
438
525
  # Optional. The maximum number of results to return from this request.
@@ -470,7 +557,9 @@ module Google
470
557
  # `"projects/my-project/locations/global/buckets/my-bucket"`
471
558
  # @!attribute [rw] view_id
472
559
  # @return [::String]
473
- # Required. The id to use for this view.
560
+ # Required. A client-assigned identifier such as `"my-view"`. Identifiers are
561
+ # limited to 100 characters and can include only letters, digits,
562
+ # underscores, hyphens, and periods.
474
563
  # @!attribute [rw] view
475
564
  # @return [::Google::Cloud::Logging::V2::LogView]
476
565
  # Required. The new view.
@@ -624,7 +713,8 @@ module Google
624
713
  # If this field is set to true, or if the sink is owned by a non-project
625
714
  # resource such as an organization, then the value of `writer_identity` will
626
715
  # be a unique service account used only for exports from the new sink. For
627
- # more information, see `writer_identity` in {::Google::Cloud::Logging::V2::LogSink LogSink}.
716
+ # more information, see `writer_identity` in
717
+ # {::Google::Cloud::Logging::V2::LogSink LogSink}.
628
718
  class CreateSinkRequest
629
719
  include ::Google::Protobuf::MessageExts
630
720
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -633,8 +723,8 @@ module Google
633
723
  # The parameters to `UpdateSink`.
634
724
  # @!attribute [rw] sink_name
635
725
  # @return [::String]
636
- # Required. The full resource name of the sink to update, including the parent
637
- # resource and the sink identifier:
726
+ # Required. The full resource name of the sink to update, including the
727
+ # parent resource and the sink identifier:
638
728
  #
639
729
  # "projects/[PROJECT_ID]/sinks/[SINK_ID]"
640
730
  # "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
@@ -646,8 +736,8 @@ module Google
646
736
  # `"projects/my-project/sinks/my-sink"`
647
737
  # @!attribute [rw] sink
648
738
  # @return [::Google::Cloud::Logging::V2::LogSink]
649
- # Required. The updated sink, whose name is the same identifier that appears as part
650
- # of `sink_name`.
739
+ # Required. The updated sink, whose name is the same identifier that appears
740
+ # as part of `sink_name`.
651
741
  # @!attribute [rw] unique_writer_identity
652
742
  # @return [::Boolean]
653
743
  # Optional. See {::Google::Cloud::Logging::V2::ConfigService::Client#create_sink sinks.create}
@@ -687,8 +777,8 @@ module Google
687
777
  # The parameters to `DeleteSink`.
688
778
  # @!attribute [rw] sink_name
689
779
  # @return [::String]
690
- # Required. The full resource name of the sink to delete, including the parent
691
- # resource and the sink identifier:
780
+ # Required. The full resource name of the sink to delete, including the
781
+ # parent resource and the sink identifier:
692
782
  #
693
783
  # "projects/[PROJECT_ID]/sinks/[SINK_ID]"
694
784
  # "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
@@ -703,6 +793,92 @@ module Google
703
793
  extend ::Google::Protobuf::MessageExts::ClassMethods
704
794
  end
705
795
 
796
+ # The parameters to CreateLink.
797
+ # @!attribute [rw] parent
798
+ # @return [::String]
799
+ # Required. The full resource name of the bucket to create a link for.
800
+ #
801
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
802
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
803
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
804
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
805
+ # @!attribute [rw] link
806
+ # @return [::Google::Cloud::Logging::V2::Link]
807
+ # Required. The new link.
808
+ # @!attribute [rw] link_id
809
+ # @return [::String]
810
+ # Required. The ID to use for the link. The link_id can have up to 100
811
+ # characters. A valid link_id must only have alphanumeric characters and
812
+ # underscores within it.
813
+ class CreateLinkRequest
814
+ include ::Google::Protobuf::MessageExts
815
+ extend ::Google::Protobuf::MessageExts::ClassMethods
816
+ end
817
+
818
+ # The parameters to DeleteLink.
819
+ # @!attribute [rw] name
820
+ # @return [::String]
821
+ # Required. The full resource name of the link to delete.
822
+ #
823
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
824
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
825
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
826
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
827
+ class DeleteLinkRequest
828
+ include ::Google::Protobuf::MessageExts
829
+ extend ::Google::Protobuf::MessageExts::ClassMethods
830
+ end
831
+
832
+ # The parameters to ListLinks.
833
+ # @!attribute [rw] parent
834
+ # @return [::String]
835
+ # Required. The parent resource whose links are to be listed:
836
+ #
837
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/"
838
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
839
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/"
840
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/
841
+ # @!attribute [rw] page_token
842
+ # @return [::String]
843
+ # Optional. If present, then retrieve the next batch of results from the
844
+ # preceding call to this method. `pageToken` must be the value of
845
+ # `nextPageToken` from the previous response.
846
+ # @!attribute [rw] page_size
847
+ # @return [::Integer]
848
+ # Optional. The maximum number of results to return from this request.
849
+ class ListLinksRequest
850
+ include ::Google::Protobuf::MessageExts
851
+ extend ::Google::Protobuf::MessageExts::ClassMethods
852
+ end
853
+
854
+ # The response from ListLinks.
855
+ # @!attribute [rw] links
856
+ # @return [::Array<::Google::Cloud::Logging::V2::Link>]
857
+ # A list of links.
858
+ # @!attribute [rw] next_page_token
859
+ # @return [::String]
860
+ # If there might be more results than those appearing in this response, then
861
+ # `nextPageToken` is included. To get the next set of results, call the same
862
+ # method again using the value of `nextPageToken` as `pageToken`.
863
+ class ListLinksResponse
864
+ include ::Google::Protobuf::MessageExts
865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
866
+ end
867
+
868
+ # The parameters to GetLink.
869
+ # @!attribute [rw] name
870
+ # @return [::String]
871
+ # Required. The resource name of the link:
872
+ #
873
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
874
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
875
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]"
876
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]
877
+ class GetLinkRequest
878
+ include ::Google::Protobuf::MessageExts
879
+ extend ::Google::Protobuf::MessageExts::ClassMethods
880
+ end
881
+
706
882
  # Specifies a set of log entries that are filtered out by a sink. If
707
883
  # your Google Cloud resource receives a large volume of log entries, you can
708
884
  # use exclusions to reduce your chargeable logs. Note that exclusions on
@@ -710,10 +886,10 @@ module Google
710
886
  # Note also that you cannot modify the _Required sink or exclude logs from it.
711
887
  # @!attribute [rw] name
712
888
  # @return [::String]
713
- # Required. A client-assigned identifier, such as `"load-balancer-exclusion"`.
714
- # Identifiers are limited to 100 characters and can include only letters,
715
- # digits, underscores, hyphens, and periods. First character has to be
716
- # alphanumeric.
889
+ # Required. A client-assigned identifier, such as
890
+ # `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and
891
+ # can include only letters, digits, underscores, hyphens, and periods. First
892
+ # character has to be alphanumeric.
717
893
  # @!attribute [rw] description
718
894
  # @return [::String]
719
895
  # Optional. A description of this exclusion.
@@ -845,14 +1021,15 @@ module Google
845
1021
  # `"projects/my-project/exclusions/my-exclusion"`
846
1022
  # @!attribute [rw] exclusion
847
1023
  # @return [::Google::Cloud::Logging::V2::LogExclusion]
848
- # Required. New values for the existing exclusion. Only the fields specified in
849
- # `update_mask` are relevant.
1024
+ # Required. New values for the existing exclusion. Only the fields specified
1025
+ # in `update_mask` are relevant.
850
1026
  # @!attribute [rw] update_mask
851
1027
  # @return [::Google::Protobuf::FieldMask]
852
- # Required. A non-empty list of fields to change in the existing exclusion. New values
853
- # for the fields are taken from the corresponding fields in the
854
- # {::Google::Cloud::Logging::V2::LogExclusion LogExclusion} included in this request. Fields not mentioned in
855
- # `update_mask` are not changed and are ignored in the request.
1028
+ # Required. A non-empty list of fields to change in the existing exclusion.
1029
+ # New values for the fields are taken from the corresponding fields in the
1030
+ # {::Google::Cloud::Logging::V2::LogExclusion LogExclusion} included in this request.
1031
+ # Fields not mentioned in `update_mask` are not changed and are ignored in
1032
+ # the request.
856
1033
  #
857
1034
  # For example, to change the filter and description of an exclusion,
858
1035
  # specify an `update_mask` of `"filter,description"`.
@@ -993,10 +1170,29 @@ module Google
993
1170
  # See [Enabling CMEK for Log
994
1171
  # Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
995
1172
  # for more information.
1173
+ # @!attribute [rw] kms_key_version_name
1174
+ # @return [::String]
1175
+ # The CryptoKeyVersion resource name for the configured Cloud KMS key.
1176
+ #
1177
+ # KMS key name format:
1178
+ #
1179
+ # "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"
1180
+ #
1181
+ # For example:
1182
+ #
1183
+ # `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"`
1184
+ #
1185
+ # This is a read-only field used to convey the specific configured
1186
+ # CryptoKeyVersion of `kms_key` that has been configured. It will be
1187
+ # populated in cases where the CMEK settings are bound to a single key
1188
+ # version.
1189
+ #
1190
+ # If this field is populated, the `kms_key` is tied to a specific
1191
+ # CryptoKeyVersion.
996
1192
  # @!attribute [r] service_account_id
997
1193
  # @return [::String]
998
- # Output only. The service account that will be used by the Log Router to access your
999
- # Cloud KMS key.
1194
+ # Output only. The service account that will be used by the Log Router to
1195
+ # access your Cloud KMS key.
1000
1196
  #
1001
1197
  # Before enabling CMEK for Log Router, you must first assign the
1002
1198
  # cloudkms.cryptoKeyEncrypterDecrypter role to the service account that
@@ -1116,8 +1312,8 @@ module Google
1116
1312
  # for more information.
1117
1313
  # @!attribute [r] kms_service_account_id
1118
1314
  # @return [::String]
1119
- # Output only. The service account that will be used by the Log Router to access your
1120
- # Cloud KMS key.
1315
+ # Output only. The service account that will be used by the Log Router to
1316
+ # access your Cloud KMS key.
1121
1317
  #
1122
1318
  # Before enabling CMEK for Log Router, you must first assign the role
1123
1319
  # `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that
@@ -1130,15 +1326,15 @@ module Google
1130
1326
  # for more information.
1131
1327
  # @!attribute [rw] storage_location
1132
1328
  # @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`.
1329
+ # Optional. The Cloud region that will be used for _Default and _Required log
1330
+ # buckets for newly created projects and folders. For example `europe-west1`.
1135
1331
  # This setting does not affect the location of custom log buckets.
1136
1332
  # @!attribute [rw] disable_default_sink
1137
1333
  # @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.
1334
+ # Optional. If set to true, the _Default sink in newly created projects and
1335
+ # folders will created in a disabled state. This can be used to automatically
1336
+ # disable log ingestion if there is already an aggregated sink configured in
1337
+ # the hierarchy. The _Default sink can be re-enabled manually if needed.
1142
1338
  class Settings
1143
1339
  include ::Google::Protobuf::MessageExts
1144
1340
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1154,8 +1350,8 @@ module Google
1154
1350
  # `"projects/my-project/locations/global/buckets/my-source-bucket"`
1155
1351
  # @!attribute [rw] filter
1156
1352
  # @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.
1353
+ # Optional. A filter specifying which log entries to copy. The filter must be
1354
+ # no more than 20k characters. An empty filter matches all log entries.
1159
1355
  # @!attribute [rw] destination
1160
1356
  # @return [::String]
1161
1357
  # Required. Destination to which to copy log entries.
@@ -1206,18 +1402,56 @@ module Google
1206
1402
  extend ::Google::Protobuf::MessageExts::ClassMethods
1207
1403
  end
1208
1404
 
1209
- # LogBucket lifecycle states.
1210
- module LifecycleState
1211
- # Unspecified state. This is only used/useful for distinguishing unset
1212
- # values.
1213
- LIFECYCLE_STATE_UNSPECIFIED = 0
1405
+ # Metadata for LongRunningUpdateBucket Operations.
1406
+ # @!attribute [rw] start_time
1407
+ # @return [::Google::Protobuf::Timestamp]
1408
+ # The create time of an operation.
1409
+ # @!attribute [rw] end_time
1410
+ # @return [::Google::Protobuf::Timestamp]
1411
+ # The end time of an operation.
1412
+ # @!attribute [rw] state
1413
+ # @return [::Google::Cloud::Logging::V2::OperationState]
1414
+ # State of an operation.
1415
+ # @!attribute [rw] create_bucket_request
1416
+ # @return [::Google::Cloud::Logging::V2::CreateBucketRequest]
1417
+ # LongRunningCreateBucket RPC request.
1418
+ # @!attribute [rw] update_bucket_request
1419
+ # @return [::Google::Cloud::Logging::V2::UpdateBucketRequest]
1420
+ # LongRunningUpdateBucket RPC request.
1421
+ class BucketMetadata
1422
+ include ::Google::Protobuf::MessageExts
1423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1424
+ end
1214
1425
 
1215
- # The normal and active state.
1216
- ACTIVE = 1
1426
+ # Metadata for long running Link operations.
1427
+ # @!attribute [rw] start_time
1428
+ # @return [::Google::Protobuf::Timestamp]
1429
+ # The start time of an operation.
1430
+ # @!attribute [rw] end_time
1431
+ # @return [::Google::Protobuf::Timestamp]
1432
+ # The end time of an operation.
1433
+ # @!attribute [rw] state
1434
+ # @return [::Google::Cloud::Logging::V2::OperationState]
1435
+ # State of an operation.
1436
+ # @!attribute [rw] create_link_request
1437
+ # @return [::Google::Cloud::Logging::V2::CreateLinkRequest]
1438
+ # CreateLink RPC request.
1439
+ # @!attribute [rw] delete_link_request
1440
+ # @return [::Google::Cloud::Logging::V2::DeleteLinkRequest]
1441
+ # DeleteLink RPC request.
1442
+ class LinkMetadata
1443
+ include ::Google::Protobuf::MessageExts
1444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1445
+ end
1217
1446
 
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.
1220
- DELETE_REQUESTED = 2
1447
+ # Cloud Logging specific location metadata.
1448
+ # @!attribute [rw] log_analytics_enabled
1449
+ # @return [::Boolean]
1450
+ # Indicates whether or not Log Analytics features are supported in the given
1451
+ # location.
1452
+ class LocationMetadata
1453
+ include ::Google::Protobuf::MessageExts
1454
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1221
1455
  end
1222
1456
 
1223
1457
  # List of different operation states.
@@ -1247,6 +1481,44 @@ module Google
1247
1481
  # The operation was cancelled by the user.
1248
1482
  OPERATION_STATE_CANCELLED = 6
1249
1483
  end
1484
+
1485
+ # LogBucket lifecycle states.
1486
+ module LifecycleState
1487
+ # Unspecified state. This is only used/useful for distinguishing unset
1488
+ # values.
1489
+ LIFECYCLE_STATE_UNSPECIFIED = 0
1490
+
1491
+ # The normal and active state.
1492
+ ACTIVE = 1
1493
+
1494
+ # The resource has been marked for deletion by the user. For some resources
1495
+ # (e.g. buckets), this can be reversed by an un-delete operation.
1496
+ DELETE_REQUESTED = 2
1497
+
1498
+ # The resource has been marked for an update by the user. It will remain in
1499
+ # this state until the update is complete.
1500
+ UPDATING = 3
1501
+
1502
+ # The resource has been marked for creation by the user. It will remain in
1503
+ # this state until the creation is complete.
1504
+ CREATING = 4
1505
+
1506
+ # The resource is in an INTERNAL error state.
1507
+ FAILED = 5
1508
+ end
1509
+
1510
+ # IndexType is used for custom indexing. It describes the type of an indexed
1511
+ # field.
1512
+ module IndexType
1513
+ # The index's type is unspecified.
1514
+ INDEX_TYPE_UNSPECIFIED = 0
1515
+
1516
+ # The index is a string-type index.
1517
+ INDEX_TYPE_STRING = 1
1518
+
1519
+ # The index is a integer-type index.
1520
+ INDEX_TYPE_INTEGER = 2
1521
+ end
1250
1522
  end
1251
1523
  end
1252
1524
  end
@@ -56,6 +56,17 @@ module Google
56
56
  # "resource.type=gae_app AND severity>=ERROR"
57
57
  #
58
58
  # The maximum length of the filter is 20000 characters.
59
+ # @!attribute [rw] bucket_name
60
+ # @return [::String]
61
+ # Optional. The resource name of the Log Bucket that owns the Log Metric.
62
+ # Only Log Buckets in projects are supported. The bucket has to be in the
63
+ # same project as the metric.
64
+ #
65
+ # For example:
66
+ #
67
+ # `projects/my-project/locations/global/buckets/my-bucket`
68
+ #
69
+ # If empty, then the Log Metric is considered a non-Bucket Log Metric.
59
70
  # @!attribute [rw] disabled
60
71
  # @return [::Boolean]
61
72
  # Optional. If set to True, then this metric is disabled and it does not
@@ -88,7 +99,8 @@ module Google
88
99
  # Optional. A `value_extractor` is required when using a distribution
89
100
  # logs-based metric to extract the values to record from a log entry.
90
101
  # Two functions are supported for value extraction: `EXTRACT(field)` or
91
- # `REGEXP_EXTRACT(field, regex)`. The argument are:
102
+ # `REGEXP_EXTRACT(field, regex)`. The arguments are:
103
+ #
92
104
  # 1. field: The name of the log entry field from which the value is to be
93
105
  # extracted.
94
106
  # 2. regex: A regular expression using the Google RE2 syntax
@@ -113,7 +125,7 @@ module Google
113
125
  # is the same as for the `value_extractor` field.
114
126
  #
115
127
  # The extracted value is converted to the type defined in the label
116
- # descriptor. If the either the extraction or the type conversion fails,
128
+ # descriptor. If either the extraction or the type conversion fails,
117
129
  # the label will have a default value. The default value for a string
118
130
  # label is an empty string, for an integer label its 0, and for a boolean
119
131
  # label its `false`.