google-cloud-logging-v2 0.8.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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`.