google-cloud-logging-v2 0.1.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 (50) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-logging-v2.rb +21 -0
  7. data/lib/google/cloud/logging/v2.rb +37 -0
  8. data/lib/google/cloud/logging/v2/config_service.rb +49 -0
  9. data/lib/google/cloud/logging/v2/config_service/client.rb +1723 -0
  10. data/lib/google/cloud/logging/v2/config_service/credentials.rb +54 -0
  11. data/lib/google/cloud/logging/v2/config_service/paths.rb +413 -0
  12. data/lib/google/cloud/logging/v2/logging_service.rb +49 -0
  13. data/lib/google/cloud/logging/v2/logging_service/client.rb +826 -0
  14. data/lib/google/cloud/logging/v2/logging_service/credentials.rb +55 -0
  15. data/lib/google/cloud/logging/v2/logging_service/paths.rb +154 -0
  16. data/lib/google/cloud/logging/v2/metrics_service.rb +49 -0
  17. data/lib/google/cloud/logging/v2/metrics_service/client.rb +726 -0
  18. data/lib/google/cloud/logging/v2/metrics_service/credentials.rb +55 -0
  19. data/lib/google/cloud/logging/v2/metrics_service/paths.rb +64 -0
  20. data/lib/google/cloud/logging/v2/version.rb +28 -0
  21. data/lib/google/logging/type/http_request_pb.rb +38 -0
  22. data/lib/google/logging/type/log_severity_pb.rb +31 -0
  23. data/lib/google/logging/v2/log_entry_pb.rb +62 -0
  24. data/lib/google/logging/v2/logging_config_pb.rb +176 -0
  25. data/lib/google/logging/v2/logging_config_services_pb.rb +113 -0
  26. data/lib/google/logging/v2/logging_metrics_pb.rb +75 -0
  27. data/lib/google/logging/v2/logging_metrics_services_pb.rb +53 -0
  28. data/lib/google/logging/v2/logging_pb.rb +83 -0
  29. data/lib/google/logging/v2/logging_services_pb.rb +65 -0
  30. data/proto_docs/README.md +4 -0
  31. data/proto_docs/google/api/distribution.rb +225 -0
  32. data/proto_docs/google/api/field_behavior.rb +59 -0
  33. data/proto_docs/google/api/label.rb +49 -0
  34. data/proto_docs/google/api/metric.rb +203 -0
  35. data/proto_docs/google/api/monitored_resource.rb +137 -0
  36. data/proto_docs/google/api/resource.rb +247 -0
  37. data/proto_docs/google/logging/type/http_request.rb +95 -0
  38. data/proto_docs/google/logging/type/log_severity.rb +71 -0
  39. data/proto_docs/google/logging/v2/log_entry.rb +203 -0
  40. data/proto_docs/google/logging/v2/logging.rb +303 -0
  41. data/proto_docs/google/logging/v2/logging_config.rb +735 -0
  42. data/proto_docs/google/logging/v2/logging_metrics.rb +256 -0
  43. data/proto_docs/google/protobuf/any.rb +138 -0
  44. data/proto_docs/google/protobuf/duration.rb +98 -0
  45. data/proto_docs/google/protobuf/empty.rb +36 -0
  46. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  47. data/proto_docs/google/protobuf/struct.rb +96 -0
  48. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  49. data/proto_docs/google/rpc/status.rb +46 -0
  50. metadata +231 -0
@@ -0,0 +1,303 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Logging
23
+ module V2
24
+ # The parameters to DeleteLog.
25
+ # @!attribute [rw] log_name
26
+ # @return [::String]
27
+ # Required. The resource name of the log to delete:
28
+ #
29
+ # "projects/[PROJECT_ID]/logs/[LOG_ID]"
30
+ # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
31
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
32
+ # "folders/[FOLDER_ID]/logs/[LOG_ID]"
33
+ #
34
+ # `[LOG_ID]` must be URL-encoded. For example,
35
+ # `"projects/my-project-id/logs/syslog"`,
36
+ # `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
37
+ # For more information about log names, see
38
+ # {::Google::Cloud::Logging::V2::LogEntry LogEntry}.
39
+ class DeleteLogRequest
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # The parameters to WriteLogEntries.
45
+ # @!attribute [rw] log_name
46
+ # @return [::String]
47
+ # Optional. A default log resource name that is assigned to all log entries
48
+ # in `entries` that do not specify a value for `log_name`:
49
+ #
50
+ # "projects/[PROJECT_ID]/logs/[LOG_ID]"
51
+ # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
52
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
53
+ # "folders/[FOLDER_ID]/logs/[LOG_ID]"
54
+ #
55
+ # `[LOG_ID]` must be URL-encoded. For example:
56
+ #
57
+ # "projects/my-project-id/logs/syslog"
58
+ # "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"
59
+ #
60
+ # The permission `logging.logEntries.create` is needed on each project,
61
+ # organization, billing account, or folder that is receiving new log
62
+ # entries, whether the resource is specified in `logName` or in an
63
+ # individual log entry.
64
+ # @!attribute [rw] resource
65
+ # @return [::Google::Api::MonitoredResource]
66
+ # Optional. A default monitored resource object that is assigned to all log
67
+ # entries in `entries` that do not specify a value for `resource`. Example:
68
+ #
69
+ # { "type": "gce_instance",
70
+ # "labels": {
71
+ # "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
72
+ #
73
+ # See {::Google::Cloud::Logging::V2::LogEntry LogEntry}.
74
+ # @!attribute [rw] labels
75
+ # @return [::Google::Protobuf::Map{::String => ::String}]
76
+ # Optional. Default labels that are added to the `labels` field of all log
77
+ # entries in `entries`. If a log entry already has a label with the same key
78
+ # as a label in this parameter, then the log entry's label is not changed.
79
+ # See {::Google::Cloud::Logging::V2::LogEntry LogEntry}.
80
+ # @!attribute [rw] entries
81
+ # @return [::Array<::Google::Cloud::Logging::V2::LogEntry>]
82
+ # Required. The log entries to send to Logging. The order of log
83
+ # entries in this list does not matter. Values supplied in this method's
84
+ # `log_name`, `resource`, and `labels` fields are copied into those log
85
+ # entries in this list that do not include values for their corresponding
86
+ # fields. For more information, see the
87
+ # {::Google::Cloud::Logging::V2::LogEntry LogEntry} type.
88
+ #
89
+ # If the `timestamp` or `insert_id` fields are missing in log entries, then
90
+ # this method supplies the current time or a unique identifier, respectively.
91
+ # The supplied values are chosen so that, among the log entries that did not
92
+ # supply their own values, the entries earlier in the list will sort before
93
+ # the entries later in the list. See the `entries.list` method.
94
+ #
95
+ # Log entries with timestamps that are more than the
96
+ # [logs retention period](https://cloud.google.com/logging/quota-policy) in the past or more than
97
+ # 24 hours in the future will not be available when calling `entries.list`.
98
+ # However, those log entries can still be
99
+ # [exported with LogSinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
100
+ #
101
+ # To improve throughput and to avoid exceeding the
102
+ # [quota limit](https://cloud.google.com/logging/quota-policy) for calls to `entries.write`,
103
+ # you should try to include several log entries in this list,
104
+ # rather than calling this method for each individual log entry.
105
+ # @!attribute [rw] partial_success
106
+ # @return [::Boolean]
107
+ # Optional. Whether valid entries should be written even if some other
108
+ # entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any
109
+ # entry is not written, then the response status is the error associated
110
+ # with one of the failed entries and the response includes error details
111
+ # keyed by the entries' zero-based index in the `entries.write` method.
112
+ # @!attribute [rw] dry_run
113
+ # @return [::Boolean]
114
+ # Optional. If true, the request should expect normal response, but the
115
+ # entries won't be persisted nor exported. Useful for checking whether the
116
+ # logging API endpoints are working properly before sending valuable data.
117
+ class WriteLogEntriesRequest
118
+ include ::Google::Protobuf::MessageExts
119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
+
121
+ # @!attribute [rw] key
122
+ # @return [::String]
123
+ # @!attribute [rw] value
124
+ # @return [::String]
125
+ class LabelsEntry
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+ end
130
+
131
+ # Result returned from WriteLogEntries.
132
+ class WriteLogEntriesResponse
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # Error details for WriteLogEntries with partial success.
138
+ # @!attribute [rw] log_entry_errors
139
+ # @return [::Google::Protobuf::Map{::Integer => ::Google::Rpc::Status}]
140
+ # When `WriteLogEntriesRequest.partial_success` is true, records the error
141
+ # status for entries that were not written due to a permanent error, keyed
142
+ # by the entry's zero-based index in `WriteLogEntriesRequest.entries`.
143
+ #
144
+ # Failed requests for which no entries are written will not include
145
+ # per-entry errors.
146
+ class WriteLogEntriesPartialErrors
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+
150
+ # @!attribute [rw] key
151
+ # @return [::Integer]
152
+ # @!attribute [rw] value
153
+ # @return [::Google::Rpc::Status]
154
+ class LogEntryErrorsEntry
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+ end
159
+
160
+ # The parameters to `ListLogEntries`.
161
+ # @!attribute [rw] resource_names
162
+ # @return [::Array<::String>]
163
+ # Required. Names of one or more parent resources from which to
164
+ # retrieve log entries:
165
+ #
166
+ # "projects/[PROJECT_ID]"
167
+ # "organizations/[ORGANIZATION_ID]"
168
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
169
+ # "folders/[FOLDER_ID]"
170
+ #
171
+ #
172
+ # Projects listed in the `project_ids` field are added to this list.
173
+ # @!attribute [rw] filter
174
+ # @return [::String]
175
+ # Optional. A filter that chooses which log entries to return. See [Advanced
176
+ # Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that
177
+ # match the filter are returned. An empty filter matches all log entries in
178
+ # the resources listed in `resource_names`. Referencing a parent resource
179
+ # that is not listed in `resource_names` will cause the filter to return no
180
+ # results.
181
+ # The maximum length of the filter is 20000 characters.
182
+ # @!attribute [rw] order_by
183
+ # @return [::String]
184
+ # Optional. How the results should be sorted. Presently, the only permitted
185
+ # values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
186
+ # option returns entries in order of increasing values of
187
+ # `LogEntry.timestamp` (oldest first), and the second option returns entries
188
+ # in order of decreasing timestamps (newest first). Entries with equal
189
+ # timestamps are returned in order of their `insert_id` values.
190
+ # @!attribute [rw] page_size
191
+ # @return [::Integer]
192
+ # Optional. The maximum number of results to return from this request.
193
+ # Non-positive values are ignored. The presence of `next_page_token` in the
194
+ # response indicates that more results might be available.
195
+ # @!attribute [rw] page_token
196
+ # @return [::String]
197
+ # Optional. If present, then retrieve the next batch of results from the
198
+ # preceding call to this method. `page_token` must be the value of
199
+ # `next_page_token` from the previous response. The values of other method
200
+ # parameters should be identical to those in the previous call.
201
+ class ListLogEntriesRequest
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # Result returned from `ListLogEntries`.
207
+ # @!attribute [rw] entries
208
+ # @return [::Array<::Google::Cloud::Logging::V2::LogEntry>]
209
+ # A list of log entries. If `entries` is empty, `nextPageToken` may still be
210
+ # returned, indicating that more entries may exist. See `nextPageToken` for
211
+ # more information.
212
+ # @!attribute [rw] next_page_token
213
+ # @return [::String]
214
+ # If there might be more results than those appearing in this response, then
215
+ # `nextPageToken` is included. To get the next set of results, call this
216
+ # method again using the value of `nextPageToken` as `pageToken`.
217
+ #
218
+ # If a value for `next_page_token` appears and the `entries` field is empty,
219
+ # it means that the search found no log entries so far but it did not have
220
+ # time to search all the possible log entries. Retry the method with this
221
+ # value for `page_token` to continue the search. Alternatively, consider
222
+ # speeding up the search by changing your filter to specify a single log name
223
+ # or resource type, or to narrow the time range of the search.
224
+ class ListLogEntriesResponse
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # The parameters to ListMonitoredResourceDescriptors
230
+ # @!attribute [rw] page_size
231
+ # @return [::Integer]
232
+ # Optional. The maximum number of results to return from this request.
233
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
234
+ # response indicates that more results might be available.
235
+ # @!attribute [rw] page_token
236
+ # @return [::String]
237
+ # Optional. If present, then retrieve the next batch of results from the
238
+ # preceding call to this method. `pageToken` must be the value of
239
+ # `nextPageToken` from the previous response. The values of other method
240
+ # parameters should be identical to those in the previous call.
241
+ class ListMonitoredResourceDescriptorsRequest
242
+ include ::Google::Protobuf::MessageExts
243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
244
+ end
245
+
246
+ # Result returned from ListMonitoredResourceDescriptors.
247
+ # @!attribute [rw] resource_descriptors
248
+ # @return [::Array<::Google::Api::MonitoredResourceDescriptor>]
249
+ # A list of resource descriptors.
250
+ # @!attribute [rw] next_page_token
251
+ # @return [::String]
252
+ # If there might be more results than those appearing in this response, then
253
+ # `nextPageToken` is included. To get the next set of results, call this
254
+ # method again using the value of `nextPageToken` as `pageToken`.
255
+ class ListMonitoredResourceDescriptorsResponse
256
+ include ::Google::Protobuf::MessageExts
257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
258
+ end
259
+
260
+ # The parameters to ListLogs.
261
+ # @!attribute [rw] parent
262
+ # @return [::String]
263
+ # Required. The resource name that owns the logs:
264
+ #
265
+ # "projects/[PROJECT_ID]"
266
+ # "organizations/[ORGANIZATION_ID]"
267
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
268
+ # "folders/[FOLDER_ID]"
269
+ # @!attribute [rw] page_size
270
+ # @return [::Integer]
271
+ # Optional. The maximum number of results to return from this request.
272
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
273
+ # response indicates that more results might be available.
274
+ # @!attribute [rw] page_token
275
+ # @return [::String]
276
+ # Optional. If present, then retrieve the next batch of results from the
277
+ # preceding call to this method. `pageToken` must be the value of
278
+ # `nextPageToken` from the previous response. The values of other method
279
+ # parameters should be identical to those in the previous call.
280
+ class ListLogsRequest
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+ end
284
+
285
+ # Result returned from ListLogs.
286
+ # @!attribute [rw] log_names
287
+ # @return [::Array<::String>]
288
+ # A list of log names. For example,
289
+ # `"projects/my-project/logs/syslog"` or
290
+ # `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
291
+ # @!attribute [rw] next_page_token
292
+ # @return [::String]
293
+ # If there might be more results than those appearing in this response, then
294
+ # `nextPageToken` is included. To get the next set of results, call this
295
+ # method again using the value of `nextPageToken` as `pageToken`.
296
+ class ListLogsResponse
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+ end
301
+ end
302
+ end
303
+ end
@@ -0,0 +1,735 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Logging
23
+ module V2
24
+ # Describes a repository of logs (Beta).
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The resource name of the bucket.
28
+ # For example:
29
+ # "projects/my-project-id/locations/my-location/buckets/my-bucket-id The
30
+ # supported locations are:
31
+ # "global"
32
+ # "us-central1"
33
+ #
34
+ # For the location of `global` it is unspecified where logs are actually
35
+ # stored.
36
+ # Once a bucket has been created, the location can not be changed.
37
+ # @!attribute [rw] description
38
+ # @return [::String]
39
+ # Describes this bucket.
40
+ # @!attribute [r] create_time
41
+ # @return [::Google::Protobuf::Timestamp]
42
+ # Output only. The creation timestamp of the bucket. This is not set for any of the
43
+ # default buckets.
44
+ # @!attribute [r] update_time
45
+ # @return [::Google::Protobuf::Timestamp]
46
+ # Output only. The last update timestamp of the bucket.
47
+ # @!attribute [rw] retention_days
48
+ # @return [::Integer]
49
+ # Logs will be retained by default for this amount of time, after which they
50
+ # will automatically be deleted. The minimum retention period is 1 day.
51
+ # If this value is set to zero at bucket creation time, the default time of
52
+ # 30 days will be used.
53
+ # @!attribute [r] lifecycle_state
54
+ # @return [::Google::Cloud::Logging::V2::LifecycleState]
55
+ # Output only. The bucket lifecycle state.
56
+ class LogBucket
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+ end
60
+
61
+ # Describes a sink used to export log entries to one of the following
62
+ # destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a
63
+ # Cloud Pub/Sub topic. A logs filter controls which log entries are exported.
64
+ # The sink must be created within a project, organization, billing account, or
65
+ # folder.
66
+ # @!attribute [rw] name
67
+ # @return [::String]
68
+ # Required. The client-assigned sink identifier, unique within the project. Example:
69
+ # `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100
70
+ # characters and can include only the following characters: upper and
71
+ # lower-case alphanumeric characters, underscores, hyphens, and periods.
72
+ # First character has to be alphanumeric.
73
+ # @!attribute [rw] destination
74
+ # @return [::String]
75
+ # Required. The export destination:
76
+ #
77
+ # "storage.googleapis.com/[GCS_BUCKET]"
78
+ # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
79
+ # "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
80
+ #
81
+ # The sink's `writer_identity`, set when the sink is created, must
82
+ # have permission to write to the destination or else the log
83
+ # entries are not exported. For more information, see
84
+ # [Exporting Logs with Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs).
85
+ # @!attribute [rw] filter
86
+ # @return [::String]
87
+ # Optional. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced-queries). The only
88
+ # exported log entries are those that are in the resource owning the sink and
89
+ # that match the filter. For example:
90
+ #
91
+ # logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
92
+ # @!attribute [rw] description
93
+ # @return [::String]
94
+ # Optional. A description of this sink.
95
+ # The maximum length of the description is 8000 characters.
96
+ # @!attribute [rw] disabled
97
+ # @return [::Boolean]
98
+ # Optional. If set to True, then this sink is disabled and it does not
99
+ # export any log entries.
100
+ # @!attribute [rw] output_version_format
101
+ # @return [::Google::Cloud::Logging::V2::LogSink::VersionFormat]
102
+ # Deprecated. The log entry format to use for this sink's exported log
103
+ # entries. The v2 format is used by default and cannot be changed.
104
+ # @!attribute [r] writer_identity
105
+ # @return [::String]
106
+ # Output only. An IAM identity–a service account or group&mdash;under which Logging
107
+ # writes the exported log entries to the sink's destination. This field is
108
+ # set by {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#create_sink sinks.create} and
109
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#update_sink sinks.update} based on the
110
+ # value of `unique_writer_identity` in those methods.
111
+ #
112
+ # Until you grant this identity write-access to the destination, log entry
113
+ # exports from this sink will fail. For more information,
114
+ # see [Granting Access for a
115
+ # Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
116
+ # Consult the destination service's documentation to determine the
117
+ # appropriate IAM roles to assign to the identity.
118
+ # @!attribute [rw] include_children
119
+ # @return [::Boolean]
120
+ # Optional. This field applies only to sinks owned by organizations and
121
+ # folders. If the field is false, the default, only the logs owned by the
122
+ # sink's parent resource are available for export. If the field is true, then
123
+ # logs from all the projects, folders, and billing accounts contained in the
124
+ # sink's parent resource are also available for export. Whether a particular
125
+ # log entry from the children is exported depends on the sink's filter
126
+ # expression. For example, if this field is true, then the filter
127
+ # `resource.type=gce_instance` would export all Compute Engine VM instance
128
+ # log entries from all projects in the sink's parent. To only export entries
129
+ # from certain child projects, filter on the project part of the log name:
130
+ #
131
+ # logName:("projects/test-project1/" OR "projects/test-project2/") AND
132
+ # resource.type=gce_instance
133
+ # @!attribute [rw] bigquery_options
134
+ # @return [::Google::Cloud::Logging::V2::BigQueryOptions]
135
+ # Optional. Options that affect sinks exporting data to BigQuery.
136
+ # @!attribute [r] create_time
137
+ # @return [::Google::Protobuf::Timestamp]
138
+ # Output only. The creation timestamp of the sink.
139
+ #
140
+ # This field may not be present for older sinks.
141
+ # @!attribute [r] update_time
142
+ # @return [::Google::Protobuf::Timestamp]
143
+ # Output only. The last update timestamp of the sink.
144
+ #
145
+ # This field may not be present for older sinks.
146
+ class LogSink
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+
150
+ # Available log entry formats. Log entries can be written to
151
+ # Logging in either format and can be exported in either format.
152
+ # Version 2 is the preferred format.
153
+ module VersionFormat
154
+ # An unspecified format version that will default to V2.
155
+ VERSION_FORMAT_UNSPECIFIED = 0
156
+
157
+ # `LogEntry` version 2 format.
158
+ V2 = 1
159
+
160
+ # `LogEntry` version 1 format.
161
+ V1 = 2
162
+ end
163
+ end
164
+
165
+ # Options that change functionality of a sink exporting data to BigQuery.
166
+ # @!attribute [rw] use_partitioned_tables
167
+ # @return [::Boolean]
168
+ # Optional. Whether to use [BigQuery's partition
169
+ # tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Logging
170
+ # creates dated tables based on the log entries' timestamps, e.g.
171
+ # syslog_20170523. With partitioned tables the date suffix is no longer
172
+ # present and [special query
173
+ # syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead.
174
+ # In both cases, tables are sharded based on UTC timezone.
175
+ # @!attribute [r] uses_timestamp_column_partitioning
176
+ # @return [::Boolean]
177
+ # Output only. True if new timestamp column based partitioning is in use,
178
+ # false if legacy ingestion-time partitioning is in use.
179
+ # All new sinks will have this field set true and will use timestamp column
180
+ # based partitioning. If use_partitioned_tables is false, this value has no
181
+ # meaning and will be false. Legacy sinks using partitioned tables will have
182
+ # this field set to false.
183
+ class BigQueryOptions
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+
188
+ # The parameters to `ListBuckets` (Beta).
189
+ # @!attribute [rw] parent
190
+ # @return [::String]
191
+ # Required. The parent resource whose buckets are to be listed:
192
+ #
193
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]"
194
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
195
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
196
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
197
+ #
198
+ # Note: The locations portion of the resource must be specified, but
199
+ # supplying the character `-` in place of [LOCATION_ID] will return all
200
+ # buckets.
201
+ # @!attribute [rw] page_token
202
+ # @return [::String]
203
+ # Optional. If present, then retrieve the next batch of results from the
204
+ # preceding call to this method. `pageToken` must be the value of
205
+ # `nextPageToken` from the previous response. The values of other method
206
+ # parameters should be identical to those in the previous call.
207
+ # @!attribute [rw] page_size
208
+ # @return [::Integer]
209
+ # Optional. The maximum number of results to return from this request.
210
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
211
+ # response indicates that more results might be available.
212
+ class ListBucketsRequest
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # The response from ListBuckets (Beta).
218
+ # @!attribute [rw] buckets
219
+ # @return [::Array<::Google::Cloud::Logging::V2::LogBucket>]
220
+ # A list of buckets.
221
+ # @!attribute [rw] next_page_token
222
+ # @return [::String]
223
+ # If there might be more results than appear in this response, then
224
+ # `nextPageToken` is included. To get the next set of results, call the same
225
+ # method again using the value of `nextPageToken` as `pageToken`.
226
+ class ListBucketsResponse
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+ end
230
+
231
+ # The parameters to `UpdateBucket` (Beta).
232
+ # @!attribute [rw] name
233
+ # @return [::String]
234
+ # Required. The full resource name of the bucket to update.
235
+ #
236
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
237
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
238
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
239
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
240
+ #
241
+ # Example:
242
+ # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`. Also
243
+ # requires permission "resourcemanager.projects.updateLiens" to set the
244
+ # locked property
245
+ # @!attribute [rw] bucket
246
+ # @return [::Google::Cloud::Logging::V2::LogBucket]
247
+ # Required. The updated bucket.
248
+ # @!attribute [rw] update_mask
249
+ # @return [::Google::Protobuf::FieldMask]
250
+ # Required. Field mask that specifies the fields in `bucket` that need an update. A
251
+ # bucket field will be overwritten if, and only if, it is in the update
252
+ # mask. `name` and output only fields cannot be updated.
253
+ #
254
+ # For a detailed `FieldMask` definition, see
255
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
256
+ #
257
+ # Example: `updateMask=retention_days`.
258
+ class UpdateBucketRequest
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+ end
262
+
263
+ # The parameters to `GetBucket` (Beta).
264
+ # @!attribute [rw] name
265
+ # @return [::String]
266
+ # Required. The resource name of the bucket:
267
+ #
268
+ # "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
269
+ # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
270
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
271
+ # "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"
272
+ #
273
+ # Example:
274
+ # `"projects/my-project-id/locations/my-location/buckets/my-bucket-id"`.
275
+ class GetBucketRequest
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+
280
+ # The parameters to `ListSinks`.
281
+ # @!attribute [rw] parent
282
+ # @return [::String]
283
+ # Required. The parent resource whose sinks are to be listed:
284
+ #
285
+ # "projects/[PROJECT_ID]"
286
+ # "organizations/[ORGANIZATION_ID]"
287
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
288
+ # "folders/[FOLDER_ID]"
289
+ # @!attribute [rw] page_token
290
+ # @return [::String]
291
+ # Optional. If present, then retrieve the next batch of results from the
292
+ # preceding call to this method. `pageToken` must be the value of
293
+ # `nextPageToken` from the previous response. The values of other method
294
+ # parameters should be identical to those in the previous call.
295
+ # @!attribute [rw] page_size
296
+ # @return [::Integer]
297
+ # Optional. The maximum number of results to return from this request.
298
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
299
+ # response indicates that more results might be available.
300
+ class ListSinksRequest
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # Result returned from `ListSinks`.
306
+ # @!attribute [rw] sinks
307
+ # @return [::Array<::Google::Cloud::Logging::V2::LogSink>]
308
+ # A list of sinks.
309
+ # @!attribute [rw] next_page_token
310
+ # @return [::String]
311
+ # If there might be more results than appear in this response, then
312
+ # `nextPageToken` is included. To get the next set of results, call the same
313
+ # method again using the value of `nextPageToken` as `pageToken`.
314
+ class ListSinksResponse
315
+ include ::Google::Protobuf::MessageExts
316
+ extend ::Google::Protobuf::MessageExts::ClassMethods
317
+ end
318
+
319
+ # The parameters to `GetSink`.
320
+ # @!attribute [rw] sink_name
321
+ # @return [::String]
322
+ # Required. The resource name of the sink:
323
+ #
324
+ # "projects/[PROJECT_ID]/sinks/[SINK_ID]"
325
+ # "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
326
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
327
+ # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
328
+ #
329
+ # Example: `"projects/my-project-id/sinks/my-sink-id"`.
330
+ class GetSinkRequest
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # The parameters to `CreateSink`.
336
+ # @!attribute [rw] parent
337
+ # @return [::String]
338
+ # Required. The resource in which to create the sink:
339
+ #
340
+ # "projects/[PROJECT_ID]"
341
+ # "organizations/[ORGANIZATION_ID]"
342
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
343
+ # "folders/[FOLDER_ID]"
344
+ #
345
+ # Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
346
+ # @!attribute [rw] sink
347
+ # @return [::Google::Cloud::Logging::V2::LogSink]
348
+ # Required. The new sink, whose `name` parameter is a sink identifier that
349
+ # is not already in use.
350
+ # @!attribute [rw] unique_writer_identity
351
+ # @return [::Boolean]
352
+ # Optional. Determines the kind of IAM identity returned as `writer_identity`
353
+ # in the new sink. If this value is omitted or set to false, and if the
354
+ # sink's parent is a project, then the value returned as `writer_identity` is
355
+ # the same group or service account used by Logging before the addition of
356
+ # writer identities to this API. The sink's destination must be in the same
357
+ # project as the sink itself.
358
+ #
359
+ # If this field is set to true, or if the sink is owned by a non-project
360
+ # resource such as an organization, then the value of `writer_identity` will
361
+ # be a unique service account used only for exports from the new sink. For
362
+ # more information, see `writer_identity` in {::Google::Cloud::Logging::V2::LogSink LogSink}.
363
+ class CreateSinkRequest
364
+ include ::Google::Protobuf::MessageExts
365
+ extend ::Google::Protobuf::MessageExts::ClassMethods
366
+ end
367
+
368
+ # The parameters to `UpdateSink`.
369
+ # @!attribute [rw] sink_name
370
+ # @return [::String]
371
+ # Required. The full resource name of the sink to update, including the parent
372
+ # resource and the sink identifier:
373
+ #
374
+ # "projects/[PROJECT_ID]/sinks/[SINK_ID]"
375
+ # "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
376
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
377
+ # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
378
+ #
379
+ # Example: `"projects/my-project-id/sinks/my-sink-id"`.
380
+ # @!attribute [rw] sink
381
+ # @return [::Google::Cloud::Logging::V2::LogSink]
382
+ # Required. The updated sink, whose name is the same identifier that appears as part
383
+ # of `sink_name`.
384
+ # @!attribute [rw] unique_writer_identity
385
+ # @return [::Boolean]
386
+ # Optional. See {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#create_sink sinks.create}
387
+ # for a description of this field. When updating a sink, the effect of this
388
+ # field on the value of `writer_identity` in the updated sink depends on both
389
+ # the old and new values of this field:
390
+ #
391
+ # + If the old and new values of this field are both false or both true,
392
+ # then there is no change to the sink's `writer_identity`.
393
+ # + If the old value is false and the new value is true, then
394
+ # `writer_identity` is changed to a unique service account.
395
+ # + It is an error if the old value is true and the new value is
396
+ # set to false or defaulted to false.
397
+ # @!attribute [rw] update_mask
398
+ # @return [::Google::Protobuf::FieldMask]
399
+ # Optional. Field mask that specifies the fields in `sink` that need
400
+ # an update. A sink field will be overwritten if, and only if, it is
401
+ # in the update mask. `name` and output only fields cannot be updated.
402
+ #
403
+ # An empty updateMask is temporarily treated as using the following mask
404
+ # for backwards compatibility purposes:
405
+ # destination,filter,includeChildren
406
+ # At some point in the future, behavior will be removed and specifying an
407
+ # empty updateMask will be an error.
408
+ #
409
+ # For a detailed `FieldMask` definition, see
410
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask
411
+ #
412
+ # Example: `updateMask=filter`.
413
+ class UpdateSinkRequest
414
+ include ::Google::Protobuf::MessageExts
415
+ extend ::Google::Protobuf::MessageExts::ClassMethods
416
+ end
417
+
418
+ # The parameters to `DeleteSink`.
419
+ # @!attribute [rw] sink_name
420
+ # @return [::String]
421
+ # Required. The full resource name of the sink to delete, including the parent
422
+ # resource and the sink identifier:
423
+ #
424
+ # "projects/[PROJECT_ID]/sinks/[SINK_ID]"
425
+ # "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
426
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
427
+ # "folders/[FOLDER_ID]/sinks/[SINK_ID]"
428
+ #
429
+ # Example: `"projects/my-project-id/sinks/my-sink-id"`.
430
+ class DeleteSinkRequest
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+ end
434
+
435
+ # Specifies a set of log entries that are not to be stored in
436
+ # Logging. If your GCP resource receives a large volume of logs, you can
437
+ # use exclusions to reduce your chargeable logs. Exclusions are
438
+ # processed after log sinks, so you can export log entries before they are
439
+ # excluded. Note that organization-level and folder-level exclusions don't
440
+ # apply to child resources, and that you can't exclude audit log entries.
441
+ # @!attribute [rw] name
442
+ # @return [::String]
443
+ # Required. A client-assigned identifier, such as `"load-balancer-exclusion"`.
444
+ # Identifiers are limited to 100 characters and can include only letters,
445
+ # digits, underscores, hyphens, and periods. First character has to be
446
+ # alphanumeric.
447
+ # @!attribute [rw] description
448
+ # @return [::String]
449
+ # Optional. A description of this exclusion.
450
+ # @!attribute [rw] filter
451
+ # @return [::String]
452
+ # Required. An [advanced logs filter](https://cloud.google.com/logging/docs/view/advanced-queries)
453
+ # that matches the log entries to be excluded. By using the
454
+ # [sample function](https://cloud.google.com/logging/docs/view/advanced-queries#sample),
455
+ # you can exclude less than 100% of the matching log entries.
456
+ # For example, the following query matches 99% of low-severity log
457
+ # entries from Google Cloud Storage buckets:
458
+ #
459
+ # `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"`
460
+ # @!attribute [rw] disabled
461
+ # @return [::Boolean]
462
+ # Optional. If set to True, then this exclusion is disabled and it does not
463
+ # exclude any log entries. You can [update an
464
+ # exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the
465
+ # value of this field.
466
+ # @!attribute [r] create_time
467
+ # @return [::Google::Protobuf::Timestamp]
468
+ # Output only. The creation timestamp of the exclusion.
469
+ #
470
+ # This field may not be present for older exclusions.
471
+ # @!attribute [r] update_time
472
+ # @return [::Google::Protobuf::Timestamp]
473
+ # Output only. The last update timestamp of the exclusion.
474
+ #
475
+ # This field may not be present for older exclusions.
476
+ class LogExclusion
477
+ include ::Google::Protobuf::MessageExts
478
+ extend ::Google::Protobuf::MessageExts::ClassMethods
479
+ end
480
+
481
+ # The parameters to `ListExclusions`.
482
+ # @!attribute [rw] parent
483
+ # @return [::String]
484
+ # Required. The parent resource whose exclusions are to be listed.
485
+ #
486
+ # "projects/[PROJECT_ID]"
487
+ # "organizations/[ORGANIZATION_ID]"
488
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
489
+ # "folders/[FOLDER_ID]"
490
+ # @!attribute [rw] page_token
491
+ # @return [::String]
492
+ # Optional. If present, then retrieve the next batch of results from the
493
+ # preceding call to this method. `pageToken` must be the value of
494
+ # `nextPageToken` from the previous response. The values of other method
495
+ # parameters should be identical to those in the previous call.
496
+ # @!attribute [rw] page_size
497
+ # @return [::Integer]
498
+ # Optional. The maximum number of results to return from this request.
499
+ # Non-positive values are ignored. The presence of `nextPageToken` in the
500
+ # response indicates that more results might be available.
501
+ class ListExclusionsRequest
502
+ include ::Google::Protobuf::MessageExts
503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
504
+ end
505
+
506
+ # Result returned from `ListExclusions`.
507
+ # @!attribute [rw] exclusions
508
+ # @return [::Array<::Google::Cloud::Logging::V2::LogExclusion>]
509
+ # A list of exclusions.
510
+ # @!attribute [rw] next_page_token
511
+ # @return [::String]
512
+ # If there might be more results than appear in this response, then
513
+ # `nextPageToken` is included. To get the next set of results, call the same
514
+ # method again using the value of `nextPageToken` as `pageToken`.
515
+ class ListExclusionsResponse
516
+ include ::Google::Protobuf::MessageExts
517
+ extend ::Google::Protobuf::MessageExts::ClassMethods
518
+ end
519
+
520
+ # The parameters to `GetExclusion`.
521
+ # @!attribute [rw] name
522
+ # @return [::String]
523
+ # Required. The resource name of an existing exclusion:
524
+ #
525
+ # "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
526
+ # "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
527
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
528
+ # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
529
+ #
530
+ # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
531
+ class GetExclusionRequest
532
+ include ::Google::Protobuf::MessageExts
533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
534
+ end
535
+
536
+ # The parameters to `CreateExclusion`.
537
+ # @!attribute [rw] parent
538
+ # @return [::String]
539
+ # Required. The parent resource in which to create the exclusion:
540
+ #
541
+ # "projects/[PROJECT_ID]"
542
+ # "organizations/[ORGANIZATION_ID]"
543
+ # "billingAccounts/[BILLING_ACCOUNT_ID]"
544
+ # "folders/[FOLDER_ID]"
545
+ #
546
+ # Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
547
+ # @!attribute [rw] exclusion
548
+ # @return [::Google::Cloud::Logging::V2::LogExclusion]
549
+ # Required. The new exclusion, whose `name` parameter is an exclusion name
550
+ # that is not already used in the parent resource.
551
+ class CreateExclusionRequest
552
+ include ::Google::Protobuf::MessageExts
553
+ extend ::Google::Protobuf::MessageExts::ClassMethods
554
+ end
555
+
556
+ # The parameters to `UpdateExclusion`.
557
+ # @!attribute [rw] name
558
+ # @return [::String]
559
+ # Required. The resource name of the exclusion to update:
560
+ #
561
+ # "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
562
+ # "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
563
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
564
+ # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
565
+ #
566
+ # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
567
+ # @!attribute [rw] exclusion
568
+ # @return [::Google::Cloud::Logging::V2::LogExclusion]
569
+ # Required. New values for the existing exclusion. Only the fields specified in
570
+ # `update_mask` are relevant.
571
+ # @!attribute [rw] update_mask
572
+ # @return [::Google::Protobuf::FieldMask]
573
+ # Required. A non-empty list of fields to change in the existing exclusion. New values
574
+ # for the fields are taken from the corresponding fields in the
575
+ # {::Google::Cloud::Logging::V2::LogExclusion LogExclusion} included in this request. Fields not mentioned in
576
+ # `update_mask` are not changed and are ignored in the request.
577
+ #
578
+ # For example, to change the filter and description of an exclusion,
579
+ # specify an `update_mask` of `"filter,description"`.
580
+ class UpdateExclusionRequest
581
+ include ::Google::Protobuf::MessageExts
582
+ extend ::Google::Protobuf::MessageExts::ClassMethods
583
+ end
584
+
585
+ # The parameters to `DeleteExclusion`.
586
+ # @!attribute [rw] name
587
+ # @return [::String]
588
+ # Required. The resource name of an existing exclusion to delete:
589
+ #
590
+ # "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
591
+ # "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
592
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]"
593
+ # "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
594
+ #
595
+ # Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
596
+ class DeleteExclusionRequest
597
+ include ::Google::Protobuf::MessageExts
598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
599
+ end
600
+
601
+ # The parameters to
602
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings}.
603
+ #
604
+ # See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
605
+ # for more information.
606
+ # @!attribute [rw] name
607
+ # @return [::String]
608
+ # Required. The resource for which to retrieve CMEK settings.
609
+ #
610
+ # "projects/[PROJECT_ID]/cmekSettings"
611
+ # "organizations/[ORGANIZATION_ID]/cmekSettings"
612
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
613
+ # "folders/[FOLDER_ID]/cmekSettings"
614
+ #
615
+ # Example: `"organizations/12345/cmekSettings"`.
616
+ #
617
+ # Note: CMEK for the Logs Router can currently only be configured for GCP
618
+ # organizations. Once configured, it applies to all projects and folders in
619
+ # the GCP organization.
620
+ class GetCmekSettingsRequest
621
+ include ::Google::Protobuf::MessageExts
622
+ extend ::Google::Protobuf::MessageExts::ClassMethods
623
+ end
624
+
625
+ # The parameters to
626
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#update_cmek_settings UpdateCmekSettings}.
627
+ #
628
+ # See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
629
+ # for more information.
630
+ # @!attribute [rw] name
631
+ # @return [::String]
632
+ # Required. The resource name for the CMEK settings to update.
633
+ #
634
+ # "projects/[PROJECT_ID]/cmekSettings"
635
+ # "organizations/[ORGANIZATION_ID]/cmekSettings"
636
+ # "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings"
637
+ # "folders/[FOLDER_ID]/cmekSettings"
638
+ #
639
+ # Example: `"organizations/12345/cmekSettings"`.
640
+ #
641
+ # Note: CMEK for the Logs Router can currently only be configured for GCP
642
+ # organizations. Once configured, it applies to all projects and folders in
643
+ # the GCP organization.
644
+ # @!attribute [rw] cmek_settings
645
+ # @return [::Google::Cloud::Logging::V2::CmekSettings]
646
+ # Required. The CMEK settings to update.
647
+ #
648
+ # See [Enabling CMEK for Logs
649
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
650
+ # @!attribute [rw] update_mask
651
+ # @return [::Google::Protobuf::FieldMask]
652
+ # Optional. Field mask identifying which fields from `cmek_settings` should
653
+ # be updated. A field will be overwritten if and only if it is in the update
654
+ # mask. Output only fields cannot be updated.
655
+ #
656
+ # See {::Google::Protobuf::FieldMask FieldMask} for more information.
657
+ #
658
+ # Example: `"updateMask=kmsKeyName"`
659
+ class UpdateCmekSettingsRequest
660
+ include ::Google::Protobuf::MessageExts
661
+ extend ::Google::Protobuf::MessageExts::ClassMethods
662
+ end
663
+
664
+ # Describes the customer-managed encryption key (CMEK) settings associated with
665
+ # a project, folder, organization, billing account, or flexible resource.
666
+ #
667
+ # Note: CMEK for the Logs Router can currently only be configured for GCP
668
+ # organizations. Once configured, it applies to all projects and folders in the
669
+ # GCP organization.
670
+ #
671
+ # See [Enabling CMEK for Logs Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
672
+ # for more information.
673
+ # @!attribute [r] name
674
+ # @return [::String]
675
+ # Output only. The resource name of the CMEK settings.
676
+ # @!attribute [rw] kms_key_name
677
+ # @return [::String]
678
+ # The resource name for the configured Cloud KMS key.
679
+ #
680
+ # KMS key name format:
681
+ # "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"
682
+ #
683
+ # For example:
684
+ # `"projects/my-project-id/locations/my-region/keyRings/key-ring-name/cryptoKeys/key-name"`
685
+ #
686
+ #
687
+ #
688
+ # To enable CMEK for the Logs Router, set this field to a valid
689
+ # `kms_key_name` for which the associated service account has the required
690
+ # `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key.
691
+ #
692
+ # The Cloud KMS key used by the Log Router can be updated by changing the
693
+ # `kms_key_name` to a new valid key name. Encryption operations that are in
694
+ # progress will be completed with the key that was in use when they started.
695
+ # Decryption operations will be completed using the key that was used at the
696
+ # time of encryption unless access to that key has been revoked.
697
+ #
698
+ # To disable CMEK for the Logs Router, set this field to an empty string.
699
+ #
700
+ # See [Enabling CMEK for Logs
701
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
702
+ # @!attribute [r] service_account_id
703
+ # @return [::String]
704
+ # Output only. The service account that will be used by the Logs Router to access your
705
+ # Cloud KMS key.
706
+ #
707
+ # Before enabling CMEK for Logs Router, you must first assign the role
708
+ # `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that
709
+ # the Logs Router will use to access your Cloud KMS key. Use
710
+ # {::Google::Cloud::Logging::V2::ConfigServiceV2::Client#get_cmek_settings GetCmekSettings} to
711
+ # obtain the service account ID.
712
+ #
713
+ # See [Enabling CMEK for Logs
714
+ # Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.
715
+ class CmekSettings
716
+ include ::Google::Protobuf::MessageExts
717
+ extend ::Google::Protobuf::MessageExts::ClassMethods
718
+ end
719
+
720
+ # LogBucket lifecycle states (Beta).
721
+ module LifecycleState
722
+ # Unspecified state. This is only used/useful for distinguishing
723
+ # unset values.
724
+ LIFECYCLE_STATE_UNSPECIFIED = 0
725
+
726
+ # The normal and active state.
727
+ ACTIVE = 1
728
+
729
+ # The bucket has been marked for deletion by the user.
730
+ DELETE_REQUESTED = 2
731
+ end
732
+ end
733
+ end
734
+ end
735
+ end