google-api-ruby-client/generated/google/apis/clouderrorreporting_v1beta1/classes.rb

607 lines
26 KiB
Ruby

# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module ClouderrorreportingV1beta1
# Response message for deleting error events.
class DeleteEventsResponse
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# A description of the context in which an error occurred. This data should be
# provided by the application when reporting an error, unless the error report
# has been generated automatically from Google App Engine logs.
class ErrorContext
include Google::Apis::Core::Hashable
# HTTP request data that is related to a reported error. This data should be
# provided by the application when reporting an error, unless the error report
# has been generated automatically from Google App Engine logs.
# Corresponds to the JSON property `httpRequest`
# @return [Google::Apis::ClouderrorreportingV1beta1::HttpRequestContext]
attr_accessor :http_request
# Indicates a location in the source code of the service for which errors are
# reported. `functionName` must be provided by the application when reporting an
# error, unless the error report contains a `message` with a supported exception
# stack trace. All fields are optional for the later case.
# Corresponds to the JSON property `reportLocation`
# @return [Google::Apis::ClouderrorreportingV1beta1::SourceLocation]
attr_accessor :report_location
# Source code that was used to build the executable which has caused the given
# error message.
# Corresponds to the JSON property `sourceReferences`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::SourceReference>]
attr_accessor :source_references
# The user who caused or was affected by the crash. This can be a user ID, an
# email address, or an arbitrary token that uniquely identifies the user. When
# sending an error report, leave this field empty if the user was not logged in.
# In this case the Error Reporting system will use other data, such as remote IP
# address, to distinguish affected users. See `affected_users_count` in `
# ErrorGroupStats`.
# Corresponds to the JSON property `user`
# @return [String]
attr_accessor :user
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@http_request = args[:http_request] if args.key?(:http_request)
@report_location = args[:report_location] if args.key?(:report_location)
@source_references = args[:source_references] if args.key?(:source_references)
@user = args[:user] if args.key?(:user)
end
end
# An error event which is returned by the Error Reporting system.
class ErrorEvent
include Google::Apis::Core::Hashable
# A description of the context in which an error occurred. This data should be
# provided by the application when reporting an error, unless the error report
# has been generated automatically from Google App Engine logs.
# Corresponds to the JSON property `context`
# @return [Google::Apis::ClouderrorreportingV1beta1::ErrorContext]
attr_accessor :context
# Time when the event occurred as provided in the error report. If the report
# did not contain a timestamp, the time the error was received by the Error
# Reporting system is used.
# Corresponds to the JSON property `eventTime`
# @return [String]
attr_accessor :event_time
# The stack trace that was reported or logged by the service.
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
# Describes a running service that sends errors. Its version changes over time
# and multiple versions can run in parallel.
# Corresponds to the JSON property `serviceContext`
# @return [Google::Apis::ClouderrorreportingV1beta1::ServiceContext]
attr_accessor :service_context
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@context = args[:context] if args.key?(:context)
@event_time = args[:event_time] if args.key?(:event_time)
@message = args[:message] if args.key?(:message)
@service_context = args[:service_context] if args.key?(:service_context)
end
end
# Description of a group of similar error events.
class ErrorGroup
include Google::Apis::Core::Hashable
# Group IDs are unique for a given project. If the same kind of error occurs in
# different service contexts, it will receive the same group ID.
# Corresponds to the JSON property `groupId`
# @return [String]
attr_accessor :group_id
# The group resource name. Example: projects/my-project-123/groups/
# CNSgkpnppqKCUw
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Error group's resolution status. An unspecified resolution status will be
# interpreted as OPEN
# Corresponds to the JSON property `resolutionStatus`
# @return [String]
attr_accessor :resolution_status
# Associated tracking issues.
# Corresponds to the JSON property `trackingIssues`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::TrackingIssue>]
attr_accessor :tracking_issues
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@group_id = args[:group_id] if args.key?(:group_id)
@name = args[:name] if args.key?(:name)
@resolution_status = args[:resolution_status] if args.key?(:resolution_status)
@tracking_issues = args[:tracking_issues] if args.key?(:tracking_issues)
end
end
# Data extracted for a specific group based on certain filter criteria, such as
# a given time period and/or service filter.
class ErrorGroupStats
include Google::Apis::Core::Hashable
# Service contexts with a non-zero error count for the given filter criteria.
# This list can be truncated if multiple services are affected. Refer to `
# num_affected_services` for the total count.
# Corresponds to the JSON property `affectedServices`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::ServiceContext>]
attr_accessor :affected_services
# Approximate number of affected users in the given group that match the filter
# criteria. Users are distinguished by data in the `ErrorContext` of the
# individual error events, such as their login name or their remote IP address
# in case of HTTP requests. The number of affected users can be zero even if the
# number of errors is non-zero if no data was provided from which the affected
# user could be deduced. Users are counted based on data in the request context
# that was provided in the error report. If more users are implicitly affected,
# such as due to a crash of the whole service, this is not reflected here.
# Corresponds to the JSON property `affectedUsersCount`
# @return [Fixnum]
attr_accessor :affected_users_count
# Approximate total number of events in the given group that match the filter
# criteria.
# Corresponds to the JSON property `count`
# @return [Fixnum]
attr_accessor :count
# Approximate first occurrence that was ever seen for this group and which
# matches the given filter criteria, ignoring the time_range that was specified
# in the request.
# Corresponds to the JSON property `firstSeenTime`
# @return [String]
attr_accessor :first_seen_time
# Description of a group of similar error events.
# Corresponds to the JSON property `group`
# @return [Google::Apis::ClouderrorreportingV1beta1::ErrorGroup]
attr_accessor :group
# Approximate last occurrence that was ever seen for this group and which
# matches the given filter criteria, ignoring the time_range that was specified
# in the request.
# Corresponds to the JSON property `lastSeenTime`
# @return [String]
attr_accessor :last_seen_time
# The total number of services with a non-zero error count for the given filter
# criteria.
# Corresponds to the JSON property `numAffectedServices`
# @return [Fixnum]
attr_accessor :num_affected_services
# An error event which is returned by the Error Reporting system.
# Corresponds to the JSON property `representative`
# @return [Google::Apis::ClouderrorreportingV1beta1::ErrorEvent]
attr_accessor :representative
# Approximate number of occurrences over time. Timed counts returned by
# ListGroups are guaranteed to be: - Inside the requested time interval - Non-
# overlapping, and - Ordered by ascending time.
# Corresponds to the JSON property `timedCounts`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::TimedCount>]
attr_accessor :timed_counts
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@affected_services = args[:affected_services] if args.key?(:affected_services)
@affected_users_count = args[:affected_users_count] if args.key?(:affected_users_count)
@count = args[:count] if args.key?(:count)
@first_seen_time = args[:first_seen_time] if args.key?(:first_seen_time)
@group = args[:group] if args.key?(:group)
@last_seen_time = args[:last_seen_time] if args.key?(:last_seen_time)
@num_affected_services = args[:num_affected_services] if args.key?(:num_affected_services)
@representative = args[:representative] if args.key?(:representative)
@timed_counts = args[:timed_counts] if args.key?(:timed_counts)
end
end
# HTTP request data that is related to a reported error. This data should be
# provided by the application when reporting an error, unless the error report
# has been generated automatically from Google App Engine logs.
class HttpRequestContext
include Google::Apis::Core::Hashable
# The type of HTTP request, such as `GET`, `POST`, etc.
# Corresponds to the JSON property `method`
# @return [String]
attr_accessor :method_prop
# The referrer information that is provided with the request.
# Corresponds to the JSON property `referrer`
# @return [String]
attr_accessor :referrer
# The IP address from which the request originated. This can be IPv4, IPv6, or a
# token which is derived from the IP address, depending on the data that has
# been provided in the error report.
# Corresponds to the JSON property `remoteIp`
# @return [String]
attr_accessor :remote_ip
# The HTTP response status code for the request.
# Corresponds to the JSON property `responseStatusCode`
# @return [Fixnum]
attr_accessor :response_status_code
# The URL of the request.
# Corresponds to the JSON property `url`
# @return [String]
attr_accessor :url
# The user agent information that is provided with the request.
# Corresponds to the JSON property `userAgent`
# @return [String]
attr_accessor :user_agent
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@method_prop = args[:method_prop] if args.key?(:method_prop)
@referrer = args[:referrer] if args.key?(:referrer)
@remote_ip = args[:remote_ip] if args.key?(:remote_ip)
@response_status_code = args[:response_status_code] if args.key?(:response_status_code)
@url = args[:url] if args.key?(:url)
@user_agent = args[:user_agent] if args.key?(:user_agent)
end
end
# Contains a set of requested error events.
class ListEventsResponse
include Google::Apis::Core::Hashable
# The error events which match the given request.
# Corresponds to the JSON property `errorEvents`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::ErrorEvent>]
attr_accessor :error_events
# If non-empty, more results are available. Pass this token, along with the same
# query parameters as the first request, to view the next page of results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The timestamp specifies the start time to which the request was restricted.
# Corresponds to the JSON property `timeRangeBegin`
# @return [String]
attr_accessor :time_range_begin
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@error_events = args[:error_events] if args.key?(:error_events)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@time_range_begin = args[:time_range_begin] if args.key?(:time_range_begin)
end
end
# Contains a set of requested error group stats.
class ListGroupStatsResponse
include Google::Apis::Core::Hashable
# The error group stats which match the given request.
# Corresponds to the JSON property `errorGroupStats`
# @return [Array<Google::Apis::ClouderrorreportingV1beta1::ErrorGroupStats>]
attr_accessor :error_group_stats
# If non-empty, more results are available. Pass this token, along with the same
# query parameters as the first request, to view the next page of results.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# The timestamp specifies the start time to which the request was restricted.
# The start time is set based on the requested time range. It may be adjusted to
# a later time if a project has exceeded the storage quota and older data has
# been deleted.
# Corresponds to the JSON property `timeRangeBegin`
# @return [String]
attr_accessor :time_range_begin
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@error_group_stats = args[:error_group_stats] if args.key?(:error_group_stats)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@time_range_begin = args[:time_range_begin] if args.key?(:time_range_begin)
end
end
# Response for reporting an individual error event. Data may be added to this
# message in the future.
class ReportErrorEventResponse
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# An error event which is reported to the Error Reporting system.
class ReportedErrorEvent
include Google::Apis::Core::Hashable
# A description of the context in which an error occurred. This data should be
# provided by the application when reporting an error, unless the error report
# has been generated automatically from Google App Engine logs.
# Corresponds to the JSON property `context`
# @return [Google::Apis::ClouderrorreportingV1beta1::ErrorContext]
attr_accessor :context
# Optional. Time when the event occurred. If not provided, the time when the
# event was received by the Error Reporting system will be used.
# Corresponds to the JSON property `eventTime`
# @return [String]
attr_accessor :event_time
# Required. The error message. If no `context.reportLocation` is provided, the
# message must contain a header (typically consisting of the exception type name
# and an error message) and an exception stack trace in one of the supported
# programming languages and formats. Supported languages are Java, Python,
# JavaScript, Ruby, C#, PHP, and Go. Supported stack trace formats are: * **Java*
# *: Must be the return value of [`Throwable.printStackTrace()`](https://docs.
# oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). *
# **Python**: Must be the return value of [`traceback.format_exc()`](https://
# docs.python.org/2/library/traceback.html#traceback.format_exc). * **JavaScript*
# *: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-
# Trace-API) as returned by V8. * **Ruby**: Must contain frames returned by [`
# Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-
# backtrace). * **C#**: Must be the return value of [`Exception.ToString()`](
# https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). * **
# PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)` and
# contain the result of [`(string)$exception`](http://php.net/manual/en/
# exception.tostring.php). * **Go**: Must be the return value of [`runtime.Stack(
# )`](https://golang.org/pkg/runtime/debug/#Stack).
# Corresponds to the JSON property `message`
# @return [String]
attr_accessor :message
# Describes a running service that sends errors. Its version changes over time
# and multiple versions can run in parallel.
# Corresponds to the JSON property `serviceContext`
# @return [Google::Apis::ClouderrorreportingV1beta1::ServiceContext]
attr_accessor :service_context
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@context = args[:context] if args.key?(:context)
@event_time = args[:event_time] if args.key?(:event_time)
@message = args[:message] if args.key?(:message)
@service_context = args[:service_context] if args.key?(:service_context)
end
end
# Describes a running service that sends errors. Its version changes over time
# and multiple versions can run in parallel.
class ServiceContext
include Google::Apis::Core::Hashable
# Type of the MonitoredResource. List of possible values: https://cloud.google.
# com/monitoring/api/resources Value is set automatically for incoming errors
# and must not be set when reporting errors.
# Corresponds to the JSON property `resourceType`
# @return [String]
attr_accessor :resource_type
# An identifier of the service, such as the name of the executable, job, or
# Google App Engine service name. This field is expected to have a low number of
# values that are relatively stable over time, as opposed to `version`, which
# can be changed whenever new code is deployed. Contains the service name for
# error reports extracted from Google App Engine logs or `default` if the App
# Engine default service is used.
# Corresponds to the JSON property `service`
# @return [String]
attr_accessor :service
# Represents the source code version that the developer provided, which could
# represent a version label or a Git SHA-1 hash, for example. For App Engine
# standard environment, the version is set to the version of the app.
# Corresponds to the JSON property `version`
# @return [String]
attr_accessor :version
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@resource_type = args[:resource_type] if args.key?(:resource_type)
@service = args[:service] if args.key?(:service)
@version = args[:version] if args.key?(:version)
end
end
# Indicates a location in the source code of the service for which errors are
# reported. `functionName` must be provided by the application when reporting an
# error, unless the error report contains a `message` with a supported exception
# stack trace. All fields are optional for the later case.
class SourceLocation
include Google::Apis::Core::Hashable
# The source code filename, which can include a truncated relative path, or a
# full path from a production machine.
# Corresponds to the JSON property `filePath`
# @return [String]
attr_accessor :file_path
# Human-readable name of a function or method. The value can include optional
# context like the class or package name. For example, `my.package.MyClass.
# method` in case of Java.
# Corresponds to the JSON property `functionName`
# @return [String]
attr_accessor :function_name
# 1-based. 0 indicates that the line number is unknown.
# Corresponds to the JSON property `lineNumber`
# @return [Fixnum]
attr_accessor :line_number
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@file_path = args[:file_path] if args.key?(:file_path)
@function_name = args[:function_name] if args.key?(:function_name)
@line_number = args[:line_number] if args.key?(:line_number)
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
# The number of errors in a given time period. All numbers are approximate since
# the error events are sampled before counting them.
class TimedCount
include Google::Apis::Core::Hashable
# Approximate number of occurrences in the given time period.
# Corresponds to the JSON property `count`
# @return [Fixnum]
attr_accessor :count
# End of the time period to which `count` refers (excluded).
# Corresponds to the JSON property `endTime`
# @return [String]
attr_accessor :end_time
# Start of the time period to which `count` refers (included).
# Corresponds to the JSON property `startTime`
# @return [String]
attr_accessor :start_time
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@count = args[:count] if args.key?(:count)
@end_time = args[:end_time] if args.key?(:end_time)
@start_time = args[:start_time] if args.key?(:start_time)
end
end
# Information related to tracking the progress on resolving the error.
class TrackingIssue
include Google::Apis::Core::Hashable
# A URL pointing to a related entry in an issue tracking system. Example: `https:
# //github.com/user/project/issues/4`
# Corresponds to the JSON property `url`
# @return [String]
attr_accessor :url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@url = args[:url] if args.key?(:url)
end
end
end
end
end