blob: 3765d04d09ac2651e448d6247f19ae9a39800fb0 [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package monitoring provides access to the Stackdriver Monitoring API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/monitoring/apiv3 instead.
//
// For product documentation, see: https://cloud.google.com/monitoring/api/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/monitoring/v3"
// ...
// ctx := context.Background()
// monitoringService, err := monitoring.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// monitoringService, err := monitoring.NewService(ctx, option.WithScopes(monitoring.MonitoringWriteScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// monitoringService, err := monitoring.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// monitoringService, err := monitoring.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package monitoring // import "google.golang.org/api/monitoring/v3"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "monitoring:v3"
const apiName = "monitoring"
const apiVersion = "v3"
const basePath = "https://monitoring.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// View and write monitoring data for all of your Google and third-party
// Cloud and API projects
MonitoringScope = "https://www.googleapis.com/auth/monitoring"
// View monitoring data for all of your Google Cloud and third-party
// projects
MonitoringReadScope = "https://www.googleapis.com/auth/monitoring.read"
// Publish metric data to your Google Cloud projects
MonitoringWriteScope = "https://www.googleapis.com/auth/monitoring.write"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"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",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
s.Services = NewServicesService(s)
s.UptimeCheckIps = NewUptimeCheckIpsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
Services *ServicesService
UptimeCheckIps *UptimeCheckIpsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.AlertPolicies = NewProjectsAlertPoliciesService(s)
rs.CollectdTimeSeries = NewProjectsCollectdTimeSeriesService(s)
rs.Groups = NewProjectsGroupsService(s)
rs.MetricDescriptors = NewProjectsMetricDescriptorsService(s)
rs.MonitoredResourceDescriptors = NewProjectsMonitoredResourceDescriptorsService(s)
rs.NotificationChannelDescriptors = NewProjectsNotificationChannelDescriptorsService(s)
rs.NotificationChannels = NewProjectsNotificationChannelsService(s)
rs.TimeSeries = NewProjectsTimeSeriesService(s)
rs.UptimeCheckConfigs = NewProjectsUptimeCheckConfigsService(s)
return rs
}
type ProjectsService struct {
s *Service
AlertPolicies *ProjectsAlertPoliciesService
CollectdTimeSeries *ProjectsCollectdTimeSeriesService
Groups *ProjectsGroupsService
MetricDescriptors *ProjectsMetricDescriptorsService
MonitoredResourceDescriptors *ProjectsMonitoredResourceDescriptorsService
NotificationChannelDescriptors *ProjectsNotificationChannelDescriptorsService
NotificationChannels *ProjectsNotificationChannelsService
TimeSeries *ProjectsTimeSeriesService
UptimeCheckConfigs *ProjectsUptimeCheckConfigsService
}
func NewProjectsAlertPoliciesService(s *Service) *ProjectsAlertPoliciesService {
rs := &ProjectsAlertPoliciesService{s: s}
return rs
}
type ProjectsAlertPoliciesService struct {
s *Service
}
func NewProjectsCollectdTimeSeriesService(s *Service) *ProjectsCollectdTimeSeriesService {
rs := &ProjectsCollectdTimeSeriesService{s: s}
return rs
}
type ProjectsCollectdTimeSeriesService struct {
s *Service
}
func NewProjectsGroupsService(s *Service) *ProjectsGroupsService {
rs := &ProjectsGroupsService{s: s}
rs.Members = NewProjectsGroupsMembersService(s)
return rs
}
type ProjectsGroupsService struct {
s *Service
Members *ProjectsGroupsMembersService
}
func NewProjectsGroupsMembersService(s *Service) *ProjectsGroupsMembersService {
rs := &ProjectsGroupsMembersService{s: s}
return rs
}
type ProjectsGroupsMembersService struct {
s *Service
}
func NewProjectsMetricDescriptorsService(s *Service) *ProjectsMetricDescriptorsService {
rs := &ProjectsMetricDescriptorsService{s: s}
return rs
}
type ProjectsMetricDescriptorsService struct {
s *Service
}
func NewProjectsMonitoredResourceDescriptorsService(s *Service) *ProjectsMonitoredResourceDescriptorsService {
rs := &ProjectsMonitoredResourceDescriptorsService{s: s}
return rs
}
type ProjectsMonitoredResourceDescriptorsService struct {
s *Service
}
func NewProjectsNotificationChannelDescriptorsService(s *Service) *ProjectsNotificationChannelDescriptorsService {
rs := &ProjectsNotificationChannelDescriptorsService{s: s}
return rs
}
type ProjectsNotificationChannelDescriptorsService struct {
s *Service
}
func NewProjectsNotificationChannelsService(s *Service) *ProjectsNotificationChannelsService {
rs := &ProjectsNotificationChannelsService{s: s}
return rs
}
type ProjectsNotificationChannelsService struct {
s *Service
}
func NewProjectsTimeSeriesService(s *Service) *ProjectsTimeSeriesService {
rs := &ProjectsTimeSeriesService{s: s}
return rs
}
type ProjectsTimeSeriesService struct {
s *Service
}
func NewProjectsUptimeCheckConfigsService(s *Service) *ProjectsUptimeCheckConfigsService {
rs := &ProjectsUptimeCheckConfigsService{s: s}
return rs
}
type ProjectsUptimeCheckConfigsService struct {
s *Service
}
func NewServicesService(s *Service) *ServicesService {
rs := &ServicesService{s: s}
rs.ServiceLevelObjectives = NewServicesServiceLevelObjectivesService(s)
return rs
}
type ServicesService struct {
s *Service
ServiceLevelObjectives *ServicesServiceLevelObjectivesService
}
func NewServicesServiceLevelObjectivesService(s *Service) *ServicesServiceLevelObjectivesService {
rs := &ServicesServiceLevelObjectivesService{s: s}
return rs
}
type ServicesServiceLevelObjectivesService struct {
s *Service
}
func NewUptimeCheckIpsService(s *Service) *UptimeCheckIpsService {
rs := &UptimeCheckIpsService{s: s}
return rs
}
type UptimeCheckIpsService struct {
s *Service
}
// Aggregation: Describes how to combine multiple time series to provide
// a different view of the data. Aggregation of time series is done in
// two steps. First, each time series in the set is aligned to the same
// time interval boundaries, then the set of time series is optionally
// reduced in number.Alignment consists of applying the
// per_series_aligner operation to each time series after its data has
// been divided into regular alignment_period time intervals. This
// process takes all of the data points in an alignment period, applies
// a mathematical transformation such as averaging, minimum, maximum,
// delta, etc., and converts them into a single data point per
// period.Reduction is when the aligned and transformed time series can
// optionally be combined, reducing the number of time series through
// similar mathematical transformations. Reduction involves applying a
// cross_series_reducer to all the time series, optionally sorting the
// time series into subsets with group_by_fields, and applying the
// reducer to each subset.The raw time series data can contain a huge
// amount of information from multiple sources. Alignment and reduction
// transforms this mass of data into a more manageable and
// representative collection of data, for example "the 95% latency
// across the average of all tasks in a cluster". This representative
// data can be more easily graphed and comprehended, and the individual
// time series data is still available for later drilldown. For more
// details, see Aggregating Time Series.
type Aggregation struct {
// AlignmentPeriod: The alignment_period specifies a time interval, in
// seconds, that is used to divide the data in all the time series into
// consistent blocks of time. This will be done before the per-series
// aligner can be applied to the data.The value must be at least 60
// seconds. If a per-series aligner other than ALIGN_NONE is specified,
// this field is required or an error is returned. If no per-series
// aligner is specified, or the aligner ALIGN_NONE is specified, then
// this field is ignored.
AlignmentPeriod string `json:"alignmentPeriod,omitempty"`
// CrossSeriesReducer: The reduction operation to be used to combine
// time series into a single time series, where the value of each data
// point in the resulting series is a function of all the already
// aligned values in the input time series.Not all reducer operations
// can be applied to all time series. The valid choices depend on the
// metric_kind and the value_type of the original time series. Reduction
// can yield a time series with a different metric_kind or value_type
// than the input time series.Time series data must first be aligned
// (see per_series_aligner) in order to perform cross-time series
// reduction. If cross_series_reducer is specified, then
// per_series_aligner must be specified, and must not be ALIGN_NONE. An
// alignment_period must also be specified; otherwise, an error is
// returned.
//
// Possible values:
// "REDUCE_NONE" - No cross-time series reduction. The output of the
// Aligner is returned.
// "REDUCE_MEAN" - Reduce by computing the mean value across time
// series for each alignment period. This reducer is valid for DELTA and
// GAUGE metrics with numeric or distribution values. The value_type of
// the output is DOUBLE.
// "REDUCE_MIN" - Reduce by computing the minimum value across time
// series for each alignment period. This reducer is valid for DELTA and
// GAUGE metrics with numeric values. The value_type of the output is
// the same as the value_type of the input.
// "REDUCE_MAX" - Reduce by computing the maximum value across time
// series for each alignment period. This reducer is valid for DELTA and
// GAUGE metrics with numeric values. The value_type of the output is
// the same as the value_type of the input.
// "REDUCE_SUM" - Reduce by computing the sum across time series for
// each alignment period. This reducer is valid for DELTA and GAUGE
// metrics with numeric and distribution values. The value_type of the
// output is the same as the value_type of the input.
// "REDUCE_STDDEV" - Reduce by computing the standard deviation across
// time series for each alignment period. This reducer is valid for
// DELTA and GAUGE metrics with numeric or distribution values. The
// value_type of the output is DOUBLE.
// "REDUCE_COUNT" - Reduce by computing the number of data points
// across time series for each alignment period. This reducer is valid
// for DELTA and GAUGE metrics of numeric, Boolean, distribution, and
// string value_type. The value_type of the output is INT64.
// "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued
// data points across time series for each alignment period. This
// reducer is valid for DELTA and GAUGE metrics of Boolean value_type.
// The value_type of the output is INT64.
// "REDUCE_COUNT_FALSE" - Reduce by computing the number of
// False-valued data points across time series for each alignment
// period. This reducer is valid for DELTA and GAUGE metrics of Boolean
// value_type. The value_type of the output is INT64.
// "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the
// number of True-valued data points to the total number of data points
// for each alignment period. This reducer is valid for DELTA and GAUGE
// metrics of Boolean value_type. The output value is in the range 0.0,
// 1.0 and has value_type DOUBLE.
// "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile
// (https://en.wikipedia.org/wiki/Percentile) of data points across time
// series for each alignment period. This reducer is valid for GAUGE and
// DELTA metrics of numeric and distribution type. The value of the
// output is DOUBLE.
// "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile
// (https://en.wikipedia.org/wiki/Percentile) of data points across time
// series for each alignment period. This reducer is valid for GAUGE and
// DELTA metrics of numeric and distribution type. The value of the
// output is DOUBLE.
// "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile
// (https://en.wikipedia.org/wiki/Percentile) of data points across time
// series for each alignment period. This reducer is valid for GAUGE and
// DELTA metrics of numeric and distribution type. The value of the
// output is DOUBLE.
// "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile
// (https://en.wikipedia.org/wiki/Percentile) of data points across time
// series for each alignment period. This reducer is valid for GAUGE and
// DELTA metrics of numeric and distribution type. The value of the
// output is DOUBLE.
CrossSeriesReducer string `json:"crossSeriesReducer,omitempty"`
// GroupByFields: The set of fields to preserve when
// cross_series_reducer is specified. The group_by_fields determine how
// the time series are partitioned into subsets prior to applying the
// aggregation operation. 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 cross_series_reducer is
// applied to each subset of time series. It is not possible to reduce
// across different resource types, so this field implicitly contains
// resource.type. Fields not specified in group_by_fields are aggregated
// away. If group_by_fields is not specified and all the time series
// have the same resource type, then the time series are aggregated into
// a single output time series. If cross_series_reducer is not defined,
// this field is ignored.
GroupByFields []string `json:"groupByFields,omitempty"`
// PerSeriesAligner: An Aligner describes how to bring the data points
// in a single time series into temporal alignment. Except for
// ALIGN_NONE, all alignments cause all the data points in an
// alignment_period to be mathematically grouped together, resulting in
// a single data point for each alignment_period with end timestamp at
// the end of the period.Not all alignment operations may be applied to
// all time series. The valid choices depend on the metric_kind and
// value_type of the original time series. Alignment can change the
// metric_kind or the value_type of the time series.Time series data
// must be aligned in order to perform cross-time series reduction. If
// cross_series_reducer is specified, then per_series_aligner must be
// specified and not equal to ALIGN_NONE and alignment_period must be
// specified; otherwise, an error is returned.
//
// Possible values:
// "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if
// cross-series reduction is requested. The value_type of the result is
// the same as the value_type of the input.
// "ALIGN_DELTA" - Align and convert to DELTA. The output is delta =
// y1 - y0.This alignment is valid for CUMULATIVE and DELTA metrics. If
// the selected alignment period results in periods with no data, then
// the aligned value for such a period is created by interpolation. The
// value_type of the aligned result is the same as the value_type of the
// input.
// "ALIGN_RATE" - Align and convert to a rate. The result is computed
// as rate = (y1 - y0)/(t1 - t0), or "delta over time". Think of this
// aligner as providing the slope of the line that passes through the
// value at the start and at the end of the alignment_period.This
// aligner is valid for CUMULATIVE and DELTA metrics with numeric
// values. If the selected alignment period results in periods with no
// data, then the aligned value for such a period is created by
// interpolation. The output is a GAUGE metric with value_type
// DOUBLE.If, by "rate", you mean "percentage change", see the
// ALIGN_PERCENT_CHANGE aligner instead.
// "ALIGN_INTERPOLATE" - Align by interpolating between adjacent
// points around the alignment period boundary. This aligner is valid
// for GAUGE metrics with numeric values. The value_type of the aligned
// result is the same as the value_type of the input.
// "ALIGN_NEXT_OLDER" - Align by moving the most recent data point
// before the end of the alignment period to the boundary at the end of
// the alignment period. This aligner is valid for GAUGE metrics. The
// value_type of the aligned result is the same as the value_type of the
// input.
// "ALIGN_MIN" - Align the time series by returning the minimum value
// in each alignment period. This aligner is valid for GAUGE and DELTA
// metrics with numeric values. The value_type of the aligned result is
// the same as the value_type of the input.
// "ALIGN_MAX" - Align the time series by returning the maximum value
// in each alignment period. This aligner is valid for GAUGE and DELTA
// metrics with numeric values. The value_type of the aligned result is
// the same as the value_type of the input.
// "ALIGN_MEAN" - Align the time series by returning the mean value in
// each alignment period. This aligner is valid for GAUGE and DELTA
// metrics with numeric values. The value_type of the aligned result is
// DOUBLE.
// "ALIGN_COUNT" - Align the time series by returning the number of
// values in each alignment period. This aligner is valid for GAUGE and
// DELTA metrics with numeric or Boolean values. The value_type of the
// aligned result is INT64.
// "ALIGN_SUM" - Align the time series by returning the sum of the
// values in each alignment period. This aligner is valid for GAUGE and
// DELTA metrics with numeric and distribution values. The value_type of
// the aligned result is the same as the value_type of the input.
// "ALIGN_STDDEV" - Align the time series by returning the standard
// deviation of the values in each alignment period. This aligner is
// valid for GAUGE and DELTA metrics with numeric values. The value_type
// of the output is DOUBLE.
// "ALIGN_COUNT_TRUE" - Align the time series by returning the number
// of True values in each alignment period. This aligner is valid for
// GAUGE metrics with Boolean values. The value_type of the output is
// INT64.
// "ALIGN_COUNT_FALSE" - Align the time series by returning the number
// of False values in each alignment period. This aligner is valid for
// GAUGE metrics with Boolean values. The value_type of the output is
// INT64.
// "ALIGN_FRACTION_TRUE" - Align the time series by returning the
// ratio of the number of True values to the total number of values in
// each alignment period. This aligner is valid for GAUGE metrics with
// Boolean values. The output value is in the range 0.0, 1.0 and has
// value_type DOUBLE.
// "ALIGN_PERCENTILE_99" - Align the time series by using percentile
// aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting
// data point in each alignment period is the 99th percentile of all
// data points in the period. This aligner is valid for GAUGE and DELTA
// metrics with distribution values. The output is a GAUGE metric with
// value_type DOUBLE.
// "ALIGN_PERCENTILE_95" - Align the time series by using percentile
// aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting
// data point in each alignment period is the 95th percentile of all
// data points in the period. This aligner is valid for GAUGE and DELTA
// metrics with distribution values. The output is a GAUGE metric with
// value_type DOUBLE.
// "ALIGN_PERCENTILE_50" - Align the time series by using percentile
// aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting
// data point in each alignment period is the 50th percentile of all
// data points in the period. This aligner is valid for GAUGE and DELTA
// metrics with distribution values. The output is a GAUGE metric with
// value_type DOUBLE.
// "ALIGN_PERCENTILE_05" - Align the time series by using percentile
// aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting
// data point in each alignment period is the 5th percentile of all data
// points in the period. This aligner is valid for GAUGE and DELTA
// metrics with distribution values. The output is a GAUGE metric with
// value_type DOUBLE.
// "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change.
// This aligner is valid for GAUGE and DELTA metrics with numeric
// values. This alignment returns ((current - previous)/previous) * 100,
// where the value of previous is determined based on the
// alignment_period.If the values of current and previous are both 0,
// then the returned value is 0. If only previous is 0, the returned
// value is infinity.A 10-minute moving mean is computed at each point
// of the alignment period prior to the above calculation to smooth the
// metric and prevent false positives from very short-lived spikes. The
// moving mean is only applicable for data whose values are >= 0. Any
// values < 0 are treated as a missing datapoint, and are ignored. While
// DELTA metrics are accepted by this alignment, special care should be
// taken that the values for the metric will always be positive. The
// output is a GAUGE metric with value_type DOUBLE.
PerSeriesAligner string `json:"perSeriesAligner,omitempty"`
// ForceSendFields is a list of field names (e.g. "AlignmentPeriod") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AlignmentPeriod") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Aggregation) MarshalJSON() ([]byte, error) {
type NoMethod Aggregation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AlertPolicy: A description of the conditions under which some aspect
// of your system is considered to be "unhealthy" and the ways to notify
// people or services about this state. For an overview of alert
// policies, see Introduction to Alerting.
type AlertPolicy struct {
// Combiner: How to combine the results of multiple conditions to
// determine if an incident should be opened. If
// condition_time_series_query_language is present, this must be
// COMBINE_UNSPECIFIED.
//
// Possible values:
// "COMBINE_UNSPECIFIED" - An unspecified combiner.
// "AND" - Combine conditions using the logical AND operator. An
// incident is created only if all the conditions are met
// simultaneously. This combiner is satisfied if all conditions are met,
// even if they are met on completely different resources.
// "OR" - Combine conditions using the logical OR operator. An
// incident is created if any of the listed conditions is met.
// "AND_WITH_MATCHING_RESOURCE" - Combine conditions using logical AND
// operator, but unlike the regular AND option, an incident is created
// only if all conditions are met simultaneously on at least one
// resource.
Combiner string `json:"combiner,omitempty"`
// Conditions: A list of conditions for the policy. The conditions are
// combined by AND or OR according to the combiner field. If the
// combined conditions evaluate to true, then an incident is created. A
// policy can have from one to six conditions. If
// condition_time_series_query_language is present, it must be the only
// condition.
Conditions []*Condition `json:"conditions,omitempty"`
// CreationRecord: A read-only record of the creation of the alerting
// policy. If provided in a call to create or update, this field will be
// ignored.
CreationRecord *MutationRecord `json:"creationRecord,omitempty"`
// DisplayName: A short name or phrase used to identify the policy in
// dashboards, notifications, and incidents. To avoid confusion, don't
// use the same display name for multiple policies in the same project.
// The name is limited to 512 Unicode characters.
DisplayName string `json:"displayName,omitempty"`
// Documentation: Documentation that is included with notifications and
// incidents related to this policy. Best practice is for the
// documentation to include information to help responders understand,
// mitigate, escalate, and correct the underlying problems detected by
// the alerting policy. Notification channels that have limited capacity
// might not show this documentation.
Documentation *Documentation `json:"documentation,omitempty"`
// Enabled: Whether or not the policy is enabled. On write, the default
// interpretation if unset is that the policy is enabled. On read,
// clients should not make any assumption about the state if it has not
// been populated. The field should always be populated on List and Get
// operations, unless a field projection has been specified that strips
// it out.
Enabled bool `json:"enabled,omitempty"`
// MutationRecord: A read-only record of the most recent change to the
// alerting policy. If provided in a call to create or update, this
// field will be ignored.
MutationRecord *MutationRecord `json:"mutationRecord,omitempty"`
// Name: Required if the policy exists. The resource name for this
// policy. The format
// is:
// projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]
// [A
// LERT_POLICY_ID] is assigned by Stackdriver Monitoring when the policy
// is created. When calling the alertPolicies.create method, do not
// include the name field in the alerting policy passed as part of the
// request.
Name string `json:"name,omitempty"`
// NotificationChannels: Identifies the notification channels to which
// notifications should be sent when incidents are opened or closed or
// when new violations occur on an already opened incident. Each element
// of this array corresponds to the name field in each of the
// NotificationChannel objects that are returned from the
// ListNotificationChannels method. The format of the entries in this
// field
// is:
// projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
//
NotificationChannels []string `json:"notificationChannels,omitempty"`
// UserLabels: User-supplied key/value data to be used for organizing
// and identifying the AlertPolicy objects.The field can contain up to
// 64 entries. Each key and value is limited to 63 Unicode characters or
// 128 bytes, whichever is smaller. Labels and values can contain only
// lowercase letters, numerals, underscores, and dashes. Keys must begin
// with a letter.
UserLabels map[string]string `json:"userLabels,omitempty"`
// Validity: Read-only description of how the alert policy is invalid.
// OK if the alert policy is valid. If not OK, the alert policy will not
// generate incidents.
Validity *Status `json:"validity,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Combiner") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Combiner") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AlertPolicy) MarshalJSON() ([]byte, error) {
type NoMethod AlertPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppEngine: App Engine service. Learn more at
// https://cloud.google.com/appengine.
type AppEngine struct {
// ModuleId: The ID of the App Engine module underlying this service.
// Corresponds to the module_id resource label in the gae_app monitored
// resource:
// https://cloud.google.com/monitoring/api/resources#tag_gae_app
ModuleId string `json:"moduleId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ModuleId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ModuleId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppEngine) MarshalJSON() ([]byte, error) {
type NoMethod AppEngine
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AvailabilityCriteria: Future parameters for the availability SLI.
type AvailabilityCriteria struct {
}
// BasicAuthentication: The authentication parameters to provide to the
// specified resource or URL that requires a username and password.
// Currently, only Basic HTTP authentication
// (https://tools.ietf.org/html/rfc7617) is supported in Uptime checks.
type BasicAuthentication struct {
// Password: The password to use when authenticating with the HTTP
// server.
Password string `json:"password,omitempty"`
// Username: The username to use when authenticating with the HTTP
// server.
Username string `json:"username,omitempty"`
// ForceSendFields is a list of field names (e.g. "Password") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Password") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BasicAuthentication) MarshalJSON() ([]byte, error) {
type NoMethod BasicAuthentication
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BasicSli: An SLI measuring performance on a well-known service type.
// Performance will be computed on the basis of pre-defined metrics. The
// type of the service_resource determines the metrics to use and the
// service_resource.labels and metric_labels are used to construct a
// monitoring filter to filter that metric down to just the data
// relevant to this service.
type BasicSli struct {
// Availability: Good service is defined to be the count of requests
// made to this service that return successfully.
Availability *AvailabilityCriteria `json:"availability,omitempty"`
// Latency: Good service is defined to be the count of requests made to
// this service that are fast enough with respect to latency.threshold.
Latency *LatencyCriteria `json:"latency,omitempty"`
// Location: OPTIONAL: The set of locations to which this SLI is
// relevant. Telemetry from other locations will not be used to
// calculate performance for this SLI. If omitted, this SLI applies to
// all locations in which the Service has activity. For service types
// that don't support breaking down by location, setting this field will
// result in an error.
Location []string `json:"location,omitempty"`
// Method: OPTIONAL: The set of RPCs to which this SLI is relevant.
// Telemetry from other methods will not be used to calculate
// performance for this SLI. If omitted, this SLI applies to all the
// Service's methods. For service types that don't support breaking down
// by method, setting this field will result in an error.
Method []string `json:"method,omitempty"`
// Version: OPTIONAL: The set of API versions to which this SLI is
// relevant. Telemetry from other API versions will not be used to
// calculate performance for this SLI. If omitted, this SLI applies to
// all API versions. For service types that don't support breaking down
// by version, setting this field will result in an error.
Version []string `json:"version,omitempty"`
// ForceSendFields is a list of field names (e.g. "Availability") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Availability") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BasicSli) MarshalJSON() ([]byte, error) {
type NoMethod BasicSli
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BucketOptions: BucketOptions describes the bucket boundaries used to
// create a histogram for the distribution. The buckets can be in a
// linear sequence, an exponential sequence, or each bucket can be
// specified explicitly. BucketOptions does not include the number of
// values in each bucket.A bucket has an inclusive lower bound and
// exclusive upper bound for the values that are counted for that
// bucket. The upper bound of a bucket must be strictly greater than the
// lower bound. The sequence of N buckets for a distribution consists of
// an underflow bucket (number 0), zero or more finite buckets (number 1
// through N - 2) and an overflow bucket (number N - 1). The buckets are
// contiguous: the lower bound of bucket i (i > 0) is the same as the
// upper bound of bucket i - 1. The buckets span the whole range of
// finite values: lower bound of the underflow bucket is -infinity and
// the upper bound of the overflow bucket is +infinity. The finite
// buckets are so-called because both bounds are finite.
type BucketOptions struct {
// ExplicitBuckets: The explicit buckets.
ExplicitBuckets *Explicit `json:"explicitBuckets,omitempty"`
// ExponentialBuckets: The exponential buckets.
ExponentialBuckets *Exponential `json:"exponentialBuckets,omitempty"`
// LinearBuckets: The linear bucket.
LinearBuckets *Linear `json:"linearBuckets,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExplicitBuckets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExplicitBuckets") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *BucketOptions) MarshalJSON() ([]byte, error) {
type NoMethod BucketOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CloudEndpoints: Cloud Endpoints service. Learn more at
// https://cloud.google.com/endpoints.
type CloudEndpoints struct {
// Service: The name of the Cloud Endpoints service underlying this
// service. Corresponds to the service resource label in the api
// monitored resource:
// https://cloud.google.com/monitoring/api/resources#tag_api
Service string `json:"service,omitempty"`
// ForceSendFields is a list of field names (e.g. "Service") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Service") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CloudEndpoints) MarshalJSON() ([]byte, error) {
type NoMethod CloudEndpoints
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ClusterIstio: Istio service scoped to a single Kubernetes cluster.
// Learn more at http://istio.io.
type ClusterIstio struct {
// ClusterName: The name of the Kubernetes cluster in which this Istio
// service is defined. Corresponds to the cluster_name resource label in
// k8s_cluster resources.
ClusterName string `json:"clusterName,omitempty"`
// Location: The location of the Kubernetes cluster in which this Istio
// service is defined. Corresponds to the location resource label in
// k8s_cluster resources.
Location string `json:"location,omitempty"`
// ServiceName: The name of the Istio service underlying this service.
// Corresponds to the destination_service_name metric label in Istio
// metrics.
ServiceName string `json:"serviceName,omitempty"`
// ServiceNamespace: The namespace of the Istio service underlying this
// service. Corresponds to the destination_service_namespace metric
// label in Istio metrics.
ServiceNamespace string `json:"serviceNamespace,omitempty"`
// ForceSendFields is a list of field names (e.g. "ClusterName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ClusterName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ClusterIstio) MarshalJSON() ([]byte, error) {
type NoMethod ClusterIstio
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectdPayload: A collection of data points sent from a
// collectd-based plugin. See the collectd documentation for more
// information.
type CollectdPayload struct {
// EndTime: The end time of the interval.
EndTime string `json:"endTime,omitempty"`
// Metadata: The measurement metadata. Example: "process_id" -> 12345
Metadata map[string]TypedValue `json:"metadata,omitempty"`
// Plugin: The name of the plugin. Example: "disk".
Plugin string `json:"plugin,omitempty"`
// PluginInstance: The instance name of the plugin Example: "hdcl".
PluginInstance string `json:"pluginInstance,omitempty"`
// StartTime: The start time of the interval.
StartTime string `json:"startTime,omitempty"`
// Type: The measurement type. Example: "memory".
Type string `json:"type,omitempty"`
// TypeInstance: The measurement type instance. Example: "used".
TypeInstance string `json:"typeInstance,omitempty"`
// Values: The measured values during this time interval. Each value
// must have a different dataSourceName.
Values []*CollectdValue `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CollectdPayload) MarshalJSON() ([]byte, error) {
type NoMethod CollectdPayload
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectdPayloadError: Describes the error status for payloads that
// were not written.
type CollectdPayloadError struct {
// Error: Records the error status for the payload. If this field is
// present, the partial errors for nested values won't be populated.
Error *Status `json:"error,omitempty"`
// Index: The zero-based index in
// CreateCollectdTimeSeriesRequest.collectd_payloads.
Index int64 `json:"index,omitempty"`
// ValueErrors: Records the error status for values that were not
// written due to an error.Failed payloads for which nothing is written
// will not include partial value errors.
ValueErrors []*CollectdValueError `json:"valueErrors,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Error") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CollectdPayloadError) MarshalJSON() ([]byte, error) {
type NoMethod CollectdPayloadError
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectdValue: A single data point from a collectd-based plugin.
type CollectdValue struct {
// DataSourceName: The data source for the collectd value. For example
// there are two data sources for network measurements: "rx" and "tx".
DataSourceName string `json:"dataSourceName,omitempty"`
// DataSourceType: The type of measurement.
//
// Possible values:
// "UNSPECIFIED_DATA_SOURCE_TYPE" - An unspecified data source type.
// This corresponds to
// google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED.
// "GAUGE" - An instantaneous measurement of a varying quantity. This
// corresponds to google.api.MetricDescriptor.MetricKind.GAUGE.
// "COUNTER" - A cumulative value over time. This corresponds to
// google.api.MetricDescriptor.MetricKind.CUMULATIVE.
// "DERIVE" - A rate of change of the measurement.
// "ABSOLUTE" - An amount of change since the last measurement
// interval. This corresponds to
// google.api.MetricDescriptor.MetricKind.DELTA.
DataSourceType string `json:"dataSourceType,omitempty"`
// Value: The measurement value.
Value *TypedValue `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "DataSourceName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DataSourceName") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CollectdValue) MarshalJSON() ([]byte, error) {
type NoMethod CollectdValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectdValueError: Describes the error status for values that were
// not written.
type CollectdValueError struct {
// Error: Records the error status for the value.
Error *Status `json:"error,omitempty"`
// Index: The zero-based index in CollectdPayload.values within the
// parent CreateCollectdTimeSeriesRequest.collectd_payloads.
Index int64 `json:"index,omitempty"`
// ForceSendFields is a list of field names (e.g. "Error") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Error") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CollectdValueError) MarshalJSON() ([]byte, error) {
type NoMethod CollectdValueError
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Condition: A condition is a true/false test that determines when an
// alerting policy should open an incident. If a condition evaluates to
// true, it signifies that something is wrong.
type Condition struct {
// ConditionAbsent: A condition that checks that a time series continues
// to receive new data points.
ConditionAbsent *MetricAbsence `json:"conditionAbsent,omitempty"`
// ConditionThreshold: A condition that compares a time series against a
// threshold.
ConditionThreshold *MetricThreshold `json:"conditionThreshold,omitempty"`
// DisplayName: A short name or phrase used to identify the condition in
// dashboards, notifications, and incidents. To avoid confusion, don't
// use the same display name for multiple conditions in the same policy.
DisplayName string `json:"displayName,omitempty"`
// Name: Required if the condition exists. The unique resource name for
// this condition. Its format
// is:
// projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditio
// ns/[CONDITION_ID]
// [CONDITION_ID] is assigned by Stackdriver Monitoring when the
// condition is created as part of a new or updated alerting policy.When
// calling the alertPolicies.create method, do not include the name
// field in the conditions of the requested alerting policy. Stackdriver
// Monitoring creates the condition identifiers and includes them in the
// new policy.When calling the alertPolicies.update method to update a
// policy, including a condition name causes the existing condition to
// be updated. Conditions without names are added to the updated policy.
// Existing conditions are deleted if they are not updated.Best practice
// is to preserve [CONDITION_ID] if you make only small changes, such as
// those to condition thresholds, durations, or trigger values.
// Otherwise, treat the change as a new condition and let the existing
// condition be deleted.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConditionAbsent") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConditionAbsent") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Condition) MarshalJSON() ([]byte, error) {
type NoMethod Condition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContentMatcher: Optional. Used to perform content matching. This
// allows matching based on substrings and regular expressions, together
// with their negations. Only the first 4&nbsp;MB of an HTTP or HTTPS
// check's response (and the first 1&nbsp;MB of a TCP check's response)
// are examined for purposes of content matching.
type ContentMatcher struct {
// Content: String or regex content to match. Maximum 1024 bytes. An
// empty content string indicates no content matching is to be
// performed.
Content string `json:"content,omitempty"`
// Matcher: The type of content matcher that will be applied to the
// server output, compared to the content string when the check is run.
//
// Possible values:
// "CONTENT_MATCHER_OPTION_UNSPECIFIED" - No content matcher type
// specified (maintained for backward compatibility, but deprecated for
// future use). Treated as CONTAINS_STRING.
// "CONTAINS_STRING" - Selects substring matching. The match succeeds
// if the output contains the content string. This is the default value
// for checks without a matcher option, or where the value of matcher is
// CONTENT_MATCHER_OPTION_UNSPECIFIED.
// "NOT_CONTAINS_STRING" - Selects negation of substring matching. The
// match succeeds if the output does NOT contain the content string.
// "MATCHES_REGEX" - Selects regular-expression matching. The match
// succeeds of the output matches the regular expression specified in
// the content string.
// "NOT_MATCHES_REGEX" - Selects negation of regular-expression
// matching. The match succeeds if the output does NOT match the regular
// expression specified in the content string.
Matcher string `json:"matcher,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Content") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ContentMatcher) MarshalJSON() ([]byte, error) {
type NoMethod ContentMatcher
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateCollectdTimeSeriesRequest: The CreateCollectdTimeSeries
// request.
type CreateCollectdTimeSeriesRequest struct {
// CollectdPayloads: The collectd payloads representing the time series
// data. You must not include more than a single point for each time
// series, so no two payloads can have the same values for all of the
// fields plugin, plugin_instance, type, and type_instance.
CollectdPayloads []*CollectdPayload `json:"collectdPayloads,omitempty"`
// CollectdVersion: The version of collectd that collected the data.
// Example: "5.3.0-192.el6".
CollectdVersion string `json:"collectdVersion,omitempty"`
// Resource: The monitored resource associated with the time series.
Resource *MonitoredResource `json:"resource,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectdPayloads") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectdPayloads") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CreateCollectdTimeSeriesRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateCollectdTimeSeriesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateCollectdTimeSeriesResponse: The CreateCollectdTimeSeries
// response.
type CreateCollectdTimeSeriesResponse struct {
// PayloadErrors: Records the error status for points that were not
// written due to an error in the request.Failed requests for which
// nothing is written will return an error response instead. Requests
// where data points were rejected by the backend will set summary
// instead.
PayloadErrors []*CollectdPayloadError `json:"payloadErrors,omitempty"`
// Summary: Aggregate statistics from writing the payloads. This field
// is omitted if all points were successfully written, so that the
// response is empty. This is for backwards compatibility with clients
// that log errors on any non-empty response.
Summary *CreateTimeSeriesSummary `json:"summary,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "PayloadErrors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PayloadErrors") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateCollectdTimeSeriesResponse) MarshalJSON() ([]byte, error) {
type NoMethod CreateCollectdTimeSeriesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateTimeSeriesRequest: The CreateTimeSeries request.
type CreateTimeSeriesRequest struct {
// TimeSeries: Required. The new data to be added to a list of time
// series. Adds at most one data point to each of several time series.
// The new data point must be more recent than any other point in its
// time series. Each TimeSeries value must fully specify a unique time
// series by supplying all label values for the metric and the monitored
// resource.The maximum number of TimeSeries objects per Create request
// is 200.
TimeSeries []*TimeSeries `json:"timeSeries,omitempty"`
// ForceSendFields is a list of field names (e.g. "TimeSeries") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TimeSeries") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateTimeSeriesRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateTimeSeriesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateTimeSeriesSummary: Summary of the result of a failed request to
// write data to a time series.
type CreateTimeSeriesSummary struct {
// Errors: The number of points that failed to be written. Order is not
// guaranteed.
Errors []*Error `json:"errors,omitempty"`
// SuccessPointCount: The number of points that were successfully
// written.
SuccessPointCount int64 `json:"successPointCount,omitempty"`
// TotalPointCount: The number of points in the request.
TotalPointCount int64 `json:"totalPointCount,omitempty"`
// ForceSendFields is a list of field names (e.g. "Errors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Errors") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateTimeSeriesSummary) MarshalJSON() ([]byte, error) {
type NoMethod CreateTimeSeriesSummary
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Custom: Custom view of service telemetry. Currently a place-holder
// pending final design.
type Custom struct {
}
// Distribution: Distribution contains summary statistics for a
// population of values. It optionally contains a histogram representing
// the distribution of those values across a set of buckets.The summary
// statistics are the count, mean, sum of the squared deviation from the
// mean, the minimum, and the maximum of the set of population of
// values. The histogram is based on a sequence of buckets and gives a
// count of values that fall into each bucket. The boundaries of the
// buckets are given either explicitly or by formulas for buckets of
// fixed or exponentially increasing widths.Although it is not
// forbidden, it is generally a bad idea to include non-finite values
// (infinities or NaNs) in the population of values, as this will render
// the mean and sum_of_squared_deviation fields meaningless.
type Distribution struct {
// BucketCounts: Required in the Stackdriver Monitoring API v3. The
// values for each bucket specified in bucket_options. The sum of the
// values in bucketCounts must equal the value in the count field of the
// Distribution object. The order of the bucket counts follows the
// numbering schemes described for the three bucket types. The underflow
// bucket has number 0; the finite buckets, if any, have numbers 1
// through N-2; and the overflow bucket has number N-1. The size of
// bucket_counts must not be greater than N. If the size is less than N,
// then the remaining buckets are assigned values of zero.
BucketCounts googleapi.Int64s `json:"bucketCounts,omitempty"`
// BucketOptions: Required in the Stackdriver Monitoring API v3. Defines
// the histogram bucket boundaries.
BucketOptions *BucketOptions `json:"bucketOptions,omitempty"`
// Count: The number of values in the population. Must be non-negative.
// This value must equal the sum of the values in bucket_counts if a
// histogram is provided.
Count int64 `json:"count,omitempty,string"`
// Exemplars: Must be in increasing order of value field.
Exemplars []*Exemplar `json:"exemplars,omitempty"`
// Mean: The arithmetic mean of the values in the population. If count
// is zero then this field must be zero.
Mean float64 `json:"mean,omitempty"`
// Range: If specified, contains the range of the population values. The
// field must not be present if the count is zero. This field is
// presently ignored by the Stackdriver Monitoring API v3.
Range *Range `json:"range,omitempty"`
// SumOfSquaredDeviation: The sum of squared deviations from the mean of
// the values in the population. For values x_i this
// is:
// Sum[i=1..n]((x_i - mean)^2)
// Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd
// edition describes Welford's method for accumulating this sum in one
// pass.If count is zero then this field must be zero.
SumOfSquaredDeviation float64 `json:"sumOfSquaredDeviation,omitempty"`
// ForceSendFields is a list of field names (e.g. "BucketCounts") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BucketCounts") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Distribution) MarshalJSON() ([]byte, error) {
type NoMethod Distribution
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Distribution) UnmarshalJSON(data []byte) error {
type NoMethod Distribution
var s1 struct {
Mean gensupport.JSONFloat64 `json:"mean"`
SumOfSquaredDeviation gensupport.JSONFloat64 `json:"sumOfSquaredDeviation"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Mean = float64(s1.Mean)
s.SumOfSquaredDeviation = float64(s1.SumOfSquaredDeviation)
return nil
}
// DistributionCut: A DistributionCut defines a TimeSeries and
// thresholds used for measuring good service and total service. The
// TimeSeries must have ValueType =
// DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The
// computed good_service will be the count of values x in the
// Distribution such that range.min <= x < range.max.
type DistributionCut struct {
// DistributionFilter: A monitoring filter
// (https://cloud.google.com/monitoring/api/v3/filters) specifying a
// TimeSeries aggregating values. Must have ValueType =
// DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE.
DistributionFilter string `json:"distributionFilter,omitempty"`
// Range: Range of values considered "good." For a one-sided range, set
// one bound to an infinite value.
Range *GoogleMonitoringV3Range `json:"range,omitempty"`
// ForceSendFields is a list of field names (e.g. "DistributionFilter")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DistributionFilter") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DistributionCut) MarshalJSON() ([]byte, error) {
type NoMethod DistributionCut
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Documentation: A content string and a MIME type that describes the
// content string's format.
type Documentation struct {
// Content: The text of the documentation, interpreted according to
// mime_type. The content may not exceed 8,192 Unicode characters and
// may not exceed more than 10,240 bytes when encoded in UTF-8 format,
// whichever is smaller.
Content string `json:"content,omitempty"`
// MimeType: The format of the content field. Presently, only the value
// "text/markdown" is supported. See Markdown
// (https://en.wikipedia.org/wiki/Markdown) for more information.
MimeType string `json:"mimeType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Content") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Documentation) MarshalJSON() ([]byte, error) {
type NoMethod Documentation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DroppedLabels: A set of (label, value) pairs which were dropped
// during aggregation, attached to google.api.Distribution.Exemplars in
// google.api.Distribution values during aggregation.These values are
// used in combination with the label values that remain on the
// aggregated Distribution timeseries to construct the full label set
// for the exemplar values. The resulting full label set may be used to
// identify the specific task/job/instance (for example) which may be
// contributing to a long-tail, while allowing the storage savings of
// only storing aggregated distribution values for a large group.Note
// that there are no guarantees on ordering of the labels from
// exemplar-to-exemplar and from distribution-to-distribution in the
// same stream, and there may be duplicates. It is up to clients to
// resolve any ambiguities.
type DroppedLabels struct {
// Label: Map from label to its value, for all labels dropped in any
// aggregation.
Label map[string]string `json:"label,omitempty"`
// ForceSendFields is a list of field names (e.g. "Label") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Label") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DroppedLabels) MarshalJSON() ([]byte, error) {
type NoMethod DroppedLabels
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: 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 {}.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// Error: Detailed information about an error category.
type Error struct {
// PointCount: The number of points that couldn't be written because of
// status.
PointCount int64 `json:"pointCount,omitempty"`
// Status: The status of the requested write operation.
Status *Status `json:"status,omitempty"`
// ForceSendFields is a list of field names (e.g. "PointCount") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PointCount") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Error) MarshalJSON() ([]byte, error) {
type NoMethod Error
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Exemplar: Exemplars are example points that may be used to annotate
// aggregated distribution values. They are metadata that gives
// information about a particular value added to a Distribution bucket,
// such as a trace ID that was active when a value was added. They may
// contain further information, such as a example values and timestamps,
// origin, etc.
type Exemplar struct {
// Attachments: Contextual information about the example value. Examples
// are:Trace:
// type.googleapis.com/google.monitoring.v3.SpanContextLiteral string:
// type.googleapis.com/google.protobuf.StringValueLabels dropped during
// aggregation:
// type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may be
// only a single attachment of any given message type in a single
// exemplar, and this is enforced by the system.
Attachments []googleapi.RawMessage `json:"attachments,omitempty"`
// Timestamp: The observation (sampling) time of the above value.
Timestamp string `json:"timestamp,omitempty"`
// Value: Value of the exemplar point. This value determines to which
// bucket the exemplar belongs.
Value float64 `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Attachments") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Attachments") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Exemplar) MarshalJSON() ([]byte, error) {
type NoMethod Exemplar
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Exemplar) UnmarshalJSON(data []byte) error {
type NoMethod Exemplar
var s1 struct {
Value gensupport.JSONFloat64 `json:"value"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Value = float64(s1.Value)
return nil
}
// Explicit: Specifies a set of buckets with arbitrary widths.There are
// size(bounds) + 1 (= N) buckets. Bucket i has the following
// boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i <
// N); boundsi - 1The bounds field must contain at least one element. If
// bounds has only one element, then there are no finite buckets, and
// that single element is the common boundary of the overflow and
// underflow buckets.
type Explicit struct {
// Bounds: The values must be monotonically increasing.
Bounds []float64 `json:"bounds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bounds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bounds") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Explicit) MarshalJSON() ([]byte, error) {
type NoMethod Explicit
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Exponential: Specifies an exponential sequence of buckets that have a
// width that is proportional to the value of the lower bound. Each
// bucket represents a constant relative uncertainty on a specific value
// in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket
// i has the following boundaries:Upper bound (0 <= i < N-1): scale *
// (growth_factor ^ i). Lower bound (1 <= i < N): scale *
// (growth_factor ^ (i - 1)).
type Exponential struct {
// GrowthFactor: Must be greater than 1.
GrowthFactor float64 `json:"growthFactor,omitempty"`
// NumFiniteBuckets: Must be greater than 0.
NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"`
// Scale: Must be greater than 0.
Scale float64 `json:"scale,omitempty"`
// ForceSendFields is a list of field names (e.g. "GrowthFactor") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GrowthFactor") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Exponential) MarshalJSON() ([]byte, error) {
type NoMethod Exponential
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Exponential) UnmarshalJSON(data []byte) error {
type NoMethod Exponential
var s1 struct {
GrowthFactor gensupport.JSONFloat64 `json:"growthFactor"`
Scale gensupport.JSONFloat64 `json:"scale"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.GrowthFactor = float64(s1.GrowthFactor)
s.Scale = float64(s1.Scale)
return nil
}
// Field: A single field of a message type.
type Field struct {
// Cardinality: The field cardinality.
//
// Possible values:
// "CARDINALITY_UNKNOWN" - For fields with unknown cardinality.
// "CARDINALITY_OPTIONAL" - For optional fields.
// "CARDINALITY_REQUIRED" - For required fields. Proto2 syntax only.
// "CARDINALITY_REPEATED" - For repeated fields.
Cardinality string `json:"cardinality,omitempty"`
// DefaultValue: The string value of the default value of this field.
// Proto2 syntax only.
DefaultValue string `json:"defaultValue,omitempty"`
// JsonName: The field JSON name.
JsonName string `json:"jsonName,omitempty"`
// Kind: The field type.
//
// Possible values:
// "TYPE_UNKNOWN" - Field type unknown.
// "TYPE_DOUBLE" - Field type double.
// "TYPE_FLOAT" - Field type float.
// "TYPE_INT64" - Field type int64.
// "TYPE_UINT64" - Field type uint64.
// "TYPE_INT32" - Field type int32.
// "TYPE_FIXED64" - Field type fixed64.
// "TYPE_FIXED32" - Field type fixed32.
// "TYPE_BOOL" - Field type bool.
// "TYPE_STRING" - Field type string.
// "TYPE_GROUP" - Field type group. Proto2 syntax only, and
// deprecated.
// "TYPE_MESSAGE" - Field type message.
// "TYPE_BYTES" - Field type bytes.
// "TYPE_UINT32" - Field type uint32.
// "TYPE_ENUM" - Field type enum.
// "TYPE_SFIXED32" - Field type sfixed32.
// "TYPE_SFIXED64" - Field type sfixed64.
// "TYPE_SINT32" - Field type sint32.
// "TYPE_SINT64" - Field type sint64.
Kind string `json:"kind,omitempty"`
// Name: The field name.
Name string `json:"name,omitempty"`
// Number: The field number.
Number int64 `json:"number,omitempty"`
// OneofIndex: The index of the field type in Type.oneofs, for message
// or enumeration types. The first type has index 1; zero means the type
// is not in the list.
OneofIndex int64 `json:"oneofIndex,omitempty"`
// Options: The protocol buffer options.
Options []*Option `json:"options,omitempty"`
// Packed: Whether to use alternative packed wire representation.
Packed bool `json:"packed,omitempty"`
// TypeUrl: The field type URL, without the scheme, for message or
// enumeration types. Example:
// "type.googleapis.com/google.protobuf.Timestamp".
TypeUrl string `json:"typeUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cardinality") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cardinality") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Field) MarshalJSON() ([]byte, error) {
type NoMethod Field
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetNotificationChannelVerificationCodeRequest: The
// GetNotificationChannelVerificationCode request.
type GetNotificationChannelVerificationCodeRequest struct {
// ExpireTime: The desired expiration time. If specified, the API will
// guarantee that the returned code will not be valid after the
// specified timestamp; however, the API cannot guarantee that the
// returned code will be valid for at least as long as the requested
// time (the API puts an upper bound on the amount of time for which a
// code may be valid). If omitted, a default expiration will be used,
// which may be less than the max permissible expiration (so specifying
// an expiration may extend the code's lifetime over omitting an
// expiration, even though the API does impose an upper limit on the
// maximum expiration that is permitted).
ExpireTime string `json:"expireTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExpireTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExpireTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetNotificationChannelVerificationCodeRequest) MarshalJSON() ([]byte, error) {
type NoMethod GetNotificationChannelVerificationCodeRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GetNotificationChannelVerificationCodeResponse: The
// GetNotificationChannelVerificationCode request.
type GetNotificationChannelVerificationCodeResponse struct {
// Code: The verification code, which may be used to verify other
// channels that have an equivalent identity (i.e. other channels of the
// same type with the same fingerprint such as other email channels with
// the same email address or other sms channels with the same number).
Code string `json:"code,omitempty"`
// ExpireTime: The expiration time associated with the code that was
// returned. If an expiration was provided in the request, this is the
// minimum of the requested expiration in the request and the max
// permitted expiration.
ExpireTime string `json:"expireTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GetNotificationChannelVerificationCodeResponse) MarshalJSON() ([]byte, error) {
type NoMethod GetNotificationChannelVerificationCodeResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleMonitoringV3Range: Range of numerical values, inclusive of min
// and exclusive of max. If the open range "< range.max" is desired, set
// range.min = -infinity. If the open range ">= range.min" is desired,
// set range.max = infinity.
type GoogleMonitoringV3Range struct {
// Max: Range maximum.
Max float64 `json:"max,omitempty"`
// Min: Range minimum.
Min float64 `json:"min,omitempty"`
// ForceSendFields is a list of field names (e.g. "Max") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Max") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleMonitoringV3Range) MarshalJSON() ([]byte, error) {
type NoMethod GoogleMonitoringV3Range
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *GoogleMonitoringV3Range) UnmarshalJSON(data []byte) error {
type NoMethod GoogleMonitoringV3Range
var s1 struct {
Max gensupport.JSONFloat64 `json:"max"`
Min gensupport.JSONFloat64 `json:"min"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Max = float64(s1.Max)
s.Min = float64(s1.Min)
return nil
}
// Group: The description of a dynamic collection of monitored
// resources. Each group has a filter that is matched against monitored
// resources and their associated metadata. If a group's filter matches
// an available monitored resource, then that resource is a member of
// that group. Groups can contain any number of monitored resources, and
// each monitored resource can be a member of any number of
// groups.Groups can be nested in parent-child hierarchies. The
// parentName field identifies an optional parent for each group. If a
// group has a parent, then the only monitored resources available to be
// matched by the group's filter are the resources contained in the
// parent group. In other words, a group contains the monitored
// resources that match its filter and the filters of all the group's
// ancestors. A group without a parent can contain any monitored
// resource.For example, consider an infrastructure running a set of
// instances with two user-defined tags: "environment" and "role". A
// parent group has a filter, environment="production". A child of that
// parent group has a filter, role="transcoder". The parent group
// contains all instances in the production environment, regardless of
// their roles. The child group contains instances that have the
// transcoder role and are in the production environment.The monitored
// resources contained in a group can change at any moment, depending on
// what resources exist and what filters are associated with the group
// and its ancestors.
type Group struct {
// DisplayName: A user-assigned name for this group, used only for
// display purposes.
DisplayName string `json:"displayName,omitempty"`
// Filter: The filter used to determine which monitored resources belong
// to this group.
Filter string `json:"filter,omitempty"`
// IsCluster: If true, the members of this group are considered to be a
// cluster. The system can perform additional analysis on groups that
// are clusters.
IsCluster bool `json:"isCluster,omitempty"`
// Name: Output only. 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.
Name string `json:"name,omitempty"`
// ParentName: The name of the group's parent, if it has one. The format
// is:
// projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
// For groups with no parent, parent_name is the empty string, "".
ParentName string `json:"parentName,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Group) MarshalJSON() ([]byte, error) {
type NoMethod Group
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpCheck: Information involved in an HTTP/HTTPS Uptime check
// request.
type HttpCheck struct {
// AuthInfo: The authentication information. Optional when creating an
// HTTP check; defaults to empty.
AuthInfo *BasicAuthentication `json:"authInfo,omitempty"`
// Headers: The list of headers to send as part of the Uptime check
// request. If two headers have the same key and different values, they
// should be entered as a single header, with the value being a
// comma-separated list of all the desired values as described at
// https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering
// two separate headers with the same key in a Create call will cause
// the first to be overwritten by the second. The maximum number of
// headers allowed is 100.
Headers map[string]string `json:"headers,omitempty"`
// MaskHeaders: Boolean specifiying whether to encrypt the header
// information. Encryption should be specified for any headers related
// to authentication that you do not wish to be seen when retrieving the
// configuration. The server will be responsible for encrypting the
// headers. On Get/List calls, if mask_headers is set to true then the
// headers will be obscured with ******.
MaskHeaders bool `json:"maskHeaders,omitempty"`
// Path: Optional (defaults to "/"). The path to the page against which
// to run the check. Will be combined with the host (specified within
// the monitored_resource) and port to construct the full URL. If the
// provided path does not begin with "/", a "/" will be prepended
// automatically.
Path string `json:"path,omitempty"`
// Port: Optional (defaults to 80 when use_ssl is false, and 443 when
// use_ssl is true). The TCP port on the HTTP server against which to
// run the check. Will be combined with host (specified within the
// monitored_resource) and path to construct the full URL.
Port int64 `json:"port,omitempty"`
// UseSsl: If true, use HTTPS instead of HTTP to run the check.
UseSsl bool `json:"useSsl,omitempty"`
// ValidateSsl: Boolean specifying whether to include SSL certificate
// validation as a part of the Uptime check. Only applies to checks
// where monitored_resource is set to uptime_url. If use_ssl is false,
// setting validate_ssl to true has no effect.
ValidateSsl bool `json:"validateSsl,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuthInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuthInfo") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HttpCheck) MarshalJSON() ([]byte, error) {
type NoMethod HttpCheck
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InternalChecker: An internal checker allows Uptime checks to run on
// private/internal GCP resources.
type InternalChecker struct {
// DisplayName: The checker's human-readable name. The display name
// should be unique within a Stackdriver Workspace in order to make it
// easier to identify; however, uniqueness is not enforced.
DisplayName string `json:"displayName,omitempty"`
// GcpZone: The GCP zone the Uptime check should egress from. Only
// respected for internal Uptime checks, where internal_network is
// specified.
GcpZone string `json:"gcpZone,omitempty"`
// Name: A unique resource name for this InternalChecker. The format
// is:
// projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER
// _ID]
// [PROJECT_ID_OR_NUMBER] is the Stackdriver Workspace project for the
// Uptime check config associated with the internal checker.
Name string `json:"name,omitempty"`
// Network: The GCP VPC network (https://cloud.google.com/vpc/docs/vpc)
// where the internal resource lives (ex: "default").
Network string `json:"network,omitempty"`
// PeerProjectId: The GCP project ID where the internal checker lives.
// Not necessary the same as the Workspace project.
PeerProjectId string `json:"peerProjectId,omitempty"`
// State: The current operational state of the internal checker.
//
// Possible values:
// "UNSPECIFIED" - An internal checker should never be in the
// unspecified state.
// "CREATING" - The checker is being created, provisioned, and
// configured. A checker in this state can be returned by
// ListInternalCheckers or GetInternalChecker, as well as by examining
// the long running Operation
// (https://cloud.google.com/apis/design/design_patterns#long_running_ope
// rations) that created it.
// "RUNNING" - The checker is running and available for use. A checker
// in this state can be returned by ListInternalCheckers or
// GetInternalChecker as well as by examining the long running Operation
// (https://cloud.google.com/apis/design/design_patterns#long_running_ope
// rations) that created it. If a checker is being torn down, it is
// neither visible nor usable, so there is no "deleting" or "down"
// state.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InternalChecker) MarshalJSON() ([]byte, error) {
type NoMethod InternalChecker
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LabelDescriptor: A description of a label.
type LabelDescriptor struct {
// Description: A human-readable description for the label.
Description string `json:"description,omitempty"`
// Key: The key for this label. The key must meet the following
// criteria:
// Does not exceed 100 characters.
// Matches the following regular expression: [a-zA-Z][a-zA-Z0-9_]*
// The first character must be an upper- or lower-case letter.
// The remaining characters must be letters, digits, or underscores.
Key string `json:"key,omitempty"`
// ValueType: The type of data that can be assigned to the label.
//
// Possible values:
// "STRING" - A variable-length string, not to exceed 1,024
// characters. This is the default value type.
// "BOOL" - Boolean; true or false.
// "INT64" - A 64-bit signed integer.
ValueType string `json:"valueType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LabelDescriptor) MarshalJSON() ([]byte, error) {
type NoMethod LabelDescriptor
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LatencyCriteria: Parameters for a latency threshold SLI.
type LatencyCriteria struct {
// Threshold: Good service is defined to be the count of requests made
// to this service that return in no more than threshold.
Threshold string `json:"threshold,omitempty"`
// ForceSendFields is a list of field names (e.g. "Threshold") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Threshold") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LatencyCriteria) MarshalJSON() ([]byte, error) {
type NoMethod LatencyCriteria
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Linear: Specifies a linear sequence of buckets that all have the same
// width (except overflow and underflow). Each bucket represents a
// constant absolute uncertainty on the specific value in the
// bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has
// the following boundaries:Upper bound (0 <= i < N-1): offset + (width
// * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).
type Linear struct {
// NumFiniteBuckets: Must be greater than 0.
NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"`
// Offset: Lower bound of the first bucket.
Offset float64 `json:"offset,omitempty"`
// Width: Must be greater than 0.
Width float64 `json:"width,omitempty"`
// ForceSendFields is a list of field names (e.g. "NumFiniteBuckets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NumFiniteBuckets") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Linear) MarshalJSON() ([]byte, error) {
type NoMethod Linear
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Linear) UnmarshalJSON(data []byte) error {
type NoMethod Linear
var s1 struct {
Offset gensupport.JSONFloat64 `json:"offset"`
Width gensupport.JSONFloat64 `json:"width"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Offset = float64(s1.Offset)
s.Width = float64(s1.Width)
return nil
}
// ListAlertPoliciesResponse: The protocol for the ListAlertPolicies
// response.
type ListAlertPoliciesResponse struct {
// AlertPolicies: The returned alert policies.
AlertPolicies []*AlertPolicy `json:"alertPolicies,omitempty"`
// NextPageToken: If there might be more results than were returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AlertPolicies") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AlertPolicies") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListAlertPoliciesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListAlertPoliciesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListGroupMembersResponse: The ListGroupMembers response.
type ListGroupMembersResponse struct {
// Members: A set of monitored resources in the group.
Members []*MonitoredResource `json:"members,omitempty"`
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// TotalSize: The total number of elements matching this request.
TotalSize int64 `json:"totalSize,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Members") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Members") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListGroupMembersResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListGroupMembersResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListGroupsResponse: The ListGroups response.
type ListGroupsResponse struct {
// Group: The groups that match the specified filters.
Group []*Group `json:"group,omitempty"`
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Group") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Group") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListGroupsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListGroupsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListMetricDescriptorsResponse: The ListMetricDescriptors response.
type ListMetricDescriptorsResponse struct {
// MetricDescriptors: The metric descriptors that are available to the
// project and that match the value of filter, if present.
MetricDescriptors []*MetricDescriptor `json:"metricDescriptors,omitempty"`
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "MetricDescriptors")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MetricDescriptors") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListMetricDescriptorsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListMetricDescriptorsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListMonitoredResourceDescriptorsResponse: The
// ListMonitoredResourceDescriptors response.
type ListMonitoredResourceDescriptorsResponse struct {
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// ResourceDescriptors: The monitored resource descriptors that are
// available to this project and that match filter, if present.
ResourceDescriptors []*MonitoredResourceDescriptor `json:"resourceDescriptors,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListMonitoredResourceDescriptorsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListMonitoredResourceDescriptorsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListNotificationChannelDescriptorsResponse: The
// ListNotificationChannelDescriptors response.
type ListNotificationChannelDescriptorsResponse struct {
// ChannelDescriptors: The monitored resource descriptors supported for
// the specified project, optionally filtered.
ChannelDescriptors []*NotificationChannelDescriptor `json:"channelDescriptors,omitempty"`
// NextPageToken: If not empty, indicates that there may be more results
// that match the request. Use the value in the page_token field in a
// subsequent request to fetch the next set of results. If empty, all
// results have been returned.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ChannelDescriptors")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChannelDescriptors") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListNotificationChannelDescriptorsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListNotificationChannelDescriptorsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListNotificationChannelsResponse: The ListNotificationChannels
// response.
type ListNotificationChannelsResponse struct {
// NextPageToken: If not empty, indicates that there may be more results
// that match the request. Use the value in the page_token field in a
// subsequent request to fetch the next set of results. If empty, all
// results have been returned.
NextPageToken string `json:"nextPageToken,omitempty"`
// NotificationChannels: The notification channels defined for the
// specified project.
NotificationChannels []*NotificationChannel `json:"notificationChannels,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListNotificationChannelsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListNotificationChannelsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListServiceLevelObjectivesResponse: The ListServiceLevelObjectives
// response.
type ListServiceLevelObjectivesResponse struct {
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServiceLevelObjectives: The ServiceLevelObjectives matching the
// specified filter.
ServiceLevelObjectives []*ServiceLevelObjective `json:"serviceLevelObjectives,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListServiceLevelObjectivesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListServiceLevelObjectivesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListServicesResponse: The ListServices response.
type ListServicesResponse struct {
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// Services: The Services matching the specified filter.
Services []*MService `json:"services,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListServicesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListServicesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListTimeSeriesResponse: The ListTimeSeries response.
type ListTimeSeriesResponse struct {
// ExecutionErrors: Query execution errors that may have caused the time
// series data returned to be incomplete.
ExecutionErrors []*Status `json:"executionErrors,omitempty"`
// NextPageToken: If there are more results than have been returned,
// then this field is set to a non-empty value. To see the additional
// results, use that value as page_token in the next call to this
// method.
NextPageToken string `json:"nextPageToken,omitempty"`
// TimeSeries: One or more time series that match the filter included in
// the request.
TimeSeries []*TimeSeries `json:"timeSeries,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ExecutionErrors") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExecutionErrors") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListTimeSeriesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListTimeSeriesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListUptimeCheckConfigsResponse: The protocol for the
// ListUptimeCheckConfigs response.
type ListUptimeCheckConfigsResponse struct {
// NextPageToken: This field represents the pagination token to retrieve
// the next page of results. If the value is empty, it means no further
// results for the request. To retrieve the next page of results, the
// value of the next_page_token is passed to the subsequent List method
// call (in the request message's page_token field).
NextPageToken string `json:"nextPageToken,omitempty"`
// TotalSize: The total number of Uptime check configurations for the
// project, irrespective of any pagination.
TotalSize int64 `json:"totalSize,omitempty"`
// UptimeCheckConfigs: The returned Uptime check configurations.
UptimeCheckConfigs []*UptimeCheckConfig `json:"uptimeCheckConfigs,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListUptimeCheckConfigsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListUptimeCheckConfigsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListUptimeCheckIpsResponse: The protocol for the ListUptimeCheckIps
// response.
type ListUptimeCheckIpsResponse struct {
// NextPageToken: This field represents the pagination token to retrieve
// the next page of results. If the value is empty, it means no further
// results for the request. To retrieve the next page of results, the
// value of the next_page_token is passed to the subsequent List method
// call (in the request message's page_token field). NOTE: this field is
// not yet implemented
NextPageToken string `json:"nextPageToken,omitempty"`
// UptimeCheckIps: The returned list of IP addresses (including region
// and location) that the checkers run from.
UptimeCheckIps []*UptimeCheckIp `json:"uptimeCheckIps,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListUptimeCheckIpsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListUptimeCheckIpsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MeshIstio: Istio service scoped to an Istio mesh
type MeshIstio struct {
// MeshUid: Identifier for the mesh in which this Istio service is
// defined. Corresponds to the mesh_uid metric label in Istio metrics.
MeshUid string `json:"meshUid,omitempty"`
// ServiceName: The name of the Istio service underlying this service.
// Corresponds to the destination_service_name metric label in Istio
// metrics.
ServiceName string `json:"serviceName,omitempty"`
// ServiceNamespace: The namespace of the Istio service underlying this
// service. Corresponds to the destination_service_namespace metric
// label in Istio metrics.
ServiceNamespace string `json:"serviceNamespace,omitempty"`
// ForceSendFields is a list of field names (e.g. "MeshUid") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MeshUid") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MeshIstio) MarshalJSON() ([]byte, error) {
type NoMethod MeshIstio
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Metric: A specific metric, identified by specifying values for all of
// the labels of a MetricDescriptor.
type Metric struct {
// Labels: The set of label values that uniquely identify this metric.
// All labels listed in the MetricDescriptor must be assigned values.
Labels map[string]string `json:"labels,omitempty"`
// Type: An existing metric type, see google.api.MetricDescriptor. For
// example, custom.googleapis.com/invoice/paid/amount.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Metric) MarshalJSON() ([]byte, error) {
type NoMethod Metric
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MetricAbsence: A condition type that checks that monitored resources
// are reporting data. The configuration defines a metric and a set of
// monitored resources. The predicate is considered in violation when a
// time series for the specified metric of a monitored resource does not
// include any data in the specified duration.
type MetricAbsence struct {
// Aggregations: Specifies the alignment of data points in individual
// time series as well as how to combine the retrieved time series
// together (such as when aggregating multiple streams on each resource
// to a single stream for each resource or when aggregating streams
// across all members of a group of resrouces). Multiple aggregations
// are applied in the order specified.This field is similar to the one
// in the ListTimeSeries request. It is advisable to use the
// ListTimeSeries method when debugging this field.
Aggregations []*Aggregation `json:"aggregations,omitempty"`
// Duration: The amount of time that a time series must fail to report
// new data to be considered failing. Currently, only values that are a
// multiple of a minute--e.g. 60, 120, or 300 seconds--are supported. If
// an invalid value is given, an error will be returned. The
// Duration.nanos field is ignored.
Duration string `json:"duration,omitempty"`
// Filter: A filter (https://cloud.google.com/monitoring/api/v3/filters)
// that identifies which time series should be compared with the
// threshold.The filter is similar to the one that is specified in the
// ListTimeSeries request (that call is useful to verify the time series
// that will be retrieved / processed) and must specify the metric type
// and optionally may contain restrictions on resource type, resource
// labels, and metric labels. This field may not exceed 2048 Unicode
// characters in length.
Filter string `json:"filter,omitempty"`
// Trigger: The number/percent of time series for which the comparison
// must hold in order for the condition to trigger. If unspecified, then
// the condition will trigger if the comparison is true for any of the
// time series that have been identified by filter and aggregations.
Trigger *Trigger `json:"trigger,omitempty"`
// ForceSendFields is a list of field names (e.g. "Aggregations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Aggregations") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MetricAbsence) MarshalJSON() ([]byte, error) {
type NoMethod MetricAbsence
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MetricDescriptor: Defines a metric type and its schema. Once a metric
// descriptor is created, deleting or altering it stops data collection
// and makes the metric type's existing data unusable.
type MetricDescriptor struct {
// Description: A detailed description of the metric, which can be used
// in documentation.
Description string `json:"description,omitempty"`
// DisplayName: A concise name for the metric, which can be displayed in
// user interfaces. Use sentence case without an ending period, for
// example "Request count". This field is optional but it is recommended
// to be set for any metrics associated with user-visible concepts, such
// as Quota.
DisplayName string `json:"displayName,omitempty"`
// Labels: The set of labels that can be used to describe a specific
// instance of this metric type. For example, the
// appengine.googleapis.com/http/server/response_latencies metric type
// has a label for the HTTP response code, response_code, so you can
// look at latencies for successful responses or just for responses that
// failed.
Labels []*LabelDescriptor `json:"labels,omitempty"`
// LaunchStage: Optional. The launch stage of the metric definition.
//
// Possible values:
// "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
// "EARLY_ACCESS" - Early Access features are limited to a closed
// group of testers. To use these features, you must sign up in advance
// and sign a Trusted Tester agreement (which includes confidentiality
// provisions). These features may be unstable, changed in
// backward-incompatible ways, and are not guaranteed to be released.
// "ALPHA" - Alpha is a limited availability test for releases before
// they are cleared for widespread use. By Alpha, all significant design
// issues are resolved and we are in the process of verifying
// functionality. Alpha customers need to apply for access, agree to
// applicable terms, and have their projects whitelisted. Alpha releases
// don’t have to be feature complete, no SLAs are provided, and there
// are no technical support obligations, but they will be far enough
// along that customers can actually use them in test environments or
// for limited-use tests -- just like they would in normal production
// cases.
// "BETA" - Beta is the point at which we are ready to open a release
// for any customer to use. There are no SLA or technical support
// obligations in a Beta release. Products will be complete from a
// feature perspective, but may have some open outstanding issues. Beta
// releases are suitable for limited production use cases.
// "GA" - GA features are open to all developers and are considered
// stable and fully qualified for production use.
// "DEPRECATED" - Deprecated features are scheduled to be shut down
// and removed. For more information, see the “Deprecation Policy”
// section of our Terms of Service (https://cloud.google.com/terms/) and
// the Google Cloud Platform Subject to the Deprecation Policy
// (https://cloud.google.com/terms/deprecation) documentation.
LaunchStage string `json:"launchStage,omitempty"`
// Metadata: Optional. Metadata which can be used to guide usage of the
// metric.
Metadata *MetricDescriptorMetadata `json:"metadata,omitempty"`
// MetricKind: Whether the metric records instantaneous values, changes
// to a value, etc. Some combinations of metric_kind and value_type
// might not be supported.
//
// Possible values:
// "METRIC_KIND_UNSPECIFIED" - Do not use this default value.
// "GAUGE" - An instantaneous measurement of a value.
// "DELTA" - The change in a value during a time interval.
// "CUMULATIVE" - A value accumulated over a time interval. Cumulative
// measurements in a time series should have the same start time and
// increasing end times, until an event resets the cumulative value to
// zero and sets a new start time for the following points.
MetricKind string `json:"metricKind,omitempty"`
// MonitoredResourceTypes: Read-only. If present, then a time series,
// which is identified partially by a metric type and a
// MonitoredResourceDescriptor, that is associated with this metric type
// can only be associated with one of the monitored resource types
// listed here.
MonitoredResourceTypes []string `json:"monitoredResourceTypes,omitempty"`
// Name: The resource name of the metric descriptor.
Name string `json:"name,omitempty"`
// Type: The metric type, including its DNS name prefix. The type is not
// URL-encoded. All user-defined metric types have the DNS name
// custom.googleapis.com or external.googleapis.com. Metric types should
// use a natural hierarchical grouping. For
// example:
// "custom.googleapis.com/invoice/paid/amount"
// "external.googlea
// pis.com/prometheus/up"
// "appengine.googleapis.com/http/server/response_
// latencies"
//
Type string `json:"type,omitempty"`
// Unit: The units in which the metric value is reported. It is only
// applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The
// unit defines the representation of the stored metric values.Different
// systems may scale the values to be more easily displayed (so a value
// of 0.02KBy might be displayed as 20By, and a value of 3523KBy might
// be displayed as 3.5MBy). However, if the unit is KBy, then the value
// of the metric is always in thousands of bytes, no matter how it may
// be displayed..If you want a custom metric to record the exact number
// of CPU-seconds used by a job, you can create an INT64 CUMULATIVE
// metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If
// the job uses 12,005 CPU-seconds, then the value is written as
// 12005.Alternatively, if you want a custom metric to record data in a
// more granular way, you can create a DOUBLE CUMULATIVE metric whose
// unit is ks{CPU}, and then write the value 12.005 (which is
// 12005/1000), or use Kis{CPU} and write 11.723 (which is
// 12005/1024).The supported units are a subset of The Unified Code for
// Units of Measure (http://unitsofmeasure.org/ucum.html) standard:Basic
// units (UNIT)
// bit bit
// By byte
// s second
// min minute
// h hour
// d dayPrefixes (PREFIX)
// k kilo (10^3)
// M mega (10^6)
// G giga (10^9)
// T tera (10^12)
// P peta (10^15)
// E exa (10^18)
// Z zetta (10^21)
// Y yotta (10^24)
// m milli (10^-3)
// u micro (10^-6)
// n nano (10^-9)
// p pico (10^-12)
// f femto (10^-15)
// a atto (10^-18)
// z zepto (10^-21)
// y yocto (10^-24)
// Ki kibi (2^10)
// Mi mebi (2^20)
// Gi gibi (2^30)
// Ti tebi (2^40)
// Pi pebi (2^50)GrammarThe grammar also includes these connectors:
// / division or ratio (as an infix operator). For examples,
// kBy/{email} or MiBy/10ms (although you should almost never have /s
// in a metric unit; rates should always be computed at query time from
// the underlying cumulative or delta value).
// . multiplication or composition (as an infix operator). For
// examples, GBy.d or k{watt}.h.The grammar for a unit is as
// follows:
// Expression = Component { "." Component } { "/" Component }
// ;
//
// Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
// | Annotation
// | "1"
// ;
//
// Annotation = "{" NAME "}" ;
// Notes:
// Annotation is just a comment if it follows a UNIT. If the annotation
// is used alone, then the unit is equivalent to 1. For examples,
// {request}/s == 1/s, By{transmitted}/s == By/s.
// NAME is a sequence of non-blank printable ASCII characters not
// containing { or }.
// 1 represents a unitary dimensionless unit
// (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as
// in 1/s. It is typically used when none of the basic units are
// appropriate. For example, "new users per day" can be represented as
// 1/d or {new-users}/d (and a metric value 5 would mean "5 new users).
// Alternatively, "thousands of page views per day" would be
// represented as 1000/d or k1/d or k{page_views}/d (and a metric value
// of 5.3 would mean "5300 page views per day").
// % represents dimensionless value of 1/100, and annotates values
// giving a percentage (so the metric values are typically in the range
// of 0..100, and a metric value 3 means "3 percent").
// 10^2.% indicates a metric contains a ratio, typically in the range
// 0..1, that will be multiplied by 100 and displayed as a percentage
// (so a metric value 0.03 means "3 percent").
Unit string `json:"unit,omitempty"`
// ValueType: Whether the measurement is an integer, a floating-point
// number, etc. Some combinations of metric_kind and value_type might
// not be supported.
//
// Possible values:
// "VALUE_TYPE_UNSPECIFIED" - Do not use this default value.
// "BOOL" - The value is a boolean. This value type can be used only
// if the metric kind is GAUGE.
// "INT64" - The value is a signed 64-bit integer.
// "DOUBLE" - The value is a double precision floating point number.
// "STRING" - The value is a text string. This value type can be used
// only if the metric kind is GAUGE.
// "DISTRIBUTION" - The value is a Distribution.
// "MONEY" - The value is money.
ValueType string `json:"valueType,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MetricDescriptor) MarshalJSON() ([]byte, error) {
type NoMethod MetricDescriptor
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MetricDescriptorMetadata: Additional annotations that can be used to
// guide the usage of a metric.
type MetricDescriptorMetadata struct {
// IngestDelay: The delay of data points caused by ingestion. Data
// points older than this age are guaranteed to be ingested and
// available to be read, excluding data loss due to errors.
IngestDelay string `json:"ingestDelay,omitempty"`
// LaunchStage: Deprecated. Must use the MetricDescriptor.launch_stage
// instead.
//
// Possible values:
// "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value.
// "EARLY_ACCESS" - Early Access features are limited to a closed
// group of testers. To use these features, you must sign up in advance
// and sign a Trusted Tester agreement (which includes confidentiality
// provisions). These features may be unstable, changed in
// backward-incompatible ways, and are not guaranteed to be released.
// "ALPHA" - Alpha is a limited availability test for releases before
// they are cleared for widespread use. By Alpha, all significant design
// issues are resolved and we are in the process of verifying
// functionality. Alpha customers need to apply for access, agree to
// applicable terms, and have their projects whitelisted. Alpha releases
// don’t have to be feature complete, no SLAs are provided, and there
// are no technical support obligations, but they will be far enough
// along that customers can actually use them in test environments or
// for limited-use tests -- just like they would in normal production
// cases.
// "BETA" - Beta is the point at which we are ready to open a release
// for any customer to use. There are no SLA or technical support
// obligations in a Beta release. Products will be complete from a
// feature perspective, but may have some open outstanding issues. Beta
// releases are suitable for limited production use cases.
// "GA" - GA features are open to all developers and are considered
// stable and fully qualified for production use.
// "DEPRECATED" - Deprecated features are scheduled to be shut down
// and removed. For more information, see the “Deprecation Policy”
// section of our Terms of Service (https://cloud.google.com/terms/) and
// the Google Cloud Platform Subject to the Deprecation Policy
// (https://cloud.google.com/terms/deprecation) documentation.
LaunchStage string `json:"launchStage,omitempty"`
// SamplePeriod: The sampling period of metric data points. For metrics
// which are written periodically, consecutive data points are stored at
// this time interval, excluding data loss due to errors. Metrics with a
// higher granularity have a smaller sampling period.
SamplePeriod string `json:"samplePeriod,omitempty"`
// ForceSendFields is a list of field names (e.g. "IngestDelay") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IngestDelay") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MetricDescriptorMetadata) MarshalJSON() ([]byte, error) {
type NoMethod MetricDescriptorMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MetricRange: A MetricRange is used when each window is good when the
// value x of a single TimeSeries satisfies range.min <= x < range.max.
// The provided TimeSeries must have ValueType = INT64 or ValueType =
// DOUBLE and MetricKind = GAUGE.
type MetricRange struct {
// Range: Range of values considered "good." For a one-sided range, set
// one bound to an infinite value.
Range *GoogleMonitoringV3Range `json:"range,omitempty"`
// TimeSeries: A monitoring filter
// (https://cloud.google.com/monitoring/api/v3/filters) specifying the
// TimeSeries to use for evaluating window quality.
TimeSeries string `json:"timeSeries,omitempty"`
// ForceSendFields is a list of field names (e.g. "Range") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Range") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MetricRange) MarshalJSON() ([]byte, error) {
type NoMethod MetricRange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MetricThreshold: A condition type that compares a collection of time
// series against a threshold.
type MetricThreshold struct {
// Aggregations: Specifies the alignment of data points in individual
// time series as well as how to combine the retrieved time series
// together (such as when aggregating multiple streams on each resource
// to a single stream for each resource or when aggregating streams
// across all members of a group of resrouces). Multiple aggregations
// are applied in the order specified.This field is similar to the one
// in the ListTimeSeries request. It is advisable to use the
// ListTimeSeries method when debugging this field.
Aggregations []*Aggregation `json:"aggregations,omitempty"`
// Comparison: The comparison to apply between the time series
// (indicated by filter and aggregation) and the threshold (indicated by
// threshold_value). The comparison is applied on each time series, with
// the time series on the left-hand side and the threshold on the
// right-hand side.Only COMPARISON_LT and COMPARISON_GT are supported
// currently.
//
// Possible values:
// "COMPARISON_UNSPECIFIED" - No ordering relationship is specified.
// "COMPARISON_GT" - True if the left argument is greater than the
// right argument.
// "COMPARISON_GE" - True if the left argument is greater than or
// equal to the right argument.
// "COMPARISON_LT" - True if the left argument is less than the right
// argument.
// "COMPARISON_LE" - True if the left argument is less than or equal
// to the right argument.
// "COMPARISON_EQ" - True if the left argument is equal to the right
// argument.
// "COMPARISON_NE" - True if the left argument is not equal to the
// right argument.
Comparison string `json:"comparison,omitempty"`
// DenominatorAggregations: Specifies the alignment of data points in
// individual time series selected by denominatorFilter as well as how
// to combine the retrieved time series together (such as when
// aggregating multiple streams on each resource to a single stream for
// each resource or when aggregating streams across all members of a
// group of resources).When computing ratios, the aggregations and
// denominator_aggregations fields must use the same alignment period
// and produce time series that have the same periodicity and labels.
DenominatorAggregations []*Aggregation `json:"denominatorAggregations,omitempty"`
// DenominatorFilter: A filter
// (https://cloud.google.com/monitoring/api/v3/filters) that identifies
// a time series that should be used as the denominator of a ratio that
// will be compared with the threshold. If a denominator_filter is
// specified, the time series specified by the filter field will be used
// as the numerator.The filter must specify the metric type and
// optionally may contain restrictions on resource type, resource
// labels, and metric labels. This field may not exceed 2048 Unicode
// characters in length.
DenominatorFilter string `json:"denominatorFilter,omitempty"`
// Duration: The amount of time that a time series must violate the
// threshold to be considered failing. Currently, only values that are a
// multiple of a minute--e.g., 0, 60, 120, or 300 seconds--are
// supported. If an invalid value is given, an error will be returned.
// When choosing a duration, it is useful to keep in mind the frequency
// of the underlying time series data (which may also be affected by any
// alignments specified in the aggregations field); a good duration is
// long enough so that a single outlier does not generate spurious
// alerts, but short enough that unhealthy states are detected and
// alerted on quickly.
Duration string `json:"duration,omitempty"`
// Filter: A filter (https://cloud.google.com/monitoring/api/v3/filters)
// that identifies which time series should be compared with the
// threshold.The filter is similar to the one that is specified in the
// ListTimeSeries request (that call is useful to verify the time series
// that will be retrieved / processed) and must specify the metric type
// and optionally may contain restrictions on resource type, resource
// labels, and metric labels. This field may not exceed 2048 Unicode
// characters in length.
Filter string `json:"filter,omitempty"`
// ThresholdValue: A value against which to compare the time series.
ThresholdValue float64 `json:"thresholdValue,omitempty"`
// Trigger: The number/percent of time series for which the comparison
// must hold in order for the condition to trigger. If unspecified, then
// the condition will trigger if the comparison is true for any of the
// time series that have been identified by filter and aggregations, or
// by the ratio, if denominator_filter and denominator_aggregations are
// specified.
Trigger *Trigger `json:"trigger,omitempty"`
// ForceSendFields is a list of field names (e.g. "Aggregations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Aggregations") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MetricThreshold) MarshalJSON() ([]byte, error) {
type NoMethod MetricThreshold
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *MetricThreshold) UnmarshalJSON(data []byte) error {
type NoMethod MetricThreshold
var s1 struct {
ThresholdValue gensupport.JSONFloat64 `json:"thresholdValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.ThresholdValue = float64(s1.ThresholdValue)
return nil
}
// MonitoredResource: 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" }}
//
type MonitoredResource struct {
// Labels: Required. Values for all of the labels listed in the
// associated monitored resource descriptor. For example, Compute Engine
// VM instances use the labels "project_id", "instance_id", and "zone".
Labels map[string]string `json:"labels,omitempty"`
// Type: Required. The monitored resource type. This field must match
// the type field of a MonitoredResourceDescriptor object. For example,
// the type of a Compute Engine VM instance is gce_instance. For a list
// of types, see Monitoring resource types and Logging resource types.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MonitoredResource) MarshalJSON() ([]byte, error) {
type NoMethod MonitoredResource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MonitoredResourceDescriptor: An object that describes the schema of a
// MonitoredResource object using a type name and a set of labels. For
// example, the monitored resource descriptor for Google Compute Engine
// VM instances has a type of "gce_instance" and specifies the use of
// the labels "instance_id" and "zone" to identify particular VM