generated/google/apis/logging_v2beta1/classes.rb in google-api-client-0.10.0 vs generated/google/apis/logging_v2beta1/classes.rb in google-api-client-0.10.1

- old
+ new

@@ -20,418 +20,56 @@ module Google module Apis module LoggingV2beta1 - # Result returned from ListMonitoredResourceDescriptors. - class ListMonitoredResourceDescriptorsResponse + # Result returned from ListLogs. + class ListLogsResponse include Google::Apis::Core::Hashable # If there might be more results than those appearing in this response, then # nextPageToken is included. To get the next set of results, call this method # again using the value of nextPageToken as pageToken. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token - # A list of resource descriptors. - # Corresponds to the JSON property `resourceDescriptors` - # @return [Array<Google::Apis::LoggingV2beta1::MonitoredResourceDescriptor>] - attr_accessor :resource_descriptors - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @resource_descriptors = args[:resource_descriptors] if args.key?(:resource_descriptors) - end - end - - # A reference to a particular snapshot of the source tree used to build and - # deploy an application. - class SourceReference - include Google::Apis::Core::Hashable - - # Optional. A URI string identifying the repository. Example: "https://github. - # com/GoogleCloudPlatform/kubernetes.git" - # Corresponds to the JSON property `repository` - # @return [String] - attr_accessor :repository - - # The canonical and persistent identifier of the deployed revision. Example (git) - # : "0035781c50ec7aa23385dc841529ce8a4b70db1b" - # Corresponds to the JSON property `revisionId` - # @return [String] - attr_accessor :revision_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @repository = args[:repository] if args.key?(:repository) - @revision_id = args[:revision_id] if args.key?(:revision_id) - end - end - - # Additional information about a potentially long-running operation with which a - # log entry is associated. - class LogEntryOperation - include Google::Apis::Core::Hashable - - # Optional. Set this to True if this is the last log entry in the operation. - # Corresponds to the JSON property `last` - # @return [Boolean] - attr_accessor :last - alias_method :last?, :last - - # Optional. An arbitrary operation identifier. Log entries with the same - # identifier are assumed to be part of the same operation. - # Corresponds to the JSON property `id` - # @return [String] - attr_accessor :id - - # Optional. An arbitrary producer identifier. The combination of id and producer - # must be globally unique. Examples for producer: "MyDivision.MyBigCompany.com", - # "github.com/MyProject/MyApplication". - # Corresponds to the JSON property `producer` - # @return [String] - attr_accessor :producer - - # Optional. Set this to True if this is the first log entry in the operation. - # Corresponds to the JSON property `first` - # @return [Boolean] - attr_accessor :first - alias_method :first?, :first - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @last = args[:last] if args.key?(:last) - @id = args[:id] if args.key?(:id) - @producer = args[:producer] if args.key?(:producer) - @first = args[:first] if args.key?(:first) - end - end - - # Describes a logs-based metric. The value of the metric is the number of log - # entries that match a logs filter in a given time interval. - class LogMetric - include Google::Apis::Core::Hashable - - # Output only. The API version that created or updated this metric. The version - # also dictates the syntax of the filter expression. When a value for this field - # is missing, the default value of V2 should be assumed. - # Corresponds to the JSON property `version` - # @return [String] - attr_accessor :version - - # Required. An advanced logs filter which is used to match log entries. Example: - # "resource.type=gae_app AND severity>=ERROR" - # The maximum length of the filter is 20000 characters. - # Corresponds to the JSON property `filter` - # @return [String] - attr_accessor :filter - - # Required. The client-assigned metric identifier. Examples: "error_count", " - # nginx/requests".Metric identifiers are limited to 100 characters and can - # include only the following characters: A-Z, a-z, 0-9, and the special - # characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy - # of name pieces, and it cannot be the first character of the name.The metric - # identifier in this field must not be URL-encoded (https://en.wikipedia.org/ - # wiki/Percent-encoding). However, when the metric identifier appears as the [ - # METRIC_ID] part of a metric_name API parameter, then the metric identifier - # must be URL-encoded. Example: "projects/my-project/metrics/nginx%2Frequests". - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # Optional. A description of this metric, which is used in documentation. - # Corresponds to the JSON property `description` - # @return [String] - attr_accessor :description - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @version = args[:version] if args.key?(:version) - @filter = args[:filter] if args.key?(:filter) - @name = args[:name] if args.key?(:name) - @description = args[:description] if args.key?(:description) - end - end - - # Result returned from WriteLogEntries. empty - class WriteLogEntriesResponse - include Google::Apis::Core::Hashable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - end - end - - # An object representing a resource that can be used for monitoring, logging, - # billing, or other purposes. Examples include virtual machine instances, - # databases, and storage devices such as disks. The type field identifies a - # MonitoredResourceDescriptor object that describes the resource's schema. - # Information in the labels field identifies the actual resource and its - # attributes according to the schema. For example, a particular Compute Engine - # VM instance could be represented by the following object, because the - # MonitoredResourceDescriptor for "gce_instance" has labels "instance_id" and " - # zone": - # ` "type": "gce_instance", - # "labels": ` "instance_id": "12345678901234", - # "zone": "us-central1-a" `` - class MonitoredResource - include Google::Apis::Core::Hashable - - # Required. The monitored resource type. This field must match the type field of - # a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL - # database is "cloudsql_database". - # Corresponds to the JSON property `type` - # @return [String] - attr_accessor :type - - # Required. Values for all of the labels listed in the associated monitored - # resource descriptor. For example, Cloud SQL databases use the labels " - # database_id" and "zone". - # Corresponds to the JSON property `labels` - # @return [Hash<String,String>] - attr_accessor :labels - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @type = args[:type] if args.key?(:type) - @labels = args[:labels] if args.key?(:labels) - end - end - - # The parameters to WriteLogEntries. - class WriteLogEntriesRequest - include Google::Apis::Core::Hashable - - # Optional. Default labels that are added to the labels field of all log entries - # in entries. If a log entry already has a label with the same key as a label in - # this parameter, then the log entry's label is not changed. See LogEntry. - # Corresponds to the JSON property `labels` - # @return [Hash<String,String>] - attr_accessor :labels - - # An object representing a resource that can be used for monitoring, logging, - # billing, or other purposes. Examples include virtual machine instances, - # databases, and storage devices such as disks. The type field identifies a - # MonitoredResourceDescriptor object that describes the resource's schema. - # Information in the labels field identifies the actual resource and its - # attributes according to the schema. For example, a particular Compute Engine - # VM instance could be represented by the following object, because the - # MonitoredResourceDescriptor for "gce_instance" has labels "instance_id" and " - # zone": - # ` "type": "gce_instance", - # "labels": ` "instance_id": "12345678901234", - # "zone": "us-central1-a" `` - # Corresponds to the JSON property `resource` - # @return [Google::Apis::LoggingV2beta1::MonitoredResource] - attr_accessor :resource - - # Optional. A default log resource name that is assigned to all log entries in - # entries that do not specify a value for log_name: - # "projects/[PROJECT_ID]/logs/[LOG_ID]" - # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" - # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" - # "folders/[FOLDER_ID]/logs/[LOG_ID]" - # [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog" - # or "organizations/1234567890/logs/cloudresourcemanager.googleapis.com% - # 2Factivity". For more information about log names, see LogEntry. - # Corresponds to the JSON property `logName` - # @return [String] - attr_accessor :log_name - - # Required. The log entries to write. Values supplied for the fields log_name, - # resource, and labels in this entries.write request are added to those log - # entries that do not provide their own values for the fields.To improve - # throughput and to avoid exceeding the quota limit for calls to entries.write, - # you should write multiple log entries at once rather than calling this method - # for each individual log entry. - # Corresponds to the JSON property `entries` - # @return [Array<Google::Apis::LoggingV2beta1::LogEntry>] - attr_accessor :entries - - # Optional. Whether valid entries should be written even if some other entries - # fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not - # written, the response status will be the error associated with one of the - # failed entries and include error details in the form of - # WriteLogEntriesPartialErrors. - # Corresponds to the JSON property `partialSuccess` - # @return [Boolean] - attr_accessor :partial_success - alias_method :partial_success?, :partial_success - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @labels = args[:labels] if args.key?(:labels) - @resource = args[:resource] if args.key?(:resource) - @log_name = args[:log_name] if args.key?(:log_name) - @entries = args[:entries] if args.key?(:entries) - @partial_success = args[:partial_success] if args.key?(:partial_success) - end - end - - # 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. - class LogSink - include Google::Apis::Core::Hashable - - # 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` - # @return [String] - attr_accessor :name - - # 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` - # @return [String] - attr_accessor :filter - - # 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` - # @return [String] - attr_accessor :destination - - # 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` - # @return [String] - attr_accessor :end_time - - # 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` - # @return [String] - attr_accessor :start_time - - # Output only. An IAM identity&mdash;a service account or group&mdash;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` - # @return [String] - attr_accessor :writer_identity - - # 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` - # @return [String] - attr_accessor :output_version_format - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @filter = args[:filter] if args.key?(:filter) - @destination = args[:destination] if args.key?(:destination) - @end_time = args[:end_time] if args.key?(:end_time) - @start_time = args[:start_time] if args.key?(:start_time) - @writer_identity = args[:writer_identity] if args.key?(:writer_identity) - @output_version_format = args[:output_version_format] if args.key?(:output_version_format) - end - end - - # Result returned from ListLogs. - class ListLogsResponse - include Google::Apis::Core::Hashable - # A list of log names. For example, "projects/my-project/syslog" or " # organizations/123/cloudresourcemanager.googleapis.com%2Factivity". # Corresponds to the JSON property `logNames` # @return [Array<String>] attr_accessor :log_names - # If there might be more results than those appearing in this response, then - # nextPageToken is included. To get the next set of results, call this method - # again using the value of nextPageToken as pageToken. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @log_names = args[:log_names] if args.key?(:log_names) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @log_names = args[:log_names] if args.key?(:log_names) end end # A common proto for logging HTTP requests. Only contains semantics defined by # the HTTP specification. Product-specific logging information MUST be defined # in a separate message. class HttpRequest include Google::Apis::Core::Hashable - # The user agent sent by the client. Example: "Mozilla/4.0 (compatible; MSIE 6.0; - # Windows 98; Q312461; .NET CLR 1.0.3705)". - # Corresponds to the JSON property `userAgent` - # @return [String] - attr_accessor :user_agent - # The request processing latency on the server, from the time the request was # received until the response was sent. # Corresponds to the JSON property `latency` # @return [String] attr_accessor :latency + # The user agent sent by the client. Example: "Mozilla/4.0 (compatible; MSIE 6.0; + # Windows 98; Q312461; .NET CLR 1.0.3705)". + # Corresponds to the JSON property `userAgent` + # @return [String] + attr_accessor :user_agent + # The number of HTTP response bytes inserted into cache. Set only when a cache # fill was attempted. # Corresponds to the JSON property `cacheFillBytes` # @return [String] attr_accessor :cache_fill_bytes @@ -439,40 +77,40 @@ # The request method. Examples: "GET", "HEAD", "PUT", "POST". # Corresponds to the JSON property `requestMethod` # @return [String] attr_accessor :request_method - # The size of the HTTP response message sent back to the client, in bytes, - # including the response headers and the response body. - # Corresponds to the JSON property `responseSize` - # @return [String] - attr_accessor :response_size - # The size of the HTTP request message in bytes, including the request headers # and the request body. # Corresponds to the JSON property `requestSize` # @return [String] attr_accessor :request_size + # The size of the HTTP response message sent back to the client, in bytes, + # including the response headers and the response body. + # Corresponds to the JSON property `responseSize` + # @return [String] + attr_accessor :response_size + # The scheme (http, https), the host name, the path and the query portion of the # URL that was requested. Example: "http://example.com/some/info?color=red". # Corresponds to the JSON property `requestUrl` # @return [String] attr_accessor :request_url - # The IP address (IPv4 or IPv6) of the origin server that the request was sent - # to. - # Corresponds to the JSON property `serverIp` - # @return [String] - attr_accessor :server_ip - # The IP address (IPv4 or IPv6) of the client that issued the HTTP request. # Examples: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329". # Corresponds to the JSON property `remoteIp` # @return [String] attr_accessor :remote_ip + # The IP address (IPv4 or IPv6) of the origin server that the request was sent + # to. + # Corresponds to the JSON property `serverIp` + # @return [String] + attr_accessor :server_ip + # Whether or not a cache lookup was attempted. # Corresponds to the JSON property `cacheLookup` # @return [Boolean] attr_accessor :cache_lookup alias_method :cache_lookup?, :cache_lookup @@ -505,19 +143,19 @@ update!(**args) end # Update properties of this object def update!(**args) - @user_agent = args[:user_agent] if args.key?(:user_agent) @latency = args[:latency] if args.key?(:latency) + @user_agent = args[:user_agent] if args.key?(:user_agent) @cache_fill_bytes = args[:cache_fill_bytes] if args.key?(:cache_fill_bytes) @request_method = args[:request_method] if args.key?(:request_method) - @response_size = args[:response_size] if args.key?(:response_size) @request_size = args[:request_size] if args.key?(:request_size) + @response_size = args[:response_size] if args.key?(:response_size) @request_url = args[:request_url] if args.key?(:request_url) - @server_ip = args[:server_ip] if args.key?(:server_ip) @remote_ip = args[:remote_ip] if args.key?(:remote_ip) + @server_ip = args[:server_ip] if args.key?(:server_ip) @cache_lookup = args[:cache_lookup] if args.key?(:cache_lookup) @cache_hit = args[:cache_hit] if args.key?(:cache_hit) @cache_validated_with_origin_server = args[:cache_validated_with_origin_server] if args.key?(:cache_validated_with_origin_server) @status = args[:status] if args.key?(:status) @referer = args[:referer] if args.key?(:referer) @@ -526,30 +164,30 @@ # Result returned from ListSinks. class ListSinksResponse include Google::Apis::Core::Hashable + # A list of sinks. + # Corresponds to the JSON property `sinks` + # @return [Array<Google::Apis::LoggingV2beta1::LogSink>] + attr_accessor :sinks + # If there might be more results than appear in this response, then # nextPageToken is included. To get the next set of results, call the same # method again using the value of nextPageToken as pageToken. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token - # A list of sinks. - # Corresponds to the JSON property `sinks` - # @return [Array<Google::Apis::LoggingV2beta1::LogSink>] - attr_accessor :sinks - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @sinks = args[:sinks] if args.key?(:sinks) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # A description of a label. class LabelDescriptor @@ -646,16 +284,10 @@ # Additional information about the source code location that produced the log # entry. class LogEntrySourceLocation include Google::Apis::Core::Hashable - # Optional. Source file name. Depending on the runtime environment, this might - # be a simple name or a fully-qualified name. - # Corresponds to the JSON property `file` - # @return [String] - attr_accessor :file - # Optional. Human-readable name of the function or method being invoked, with # optional context such as the class or package name. This information may be # used in contexts such as the logs viewer, where a file and line number are # less meaningful. The format can vary by language. For example: qual.if.ied. # Class.method (Java), dir/package.func (Go), function (Python). @@ -667,19 +299,25 @@ # available. # Corresponds to the JSON property `line` # @return [String] attr_accessor :line + # Optional. Source file name. Depending on the runtime environment, this might + # be a simple name or a fully-qualified name. + # Corresponds to the JSON property `file` + # @return [String] + attr_accessor :file + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @file = args[:file] if args.key?(:file) @function = args[:function] if args.key?(:function) @line = args[:line] if args.key?(:line) + @file = args[:file] if args.key?(:file) end end # Result returned from ListLogEntries. class ListLogEntriesResponse @@ -716,15 +354,10 @@ # Application log line emitted while processing a request. class LogLine include Google::Apis::Core::Hashable - # Specifies a location in a source code file. - # Corresponds to the JSON property `sourceLocation` - # @return [Google::Apis::LoggingV2beta1::SourceLocation] - attr_accessor :source_location - # Approximate time when this log entry was made. # Corresponds to the JSON property `time` # @return [String] attr_accessor :time @@ -736,20 +369,25 @@ # App-provided log message. # Corresponds to the JSON property `logMessage` # @return [String] attr_accessor :log_message + # Specifies a location in a source code file. + # Corresponds to the JSON property `sourceLocation` + # @return [Google::Apis::LoggingV2beta1::SourceLocation] + attr_accessor :source_location + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @source_location = args[:source_location] if args.key?(:source_location) @time = args[:time] if args.key?(:time) @severity = args[:severity] if args.key?(:severity) @log_message = args[:log_message] if args.key?(:log_message) + @source_location = args[:source_location] if args.key?(:source_location) end end # Result returned from ListLogMetrics. class ListLogMetricsResponse @@ -776,14 +414,68 @@ @metrics = args[:metrics] if args.key?(:metrics) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end + # A generic empty message that you can re-use to avoid defining duplicated empty + # messages in your APIs. A typical example is to use it as the request or the + # response type of an API method. For instance: + # service Foo ` + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # ` + # The JSON representation for Empty is empty JSON object ``. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # An individual entry in a log. class LogEntry include Google::Apis::Core::Hashable + # Optional. Resource name of the trace associated with the log entry, if any. If + # it contains a relative resource name, the name is assumed to be relative to // + # tracing.googleapis.com. Example: projects/my-projectid/traces/ + # 06796866738c859f2f19b7cfb3214824 + # Corresponds to the JSON property `trace` + # @return [String] + attr_accessor :trace + + # Optional. A set of user-defined (key, value) data that provides additional + # information about the log entry. + # Corresponds to the JSON property `labels` + # @return [Hash<String,String>] + attr_accessor :labels + + # Optional. The severity of the log entry. The default value is LogSeverity. + # DEFAULT. + # Corresponds to the JSON property `severity` + # @return [String] + attr_accessor :severity + + # Additional information about the source code location that produced the log + # entry. + # Corresponds to the JSON property `sourceLocation` + # @return [Google::Apis::LoggingV2beta1::LogEntrySourceLocation] + attr_accessor :source_location + + # Optional. The time the event described by the log entry occurred. If omitted + # in a new log entry, Stackdriver Logging will insert the time the log entry is + # received. Stackdriver Logging might reject log entries whose time stamps are + # more than a couple of hours in the future. Log entries with time stamps in the + # past are accepted. + # Corresponds to the JSON property `timestamp` + # @return [String] + attr_accessor :timestamp + # Required. The resource name of the log to which this log entry belongs: # "projects/[PROJECT_ID]/logs/[LOG_ID]" # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" # "folders/[FOLDER_ID]/logs/[LOG_ID]" @@ -827,24 +519,26 @@ # object. # Corresponds to the JSON property `jsonPayload` # @return [Hash<String,Object>] attr_accessor :json_payload - # Optional. A unique ID for the log entry. If you provide this field, the - # logging service considers other log entries in the same project with the same - # ID as duplicates which can be removed. If omitted, Stackdriver Logging will - # generate a unique ID for this log entry. - # Corresponds to the JSON property `insertId` - # @return [String] - attr_accessor :insert_id - # Additional information about a potentially long-running operation with which a # log entry is associated. # Corresponds to the JSON property `operation` # @return [Google::Apis::LoggingV2beta1::LogEntryOperation] attr_accessor :operation + # Optional. A unique identifier for the log entry. If you provide a value, then + # Stackdriver Logging considers other log entries in the same project, with the + # same timestamp, and with the same insert_id to be duplicates which can be + # removed. If omitted in new log entries, then Stackdriver Logging will insert + # its own unique identifier. The insert_id is used to order log entries that + # have the same timestamp value. + # Corresponds to the JSON property `insertId` + # @return [String] + attr_accessor :insert_id + # The log entry payload, represented as a Unicode string (UTF-8). # Corresponds to the JSON property `textPayload` # @return [String] attr_accessor :text_payload @@ -852,83 +546,32 @@ # Platform services use this field for their log entry payloads. # Corresponds to the JSON property `protoPayload` # @return [Hash<String,Object>] attr_accessor :proto_payload - # Optional. Resource name of the trace associated with the log entry, if any. If - # it contains a relative resource name, the name is assumed to be relative to // - # tracing.googleapis.com. Example: projects/my-projectid/traces/ - # 06796866738c859f2f19b7cfb3214824 - # Corresponds to the JSON property `trace` - # @return [String] - attr_accessor :trace - - # Optional. A set of user-defined (key, value) data that provides additional - # information about the log entry. - # Corresponds to the JSON property `labels` - # @return [Hash<String,String>] - attr_accessor :labels - - # Optional. The severity of the log entry. The default value is LogSeverity. - # DEFAULT. - # Corresponds to the JSON property `severity` - # @return [String] - attr_accessor :severity - - # Additional information about the source code location that produced the log - # entry. - # Corresponds to the JSON property `sourceLocation` - # @return [Google::Apis::LoggingV2beta1::LogEntrySourceLocation] - attr_accessor :source_location - - # Optional. The time the event described by the log entry occurred. If omitted, - # Stackdriver Logging will use the time the log entry is received. - # Corresponds to the JSON property `timestamp` - # @return [String] - attr_accessor :timestamp - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @trace = args[:trace] if args.key?(:trace) + @labels = args[:labels] if args.key?(:labels) + @severity = args[:severity] if args.key?(:severity) + @source_location = args[:source_location] if args.key?(:source_location) + @timestamp = args[:timestamp] if args.key?(:timestamp) @log_name = args[:log_name] if args.key?(:log_name) @http_request = args[:http_request] if args.key?(:http_request) @resource = args[:resource] if args.key?(:resource) @json_payload = args[:json_payload] if args.key?(:json_payload) - @insert_id = args[:insert_id] if args.key?(:insert_id) @operation = args[:operation] if args.key?(:operation) + @insert_id = args[:insert_id] if args.key?(:insert_id) @text_payload = args[:text_payload] if args.key?(:text_payload) @proto_payload = args[:proto_payload] if args.key?(:proto_payload) - @trace = args[:trace] if args.key?(:trace) - @labels = args[:labels] if args.key?(:labels) - @severity = args[:severity] if args.key?(:severity) - @source_location = args[:source_location] if args.key?(:source_location) - @timestamp = args[:timestamp] if args.key?(:timestamp) end end - # A generic empty message that you can re-use to avoid defining duplicated empty - # messages in your APIs. A typical example is to use it as the request or the - # response type of an API method. For instance: - # service Foo ` - # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - # ` - # The JSON representation for Empty is empty JSON object ``. - class Empty - include Google::Apis::Core::Hashable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - end - end - # Specifies a location in a source code file. class SourceLocation include Google::Apis::Core::Hashable # Source file name. Depending on the runtime environment, this might be a simple @@ -965,16 +608,31 @@ # The parameters to ListLogEntries. class ListLogEntriesRequest include Google::Apis::Core::Hashable + # Optional. If present, then retrieve the next batch of results from the + # preceding call to this method. page_token must be the value of next_page_token + # from the previous response. The values of other method parameters should be + # identical to those in the previous call. + # Corresponds to the JSON property `pageToken` + # @return [String] + attr_accessor :page_token + + # Optional. The maximum number of results to return from this request. Non- + # positive values are ignored. The presence of next_page_token in the response + # indicates that more results might be available. + # Corresponds to the JSON property `pageSize` + # @return [Fixnum] + attr_accessor :page_size + # Optional. How the results should be sorted. Presently, the only permitted # values are "timestamp asc" (default) and "timestamp desc". The first option # returns entries in order of increasing values of LogEntry.timestamp (oldest # first), and the second option returns entries in order of decreasing # timestamps (newest first). Entries with equal timestamps are returned in order - # of LogEntry.insertId. + # of their insert_id values. # Corresponds to the JSON property `orderBy` # @return [String] attr_accessor :order_by # Required. Names of one or more parent resources from which to retrieve log @@ -1003,82 +661,30 @@ # and added to the list of resources in resource_names. # Corresponds to the JSON property `projectIds` # @return [Array<String>] attr_accessor :project_ids - # Optional. If present, then retrieve the next batch of results from the - # preceding call to this method. pageToken must be the value of nextPageToken - # from the previous response. The values of other method parameters should be - # identical to those in the previous call. - # Corresponds to the JSON property `pageToken` - # @return [String] - attr_accessor :page_token - - # Optional. The maximum number of results to return from this request. Non- - # positive values are ignored. The presence of nextPageToken in the response - # indicates that more results might be available. - # Corresponds to the JSON property `pageSize` - # @return [Fixnum] - attr_accessor :page_size - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @page_token = args[:page_token] if args.key?(:page_token) + @page_size = args[:page_size] if args.key?(:page_size) @order_by = args[:order_by] if args.key?(:order_by) @resource_names = args[:resource_names] if args.key?(:resource_names) @filter = args[:filter] if args.key?(:filter) @project_ids = args[:project_ids] if args.key?(:project_ids) - @page_token = args[:page_token] if args.key?(:page_token) - @page_size = args[:page_size] if args.key?(:page_size) end end # Complete log information about a single HTTP request to an App Engine # application. class RequestLog include Google::Apis::Core::Hashable - # The logged-in user who made the request.Most likely, this is the part of the - # user's email before the @ sign. The field value is the same for different - # requests from the same user, but different users can have similar names. This - # information is also available to the application via the App Engine Users API. - # This field will be populated starting with App Engine 1.9.21. - # Corresponds to the JSON property `nickname` - # @return [String] - attr_accessor :nickname - - # HTTP response status code. Example: 200, 404. - # Corresponds to the JSON property `status` - # @return [Fixnum] - attr_accessor :status - - # Contains the path and query portion of the URL that was requested. For example, - # if the URL was "http://example.com/app?name=val", the resource would be "/app? - # name=val". The fragment identifier, which is identified by the # character, is - # not included. - # Corresponds to the JSON property `resource` - # @return [String] - attr_accessor :resource - - # Time this request spent in the pending request queue. - # Corresponds to the JSON property `pendingTime` - # @return [String] - attr_accessor :pending_time - - # Task name of the request, in the case of an offline request. - # Corresponds to the JSON property `taskName` - # @return [String] - attr_accessor :task_name - - # File or class that handled the request. - # Corresponds to the JSON property `urlMapEntry` - # @return [String] - attr_accessor :url_map_entry - # If the instance processing this request belongs to a manually scaled module, # then this is the 0-based index of the instance. Otherwise, this value is -1. # Corresponds to the JSON property `instanceIndex` # @return [Fixnum] attr_accessor :instance_index @@ -1198,39 +804,70 @@ # A list of log lines emitted by the application while serving this request. # Corresponds to the JSON property `line` # @return [Array<Google::Apis::LoggingV2beta1::LogLine>] attr_accessor :line - # Referrer URL of request. - # Corresponds to the JSON property `referrer` - # @return [String] - attr_accessor :referrer - # Queue name of the request, in the case of an offline request. # Corresponds to the JSON property `taskQueueName` # @return [String] attr_accessor :task_queue_name + # Referrer URL of request. + # Corresponds to the JSON property `referrer` + # @return [String] + attr_accessor :referrer + # Globally unique identifier for a request, which is based on the request start # time. Request IDs for requests which started later will compare greater as # strings than those for requests which started earlier. # Corresponds to the JSON property `requestId` # @return [String] attr_accessor :request_id + # The logged-in user who made the request.Most likely, this is the part of the + # user's email before the @ sign. The field value is the same for different + # requests from the same user, but different users can have similar names. This + # information is also available to the application via the App Engine Users API. + # This field will be populated starting with App Engine 1.9.21. + # Corresponds to the JSON property `nickname` + # @return [String] + attr_accessor :nickname + + # HTTP response status code. Example: 200, 404. + # Corresponds to the JSON property `status` + # @return [Fixnum] + attr_accessor :status + + # Contains the path and query portion of the URL that was requested. For example, + # if the URL was "http://example.com/app?name=val", the resource would be "/app? + # name=val". The fragment identifier, which is identified by the # character, is + # not included. + # Corresponds to the JSON property `resource` + # @return [String] + attr_accessor :resource + + # Time this request spent in the pending request queue. + # Corresponds to the JSON property `pendingTime` + # @return [String] + attr_accessor :pending_time + + # Task name of the request, in the case of an offline request. + # Corresponds to the JSON property `taskName` + # @return [String] + attr_accessor :task_name + + # File or class that handled the request. + # Corresponds to the JSON property `urlMapEntry` + # @return [String] + attr_accessor :url_map_entry + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @nickname = args[:nickname] if args.key?(:nickname) - @status = args[:status] if args.key?(:status) - @resource = args[:resource] if args.key?(:resource) - @pending_time = args[:pending_time] if args.key?(:pending_time) - @task_name = args[:task_name] if args.key?(:task_name) - @url_map_entry = args[:url_map_entry] if args.key?(:url_map_entry) @instance_index = args[:instance_index] if args.key?(:instance_index) @finished = args[:finished] if args.key?(:finished) @host = args[:host] if args.key?(:host) @http_version = args[:http_version] if args.key?(:http_version) @start_time = args[:start_time] if args.key?(:start_time) @@ -1250,12 +887,384 @@ @was_loading_request = args[:was_loading_request] if args.key?(:was_loading_request) @source_reference = args[:source_reference] if args.key?(:source_reference) @response_size = args[:response_size] if args.key?(:response_size) @trace_id = args[:trace_id] if args.key?(:trace_id) @line = args[:line] if args.key?(:line) - @referrer = args[:referrer] if args.key?(:referrer) @task_queue_name = args[:task_queue_name] if args.key?(:task_queue_name) + @referrer = args[:referrer] if args.key?(:referrer) @request_id = args[:request_id] if args.key?(:request_id) + @nickname = args[:nickname] if args.key?(:nickname) + @status = args[:status] if args.key?(:status) + @resource = args[:resource] if args.key?(:resource) + @pending_time = args[:pending_time] if args.key?(:pending_time) + @task_name = args[:task_name] if args.key?(:task_name) + @url_map_entry = args[:url_map_entry] if args.key?(:url_map_entry) + end + end + + # Result returned from ListMonitoredResourceDescriptors. + class ListMonitoredResourceDescriptorsResponse + include Google::Apis::Core::Hashable + + # A list of resource descriptors. + # Corresponds to the JSON property `resourceDescriptors` + # @return [Array<Google::Apis::LoggingV2beta1::MonitoredResourceDescriptor>] + attr_accessor :resource_descriptors + + # If there might be more results than those appearing in this response, then + # nextPageToken is included. To get the next set of results, call this method + # again using the value of nextPageToken as pageToken. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_descriptors = args[:resource_descriptors] if args.key?(:resource_descriptors) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # A reference to a particular snapshot of the source tree used to build and + # deploy an application. + class SourceReference + include Google::Apis::Core::Hashable + + # The canonical and persistent identifier of the deployed revision. Example (git) + # : "0035781c50ec7aa23385dc841529ce8a4b70db1b" + # Corresponds to the JSON property `revisionId` + # @return [String] + attr_accessor :revision_id + + # Optional. A URI string identifying the repository. Example: "https://github. + # com/GoogleCloudPlatform/kubernetes.git" + # Corresponds to the JSON property `repository` + # @return [String] + attr_accessor :repository + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @revision_id = args[:revision_id] if args.key?(:revision_id) + @repository = args[:repository] if args.key?(:repository) + end + end + + # Describes a logs-based metric. The value of the metric is the number of log + # entries that match a logs filter in a given time interval. + class LogMetric + include Google::Apis::Core::Hashable + + # Required. The client-assigned metric identifier. Examples: "error_count", " + # nginx/requests".Metric identifiers are limited to 100 characters and can + # include only the following characters: A-Z, a-z, 0-9, and the special + # characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy + # of name pieces, and it cannot be the first character of the name.The metric + # identifier in this field must not be URL-encoded (https://en.wikipedia.org/ + # wiki/Percent-encoding). However, when the metric identifier appears as the [ + # METRIC_ID] part of a metric_name API parameter, then the metric identifier + # must be URL-encoded. Example: "projects/my-project/metrics/nginx%2Frequests". + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Optional. A description of this metric, which is used in documentation. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Output only. The API version that created or updated this metric. The version + # also dictates the syntax of the filter expression. When a value for this field + # is missing, the default value of V2 should be assumed. + # Corresponds to the JSON property `version` + # @return [String] + attr_accessor :version + + # Required. An advanced logs filter which is used to match log entries. Example: + # "resource.type=gae_app AND severity>=ERROR" + # The maximum length of the filter is 20000 characters. + # Corresponds to the JSON property `filter` + # @return [String] + attr_accessor :filter + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @description = args[:description] if args.key?(:description) + @version = args[:version] if args.key?(:version) + @filter = args[:filter] if args.key?(:filter) + end + end + + # Additional information about a potentially long-running operation with which a + # log entry is associated. + class LogEntryOperation + include Google::Apis::Core::Hashable + + # Optional. Set this to True if this is the last log entry in the operation. + # Corresponds to the JSON property `last` + # @return [Boolean] + attr_accessor :last + alias_method :last?, :last + + # Optional. An arbitrary operation identifier. Log entries with the same + # identifier are assumed to be part of the same operation. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Optional. An arbitrary producer identifier. The combination of id and producer + # must be globally unique. Examples for producer: "MyDivision.MyBigCompany.com", + # "github.com/MyProject/MyApplication". + # Corresponds to the JSON property `producer` + # @return [String] + attr_accessor :producer + + # Optional. Set this to True if this is the first log entry in the operation. + # Corresponds to the JSON property `first` + # @return [Boolean] + attr_accessor :first + alias_method :first?, :first + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @last = args[:last] if args.key?(:last) + @id = args[:id] if args.key?(:id) + @producer = args[:producer] if args.key?(:producer) + @first = args[:first] if args.key?(:first) + end + end + + # Result returned from WriteLogEntries. empty + class WriteLogEntriesResponse + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # An object representing a resource that can be used for monitoring, logging, + # billing, or other purposes. Examples include virtual machine instances, + # databases, and storage devices such as disks. The type field identifies a + # MonitoredResourceDescriptor object that describes the resource's schema. + # Information in the labels field identifies the actual resource and its + # attributes according to the schema. For example, a particular Compute Engine + # VM instance could be represented by the following object, because the + # MonitoredResourceDescriptor for "gce_instance" has labels "instance_id" and " + # zone": + # ` "type": "gce_instance", + # "labels": ` "instance_id": "12345678901234", + # "zone": "us-central1-a" `` + class MonitoredResource + include Google::Apis::Core::Hashable + + # Required. Values for all of the labels listed in the associated monitored + # resource descriptor. For example, Cloud SQL databases use the labels " + # database_id" and "zone". + # Corresponds to the JSON property `labels` + # @return [Hash<String,String>] + attr_accessor :labels + + # Required. The monitored resource type. This field must match the type field of + # a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL + # database is "cloudsql_database". + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @labels = args[:labels] if args.key?(:labels) + @type = args[:type] if args.key?(:type) + end + end + + # 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. + class LogSink + include Google::Apis::Core::Hashable + + # 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` + # @return [String] + attr_accessor :name + + # 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` + # @return [String] + attr_accessor :destination + + # 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` + # @return [String] + attr_accessor :filter + + # 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` + # @return [String] + attr_accessor :end_time + + # Output only. An IAM identity&mdash;a service account or group&mdash;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` + # @return [String] + attr_accessor :writer_identity + + # 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` + # @return [String] + attr_accessor :start_time + + # 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` + # @return [String] + attr_accessor :output_version_format + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @destination = args[:destination] if args.key?(:destination) + @filter = args[:filter] if args.key?(:filter) + @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) + end + end + + # The parameters to WriteLogEntries. + class WriteLogEntriesRequest + include Google::Apis::Core::Hashable + + # An object representing a resource that can be used for monitoring, logging, + # billing, or other purposes. Examples include virtual machine instances, + # databases, and storage devices such as disks. The type field identifies a + # MonitoredResourceDescriptor object that describes the resource's schema. + # Information in the labels field identifies the actual resource and its + # attributes according to the schema. For example, a particular Compute Engine + # VM instance could be represented by the following object, because the + # MonitoredResourceDescriptor for "gce_instance" has labels "instance_id" and " + # zone": + # ` "type": "gce_instance", + # "labels": ` "instance_id": "12345678901234", + # "zone": "us-central1-a" `` + # Corresponds to the JSON property `resource` + # @return [Google::Apis::LoggingV2beta1::MonitoredResource] + attr_accessor :resource + + # Optional. A default log resource name that is assigned to all log entries in + # entries that do not specify a value for log_name: + # "projects/[PROJECT_ID]/logs/[LOG_ID]" + # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + # "folders/[FOLDER_ID]/logs/[LOG_ID]" + # [LOG_ID] must be URL-encoded. For example, "projects/my-project-id/logs/syslog" + # or "organizations/1234567890/logs/cloudresourcemanager.googleapis.com% + # 2Factivity". For more information about log names, see LogEntry. + # Corresponds to the JSON property `logName` + # @return [String] + attr_accessor :log_name + + # Required. The log entries to write. Values supplied for the fields log_name, + # resource, and labels in this entries.write request are inserted into those log + # entries in this list that do not provide their own values.Stackdriver Logging + # also creates and inserts values for timestamp and insert_id if the entries do + # not provide them. The created insert_id for the N'th entry in this list will + # be greater than earlier entries and less than later entries. Otherwise, the + # order of log entries in this list does not matter.To improve throughput and to + # avoid exceeding the quota limit for calls to entries.write, you should write + # multiple log entries at once rather than calling this method for each + # individual log entry. + # Corresponds to the JSON property `entries` + # @return [Array<Google::Apis::LoggingV2beta1::LogEntry>] + attr_accessor :entries + + # Optional. Whether valid entries should be written even if some other entries + # fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not + # written, then the response status is the error associated with one of the + # failed entries and the response includes error details keyed by the entries' + # zero-based index in the entries.write method. + # Corresponds to the JSON property `partialSuccess` + # @return [Boolean] + attr_accessor :partial_success + alias_method :partial_success?, :partial_success + + # Optional. Default labels that are added to the labels field of all log entries + # in entries. If a log entry already has a label with the same key as a label in + # this parameter, then the log entry's label is not changed. See LogEntry. + # Corresponds to the JSON property `labels` + # @return [Hash<String,String>] + attr_accessor :labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource = args[:resource] if args.key?(:resource) + @log_name = args[:log_name] if args.key?(:log_name) + @entries = args[:entries] if args.key?(:entries) + @partial_success = args[:partial_success] if args.key?(:partial_success) + @labels = args[:labels] if args.key?(:labels) end end end end end