fluent-plugin-google-cloud 0.5.6 → 0.6.0.v2.alpha.1
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +20 -1
- data/fluent-plugin-google-cloud.gemspec +2 -1
- data/lib/fluent/plugin/out_google_cloud.rb +355 -205
- data/test/plugin/base_test.rb +301 -211
- data/test/plugin/test_out_google_cloud.rb +17 -33
- data/test/plugin/test_out_google_cloud_grpc.rb +26 -33
- metadata +18 -9
- data/lib/google/logging/type/http_request_pb.rb +0 -30
- data/lib/google/logging/type/log_severity_pb.rb +0 -26
- data/lib/google/logging/v1/log_entry_pb.rb +0 -52
- data/lib/google/logging/v1/logging_pb.rb +0 -84
- data/lib/google/logging/v1/logging_services_pb.rb +0 -150
@@ -28,18 +28,18 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
28
28
|
setup_gce_metadata_stubs
|
29
29
|
# The API Client should not retry this and the plugin should consume
|
30
30
|
# the exception.
|
31
|
-
stub_request(:post,
|
31
|
+
stub_request(:post, WRITE_LOG_ENTRIES_URI)
|
32
32
|
.to_return(status: 400, body: 'Bad Request')
|
33
33
|
d = create_driver
|
34
34
|
d.emit('message' => log_entry(0))
|
35
35
|
d.run
|
36
|
-
assert_requested(:post,
|
36
|
+
assert_requested(:post, WRITE_LOG_ENTRIES_URI, times: 1)
|
37
37
|
end
|
38
38
|
|
39
39
|
# All credentials errors resolve to a 401.
|
40
40
|
def test_client_401
|
41
41
|
setup_gce_metadata_stubs
|
42
|
-
stub_request(:post,
|
42
|
+
stub_request(:post, WRITE_LOG_ENTRIES_URI)
|
43
43
|
.to_return(status: 401, body: 'Unauthorized')
|
44
44
|
d = create_driver
|
45
45
|
d.emit('message' => log_entry(0))
|
@@ -48,14 +48,14 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
48
48
|
rescue Google::Apis::AuthorizationError => error
|
49
49
|
assert_equal 'Unauthorized', error.message
|
50
50
|
end
|
51
|
-
assert_requested(:post,
|
51
|
+
assert_requested(:post, WRITE_LOG_ENTRIES_URI, times: 2)
|
52
52
|
end
|
53
53
|
|
54
54
|
def test_server_error
|
55
55
|
setup_gce_metadata_stubs
|
56
56
|
# The API client should retry this once, then throw an exception which
|
57
57
|
# gets propagated through the plugin.
|
58
|
-
stub_request(:post,
|
58
|
+
stub_request(:post, WRITE_LOG_ENTRIES_URI)
|
59
59
|
.to_return(status: 500, body: 'Server Error')
|
60
60
|
d = create_driver
|
61
61
|
d.emit('message' => log_entry(0))
|
@@ -66,7 +66,7 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
66
66
|
assert_equal 'Server error', error.message
|
67
67
|
exception_count += 1
|
68
68
|
end
|
69
|
-
assert_requested(:post,
|
69
|
+
assert_requested(:post, WRITE_LOG_ENTRIES_URI, times: 1)
|
70
70
|
assert_equal 1, exception_count
|
71
71
|
end
|
72
72
|
|
@@ -84,7 +84,7 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
84
84
|
# the proto.
|
85
85
|
assert_equal http_request_message_with_nil_referer,
|
86
86
|
entry['httpRequest'], entry
|
87
|
-
assert_nil get_fields(entry['
|
87
|
+
assert_nil get_fields(entry['jsonPayload'])['httpRequest'], entry
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
@@ -113,7 +113,7 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
113
113
|
verify_index = 0
|
114
114
|
verify_log_entries(emit_index, COMPUTE_PARAMS) do |entry|
|
115
115
|
assert_equal expected_severity[verify_index],
|
116
|
-
entry['
|
116
|
+
entry['severity'], entry
|
117
117
|
verify_index += 1
|
118
118
|
end
|
119
119
|
end
|
@@ -181,7 +181,6 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
181
181
|
assert_equal('ERROR', test_obj.parse_severity('ERROR '))
|
182
182
|
assert_equal('ERROR', test_obj.parse_severity(' ERROR '))
|
183
183
|
assert_equal('ERROR', test_obj.parse_severity("\t ERROR "))
|
184
|
-
|
185
184
|
# space in the middle should not be stripped.
|
186
185
|
assert_equal('DEFAULT', test_obj.parse_severity('ER ROR'))
|
187
186
|
|
@@ -208,9 +207,8 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
208
207
|
d.run
|
209
208
|
end
|
210
209
|
verify_log_entries(1, COMPUTE_PARAMS) do |entry|
|
211
|
-
assert_equal timestamp, entry['
|
212
|
-
"
|
213
|
-
"entry: '#{entry}'."
|
210
|
+
assert_equal timestamp, entry['timestamp'], 'Test with timestamp ' \
|
211
|
+
"'#{timestamp}' failed for entry: '#{entry}'."
|
214
212
|
end
|
215
213
|
end
|
216
214
|
end
|
@@ -221,25 +219,11 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
221
219
|
hash.merge(new_key => hash[old_key]).reject { |k, _| k == old_key }
|
222
220
|
end
|
223
221
|
|
224
|
-
# The REST path uses old bindings that were generated prior to the field
|
225
|
-
# rename, and has to use the old name, which is 'validatedWithOriginServer'.
|
226
|
-
def http_request_message
|
227
|
-
rename_key(super, 'cacheValidatedWithOriginServer',
|
228
|
-
'validatedWithOriginServer')
|
229
|
-
end
|
230
|
-
|
231
222
|
# Set up http stubs to mock the external calls.
|
232
|
-
def setup_logging_stubs
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
CUSTOM_PARAMS, EC2_PARAMS]
|
237
|
-
stub_params.each do |params|
|
238
|
-
stub_request(:post, uri_for_log(params)).to_return do |request|
|
239
|
-
log_name = "projects/#{params[:project_id]}/logs/#{params[:log_name]}"
|
240
|
-
@logs_sent << JSON.parse(request.body).merge('logName' => log_name)
|
241
|
-
{ body: '' }
|
242
|
-
end
|
223
|
+
def setup_logging_stubs
|
224
|
+
stub_request(:post, WRITE_LOG_ENTRIES_URI).to_return do |request|
|
225
|
+
@logs_sent << JSON.parse(request.body)
|
226
|
+
{ body: '' }
|
243
227
|
end
|
244
228
|
yield
|
245
229
|
end
|
@@ -270,9 +254,9 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
270
254
|
end
|
271
255
|
end
|
272
256
|
|
273
|
-
# Get the fields of the
|
274
|
-
def get_fields(
|
275
|
-
|
257
|
+
# Get the fields of the payload.
|
258
|
+
def get_fields(payload)
|
259
|
+
payload
|
276
260
|
end
|
277
261
|
|
278
262
|
# Get the value of a struct field.
|
@@ -31,7 +31,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
31
31
|
{ 8 => 'ResourceExhausted',
|
32
32
|
12 => 'Unimplemented',
|
33
33
|
16 => 'Unauthenticated' }.each_with_index do |(code, message), index|
|
34
|
-
setup_logging_stubs(
|
34
|
+
setup_logging_stubs(true, code, message) do
|
35
35
|
d = create_driver(USE_GRPC_CONFIG, 'test',
|
36
36
|
GRPCLoggingMockFailingService.rpc_stub_class)
|
37
37
|
# The API Client should not retry this and the plugin should consume the
|
@@ -51,7 +51,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
51
51
|
13 => 'Internal',
|
52
52
|
14 => 'Unavailable' }.each_with_index do |(code, message), index|
|
53
53
|
exception_count = 0
|
54
|
-
setup_logging_stubs(
|
54
|
+
setup_logging_stubs(true, code, message) do
|
55
55
|
d = create_driver(USE_GRPC_CONFIG, 'test',
|
56
56
|
GRPCLoggingMockFailingService.rpc_stub_class)
|
57
57
|
# The API client should retry this once, then throw an exception which
|
@@ -82,7 +82,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
82
82
|
verify_log_entries(1, COMPUTE_PARAMS, 'httpRequest') do |entry|
|
83
83
|
assert_equal http_request_message_with_absent_referer,
|
84
84
|
entry['httpRequest'], entry
|
85
|
-
assert_nil get_fields(entry['
|
85
|
+
assert_nil get_fields(entry['jsonPayload'])['httpRequest'], entry
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -96,7 +96,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
96
96
|
verify_log_entries(1, COMPUTE_PARAMS, 'httpRequest') do |entry|
|
97
97
|
assert_equal http_request_message_with_absent_referer,
|
98
98
|
entry['httpRequest'], entry
|
99
|
-
assert_nil get_fields(entry['
|
99
|
+
assert_nil get_fields(entry['jsonPayload'])['httpRequest'], entry
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
@@ -124,7 +124,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
124
124
|
end
|
125
125
|
verify_index = 0
|
126
126
|
verify_log_entries(emit_index, COMPUTE_PARAMS) do |entry|
|
127
|
-
assert_equal_with_default(entry['
|
127
|
+
assert_equal_with_default(entry['severity'],
|
128
128
|
expected_severity[verify_index],
|
129
129
|
'DEFAULT', entry)
|
130
130
|
verify_index += 1
|
@@ -143,8 +143,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
143
143
|
'null_field' => nil)
|
144
144
|
d.run
|
145
145
|
end
|
146
|
-
verify_log_entries(1, COMPUTE_PARAMS, '
|
147
|
-
fields = get_fields(entry['
|
146
|
+
verify_log_entries(1, COMPUTE_PARAMS, 'jsonPayload') do |entry|
|
147
|
+
fields = get_fields(entry['jsonPayload'])
|
148
148
|
assert_equal 5, fields.size, entry
|
149
149
|
assert_equal 'test log entry 0', get_string(fields['msg']), entry
|
150
150
|
assert_equal 'test non utf8', get_string(fields['normal_key']), entry
|
@@ -174,9 +174,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
174
174
|
d.run
|
175
175
|
end
|
176
176
|
verify_log_entries(1, COMPUTE_PARAMS) do |entry|
|
177
|
-
assert_equal expected, entry['
|
178
|
-
"
|
179
|
-
"entry: '#{entry}'."
|
177
|
+
assert_equal expected, entry['timestamp'], 'Test with timestamp ' \
|
178
|
+
"'#{input}' failed for entry: '#{entry}'."
|
180
179
|
end
|
181
180
|
end
|
182
181
|
end
|
@@ -185,8 +184,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
185
184
|
|
186
185
|
GRPC_MOCK_HOST = 'localhost:56789'
|
187
186
|
|
188
|
-
WriteLogEntriesRequest = Google::Logging::
|
189
|
-
WriteLogEntriesResponse = Google::Logging::
|
187
|
+
WriteLogEntriesRequest = Google::Logging::V2::WriteLogEntriesRequest
|
188
|
+
WriteLogEntriesResponse = Google::Logging::V2::WriteLogEntriesResponse
|
190
189
|
|
191
190
|
USE_GRPC_CONFIG = %(
|
192
191
|
use_grpc true
|
@@ -223,18 +222,13 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
223
222
|
end
|
224
223
|
|
225
224
|
# GRPC logging mock that successfully logs the records.
|
226
|
-
class GRPCLoggingMockService < Google::Logging::
|
227
|
-
def initialize(
|
225
|
+
class GRPCLoggingMockService < Google::Logging::V2::LoggingServiceV2::Service
|
226
|
+
def initialize(requests_received)
|
228
227
|
super()
|
229
228
|
@requests_received = requests_received
|
230
|
-
@expected_log_names = stub_params.map do |param|
|
231
|
-
"projects/#{param[:project_id]}/logs/#{param[:log_name]}"
|
232
|
-
end
|
233
229
|
end
|
234
230
|
|
235
231
|
def write_log_entries(request, _call)
|
236
|
-
fail GRPC::BadStatus.new(99, "Unexpected request: #{request.inspect}") \
|
237
|
-
unless @expected_log_names.include?(request.log_name)
|
238
232
|
@requests_received << request
|
239
233
|
WriteLogEntriesResponse.new
|
240
234
|
end
|
@@ -248,15 +242,17 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
248
242
|
end
|
249
243
|
|
250
244
|
alias_method :list_logs, :_undefined
|
245
|
+
alias_method :list_log_entries, :_undefined
|
251
246
|
alias_method :list_log_services, :_undefined
|
252
247
|
alias_method :list_log_service_indexes, :_undefined
|
248
|
+
alias_method :list_monitored_resource_descriptors, :_undefined
|
253
249
|
alias_method :delete_log, :_undefined
|
254
250
|
undef_method :_undefined
|
255
251
|
end
|
256
252
|
|
257
253
|
# GRPC logging mock that fails and returns server side or client side errors.
|
258
254
|
class GRPCLoggingMockFailingService <
|
259
|
-
Google::Logging::
|
255
|
+
Google::Logging::V2::LoggingServiceV2::Service
|
260
256
|
# 'code_sent' and 'message_sent' are references of external variables. We
|
261
257
|
# will assert the values of them later. 'code_value' and 'message_value'
|
262
258
|
# are actual error code and message we expect this mock to return.
|
@@ -281,26 +277,23 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
281
277
|
end
|
282
278
|
|
283
279
|
alias_method :list_logs, :_undefined
|
280
|
+
alias_method :list_log_entries, :_undefined
|
284
281
|
alias_method :list_log_services, :_undefined
|
285
282
|
alias_method :list_log_service_indexes, :_undefined
|
283
|
+
alias_method :list_monitored_resource_descriptors, :_undefined
|
286
284
|
alias_method :delete_log, :_undefined
|
287
285
|
undef_method :_undefined
|
288
286
|
end
|
289
287
|
|
290
288
|
# Set up grpc stubs to mock the external calls.
|
291
|
-
def setup_logging_stubs(
|
292
|
-
code = 0, message = 'Ok')
|
293
|
-
stub_params = override_stub_params || \
|
294
|
-
[COMPUTE_PARAMS, VMENGINE_PARAMS, CONTAINER_FROM_TAG_PARAMS,
|
295
|
-
CONTAINER_FROM_METADATA_PARAMS, CLOUDFUNCTIONS_PARAMS,
|
296
|
-
CUSTOM_PARAMS, EC2_PARAMS]
|
289
|
+
def setup_logging_stubs(should_fail = false, code = 0, message = 'Ok')
|
297
290
|
srv = GRPC::RpcServer.new
|
298
291
|
@failed_attempts = []
|
299
292
|
@requests_sent = []
|
300
293
|
if should_fail
|
301
294
|
grpc = GRPCLoggingMockFailingService.new(code, message, @failed_attempts)
|
302
295
|
else
|
303
|
-
grpc = GRPCLoggingMockService.new(
|
296
|
+
grpc = GRPCLoggingMockService.new(@requests_sent)
|
304
297
|
end
|
305
298
|
srv.handle(grpc)
|
306
299
|
srv.add_http2_port(GRPC_MOCK_HOST, :this_port_is_insecure)
|
@@ -320,8 +313,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
320
313
|
# Verify the number and the content of the log entries match the expectation.
|
321
314
|
# The caller can optionally provide a block which is called for each entry.
|
322
315
|
def verify_log_entries(n, params, payload_type = 'textPayload', &block)
|
323
|
-
@requests_sent.each do |
|
324
|
-
@logs_sent << JSON.parse(
|
316
|
+
@requests_sent.each do |request|
|
317
|
+
@logs_sent << JSON.parse(request.to_json)
|
325
318
|
end
|
326
319
|
verify_json_log_entries(n, params, payload_type, &block)
|
327
320
|
end
|
@@ -349,14 +342,14 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
349
342
|
|
350
343
|
# Unset the 'referer' field.
|
351
344
|
def http_request_message_with_absent_referer
|
352
|
-
|
345
|
+
HTTP_REQUEST_MESSAGE.reject do |k, _|
|
353
346
|
k == 'referer'
|
354
347
|
end
|
355
348
|
end
|
356
349
|
|
357
|
-
# Get the fields of the
|
358
|
-
def get_fields(
|
359
|
-
|
350
|
+
# Get the fields of the payload.
|
351
|
+
def get_fields(payload)
|
352
|
+
payload['fields']
|
360
353
|
end
|
361
354
|
|
362
355
|
# Get the value of a struct field.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-google-cloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0.v2.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Derr
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 0.9.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: google-cloud-logging
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.23.2
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.23.2
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: googleauth
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,11 +198,6 @@ files:
|
|
184
198
|
- Rakefile
|
185
199
|
- fluent-plugin-google-cloud.gemspec
|
186
200
|
- lib/fluent/plugin/out_google_cloud.rb
|
187
|
-
- lib/google/logging/type/http_request_pb.rb
|
188
|
-
- lib/google/logging/type/log_severity_pb.rb
|
189
|
-
- lib/google/logging/v1/log_entry_pb.rb
|
190
|
-
- lib/google/logging/v1/logging_pb.rb
|
191
|
-
- lib/google/logging/v1/logging_services_pb.rb
|
192
201
|
- test/helper.rb
|
193
202
|
- test/plugin/base_test.rb
|
194
203
|
- test/plugin/data/c31e573fd7f62ed495c9ca3821a5a85cb036dee1-privatekey.p12
|
@@ -212,12 +221,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
221
|
version: '2.0'
|
213
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
223
|
requirements:
|
215
|
-
- - "
|
224
|
+
- - ">"
|
216
225
|
- !ruby/object:Gem::Version
|
217
|
-
version:
|
226
|
+
version: 1.3.1
|
218
227
|
requirements: []
|
219
228
|
rubyforge_project:
|
220
|
-
rubygems_version: 2.
|
229
|
+
rubygems_version: 2.6.10
|
221
230
|
signing_key:
|
222
231
|
specification_version: 4
|
223
232
|
summary: fluentd output plugin for the Stackdriver Logging API
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: google/logging/type/http_request.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
add_message "google.logging.type.HttpRequest" do
|
8
|
-
optional :request_method, :string, 1
|
9
|
-
optional :request_url, :string, 2
|
10
|
-
optional :request_size, :int64, 3
|
11
|
-
optional :status, :int32, 4
|
12
|
-
optional :response_size, :int64, 5
|
13
|
-
optional :user_agent, :string, 6
|
14
|
-
optional :remote_ip, :string, 7
|
15
|
-
optional :server_ip, :string, 13
|
16
|
-
optional :referer, :string, 8
|
17
|
-
optional :cache_lookup, :bool, 11
|
18
|
-
optional :cache_hit, :bool, 9
|
19
|
-
optional :cache_validated_with_origin_server, :bool, 10
|
20
|
-
optional :cache_fill_bytes, :int64, 12
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
module Google
|
25
|
-
module Logging
|
26
|
-
module Type
|
27
|
-
HttpRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.type.HttpRequest").msgclass
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: google/logging/type/log_severity.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
add_enum "google.logging.type.LogSeverity" do
|
8
|
-
value :DEFAULT, 0
|
9
|
-
value :DEBUG, 100
|
10
|
-
value :INFO, 200
|
11
|
-
value :NOTICE, 300
|
12
|
-
value :WARNING, 400
|
13
|
-
value :ERROR, 500
|
14
|
-
value :CRITICAL, 600
|
15
|
-
value :ALERT, 700
|
16
|
-
value :EMERGENCY, 800
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
module Google
|
21
|
-
module Logging
|
22
|
-
module Type
|
23
|
-
LogSeverity = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.type.LogSeverity").enummodule
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
-
# source: google/logging/v1/log_entry.proto
|
3
|
-
|
4
|
-
require 'google/protobuf'
|
5
|
-
|
6
|
-
require 'google/logging/type/http_request_pb'
|
7
|
-
require 'google/logging/type/log_severity_pb'
|
8
|
-
require 'google/protobuf/any_pb'
|
9
|
-
require 'google/protobuf/struct_pb'
|
10
|
-
require 'google/protobuf/timestamp_pb'
|
11
|
-
Google::Protobuf::DescriptorPool.generated_pool.build do
|
12
|
-
add_message "google.logging.v1.LogEntry" do
|
13
|
-
optional :metadata, :message, 1, "google.logging.v1.LogEntryMetadata"
|
14
|
-
optional :insert_id, :string, 4
|
15
|
-
optional :log, :string, 5
|
16
|
-
optional :http_request, :message, 7, "google.logging.type.HttpRequest"
|
17
|
-
optional :operation, :message, 8, "google.logging.v1.LogEntryOperation"
|
18
|
-
optional :writer_email_address, :string, 9
|
19
|
-
oneof :payload do
|
20
|
-
optional :proto_payload, :message, 2, "google.protobuf.Any"
|
21
|
-
optional :text_payload, :string, 3
|
22
|
-
optional :struct_payload, :message, 6, "google.protobuf.Struct"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
add_message "google.logging.v1.LogEntryMetadata" do
|
26
|
-
optional :timestamp, :message, 9, "google.protobuf.Timestamp"
|
27
|
-
optional :severity, :enum, 2, "google.logging.type.LogSeverity"
|
28
|
-
optional :project_id, :string, 3
|
29
|
-
optional :project_number, :int64, 10
|
30
|
-
optional :service_name, :string, 4
|
31
|
-
optional :region, :string, 5
|
32
|
-
optional :zone, :string, 6
|
33
|
-
optional :user_id, :string, 7
|
34
|
-
map :labels, :string, :string, 8
|
35
|
-
end
|
36
|
-
add_message "google.logging.v1.LogEntryOperation" do
|
37
|
-
optional :id, :string, 1
|
38
|
-
optional :producer, :string, 2
|
39
|
-
optional :first, :bool, 3
|
40
|
-
optional :last, :bool, 4
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
module Google
|
45
|
-
module Logging
|
46
|
-
module V1
|
47
|
-
LogEntry = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v1.LogEntry").msgclass
|
48
|
-
LogEntryMetadata = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v1.LogEntryMetadata").msgclass
|
49
|
-
LogEntryOperation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.logging.v1.LogEntryOperation").msgclass
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|