Class: Google::Apis::LoggingV2::LogSink
- Inherits:
-
Object
- Object
- Google::Apis::LoggingV2::LogSink
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/logging_v2/classes.rb,
generated/google/apis/logging_v2/representations.rb,
generated/google/apis/logging_v2/representations.rb
Overview
Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
Instance Attribute Summary collapse
-
#destination ⇒ String
Required.
-
#end_time ⇒ String
Optional.
-
#filter ⇒ String
Optional.
-
#include_children ⇒ Boolean
(also: #include_children?)
Optional.
-
#name ⇒ String
Required.
-
#output_version_format ⇒ String
Optional.
-
#start_time ⇒ String
Optional.
-
#writer_identity ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ LogSink
constructor
A new instance of LogSink.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ LogSink
Returns a new instance of LogSink
1249 1250 1251 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1249 def initialize(**args) update!(**args) end |
Instance Attribute Details
#destination ⇒ String
Required. The export destination:
"storage.googleapis.com/[GCS_BUCKET]"
"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
"pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
The sink's writer_identity, set when the sink is created, must have permission
to write to the destination or else the log entries are not exported. For more
information, see Exporting Logs With Sinks.
Corresponds to the JSON property destination
1238 1239 1240 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1238 def destination @destination end |
#end_time ⇒ String
Optional. The time at which this sink will stop exporting log entries. Log
entries are exported only if their timestamp is earlier than the end time. If
this field is not supplied, there is no end time. If both a start time and an
end time are provided, then the end time must be later than the start time.
Corresponds to the JSON property endTime
1175 1176 1177 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1175 def end_time @end_time end |
#filter ⇒ String
Optional. An advanced logs filter. The only exported log entries are those
that are in the resource owning the sink and that match the filter. The filter
must use the log entry format specified by the output_version_format parameter.
For example, in the v2 format:
logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
Corresponds to the JSON property filter
1247 1248 1249 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1247 def filter @filter end |
#include_children ⇒ Boolean Also known as: include_children?
Optional. This field applies only to sinks owned by organizations and folders.
If the field is false, the default, only the logs owned by the sink's parent
resource are available for export. If the field is true, then logs from all
the projects, folders, and billing accounts contained in the sink's parent
resource are also available for export. Whether a particular log entry from
the children is exported depends on the sink's filter expression. For example,
if this field is true, then the filter resource.type=gce_instance would export
all Compute Engine VM instance log entries from all projects in the sink's
parent. To only export entries from certain child projects, filter on the
project part of the log name:
logName:("projects/test-project1/" OR "projects/test-project2/") AND
resource.type=gce_instance
Corresponds to the JSON property includeChildren
1226 1227 1228 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1226 def include_children @include_children end |
#name ⇒ String
Required. The client-assigned sink identifier, unique within the project.
Example: "my-syslog-errors-to-pubsub". Sink identifiers are limited to 100
characters and can include only the following characters: upper and lower-case
alphanumeric characters, underscores, hyphens, and periods.
Corresponds to the JSON property name
1210 1211 1212 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1210 def name @name end |
#output_version_format ⇒ String
Optional. The log entry format to use for this sink's exported log entries.
The v2 format is used by default. The v1 format is deprecated and should be
used only as part of a migration effort to v2. See Migration to the v2 API.
Corresponds to the JSON property outputVersionFormat
1202 1203 1204 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1202 def output_version_format @output_version_format end |
#start_time ⇒ String
Optional. The time at which this sink will begin exporting log entries. Log
entries are exported only if their timestamp is not earlier than the start
time. The default value of this field is the time the sink is created or
updated.
Corresponds to the JSON property startTime
1195 1196 1197 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1195 def start_time @start_time end |
#writer_identity ⇒ String
Output only. An IAM identity—a service account or group—under
which Stackdriver Logging writes the exported log entries to the sink's
destination. This field is set by sinks.create and sinks.update, based on the
setting of unique_writer_identity in those methods.Until you grant this
identity write-access to the destination, log entry exports from this sink
will fail. For more information, see Granting access for a resource. Consult
the destination service's documentation to determine the appropriate IAM roles
to assign to the identity.
Corresponds to the JSON property writerIdentity
1187 1188 1189 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1187 def writer_identity @writer_identity end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 |
# File 'generated/google/apis/logging_v2/classes.rb', line 1254 def update!(**args) @end_time = args[:end_time] if args.key?(:end_time) @writer_identity = args[:writer_identity] if args.key?(:writer_identity) @start_time = args[:start_time] if args.key?(:start_time) @output_version_format = args[:output_version_format] if args.key?(:output_version_format) @name = args[:name] if args.key?(:name) @include_children = args[:include_children] if args.key?(:include_children) @destination = args[:destination] if args.key?(:destination) @filter = args[:filter] if args.key?(:filter) end |