blob: 1ac5b0089797aaad583821d48f61dc022645e706 [file] [log] [blame]
// Copyright 2018 Google Inc. All rights reserved.
// 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.
//
// See https://cloud.google.com/monitoring/api/
//
// Usage example:
//
// import "google.golang.org/api/monitoring/v3"
// ...
// monitoringService, err := monitoring.New(oauthHttpClient)
package monitoring // import "google.golang.org/api/monitoring/v3"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// 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
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"
)
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.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
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 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
// different views of the data. Aggregation consists of an alignment
// step on individual time series (alignment_period and
// per_series_aligner) followed by an optional reduction step of the
// data across the aligned time series (cross_series_reducer and
// group_by_fields). For more details, see Aggregation.
type Aggregation struct {
// AlignmentPeriod: The alignment period for per-time series alignment.
// If present, alignmentPeriod must be at least 60 seconds. After
// per-time series alignment, each time series will contain data points
// only on the period boundaries. If perSeriesAligner is not specified
// or equals ALIGN_NONE, then this field is ignored. If perSeriesAligner
// is specified and does not equal ALIGN_NONE, then this field must be
// defined; otherwise an error is returned.
AlignmentPeriod string `json:"alignmentPeriod,omitempty"`
// CrossSeriesReducer: The approach to be used to combine time series.
// Not all reducer functions may be applied to all time series,
// depending on the metric type and the value type of the original time
// series. Reduction may change the metric type of value type of the
// time series.Time series data must be aligned in order to perform
// cross-time series reduction. If crossSeriesReducer is specified, then
// perSeriesAligner must be specified and not equal ALIGN_NONE and
// alignmentPeriod must be specified; otherwise, an error is returned.
//
// Possible values:
// "REDUCE_NONE" - No cross-time series reduction. The output of the
// aligner is returned.
// "REDUCE_MEAN" - Reduce by computing the mean 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 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 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 count 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 count 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 count 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 fraction 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 output value is in the range 0, 1 and has value type
// DOUBLE.
// "REDUCE_PERCENTILE_99" - Reduce by computing 99th 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 95th 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 50th 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 5th 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 crossSeriesReducer
// is specified. The groupByFields determine how the time series are
// partitioned into subsets prior to applying the aggregation function.
// Each subset contains time series that have the same value for each of
// the grouping fields. Each individual time series is a member of
// exactly one subset. The crossSeriesReducer is applied to each subset
// of time series. It is not possible to reduce across different
// resource types, so this field implicitly contains resource.type.
// Fields not specified in groupByFields are aggregated away. If
// groupByFields 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 crossSeriesReducer is not defined, this field
// is ignored.
GroupByFields []string `json:"groupByFields,omitempty"`
// PerSeriesAligner: The approach to be used to align individual time
// series. Not all alignment functions may be applied to all time
// series, depending on the metric type and value type of the original
// time series. Alignment may change the metric type or the value type
// of the time series.Time series data must be aligned in order to
// perform cross-time series reduction. If crossSeriesReducer is
// specified, then perSeriesAligner must be specified and not equal
// ALIGN_NONE and alignmentPeriod must be specified; otherwise, an error
// is returned.
//
// Possible values:
// "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if
// cross-time 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 metric type. This
// alignment is valid for cumulative metrics and delta metrics. Aligning
// an existing delta metric to a delta metric requires that the
// alignment period be increased. The value type of the result is the
// same as the value type of the input.One can think of this aligner as
// a rate but without time units; that is, the output is conceptually
// (second_point - first_point).
// "ALIGN_RATE" - Align and convert to a rate. This alignment is valid
// for cumulative metrics and delta metrics with numeric values. The
// output is a gauge metric with value type DOUBLE.One can think of this
// aligner as conceptually providing the slope of the line that passes
// through the value at the start and end of the window. In other words,
// this is conceptually ((y1 - y0)/(t1 - t0)), and the output unit is
// one that has a "/time" dimension.If, by rate, you are looking for
// percentage change, see the ALIGN_PERCENT_CHANGE aligner option.
// "ALIGN_INTERPOLATE" - Align by interpolating between adjacent
// points around the period boundary. This alignment is valid for gauge
// metrics with numeric values. The value type of the result is the same
// as the value type of the input.
// "ALIGN_NEXT_OLDER" - Align by shifting the oldest data point before
// the period boundary to the boundary. This alignment is valid for
// gauge metrics. The value type of the result is the same as the value
// type of the input.
// "ALIGN_MIN" - Align time series via aggregation. The resulting data
// point in the alignment period is the minimum of all data points in
// the period. This alignment is valid for gauge and delta metrics with
// numeric values. The value type of the result is the same as the value
// type of the input.
// "ALIGN_MAX" - Align time series via aggregation. The resulting data
// point in the alignment period is the maximum of all data points in
// the period. This alignment is valid for gauge and delta metrics with
// numeric values. The value type of the result is the same as the value
// type of the input.
// "ALIGN_MEAN" - Align time series via aggregation. The resulting
// data point in the alignment period is the average or arithmetic mean
// of all data points in the period. This alignment is valid for gauge
// and delta metrics with numeric values. The value type of the output
// is DOUBLE.
// "ALIGN_COUNT" - Align time series via aggregation. The resulting
// data point in the alignment period is the count of all data points in
// the period. This alignment is valid for gauge and delta metrics with
// numeric or Boolean values. The value type of the output is INT64.
// "ALIGN_SUM" - Align time series via aggregation. The resulting data
// point in the alignment period is the sum of all data points in the
// period. This alignment is valid for gauge and delta metrics with
// numeric and distribution values. The value type of the output is the
// same as the value type of the input.
// "ALIGN_STDDEV" - Align time series via aggregation. The resulting
// data point in the alignment period is the standard deviation of all
// data points in the period. This alignment is valid for gauge and
// delta metrics with numeric values. The value type of the output is
// DOUBLE.
// "ALIGN_COUNT_TRUE" - Align time series via aggregation. The
// resulting data point in the alignment period is the count of
// True-valued data points in the period. This alignment is valid for
// gauge metrics with Boolean values. The value type of the output is
// INT64.
// "ALIGN_COUNT_FALSE" - Align time series via aggregation. The
// resulting data point in the alignment period is the count of
// False-valued data points in the period. This alignment is valid for
// gauge metrics with Boolean values. The value type of the output is
// INT64.
// "ALIGN_FRACTION_TRUE" - Align time series via aggregation. The
// resulting data point in the alignment period is the fraction of
// True-valued data points in the period. This alignment is valid for
// gauge metrics with Boolean values. The output value is in the range
// 0, 1 and has value type DOUBLE.
// "ALIGN_PERCENTILE_99" - Align time series via aggregation. The
// resulting data point in the alignment period is the 99th percentile
// of all data points in the period. This alignment is valid for gauge
// and delta metrics with distribution values. The output is a gauge
// metric with value type DOUBLE.
// "ALIGN_PERCENTILE_95" - Align time series via aggregation. The
// resulting data point in the alignment period is the 95th percentile
// of all data points in the period. This alignment is valid for gauge
// and delta metrics with distribution values. The output is a gauge
// metric with value type DOUBLE.
// "ALIGN_PERCENTILE_50" - Align time series via aggregation. The
// resulting data point in the alignment period is the 50th percentile
// of all data points in the period. This alignment is valid for gauge
// and delta metrics with distribution values. The output is a gauge
// metric with value type DOUBLE.
// "ALIGN_PERCENTILE_05" - Align time series via aggregation. The
// resulting data point in the alignment period is the 5th percentile of
// all data points in the period. This alignment 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 alignment is valid for gauge and delta metrics with numeric
// values. This alignment conceptually computes the equivalent of
// "((current - previous)/previous)*100" where previous value is
// determined based on the alignmentPeriod. In the event that previous
// is 0 the calculated value is infinity with the exception that if both
// (current - previous) and previous are 0 the calculated value is 0. A
// 10 minute moving mean is computed at each point of the time window
// prior to the above calculation to smooth the metric and prevent false
// positives from very short lived spikes. Only applicable for data that
// is >= 0. Any values < 0 are treated as no data. 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.
//
// Possible values:
// "COMBINE_UNSPECIFIED" - An unspecified combiner.
// "AND" - Combine conditions using the logical AND operator. An
// incident is created only if all 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.
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 syntax
// is:
// projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
// [ALERT_POLIC
// Y_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 syntax of the entries in this
// field is:
// projects/[PROJECT_ID]/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"`
// 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)
}
// BasicAuthentication: A type of authentication to perform against the
// specified resource or URL that uses username and password. Currently,
// only Basic authentication is supported in Uptime Monitoring.
type BasicAuthentication struct {
// Password: The password to authenticate.
Password string `json:"password,omitempty"`
// Username: The username to authenticate.
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)
}
// 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)
}
// 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 syntax
// is:
// projects/[PROJECT_ID]/alertPolicies/[POLICY_ID]/conditions/[CONDIT
// ION_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: Used to perform string matching. It allows substring
// and regular expressions, together with their negations.
type ContentMatcher struct {
// Content: String or regex content to match (max 1024 bytes)
Content string `json:"content,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.Failed requests for which nothing is written
// will return an error response instead.
PayloadErrors []*CollectdPayloadError `json:"payloadErrors,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: 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)
}
// 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
}
// 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:"-"`
}
// 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 ID:
// type.googleapis.com/google.devtools.cloudtrace.v1.TraceLiteral
// 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)
}
// 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, parentName 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: The path to the page to run the check against. Will be combined
// with the host (specified within the MonitoredResource) and port to
// construct the full URL. Optional (defaults to "/").
Path string `json:"path,omitempty"`
// Port: The port to the page to run the check against. Will be combined
// with host (specified within the MonitoredResource) and path to
// construct the full URL. Optional (defaults to 80 without SSL, or 443
// with SSL).
Port int64 `json:"port,omitempty"`
// UseSsl: If true, use HTTPS instead of HTTP to run the check.
UseSsl bool `json:"useSsl,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]/internalCheckers/[INTERNAL_CHECKER_ID].PROJEC
// T_ID 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"`
// 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 label key.
Key string `json:"key,omitempty"`
// ValueType: The type of data that can be assigned to the label.
//
// Possible values:
// "STRING" - A variable-length string. This is the default.
// "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)
}
// 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 pageToken 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 pageToken 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 pageToken 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 pageToken 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 pageToken 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)
}
// 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 pageToken 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)
}
// 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 MetricService.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 that identifies which time series should be compared
// with the threshold.The filter is similar to the one that is specified
// in the MetricService.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"`
// 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"`
// 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 unit in which the metric value is reported. It is only
// applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. 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)GrammarThe grammar also includes these connectors:
// / division (as an infix operator, e.g. 1/s).
// . multiplication (as an infix operator, e.g. GBy.d)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 and is equivalent
// to 1 if it is used alone. For examples, {requests}/s == 1/s,
// By{transmitted}/s == By/s.
// NAME is a sequence of non-blank printable ASCII characters not
// containing '{' or '}'.
// 1 represents dimensionless value 1, such as in 1/s.
// % represents dimensionless value 1/100, and annotates values giving
// a percentage.
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: 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"`
// 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)
}
// 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 MetricService.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" - The left argument is greater than the right
// argument.
// "COMPARISON_GE" - The left argument is greater than or equal to the
// right argument.
// "COMPARISON_LT" - The left argument is less than the right
// argument.
// "COMPARISON_LE" - The left argument is less than or equal to the
// right argument.
// "COMPARISON_EQ" - The left argument is equal to the right argument.
// "COMPARISON_NE" - 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.This field is similar to the one in the
// MetricService.ListTimeSeries request. It is advisable to use the
// ListTimeSeries method when debugging this field.
DenominatorAggregations []*Aggregation `json:"denominatorAggregations,omitempty"`
// DenominatorFilter: A filter 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 is similar to the one that is specified in the
// MetricService.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.
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 that identifies which time series should be compared
// with the threshold.The filter is similar to the one that is specified
// in the MetricService.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
// instances.Different APIs can support different monitored resource
// types. APIs generally provide a list method that returns the
// monitored resource descriptors used by the API.
type MonitoredResourceDescriptor struct {
// Description: Optional. A detailed description of the monitored
// resource type that might be used in documentation.
Description string `json:"description,omitempty"`
// DisplayName: Optional. A concise name for the monitored resource type
// that might be displayed in user interfaces. It should be a Title
// Cased Noun Phrase, without any article or other determiners. For
// example, "Google Cloud SQL Database".
DisplayName string `json:"displayName,omitempty"`
// Labels: Required. A set of labels used to describe instances of this
// monitored resource type. For example, an individual Google Cloud SQL
// database is identified by values for the labels "database_id" and
// "zone".
Labels []*LabelDescriptor `json:"labels,omitempty"`
// Name: Optional. The resource name of the monitored resource
// descriptor:
// "projects/{project_id}/monitoredResourceDescriptors/{type}" where
// {type} is the value of the type field in this object and {project_id}
// is a project ID that provides API-specific context for accessing the
// type. APIs that do not use project information can use the resource
// name format "monitoredResourceDescriptors/{type}".
Name string `json:"name,omitempty"`
// Type: Required. The monitored resource type. For example, the type
// "cloudsql_database" represents databases in Google Cloud SQL. The
// maximum length of this value is 256 characters.
Type string `json:"type,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 *MonitoredResourceDescriptor) MarshalJSON() ([]byte, error) {
type NoMethod MonitoredResourceDescriptor
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MonitoredResourceMetadata: Auxiliary metadata for a MonitoredResource
// object. MonitoredResource objects contain the minimum set of
// information to uniquely identify a monitored resource instance. There
// is some other useful auxiliary metadata. Monitoring and Logging use
// an ingestion pipeline to extract metadata for cloud resources of all
// types, and store the metadata in this message.
type MonitoredResourceMetadata struct {
// SystemLabels: Output only. Values for predefined system metadata
// labels. System labels are a kind of metadata extracted by Google,
// including "machine_image", "vpc", "subnet_id", "security_group",
// "name", etc. System label values can be only strings, Boolean values,
// or a list of strings. For example:
// { "name": "my-test-instance",
// "security_group": ["a", "b", "c"],
// "spot_instance": false }
//
SystemLabels googleapi.RawMessage `json:"systemLabels,omitempty"`
// UserLabels: Output only. A map of user-defined metadata labels.
UserLabels map[string]string `json:"userLabels,omitempty"`
// ForceSendFields is a list of field names (e.g. "SystemLabels") 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. "SystemLabels") 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 *MonitoredResourceMetadata) MarshalJSON() ([]byte, error) {
type NoMethod MonitoredResourceMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MutationRecord: Describes a change made to a configuration.
type MutationRecord struct {
// MutateTime: When the change occurred.
MutateTime string `json:"mutateTime,omitempty"`
// MutatedBy: The email address of the user making the change.
MutatedBy string `json:"mutatedBy,omitempty"`
// ForceSendFields is a list of field names (e.g. "MutateTime") 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. "MutateTime") 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 *MutationRecord) MarshalJSON() ([]byte, error) {
type NoMethod MutationRecord
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NotificationChannel: A NotificationChannel is a medium through which
// an alert is delivered when a policy violation is detected. Examples
// of channels include email, SMS, and third-party messaging
// applications. Fields containing sensitive information like
// authentication tokens or contact info are only partially populated on
// retrieval.
type NotificationChannel struct {
// Description: An optional human-readable description of this
// notification channel. This description may provide additional
// details, beyond the display name, for the channel. This may not
// exceeed 1024 Unicode characters.
Description string `json:"description,omitempty"`
// DisplayName: An optional human-readable name for this notification
// channel. It is recommended that you specify a non-empty and unique
// name in order to make it easier to identify the channels in your
// project, though this is not enforced. The display name is limited to
// 512 Unicode characters.
DisplayName string `json:"displayName,omitempty"`
// Enabled: Whether notifications are forwarded to the described
// channel. This makes it possible to disable delivery of notifications
// to a particular channel without removing the channel from all
// alerting policies that reference the channel. This is a more
// convenient approach when the change is temporary and you want to
// receive notifications from the same set of alerting policies on the
// channel at some point in the future.
Enabled bool `json:"enabled,omitempty"`
// Labels: Configuration fields that define the channel and its
// behavior. The permissible and required labels are specified in the
// NotificationChannelDescriptor.labels of the
// NotificationChannelDescriptor corresponding to the type field.
Labels map[string]string `json:"labels,omitempty"`
// Name: The full REST resource name for this channel. The syntax
// is:
// projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID]
// The [CHANNEL_ID] is automatically assigned by the server on creation.
Name string `json:"name,omitempty"`
// Type: The type of the notification channel. This field matches the
// value of the NotificationChannelDescriptor.type field.
Type string `json:"type,omitempty"`
// UserLabels: User-supplied key/value data that does not need to
// conform to the corresponding NotificationChannelDescriptor's schema,
// unlike the labels field. This field is intended to be used for
// organizing and identifying the NotificationChannel 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"`
// VerificationStatus: Indicates whether this channel has been verified
// or not. On a ListNotificationChannels or GetNotificationChannel
// operation, this field is expected to be populated.If the value is
// UNVERIFIED, then it indicates that the channel is non-functioning (it
// both requires verification and lacks verification); otherwise, it is
// assumed that the channel works.If the channel is neither VERIFIED nor
// UNVERIFIED, it implies that the channel is of a type that does not
// require verification or that this specific channel has been exempted
// from verification because it was created prior to verification being
// required for channels of this type.This field cannot be modified
// using a standard UpdateNotificationChannel operation. To change the
// value of this field, you must call VerifyNotificationChannel.
//
// Possible values:
// "VERIFICATION_STATUS_UNSPECIFIED" - Sentinel value used to indicate
// that the state is unknown, omitted, or is not applicable (as in the
// case of channels that neither support nor require verification in
// order to function).
// "UNVERIFIED" - The channel has yet to be verified and requires
// verification to function. Note that this state also applies to the
// case where the verification process has been initiated by sending a
// verification code but where the verification code has not been
// submitted to complete the process.
// "VERIFIED" - It has been proven that notifications can be received
// on this notification channel and that someone on the project has
// access to messages that are delivered to that channel.
VerificationStatus string `json:"verificationStatus,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 *NotificationChannel) MarshalJSON() ([]byte, error) {
type NoMethod NotificationChannel
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NotificationChannelDescriptor: A description of a notification
// channel. The descriptor includes the properties of the channel and
// the set of labels or fields that must be specified to configure
// channels of a given type.
type NotificationChannelDescriptor struct {
// Description: A human-readable description of the notification channel
// type. The description may include a description of the properties of
// the channel and pointers to external documentation.
Description string `json:"description,omitempty"`
// DisplayName: A human-readable name for the notification channel type.
// This form of the name is suitable for a user interface.
DisplayName string `json:"displayName,omitempty"`
// Labels: The set of labels that must be defined to identify a
// particular channel of the corresponding type. Each label includes a
// description for how that field should be populated.
Labels []*LabelDescriptor `json:"labels,omitempty"`
// Name: The full REST resource name for this descriptor. The syntax
// is:
// projects/[PROJECT_ID]/notificationChannelDescriptors/[TYPE]
// In the above, [TYPE] is the value of the type field.
Name string `json:"name,omitempty"`
// SupportedTiers: The tiers that support this notification channel; the
// project service tier must be one of the supported_tiers.
//
// Possible values:
// "SERVICE_TIER_UNSPECIFIED" - An invalid sentinel value, used to
// indicate that a tier has not been provided explicitly.
// "SERVICE_TIER_BASIC" - The Stackdriver Basic tier, a free tier of
// service that provides basic features, a moderate allotment of logs,
// and access to built-in metrics. A number of features are not
// available in this tier. For more details, see the service tiers
// documentation (https://cloud.google.com/monitoring/workspaces/tiers).
// "SERVICE_TIER_PREMIUM" - The Stackdriver Premium tier, a higher,
// more expensive tier of service that provides access to all
// Stackdriver features, lets you use Stackdriver with AWS accounts, and
// has a larger allotments for logs and metrics. For more details, see
// the service tiers documentation
// (https://cloud.google.com/monitoring/workspaces/tiers).
SupportedTiers []string `json:"supportedTiers,omitempty"`
// Type: The type of notification channel, such as "email", "sms", etc.
// Notification channel types are globally unique.
Type string `json:"type,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 *NotificationChannelDescriptor) MarshalJSON() ([]byte, error) {
type NoMethod NotificationChannelDescriptor
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Option: A protocol buffer option, which can be attached to a message,
// field, enumeration, etc.
type Option struct {
// Name: The option's name. For protobuf built-in options (options
// defined in descriptor.proto), this is the short name. For example,
// "map_entry". For custom options, it should be the fully-qualified
// name. For example, "google.api.http".
Name string `json:"name,omitempty"`
// Value: The option's value packed in an Any message. If the value is a
// primitive, the corresponding wrapper type defined in
// google/protobuf/wrappers.proto should be used. If the value is an
// enum, it should be stored as an int32 value using the
// google.protobuf.Int32Value type.
Value googleapi.RawMessage `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") 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. "Name") 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 *Option) MarshalJSON() ([]byte, error) {
type NoMethod Option
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Point: A single data point in a time series.
type Point struct {
// Interval: The time interval to which the data point applies. For
// GAUGE metrics, only the end time of the interval is used. For DELTA
// metrics, the start and end time should specify a non-zero interval,
// with subsequent points specifying contiguous and non-overlapping
// intervals. For CUMULATIVE metrics, the start and end time should
// specify a non-zero interval, with subsequent points specifying 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.
Interval *TimeInterval `json:"interval,omitempty"`
// Value: The value of the data point.
Value *TypedValue `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Interval") 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. "Interval") 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 *Point) MarshalJSON() ([]byte, error) {
type NoMethod Point
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Range: The range of the population values.
type Range struct {
// Max: The maximum of the population values.
Max float64 `json:"max,omitempty"`
// Min: The minimum of the population values.
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 *Range) MarshalJSON() ([]byte, error) {
type NoMethod Range
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Range) UnmarshalJSON(data []byte) error {
type NoMethod Range
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
}
// ResourceGroup: The resource submessage for group checks. It can be
// used instead of a monitored resource, when multiple resources are
// being monitored.
type ResourceGroup struct {
// GroupId: The group of resources being monitored. Should be only the
// group_id, not projects/<project_id>/groups/<group_id>.
GroupId string `json:"groupId,omitempty"`
// ResourceType: The resource type of the group members.
//
// Possible values:
// "RESOURCE_TYPE_UNSPECIFIED" - Default value (not valid).
// "INSTANCE" - A group of instances from Google Cloud Platform (GCP)
// or Amazon Web Services (AWS).
// "AWS_ELB_LOAD_BALANCER" - A group of Amazon ELB load balancers.
ResourceType string `json:"resourceType,omitempty"`
// ForceSendFields is a list of field names (e.g. "GroupId") 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. "GroupId") 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 *ResourceGroup) MarshalJSON() ([]byte, error) {
type NoMethod ResourceGroup
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SendNotificationChannelVerificationCodeRequest: The
// SendNotificationChannelVerificationCode request.
type SendNotificationChannelVerificationCodeRequest struct {
}
// SourceContext: SourceContext represents information about the source
// of a protobuf element, like the file in which it is defined.
type SourceContext struct {
// FileName: The path-qualified name of the .proto file that contained
// the associated protobuf element. For example:
// "google/protobuf/source_context.proto".
FileName string `json:"fileName,omitempty"`
// ForceSendFields is a list of field names (e.g. "FileName") 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. "FileName") 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 *SourceContext) MarshalJSON() ([]byte, error) {
type NoMethod SourceContext
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SpanContext: The context of a span, attached to
// google.api.Distribution.Exemplars in google.api.Distribution values
// during aggregation.It contains the name of a span with format:
// projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID
type SpanContext struct {
// SpanName: The resource name of the span in the following
// format:
// projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]
// TRACE_
// ID is a unique identifier for a trace within a project; it is a
// 32-character hexadecimal encoding of a 16-byte array.SPAN_ID is a
// unique identifier for a span within a trace; it is a 16-character
// hexadecimal encoding of an 8-byte array.
SpanName string `json:"spanName,omitempty"`
// ForceSendFields is a list of field names (e.g. "SpanName") 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. "SpanName") 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 *SpanContext) MarshalJSON() ([]byte, error) {
type NoMethod SpanContext
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The Status type defines a logical error model that is
// suitable for different programming environments, including REST APIs
// and RPC APIs. It is used by gRPC (https://github.com/grpc). The error
// model is designed to be:
// Simple to use and understand for most users
// Flexible enough to meet unexpected needsOverviewThe Status message
// contains three pieces of data: error code, error message, and error
// details. The error code should be an enum value of google.rpc.Code,
// but it may accept additional error codes if needed. The error message
// should be a developer-facing English message that helps developers
// understand and resolve the error. If a localized user-facing error
// message is needed, put the localized message in the error details or
// localize it in the client. The optional error details may contain
// arbitrary information about the error. There is a predefined set of
// error detail types in the package google.rpc that can be used for
// common error conditions.Language mappingThe Status message is the
// logical representation of the error model, but it is not necessarily
// the actual wire format. When the Status message is exposed in
// different client libraries and different wire protocols, it can be
// mapped differently. For example, it will likely be mapped to some
// exceptions in Java, but more likely mapped to some error codes in
// C.Other usesThe error model and the Status message can be used in a
// variety of environments, either with or without APIs, to provide a
// consistent developer experience across different environments.Example
// uses of this error model include:
// Partial errors. If a service needs to return partial errors to the
// client, it may embed the Status in the normal response to indicate
// the partial errors.
// Workflow errors. A typical workflow has multiple steps. Each step may
// have a Status message for error reporting.
// Batch operations. If a client uses batch request and batch response,
// the Status message should be used directly inside batch response, one
// for each error sub-response.
// Asynchronous operations. If an API call embeds asynchronous operation
// results in its response, the status of those operations should be
// represented directly using the Status message.
// Logging. If some API errors are stored in logs, the message Status
// could be used directly after any stripping needed for
// security/privacy reasons.
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any user-facing error message should be localized and sent
// in the google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// 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 *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TcpCheck: Information required for a TCP uptime check request.
type TcpCheck struct {
// Port: The port to the page to run the check against. Will be combined
// with host (specified within the MonitoredResource) to construct the
// full URL. Required.
Port int64 `json:"port,omitempty"`
// ForceSendFields is a list of field names (e.g. "Port") 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. "Port") 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 *TcpCheck) MarshalJSON() ([]byte, error) {
type NoMethod TcpCheck
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TimeInterval: A time interval extending just after a start time
// through an end time. The start time must not be later than the end
// time. The default start time is the end time, making the startTime
// value technically optional. Whether this is useful depends on the
// MetricKind. If the start and end times are the same, the interval
// represents a point in time. This is appropriate for GAUGE metrics,
// but not for DELTA and CUMULATIVE metrics, which cover a span of time.
type TimeInterval struct {
// EndTime: Required. The end of the time interval.
EndTime string `json:"endTime,omitempty"`
// StartTime: Optional. The beginning of the time interval. The default
// value for the start time is the end time. The start time must not be
// later than the end time.
StartTime string `json:"startTime,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 *TimeInterval) MarshalJSON() ([]byte, error) {
type NoMethod TimeInterval
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TimeSeries: A collection of data points that describes the
// time-varying values of a metric. A time series is identified by a
// combination of a fully-specified monitored resource and a
// fully-specified metric. This type is used for both listing and
// creating time series.
type TimeSeries struct {
// Metadata: Output only. The associated monitored resource metadata.
// When reading a a timeseries, this field will include metadata labels
// that are explicitly named in the reduction. When creating a
// timeseries, this field is ignored.
Metadata *MonitoredResourceMetadata `json:"metadata,omitempty"`
// Metric: The associated metric. A fully-specified metric used to
// identify the time series.
Metric *Metric `json:"metric,omitempty"`
// MetricKind: The metric kind of the time series. When listing time
// series, this metric kind might be different from the metric kind of
// the associated metric if this time series is an alignment or
// reduction of other time series.When creating a time series, this
// field is optional. If present, it must be the same as the metric kind
// of the associated metric. If the associated metric's descriptor must
// be auto-created, then this field specifies the metric kind of the new
// descriptor and must be either GAUGE (the default) or CUMULATIVE.
//
// 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"`
// Points: The data points of this time series. When listing time
// series, points are returned in reverse time order.When creating a
// time series, this field must contain exactly one point and the
// point's type must be the same as the value type of the associated
// metric. If the associated metric's descriptor must be auto-created,
// then the value type of the descriptor is determined by the point's
// type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.
Points []*Point `json:"points,omitempty"`
// Resource: The associated monitored resource. Custom metrics can use
// only certain monitored resource types in their time series data.
Resource *MonitoredResource `json:"resource,omitempty"`
// ValueType: The value type of the time series. When listing time
// series, this value type might be different from the value type of the
// associated metric if this time series is an alignment or reduction of
// other time series.When creating a time series, this field is
// optional. If present, it must be the same as the type of the data in
// the points field.
//
// 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"`
// ForceSendFields is a list of field names (e.g. "Metadata") 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. "Metadata") 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 *TimeSeries) MarshalJSON() ([]byte, error) {
type NoMethod TimeSeries
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSen