type: google.api.Service
config_version: 2
name: monitoring.googleapis.com
title: Stackdriver Monitoring API

apis:
- name: google.monitoring.v3.GroupService
- name: google.monitoring.v3.MetricService

documentation:
  summary: >
    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.
  rules:
  - selector: google.monitoring.v3.MetricService.ListMonitoredResourceDescriptors
    description: >
      Lists monitored resource descriptors that match a filter.
      This method does not require a Stackdriver account.
  - selector: google.monitoring.v3.MetricService.GetMonitoredResourceDescriptor
    description: >
      Gets a single monitored resource descriptor.
      This method does not require a Stackdriver account.
  - selector: google.monitoring.v3.MetricService.ListMetricDescriptors
    description: >
      Lists metric descriptors that match a filter.
      This method does not require a Stackdriver account.
  - selector: google.monitoring.v3.MetricService.GetMetricDescriptor
    description: >
      Gets a single metric descriptor.
      This method does not require a Stackdriver account.
  - selector: google.monitoring.v3.MetricService.ListTimeSeries
    description: >
      Lists time series that match a filter.
      This method does not require a Stackdriver account.

authentication:
  rules:
  # Query functions that are also required by publish-only users.
  - selector: |-
      google.monitoring.v3.MetricService.ListMonitoredResourceDescriptors,
      google.monitoring.v3.MetricService.GetMonitoredResourceDescriptor,
      google.monitoring.v3.MetricService.ListMetricDescriptors,
      google.monitoring.v3.MetricService.GetMetricDescriptor
    oauth:
      canonical_scopes: |-
        https://www.googleapis.com/auth/cloud-platform,
        https://www.googleapis.com/auth/monitoring,
        https://www.googleapis.com/auth/monitoring.read,
        https://www.googleapis.com/auth/monitoring.write

  # Write operations that are allowed for publish-only users.
  - selector: |-
      google.monitoring.v3.MetricService.CreateMetricDescriptor,
      google.monitoring.v3.MetricService.CreateTimeSeries
    oauth:
      canonical_scopes: |-
        https://www.googleapis.com/auth/cloud-platform,
        https://www.googleapis.com/auth/monitoring,
        https://www.googleapis.com/auth/monitoring.write

  # Query operations that are *not* permitted by publish-only users.
  - selector: |-
      google.monitoring.v3.GroupService.ListGroups,
      google.monitoring.v3.GroupService.GetGroup,
      google.monitoring.v3.GroupService.ListGroupMembers,
      google.monitoring.v3.MetricService.ListTimeSeries
    oauth:
      canonical_scopes: |-
        https://www.googleapis.com/auth/cloud-platform,
        https://www.googleapis.com/auth/monitoring,
        https://www.googleapis.com/auth/monitoring.read

  # Operations that require full access.
  - selector: |-
      google.monitoring.v3.GroupService.CreateGroup,
      google.monitoring.v3.GroupService.UpdateGroup,
      google.monitoring.v3.GroupService.DeleteGroup,
      google.monitoring.v3.MetricService.DeleteMetricDescriptor
    oauth:
      canonical_scopes: |-
        https://www.googleapis.com/auth/cloud-platform,
        https://www.googleapis.com/auth/monitoring
