# 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 '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 MonitoringV3 # Google Monitoring API # # Manages your Stackdriver Monitoring data and configurations. Most projects # must be associated with a Stackdriver account, with a few exceptions as noted # on the individual method pages. # # @example # require 'google/apis/monitoring_v3' # # Monitoring = Google::Apis::MonitoringV3 # Alias the module # service = Monitoring::MonitoringService.new # # @see https://cloud.google.com/monitoring/api/ class MonitoringService < Google::Apis::Core::BaseService # @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. attr_accessor :key # @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. attr_accessor :quota_user def initialize super('https://monitoring.googleapis.com/', '') end # **Stackdriver Monitoring Agent only:** Creates a new time series. # # @param [String] name # The project in which to create the time series. The format is # `"projects/PROJECT_ID_OR_NUMBER"`. # @param [Google::Apis::MonitoringV3::CreateCollectdTimeSeriesRequest] create_collectd_time_series_request_object # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Empty] # # @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 def create_collectd_time_series(name, create_collectd_time_series_request_object = nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:post, 'v3/{+name}/collectdTimeSeries', options) command.request_representation = Google::Apis::MonitoringV3::CreateCollectdTimeSeriesRequest::Representation command.request_object = create_collectd_time_series_request_object command.response_representation = Google::Apis::MonitoringV3::Empty::Representation command.response_class = Google::Apis::MonitoringV3::Empty command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Updates an existing group. # You can change any group attributes except `name`. # @param [String] name # The name of this group. # The format is # `"projects/`project_id_or_number`/groups/`group_id`"`. # When creating a group, this field is ignored and a new name is created # consisting of the project specified in the call to `CreateGroup` # and a unique ``group_id`` that is generated automatically. # @OutputOnly # @param [Google::Apis::MonitoringV3::Group] group_object # @param [Boolean] validate_only # If true, validate this request but do not update the existing group. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Group] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Group] # # @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 def update_project_group(name, group_object = nil, validate_only: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:put, 'v3/{+name}', options) command.request_representation = Google::Apis::MonitoringV3::Group::Representation command.request_object = group_object command.response_representation = Google::Apis::MonitoringV3::Group::Representation command.response_class = Google::Apis::MonitoringV3::Group command.params['name'] = name unless name.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Gets a single group. # @param [String] name # The group to retrieve. The format is # `"projects/`project_id_or_number`/groups/`group_id`"`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Group] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Group] # # @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 def get_project_group(name, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}', options) command.response_representation = Google::Apis::MonitoringV3::Group::Representation command.response_class = Google::Apis::MonitoringV3::Group command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Creates a new group. # @param [String] name # The project in which to create the group. The format is # `"projects/`project_id_or_number`"`. # @param [Google::Apis::MonitoringV3::Group] group_object # @param [Boolean] validate_only # If true, validate this request but do not create the group. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Group] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Group] # # @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 def create_project_group(name, group_object = nil, validate_only: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:post, 'v3/{+name}/groups', options) command.request_representation = Google::Apis::MonitoringV3::Group::Representation command.request_object = group_object command.response_representation = Google::Apis::MonitoringV3::Group::Representation command.response_class = Google::Apis::MonitoringV3::Group command.params['name'] = name unless name.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Lists the existing groups. # @param [String] name # The project whose groups are to be listed. The format is # `"projects/`project_id_or_number`"`. # @param [String] descendants_of_group # A group name: `"projects/`project_id_or_number`/groups/`group_id`"`. # Returns the descendants of the specified group. This is a superset of # the results returned by the `childrenOfGroup` filter, and includes # children-of-children, and so forth. # @param [Fixnum] page_size # A positive number that is the maximum number of results to return. # @param [String] children_of_group # A group name: `"projects/`project_id_or_number`/groups/`group_id`"`. # Returns groups whose `parentName` field contains the group # name. If no groups have this parent, the results are empty. # @param [String] ancestors_of_group # A group name: `"projects/`project_id_or_number`/groups/`group_id`"`. # Returns groups that are ancestors of the specified group. # The groups are returned in order, starting with the immediate parent and # ending with the most distant ancestor. If the specified group has no # immediate parent, the results are empty. # @param [String] page_token # If this field is not empty then it must contain the `nextPageToken` value # returned by a previous call to this method. Using this field causes the # method to return additional results from the previous method call. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::ListGroupsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::ListGroupsResponse] # # @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 def list_project_groups(name, descendants_of_group: nil, page_size: nil, children_of_group: nil, ancestors_of_group: nil, page_token: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}/groups', options) command.response_representation = Google::Apis::MonitoringV3::ListGroupsResponse::Representation command.response_class = Google::Apis::MonitoringV3::ListGroupsResponse command.params['name'] = name unless name.nil? command.query['descendantsOfGroup'] = descendants_of_group unless descendants_of_group.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['childrenOfGroup'] = children_of_group unless children_of_group.nil? command.query['ancestorsOfGroup'] = ancestors_of_group unless ancestors_of_group.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Deletes an existing group. # @param [String] name # The group to delete. The format is # `"projects/`project_id_or_number`/groups/`group_id`"`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Empty] # # @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 def delete_project_group(name, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:delete, 'v3/{+name}', options) command.response_representation = Google::Apis::MonitoringV3::Empty::Representation command.response_class = Google::Apis::MonitoringV3::Empty command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Lists the monitored resources that are members of a group. # @param [String] name # The group whose members are listed. The format is # `"projects/`project_id_or_number`/groups/`group_id`"`. # @param [String] filter # An optional [list filter](/monitoring/api/learn_more#filtering) describing # the members to be returned. The filter may reference the type, labels, and # metadata of monitored resources that comprise the group. # For example, to return only resources representing Compute Engine VM # instances, use this filter: # resource.type = "gce_instance" # @param [String] interval_end_time # Required. The end of the interval. The interval includes this # time. # @param [String] interval_start_time # If this value is omitted, the interval is a point in time, # `endTime`. If `startTime` is present, it must be earlier than # (less than) `endTime`. The interval begins after # `startTime`—it does not include `startTime`. # @param [Fixnum] page_size # A positive number that is the maximum number of results to return. # @param [String] page_token # If this field is not empty then it must contain the `nextPageToken` value # returned by a previous call to this method. Using this field causes the # method to return additional results from the previous method call. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::ListGroupMembersResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::ListGroupMembersResponse] # # @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 def list_project_group_members(name, filter: nil, interval_end_time: nil, interval_start_time: nil, page_size: nil, page_token: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}/members', options) command.response_representation = Google::Apis::MonitoringV3::ListGroupMembersResponse::Representation command.response_class = Google::Apis::MonitoringV3::ListGroupMembersResponse command.params['name'] = name unless name.nil? command.query['filter'] = filter unless filter.nil? command.query['interval.endTime'] = interval_end_time unless interval_end_time.nil? command.query['interval.startTime'] = interval_start_time unless interval_start_time.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Gets a single metric descriptor. This method does not require a Stackdriver # account. # @param [String] name # The metric descriptor on which to execute the request. The format is # `"projects/`project_id_or_number`/metricDescriptors/`metric_id`"`. # An example value of ``metric_id`` is # `"compute.googleapis.com/instance/disk/read_bytes_count"`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::MetricDescriptor] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::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 def get_project_metric_descriptor(name, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}', options) command.response_representation = Google::Apis::MonitoringV3::MetricDescriptor::Representation command.response_class = Google::Apis::MonitoringV3::MetricDescriptor command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Creates a new metric descriptor. # User-created metric descriptors define # [custom metrics](/monitoring/custom-metrics). # @param [String] name # The project on which to execute the request. The format is # `"projects/`project_id_or_number`"`. # @param [Google::Apis::MonitoringV3::MetricDescriptor] metric_descriptor_object # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::MetricDescriptor] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::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 def create_project_metric_descriptor(name, metric_descriptor_object = nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:post, 'v3/{+name}/metricDescriptors', options) command.request_representation = Google::Apis::MonitoringV3::MetricDescriptor::Representation command.request_object = metric_descriptor_object command.response_representation = Google::Apis::MonitoringV3::MetricDescriptor::Representation command.response_class = Google::Apis::MonitoringV3::MetricDescriptor command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Lists metric descriptors that match a filter. This method does not require a # Stackdriver account. # @param [String] name # The project on which to execute the request. The format is # `"projects/`project_id_or_number`"`. # @param [Fixnum] page_size # A positive number that is the maximum number of results to return. # @param [String] filter # If this field is empty, all custom and # system-defined metric descriptors are returned. # Otherwise, the [filter](/monitoring/api/v3/filters) # specifies which metric descriptors are to be # returned. For example, the following filter matches all # [custom metrics](/monitoring/custom-metrics): # metric.type = starts_with("custom.googleapis.com/") # @param [String] page_token # If this field is not empty then it must contain the `nextPageToken` value # returned by a previous call to this method. Using this field causes the # method to return additional results from the previous method call. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::ListMetricDescriptorsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::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 def list_project_metric_descriptors(name, page_size: nil, filter: nil, page_token: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}/metricDescriptors', options) command.response_representation = Google::Apis::MonitoringV3::ListMetricDescriptorsResponse::Representation command.response_class = Google::Apis::MonitoringV3::ListMetricDescriptorsResponse command.params['name'] = name unless name.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['filter'] = filter unless filter.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Deletes a metric descriptor. Only user-created # [custom metrics](/monitoring/custom-metrics) can be deleted. # @param [String] name # The metric descriptor on which to execute the request. The format is # `"projects/`project_id_or_number`/metricDescriptors/`metric_id`"`. # An example of ``metric_id`` is: # `"custom.googleapis.com/my_test_metric"`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Empty] # # @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 def delete_project_metric_descriptor(name, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:delete, 'v3/{+name}', options) command.response_representation = Google::Apis::MonitoringV3::Empty::Representation command.response_class = Google::Apis::MonitoringV3::Empty command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Creates or adds data to one or more time series. # The response is empty if all time series in the request were written. # If any time series could not be written, a corresponding failure message is # included in the error response. # @param [String] name # The project on which to execute the request. The format is # `"projects/`project_id_or_number`"`. # @param [Google::Apis::MonitoringV3::CreateTimeSeriesRequest] create_time_series_request_object # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::Empty] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::Empty] # # @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 def create_time_series(name, create_time_series_request_object = nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:post, 'v3/{+name}/timeSeries', options) command.request_representation = Google::Apis::MonitoringV3::CreateTimeSeriesRequest::Representation command.request_object = create_time_series_request_object command.response_representation = Google::Apis::MonitoringV3::Empty::Representation command.response_class = Google::Apis::MonitoringV3::Empty command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Lists time series that match a filter. This method does not require a # Stackdriver account. # @param [String] name # The project on which to execute the request. The format is # "projects/`project_id_or_number`". # @param [String] filter # A [monitoring filter](/monitoring/api/v3/filters) that specifies which time # series should be returned. The filter must specify a single metric type, # and can additionally specify metric labels and other information. For # example: # metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND # metric.label.instance_name = "my-instance-name" # @param [Array, String] aggregation_group_by_fields # The set of fields to preserve when `crossSeriesReducer` is # specified. The `groupByFields` determine how the time series # are partitioned into subsets prior to applying the aggregation # function. Each subset contains time series that have the same # value for each of the grouping fields. Each individual time # series is a member of exactly one subset. The # `crossSeriesReducer` is applied to each subset of time series. # Fields not specified in `groupByFields` are aggregated away. # If `groupByFields` is not specified, the time series are # aggregated into a single output time series. If # `crossSeriesReducer` is not defined, this field is ignored. # @param [String] aggregation_cross_series_reducer # The approach to be used to combine time series. Not all reducer # functions may be applied to all time series, depending on the # metric type and the value type of the original time # series. Reduction may change the metric type of value type of the # time series. # Time series data must be aligned in order to perform cross-time # series reduction. If `crossSeriesReducer` is specified, then # `perSeriesAligner` must be specified and not equal `ALIGN_NONE` # and `alignmentPeriod` must be specified; otherwise, an error is # returned. # @param [String] interval_end_time # Required. The end of the interval. The interval includes this # time. # @param [String] interval_start_time # If this value is omitted, the interval is a point in time, # `endTime`. If `startTime` is present, it must be earlier than # (less than) `endTime`. The interval begins after # `startTime`—it does not include `startTime`. # @param [Fixnum] page_size # A positive number that is the maximum number of results to return. # When `view` field sets to `FULL`, it limits the number of `Points` server # will return; if `view` field is `HEADERS`, it limits the number of # `TimeSeries` server will return. # @param [String] view # Specifies which information is returned about the time series. # @param [String] aggregation_alignment_period # The alignment period for per-time series # alignment. If present, `alignmentPeriod` must be at least 60 # seconds. After per-time series alignment, each time series will # contain data points only on the period boundaries. If # `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then # this field is ignored. If `perSeriesAligner` is specified and # does not equal `ALIGN_NONE`, then this field must be defined; # otherwise an error is returned. # @param [String] aggregation_per_series_aligner # The approach to be used to align individual time series. Not all # alignment functions may be applied to all time series, depending # on the metric type and value type of the original time # series. Alignment may change the metric type or the value type of # the time series. # Time series data must be aligned in order to perform cross-time # series reduction. If `crossSeriesReducer` is specified, then # `perSeriesAligner` must be specified and not equal `ALIGN_NONE` # and `alignmentPeriod` must be specified; otherwise, an error is # returned. # @param [String] order_by # Specifies the order in which the points of the time series should # be returned. By default, results are not ordered. Currently, # this field must be left blank. # @param [String] page_token # If this field is not empty then it must contain the `nextPageToken` value # returned by a previous call to this method. Using this field causes the # method to return additional results from the previous method call. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::ListTimeSeriesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::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 def list_project_time_series(name, filter: nil, aggregation_group_by_fields: nil, aggregation_cross_series_reducer: nil, interval_end_time: nil, interval_start_time: nil, page_size: nil, view: nil, aggregation_alignment_period: nil, aggregation_per_series_aligner: nil, order_by: nil, page_token: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}/timeSeries', options) command.response_representation = Google::Apis::MonitoringV3::ListTimeSeriesResponse::Representation command.response_class = Google::Apis::MonitoringV3::ListTimeSeriesResponse command.params['name'] = name unless name.nil? command.query['filter'] = filter unless filter.nil? command.query['aggregation.groupByFields'] = aggregation_group_by_fields unless aggregation_group_by_fields.nil? command.query['aggregation.crossSeriesReducer'] = aggregation_cross_series_reducer unless aggregation_cross_series_reducer.nil? command.query['interval.endTime'] = interval_end_time unless interval_end_time.nil? command.query['interval.startTime'] = interval_start_time unless interval_start_time.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['view'] = view unless view.nil? command.query['aggregation.alignmentPeriod'] = aggregation_alignment_period unless aggregation_alignment_period.nil? command.query['aggregation.perSeriesAligner'] = aggregation_per_series_aligner unless aggregation_per_series_aligner.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Gets a single monitored resource descriptor. This method does not require a # Stackdriver account. # @param [String] name # The monitored resource descriptor to get. The format is # `"projects/`project_id_or_number`/monitoredResourceDescriptors/`resource_type`" # `. # The ``resource_type`` is a predefined type, such as # `cloudsql_database`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::MonitoredResourceDescriptor] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::MonitoredResourceDescriptor] # # @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 def get_project_monitored_resource_descriptor(name, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}', options) command.response_representation = Google::Apis::MonitoringV3::MonitoredResourceDescriptor::Representation command.response_class = Google::Apis::MonitoringV3::MonitoredResourceDescriptor command.params['name'] = name unless name.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end # Lists monitored resource descriptors that match a filter. This method does not # require a Stackdriver account. # @param [String] name # The project on which to execute the request. The format is # `"projects/`project_id_or_number`"`. # @param [Fixnum] page_size # A positive number that is the maximum number of results to return. # @param [String] filter # An optional [filter](/monitoring/api/v3/filters) describing # the descriptors to be returned. The filter can reference # the descriptor's type and labels. For example, the # following filter returns only Google Compute Engine descriptors # that have an `id` label: # resource.type = starts_with("gce_") AND resource.label:id # @param [String] page_token # If this field is not empty then it must contain the `nextPageToken` value # returned by a previous call to this method. Using this field causes the # method to return additional results from the previous method call. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::MonitoringV3::ListMonitoredResourceDescriptorsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::MonitoringV3::ListMonitoredResourceDescriptorsResponse] # # @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 def list_project_monitored_resource_descriptors(name, page_size: nil, filter: nil, page_token: nil, quota_user: nil, fields: nil, options: nil, &block) command = make_simple_command(:get, 'v3/{+name}/monitoredResourceDescriptors', options) command.response_representation = Google::Apis::MonitoringV3::ListMonitoredResourceDescriptorsResponse::Representation command.response_class = Google::Apis::MonitoringV3::ListMonitoredResourceDescriptorsResponse command.params['name'] = name unless name.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['filter'] = filter unless filter.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['fields'] = fields unless fields.nil? execute_or_queue_command(command, &block) end protected def apply_command_defaults(command) command.query['key'] = key unless key.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? end end end end end