class Google::Apis::CloudmonitoringV2beta2::CloudMonitoringService

Cloud Monitoring API

Accesses Google Cloud Monitoring data.

@example

require 'google/apis/cloudmonitoring_v2beta2'

Cloudmonitoring = Google::Apis::CloudmonitoringV2beta2 # Alias the module
service = Cloudmonitoring::CloudMonitoringService.new

@see cloud.google.com/monitoring/v2beta2/

Attributes

key[RW]

@return [String]

API key. Your API key identifies your project and provides you with API access,
quota, and reports. Required unless you provide an OAuth 2.0 token.
quota_user[RW]

@return [String]

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.
user_ip[RW]

@return [String]

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

Public Class Methods

new() click to toggle source
Calls superclass method Google::Apis::Core::BaseService.new
# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 51
def initialize
  super('https://www.googleapis.com/', 'cloudmonitoring/v2beta2/projects/')
end

Public Instance Methods

create_metric_descriptor(project, metric_descriptor_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Create a new metric. @param [String] project

The project id. The value can be the numeric project ID or string-based
project name.

@param [Google::Apis::CloudmonitoringV2beta2::MetricDescriptor] metric_descriptor_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::MetricDescriptor] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::MetricDescriptor]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 81
def create_metric_descriptor(project, metric_descriptor_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{project}/metricDescriptors', options)
  command.request_representation = Google::Apis::CloudmonitoringV2beta2::MetricDescriptor::Representation
  command.request_object = metric_descriptor_object
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::MetricDescriptor::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::MetricDescriptor
  command.params['project'] = project unless project.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
delete_metric_descriptor(project, metric, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Delete an existing metric. @param [String] project

The project ID to which the metric belongs.

@param [String] metric

Name of the metric.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::DeleteMetricDescriptorResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::DeleteMetricDescriptorResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 120
def delete_metric_descriptor(project, metric, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:delete, '{project}/metricDescriptors/{metric}', options)
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::DeleteMetricDescriptorResponse::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::DeleteMetricDescriptorResponse
  command.params['project'] = project unless project.nil?
  command.params['metric'] = metric unless metric.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_metric_descriptors(project, list_metric_descriptors_request_object = nil, count: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

List metric descriptors that match the query. If the query is not set, then all of the metric descriptors will be returned. Large responses will be paginated, use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken. @param [String] project

The project id. The value can be the numeric project ID or string-based
project name.

@param [Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsRequest] list_metric_descriptors_request_object @param [Fixnum] count

Maximum number of metric descriptors per page. Used for pagination. If not
specified, count = 100.

@param [String] page_token

The pagination token, which is used to page through large result sets. Set
this value to the value of the nextPageToken to retrieve the next page of
results.

@param [String] query

The query used to search against existing metrics. Separate keywords with a
space; the service joins all keywords with AND, meaning that all keywords must
match for a metric to be returned. If this field is omitted, all metrics are
returned. If an empty string is passed with this field, no metrics are
returned.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 175
def list_metric_descriptors(project, list_metric_descriptors_request_object = nil, count: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{project}/metricDescriptors', options)
  command.request_representation = Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsRequest::Representation
  command.request_object = list_metric_descriptors_request_object
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsResponse::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::ListMetricDescriptorsResponse
  command.params['project'] = project unless project.nil?
  command.query['count'] = count unless count.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['query'] = query unless query.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_timeseries(project, metric, youngest, list_timeseries_request_object = nil, aggregator: nil, count: nil, labels: nil, oldest: nil, page_token: nil, timespan: nil, window: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

List the data points of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken. @param [String] project

The project ID to which this time series belongs. The value can be the numeric
project ID or string-based project name.

@param [String] metric

Metric names are protocol-free URLs as listed in the Supported Metrics page.
For example, compute.googleapis.com/instance/disk/read_ops_count.

@param [String] youngest

End of the time interval (inclusive), which is expressed as an RFC 3339
timestamp.

@param [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesRequest] list_timeseries_request_object @param [String] aggregator

The aggregation function that will reduce the data points in each window to a
single point. This parameter is only valid for non-cumulative metrics with a
value type of INT64 or DOUBLE.

@param [Fixnum] count

Maximum number of data points per page, which is used for pagination of
results.

@param [Array<String>, String] labels

A collection of labels for the matching time series, which are represented as:

- key==value: key equals the value
- key=~value: key regex matches the value
- key!=value: key does not equal the value
- key!~value: key regex does not match the value  For example, to list all of
the time series descriptors for the region us-central1, you could specify:
label=cloud.googleapis.com%2Flocation=~us-central1.*

@param [String] oldest

Start of the time interval (exclusive), which is expressed as an RFC 3339
timestamp. If neither oldest nor timespan is specified, the default time
interval will be (youngest - 4 hours, youngest]

@param [String] page_token

The pagination token, which is used to page through large result sets. Set
this value to the value of the nextPageToken to retrieve the next page of
results.

@param [String] timespan

Length of the time interval to query, which is an alternative way to declare
the interval: (youngest - timespan, youngest]. The timespan and oldest
parameters should not be used together. Units:
- s: second
- m: minute
- h: hour
- d: day
- w: week  Examples: 2s, 3m, 4w. Only one unit is allowed, for example: 2w3d
is not allowed; you should use 17d instead.
If neither oldest nor timespan is specified, the default time interval will be
(youngest - 4 hours, youngest].

@param [String] window

The sampling window. At most one data point will be returned for each window
in the requested time interval. This parameter is only valid for non-
cumulative metric types. Units:
- m: minute
- h: hour
- d: day
- w: week  Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is
not allowed; you should use 17d instead.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 272
def list_timeseries(project, metric, youngest, list_timeseries_request_object = nil, aggregator: nil, count: nil, labels: nil, oldest: nil, page_token: nil, timespan: nil, window: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{project}/timeseries/{metric}', options)
  command.request_representation = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesRequest::Representation
  command.request_object = list_timeseries_request_object
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesResponse::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesResponse
  command.params['project'] = project unless project.nil?
  command.params['metric'] = metric unless metric.nil?
  command.query['aggregator'] = aggregator unless aggregator.nil?
  command.query['count'] = count unless count.nil?
  command.query['labels'] = labels unless labels.nil?
  command.query['oldest'] = oldest unless oldest.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['timespan'] = timespan unless timespan.nil?
  command.query['window'] = window unless window.nil?
  command.query['youngest'] = youngest unless youngest.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
list_timeseries_descriptors(project, metric, youngest, list_timeseries_descriptors_request_object = nil, aggregator: nil, count: nil, labels: nil, oldest: nil, page_token: nil, timespan: nil, window: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

List the descriptors of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken. @param [String] project

The project ID to which this time series belongs. The value can be the numeric
project ID or string-based project name.

@param [String] metric

Metric names are protocol-free URLs as listed in the Supported Metrics page.
For example, compute.googleapis.com/instance/disk/read_ops_count.

@param [String] youngest

End of the time interval (inclusive), which is expressed as an RFC 3339
timestamp.

@param [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsRequest] list_timeseries_descriptors_request_object @param [String] aggregator

The aggregation function that will reduce the data points in each window to a
single point. This parameter is only valid for non-cumulative metrics with a
value type of INT64 or DOUBLE.

@param [Fixnum] count

Maximum number of time series descriptors per page. Used for pagination. If
not specified, count = 100.

@param [Array<String>, String] labels

A collection of labels for the matching time series, which are represented as:

- key==value: key equals the value
- key=~value: key regex matches the value
- key!=value: key does not equal the value
- key!~value: key regex does not match the value  For example, to list all of
the time series descriptors for the region us-central1, you could specify:
label=cloud.googleapis.com%2Flocation=~us-central1.*

@param [String] oldest

Start of the time interval (exclusive), which is expressed as an RFC 3339
timestamp. If neither oldest nor timespan is specified, the default time
interval will be (youngest - 4 hours, youngest]

@param [String] page_token

The pagination token, which is used to page through large result sets. Set
this value to the value of the nextPageToken to retrieve the next page of
results.

@param [String] timespan

Length of the time interval to query, which is an alternative way to declare
the interval: (youngest - timespan, youngest]. The timespan and oldest
parameters should not be used together. Units:
- s: second
- m: minute
- h: hour
- d: day
- w: week  Examples: 2s, 3m, 4w. Only one unit is allowed, for example: 2w3d
is not allowed; you should use 17d instead.
If neither oldest nor timespan is specified, the default time interval will be
(youngest - 4 hours, youngest].

@param [String] window

The sampling window. At most one data point will be returned for each window
in the requested time interval. This parameter is only valid for non-
cumulative metric types. Units:
- m: minute
- h: hour
- d: day
- w: week  Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is
not allowed; you should use 17d instead.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 420
def list_timeseries_descriptors(project, metric, youngest, list_timeseries_descriptors_request_object = nil, aggregator: nil, count: nil, labels: nil, oldest: nil, page_token: nil, timespan: nil, window: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:get, '{project}/timeseriesDescriptors/{metric}', options)
  command.request_representation = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsRequest::Representation
  command.request_object = list_timeseries_descriptors_request_object
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsResponse::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::ListTimeseriesDescriptorsResponse
  command.params['project'] = project unless project.nil?
  command.params['metric'] = metric unless metric.nil?
  command.query['aggregator'] = aggregator unless aggregator.nil?
  command.query['count'] = count unless count.nil?
  command.query['labels'] = labels unless labels.nil?
  command.query['oldest'] = oldest unless oldest.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['timespan'] = timespan unless timespan.nil?
  command.query['window'] = window unless window.nil?
  command.query['youngest'] = youngest unless youngest.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end
write_timeseries(project, write_timeseries_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) click to toggle source

Put data points to one or more time series for one or more metrics. If a time series does not exist, a new time series will be created. It is not allowed to write a time series point that is older than the existing youngest point of that time series. Points that are older than the existing youngest point of that time series will be discarded silently. Therefore, users should make sure that points of a time series are written sequentially in the order of their end time. @param [String] project

The project ID. The value can be the numeric project ID or string-based
project name.

@param [Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesRequest] write_timeseries_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] #quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.
Overrides userIp if both are provided.

@param [String] #user_ip

IP address of the site where the request originates. Use this if you want to
enforce per-user limits.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 326
def write_timeseries(project, write_timeseries_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
  command =  make_simple_command(:post, '{project}/timeseries:write', options)
  command.request_representation = Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesRequest::Representation
  command.request_object = write_timeseries_request_object
  command.response_representation = Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesResponse::Representation
  command.response_class = Google::Apis::CloudmonitoringV2beta2::WriteTimeseriesResponse
  command.params['project'] = project unless project.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
  execute_or_queue_command(command, &block)
end

Protected Instance Methods

apply_command_defaults(command) click to toggle source
# File generated/google/apis/cloudmonitoring_v2beta2/service.rb, line 444
def apply_command_defaults(command)
  command.query['key'] = key unless key.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  command.query['userIp'] = user_ip unless user_ip.nil?
end