// Copyright 2024 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package monitoring provides access to the Cloud Monitoring API. // // This package is DEPRECATED. Use package cloud.google.com/go/monitoring/apiv3 instead. // // For product documentation, see: https://cloud.google.com/monitoring/api/ // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/monitoring/v3" // ... // ctx := context.Background() // monitoringService, err := monitoring.NewService(ctx) // // In this example, Google Application Default Credentials are used for // authentication. For information on how to create and obtain Application // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // # Other authentication options // // By default, all available scopes (see "Constants") are used to authenticate. // To restrict scopes, use [google.golang.org/api/option.WithScopes]: // // monitoringService, err := monitoring.NewService(ctx, option.WithScopes(monitoring.MonitoringWriteScope)) // // To use an API key for authentication (note: some APIs do not support API // keys), use [google.golang.org/api/option.WithAPIKey]: // // monitoringService, err := monitoring.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // monitoringService, err := monitoring.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package monitoring // import "google.golang.org/api/monitoring/v3" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "monitoring:v3" const apiName = "monitoring" const apiVersion = "v3" const basePath = "https://monitoring.googleapis.com/" const basePathTemplate = "https://monitoring.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://monitoring.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // See, edit, configure, and delete your Google Cloud data and see the email // address for your Google Account. CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" // View and write monitoring data for all of your Google and third-party Cloud // and API projects MonitoringScope = "https://www.googleapis.com/auth/monitoring" // View monitoring data for all of your Google Cloud and third-party projects MonitoringReadScope = "https://www.googleapis.com/auth/monitoring.read" // Publish metric data to your Google Cloud projects MonitoringWriteScope = "https://www.googleapis.com/auth/monitoring.write" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/monitoring.read", "https://www.googleapis.com/auth/monitoring.write", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Folders = NewFoldersService(s) s.Organizations = NewOrganizationsService(s) s.Projects = NewProjectsService(s) s.Services = NewServicesService(s) s.UptimeCheckIps = NewUptimeCheckIpsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Folders *FoldersService Organizations *OrganizationsService Projects *ProjectsService Services *ServicesService UptimeCheckIps *UptimeCheckIpsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewFoldersService(s *Service) *FoldersService { rs := &FoldersService{s: s} rs.TimeSeries = NewFoldersTimeSeriesService(s) return rs } type FoldersService struct { s *Service TimeSeries *FoldersTimeSeriesService } func NewFoldersTimeSeriesService(s *Service) *FoldersTimeSeriesService { rs := &FoldersTimeSeriesService{s: s} return rs } type FoldersTimeSeriesService struct { s *Service } func NewOrganizationsService(s *Service) *OrganizationsService { rs := &OrganizationsService{s: s} rs.TimeSeries = NewOrganizationsTimeSeriesService(s) return rs } type OrganizationsService struct { s *Service TimeSeries *OrganizationsTimeSeriesService } func NewOrganizationsTimeSeriesService(s *Service) *OrganizationsTimeSeriesService { rs := &OrganizationsTimeSeriesService{s: s} return rs } type OrganizationsTimeSeriesService struct { s *Service } 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.Snoozes = NewProjectsSnoozesService(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 Snoozes *ProjectsSnoozesService 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 NewProjectsSnoozesService(s *Service) *ProjectsSnoozesService { rs := &ProjectsSnoozesService{s: s} return rs } type ProjectsSnoozesService struct { s *Service } func NewProjectsTimeSeriesService(s *Service) *ProjectsTimeSeriesService { rs := &ProjectsTimeSeriesService{s: s} return rs } type ProjectsTimeSeriesService struct { s *Service } func NewProjectsUptimeCheckConfigsService(s *Service) *ProjectsUptimeCheckConfigsService { rs := &ProjectsUptimeCheckConfigsService{s: s} return rs } type ProjectsUptimeCheckConfigsService struct { s *Service } func NewServicesService(s *Service) *ServicesService { rs := &ServicesService{s: s} rs.ServiceLevelObjectives = NewServicesServiceLevelObjectivesService(s) return rs } type ServicesService struct { s *Service ServiceLevelObjectives *ServicesServiceLevelObjectivesService } func NewServicesServiceLevelObjectivesService(s *Service) *ServicesServiceLevelObjectivesService { rs := &ServicesServiceLevelObjectivesService{s: s} return rs } type ServicesServiceLevelObjectivesService struct { s *Service } func NewUptimeCheckIpsService(s *Service) *UptimeCheckIpsService { rs := &UptimeCheckIpsService{s: s} return rs } type UptimeCheckIpsService struct { s *Service } // Aggregation: Describes how to combine multiple time series to provide a // different view of the data. Aggregation of time series is done in two steps. // First, each time series in the set is aligned to the same time interval // boundaries, then the set of time series is optionally reduced in // number.Alignment consists of applying the per_series_aligner operation to // each time series after its data has been divided into regular // alignment_period time intervals. This process takes all of the data points // in an alignment period, applies a mathematical transformation such as // averaging, minimum, maximum, delta, etc., and converts them into a single // data point per period.Reduction is when the aligned and transformed time // series can optionally be combined, reducing the number of time series // through similar mathematical transformations. Reduction involves applying a // cross_series_reducer to all the time series, optionally sorting the time // series into subsets with group_by_fields, and applying the reducer to each // subset.The raw time series data can contain a huge amount of information // from multiple sources. Alignment and reduction transforms this mass of data // into a more manageable and representative collection of data, for example // "the 95% latency across the average of all tasks in a cluster". This // representative data can be more easily graphed and comprehended, and the // individual time series data is still available for later drilldown. For more // details, see Filtering and aggregation // (https://cloud.google.com/monitoring/api/v3/aggregation). type Aggregation struct { // AlignmentPeriod: The alignment_period specifies a time interval, in seconds, // that is used to divide the data in all the time series into consistent // blocks of time. This will be done before the per-series aligner can be // applied to the data.The value must be at least 60 seconds. If a per-series // aligner other than ALIGN_NONE is specified, this field is required or an // error is returned. If no per-series aligner is specified, or the aligner // ALIGN_NONE is specified, then this field is ignored.The maximum value of the // alignment_period is 104 weeks (2 years) for charts, and 90,000 seconds (25 // hours) for alerting policies. AlignmentPeriod string `json:"alignmentPeriod,omitempty"` // CrossSeriesReducer: The reduction operation to be used to combine time // series into a single time series, where the value of each data point in the // resulting series is a function of all the already aligned values in the // input time series.Not all reducer operations can be applied to all time // series. The valid choices depend on the metric_kind and the value_type of // the original time series. Reduction can yield a time series with a different // metric_kind or value_type than the input time series.Time series data must // first be aligned (see per_series_aligner) in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified, and must not be ALIGN_NONE. An // alignment_period must also be specified; otherwise, an error is returned. // // Possible values: // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // is returned. // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // "REDUCE_MIN" - Reduce by computing the minimum value across time series // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // "REDUCE_MAX" - Reduce by computing the maximum value across time series // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // "REDUCE_SUM" - Reduce by computing the sum across time series for each // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // "REDUCE_COUNT" - Reduce by computing the number of data points across time // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. CrossSeriesReducer string `json:"crossSeriesReducer,omitempty"` // GroupByFields: The set of fields to preserve when cross_series_reducer is // specified. The group_by_fields determine how the time series are partitioned // into subsets prior to applying the aggregation operation. Each subset // contains time series that have the same value for each of the grouping // fields. Each individual time series is a member of exactly one subset. The // cross_series_reducer is applied to each subset of time series. It is not // possible to reduce across different resource types, so this field implicitly // contains resource.type. Fields not specified in group_by_fields are // aggregated away. If group_by_fields is not specified and all the time series // have the same resource type, then the time series are aggregated into a // single output time series. If cross_series_reducer is not defined, this // field is ignored. GroupByFields []string `json:"groupByFields,omitempty"` // PerSeriesAligner: An Aligner describes how to bring the data points in a // single time series into temporal alignment. Except for ALIGN_NONE, all // alignments cause all the data points in an alignment_period to be // mathematically grouped together, resulting in a single data point for each // alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // "ALIGN_MIN" - Align the time series by returning the minimum value in each // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // "ALIGN_MAX" - Align the time series by returning the maximum value in each // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // "ALIGN_MEAN" - Align the time series by returning the mean value in each // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // "ALIGN_COUNT" - Align the time series by returning the number of values in // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // "ALIGN_SUM" - Align the time series by returning the sum of the values in // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. PerSeriesAligner string `json:"perSeriesAligner,omitempty"` // ForceSendFields is a list of field names (e.g. "AlignmentPeriod") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Aggregation) MarshalJSON() ([]byte, error) { type NoMethod Aggregation return gensupport.MarshalJSON(NoMethod(*s), 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 (https://cloud.google.com/monitoring/alerts/). type AlertPolicy struct { // AlertStrategy: Control over how this alert policy's notification channels // are notified. AlertStrategy *AlertStrategy `json:"alertStrategy,omitempty"` // Combiner: How to combine the results of multiple conditions to determine if // an incident should be opened. If condition_time_series_query_language is // present, this must be COMBINE_UNSPECIFIED. // // Possible values: // "COMBINE_UNSPECIFIED" - An unspecified combiner. // "AND" - Combine conditions using the logical AND operator. An incident is // created only if all the conditions are met simultaneously. This combiner is // satisfied if all conditions are met, even if they are met on completely // different resources. // "OR" - Combine conditions using the logical OR operator. An incident is // created if any of the listed conditions is met. // "AND_WITH_MATCHING_RESOURCE" - Combine conditions using logical AND // operator, but unlike the regular AND option, an incident is created only if // all conditions are met simultaneously on at least one resource. Combiner string `json:"combiner,omitempty"` // Conditions: A list of conditions for the policy. The conditions are combined // by AND or OR according to the combiner field. If the combined conditions // evaluate to true, then an incident is created. A policy can have from one to // six conditions. If condition_time_series_query_language is present, it must // be the only condition. If condition_monitoring_query_language is present, it // must be the only condition. Conditions []*Condition `json:"conditions,omitempty"` // CreationRecord: A read-only record of the creation of the alerting policy. // If provided in a call to create or update, this field will be ignored. CreationRecord *MutationRecord `json:"creationRecord,omitempty"` // DisplayName: A short name or phrase used to identify the policy in // dashboards, notifications, and incidents. To avoid confusion, don't use the // same display name for multiple policies in the same project. The name is // limited to 512 Unicode characters.The convention for the display_name of a // PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where // the {rule group name} and {alert name} should be taken from the // corresponding Prometheus configuration file. This convention is not // enforced. In any case the display_name is not a unique key of the // AlertPolicy. DisplayName string `json:"displayName,omitempty"` // Documentation: Documentation that is included with notifications and // incidents related to this policy. Best practice is for the documentation to // include information to help responders understand, mitigate, escalate, and // correct the underlying problems detected by the alerting policy. // Notification channels that have limited capacity might not show this // documentation. Documentation *Documentation `json:"documentation,omitempty"` // Enabled: Whether or not the policy is enabled. On write, the default // interpretation if unset is that the policy is enabled. On read, clients // should not make any assumption about the state if it has not been populated. // The field should always be populated on List and Get operations, unless a // field projection has been specified that strips it out. Enabled bool `json:"enabled,omitempty"` // MutationRecord: A read-only record of the most recent change to the alerting // policy. If provided in a call to create or update, this field will be // ignored. MutationRecord *MutationRecord `json:"mutationRecord,omitempty"` // Name: Required if the policy exists. The resource name for this policy. The // format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] // [ALERT_POLICY_ID] is assigned by Cloud Monitoring when the policy is // created. When calling the alertPolicies.create method, do not include the // name field in the alerting policy passed as part of the request. Name string `json:"name,omitempty"` // NotificationChannels: Identifies the notification channels to which // notifications should be sent when incidents are opened or closed or when new // violations occur on an already opened incident. Each element of this array // corresponds to the name field in each of the NotificationChannel objects // that are returned from the ListNotificationChannels method. The format of // the entries in this field is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] NotificationChannels []string `json:"notificationChannels,omitempty"` // Severity: Optional. The severity of an alert policy indicates how important // incidents generated by that policy are. The severity level will be displayed // on the Incident detail page and in notifications. // // Possible values: // "SEVERITY_UNSPECIFIED" - No severity is specified. This is the default // value. // "CRITICAL" - This is the highest severity level. Use this if the problem // could cause significant damage or downtime. // "ERROR" - This is the medium severity level. Use this if the problem could // cause minor damage or downtime. // "WARNING" - This is the lowest severity level. Use this if the problem is // not causing any damage or downtime, but could potentially lead to a problem // in the future. Severity string `json:"severity,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.Note that // Prometheus {alert name} is a valid Prometheus label names // (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), // whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means // that they cannot be stored as-is in user labels, because they may contain // characters that are not allowed in user-label values. UserLabels map[string]string `json:"userLabels,omitempty"` // Validity: Read-only description of how the alert policy is invalid. This // field is only set when the alert policy is invalid. An invalid alert policy // will not generate incidents. Validity *Status `json:"validity,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AlertStrategy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AlertStrategy") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AlertPolicy) MarshalJSON() ([]byte, error) { type NoMethod AlertPolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AlertStrategy: Control over how the notification channels in // notification_channels are notified when this alert fires. type AlertStrategy struct { // AutoClose: If an alert policy that was active has no data for this long, any // open incidents will close AutoClose string `json:"autoClose,omitempty"` // NotificationChannelStrategy: Control how notifications will be sent out, on // a per-channel basis. NotificationChannelStrategy []*NotificationChannelStrategy `json:"notificationChannelStrategy,omitempty"` // NotificationRateLimit: Required for alert policies with a LogMatch // condition.This limit is not implemented for alert policies that are not // log-based. NotificationRateLimit *NotificationRateLimit `json:"notificationRateLimit,omitempty"` // ForceSendFields is a list of field names (e.g. "AutoClose") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AutoClose") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AlertStrategy) MarshalJSON() ([]byte, error) { type NoMethod AlertStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AppEngine: App Engine service. Learn more at // https://cloud.google.com/appengine. type AppEngine struct { // ModuleId: The ID of the App Engine module underlying this service. // Corresponds to the module_id resource label in the gae_app monitored // resource (https://cloud.google.com/monitoring/api/resources#tag_gae_app). ModuleId string `json:"moduleId,omitempty"` // ForceSendFields is a list of field names (e.g. "ModuleId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ModuleId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AppEngine) MarshalJSON() ([]byte, error) { type NoMethod AppEngine return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AvailabilityCriteria: Future parameters for the availability SLI. type AvailabilityCriteria struct { } // BasicAuthentication: The authentication parameters to provide to the // specified resource or URL that requires a username and password. Currently, // only Basic HTTP authentication (https://tools.ietf.org/html/rfc7617) is // supported in Uptime checks. type BasicAuthentication struct { // Password: The password to use when authenticating with the HTTP server. Password string `json:"password,omitempty"` // Username: The username to use when authenticating with the HTTP server. Username string `json:"username,omitempty"` // ForceSendFields is a list of field names (e.g. "Password") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BasicAuthentication) MarshalJSON() ([]byte, error) { type NoMethod BasicAuthentication return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BasicService: A well-known service type, defined by its service type and // service labels. Documentation and examples here // (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). type BasicService struct { // ServiceLabels: Labels that specify the resource that emits the monitoring // data which is used for SLO reporting of this Service. Documentation and // valid values for given service types here // (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). ServiceLabels map[string]string `json:"serviceLabels,omitempty"` // ServiceType: The type of service that this basic service defines, e.g. // APP_ENGINE service type. Documentation and valid values here // (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). ServiceType string `json:"serviceType,omitempty"` // ForceSendFields is a list of field names (e.g. "ServiceLabels") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ServiceLabels") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BasicService) MarshalJSON() ([]byte, error) { type NoMethod BasicService return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // BasicSli: An SLI measuring performance on a well-known service type. // Performance will be computed on the basis of pre-defined metrics. The type // of the service_resource determines the metrics to use and the // service_resource.labels and metric_labels are used to construct a monitoring // filter to filter that metric down to just the data relevant to this service. type BasicSli struct { // Availability: Good service is defined to be the count of requests made to // this service that return successfully. Availability *AvailabilityCriteria `json:"availability,omitempty"` // Latency: Good service is defined to be the count of requests made to this // service that are fast enough with respect to latency.threshold. Latency *LatencyCriteria `json:"latency,omitempty"` // Location: OPTIONAL: The set of locations to which this SLI is relevant. // Telemetry from other locations will not be used to calculate performance for // this SLI. If omitted, this SLI applies to all locations in which the Service // has activity. For service types that don't support breaking down by // location, setting this field will result in an error. Location []string `json:"location,omitempty"` // Method: OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry // from other methods will not be used to calculate performance for this SLI. // If omitted, this SLI applies to all the Service's methods. For service types // that don't support breaking down by method, setting this field will result // in an error. Method []string `json:"method,omitempty"` // Version: OPTIONAL: The set of API versions to which this SLI is relevant. // Telemetry from other API versions will not be used to calculate performance // for this SLI. If omitted, this SLI applies to all API versions. For service // types that don't support breaking down by version, setting this field will // result in an error. Version []string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "Availability") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Availability") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BasicSli) MarshalJSON() ([]byte, error) { type NoMethod BasicSli return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *BucketOptions) MarshalJSON() ([]byte, error) { type NoMethod BucketOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CloudEndpoints: Cloud Endpoints service. Learn more at // https://cloud.google.com/endpoints. type CloudEndpoints struct { // Service: The name of the Cloud Endpoints service underlying this service. // Corresponds to the service resource label in the api monitored resource // (https://cloud.google.com/monitoring/api/resources#tag_api). Service string `json:"service,omitempty"` // ForceSendFields is a list of field names (e.g. "Service") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Service") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CloudEndpoints) MarshalJSON() ([]byte, error) { type NoMethod CloudEndpoints return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CloudFunctionV2Target: A Synthetic Monitor deployed to a Cloud Functions V2 // instance. type CloudFunctionV2Target struct { // CloudRunRevision: Output only. The cloud_run_revision Monitored Resource // associated with the GCFv2. The Synthetic Monitor execution results (metrics, // logs, and spans) are reported against this Monitored Resource. This field is // output only. CloudRunRevision *MonitoredResource `json:"cloudRunRevision,omitempty"` // Name: Required. Fully qualified GCFv2 resource name i.e. // projects/{project}/locations/{location}/functions/{function} Required. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "CloudRunRevision") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CloudRunRevision") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CloudFunctionV2Target) MarshalJSON() ([]byte, error) { type NoMethod CloudFunctionV2Target return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CloudRun: Cloud Run service. Learn more at https://cloud.google.com/run. type CloudRun struct { // Location: The location the service is run. Corresponds to the location // resource label in the cloud_run_revision monitored resource // (https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision). Location string `json:"location,omitempty"` // ServiceName: The name of the Cloud Run service. Corresponds to the // service_name resource label in the cloud_run_revision monitored resource // (https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision). ServiceName string `json:"serviceName,omitempty"` // ForceSendFields is a list of field names (e.g. "Location") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Location") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CloudRun) MarshalJSON() ([]byte, error) { type NoMethod CloudRun return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ClusterIstio: Istio service scoped to a single Kubernetes cluster. Learn // more at https://istio.io. Clusters running OSS Istio will have their // services ingested as this type. type ClusterIstio struct { // ClusterName: The name of the Kubernetes cluster in which this Istio service // is defined. Corresponds to the cluster_name resource label in k8s_cluster // resources. ClusterName string `json:"clusterName,omitempty"` // Location: The location of the Kubernetes cluster in which this Istio service // is defined. Corresponds to the location resource label in k8s_cluster // resources. Location string `json:"location,omitempty"` // ServiceName: The name of the Istio service underlying this service. // Corresponds to the destination_service_name metric label in Istio metrics. ServiceName string `json:"serviceName,omitempty"` // ServiceNamespace: The namespace of the Istio service underlying this // service. Corresponds to the destination_service_namespace metric label in // Istio metrics. ServiceNamespace string `json:"serviceNamespace,omitempty"` // ForceSendFields is a list of field names (e.g. "ClusterName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClusterName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ClusterIstio) MarshalJSON() ([]byte, error) { type NoMethod ClusterIstio return gensupport.MarshalJSON(NoMethod(*s), 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 data_source_name. 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CollectdPayload) MarshalJSON() ([]byte, error) { type NoMethod CollectdPayload return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CollectdPayloadError) MarshalJSON() ([]byte, error) { type NoMethod CollectdPayloadError return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CollectdValue) MarshalJSON() ([]byte, error) { type NoMethod CollectdValue return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CollectdValueError) MarshalJSON() ([]byte, error) { type NoMethod CollectdValueError return gensupport.MarshalJSON(NoMethod(*s), 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"` // ConditionMatchedLog: A condition that checks for log messages matching given // constraints. If set, no other conditions can be present. ConditionMatchedLog *LogMatch `json:"conditionMatchedLog,omitempty"` // ConditionMonitoringQueryLanguage: A condition that uses the Monitoring Query // Language to define alerts. ConditionMonitoringQueryLanguage *MonitoringQueryLanguageCondition `json:"conditionMonitoringQueryLanguage,omitempty"` // ConditionPrometheusQueryLanguage: A condition that uses the Prometheus query // language to define alerts. ConditionPrometheusQueryLanguage *PrometheusQueryLanguageCondition `json:"conditionPrometheusQueryLanguage,omitempty"` // ConditionThreshold: A condition that compares a time series against a // threshold. ConditionThreshold *MetricThreshold `json:"conditionThreshold,omitempty"` // DisplayName: A short name or phrase used to identify the condition in // dashboards, notifications, and incidents. To avoid confusion, don't use the // same display name for multiple conditions in the same policy. DisplayName string `json:"displayName,omitempty"` // Name: Required if the condition exists. The unique resource name for this // condition. Its format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITI // ON_ID] [CONDITION_ID] is assigned by Cloud 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. Cloud 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Condition) MarshalJSON() ([]byte, error) { type NoMethod Condition return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ContentMatcher: Optional. Used to perform content matching. This allows // matching based on substrings and regular expressions, together with their // negations. Only the first 4 MB of an HTTP or HTTPS check's response (and the // first 1 MB of a TCP check's response) are examined for purposes of content // matching. type ContentMatcher struct { // Content: String, regex or JSON content to match. Maximum 1024 bytes. An // empty content string indicates no content matching is to be performed. Content string `json:"content,omitempty"` // JsonPathMatcher: Matcher information for MATCHES_JSON_PATH and // NOT_MATCHES_JSON_PATH JsonPathMatcher *JsonPathMatcher `json:"jsonPathMatcher,omitempty"` // Matcher: The type of content matcher that will be applied to the server // output, compared to the content string when the check is run. // // Possible values: // "CONTENT_MATCHER_OPTION_UNSPECIFIED" - No content matcher type specified // (maintained for backward compatibility, but deprecated for future use). // Treated as CONTAINS_STRING. // "CONTAINS_STRING" - Selects substring matching. The match succeeds if the // output contains the content string. This is the default value for checks // without a matcher option, or where the value of matcher is // CONTENT_MATCHER_OPTION_UNSPECIFIED. // "NOT_CONTAINS_STRING" - Selects negation of substring matching. The match // succeeds if the output does NOT contain the content string. // "MATCHES_REGEX" - Selects regular-expression matching. The match succeeds // if the output matches the regular expression specified in the content // string. Regex matching is only supported for HTTP/HTTPS checks. // "NOT_MATCHES_REGEX" - Selects negation of regular-expression matching. The // match succeeds if the output does NOT match the regular expression specified // in the content string. Regex matching is only supported for HTTP/HTTPS // checks. // "MATCHES_JSON_PATH" - Selects JSONPath matching. See JsonPathMatcher for // details on when the match succeeds. JSONPath matching is only supported for // HTTP/HTTPS checks. // "NOT_MATCHES_JSON_PATH" - Selects JSONPath matching. See JsonPathMatcher // for details on when the match succeeds. Succeeds when output does NOT match // as specified. JSONPath is only supported for HTTP/HTTPS checks. Matcher string `json:"matcher,omitempty"` // ForceSendFields is a list of field names (e.g. "Content") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ContentMatcher) MarshalJSON() ([]byte, error) { type NoMethod ContentMatcher return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateCollectdTimeSeriesRequest) MarshalJSON() ([]byte, error) { type NoMethod CreateCollectdTimeSeriesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateCollectdTimeSeriesResponse: The CreateCollectdTimeSeries response. type CreateCollectdTimeSeriesResponse struct { // PayloadErrors: Records the error status for points that were not written due // to an error in the request.Failed requests for which nothing is written will // return an error response instead. Requests where data points were rejected // by the backend will set summary instead. PayloadErrors []*CollectdPayloadError `json:"payloadErrors,omitempty"` // Summary: Aggregate statistics from writing the payloads. This field is // omitted if all points were successfully written, so that the response is // empty. This is for backwards compatibility with clients that log errors on // any non-empty response. Summary *CreateTimeSeriesSummary `json:"summary,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "PayloadErrors") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateCollectdTimeSeriesResponse) MarshalJSON() ([]byte, error) { type NoMethod CreateCollectdTimeSeriesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateTimeSeriesRequest: The CreateTimeSeries request. type CreateTimeSeriesRequest struct { // TimeSeries: Required. The new data to be added to a list of time series. // Adds at most one data point to each of several time series. The new data // point must be more recent than any other point in its time series. Each // TimeSeries value must fully specify a unique time series by supplying all // label values for the metric and the monitored resource.The maximum number of // TimeSeries objects per Create request is 200. TimeSeries []*TimeSeries `json:"timeSeries,omitempty"` // ForceSendFields is a list of field names (e.g. "TimeSeries") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateTimeSeriesRequest) MarshalJSON() ([]byte, error) { type NoMethod CreateTimeSeriesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CreateTimeSeriesSummary: Summary of the result of a failed request to write // data to a time series. type CreateTimeSeriesSummary struct { // Errors: The number of points that failed to be written. Order is not // guaranteed. Errors []*Error `json:"errors,omitempty"` // SuccessPointCount: The number of points that were successfully written. SuccessPointCount int64 `json:"successPointCount,omitempty"` // TotalPointCount: The number of points in the request. TotalPointCount int64 `json:"totalPointCount,omitempty"` // ForceSendFields is a list of field names (e.g. "Errors") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Errors") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CreateTimeSeriesSummary) MarshalJSON() ([]byte, error) { type NoMethod CreateTimeSeriesSummary return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Criteria: Criteria specific to the AlertPolicys that this Snooze applies to. // The Snooze will suppress alerts that come from one of the AlertPolicys whose // names are supplied. type Criteria struct { // Policies: The specific AlertPolicy names for the alert that should be // snoozed. The format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID] There is a limit // of 16 policies per snooze. This limit is checked during snooze creation. Policies []string `json:"policies,omitempty"` // ForceSendFields is a list of field names (e.g. "Policies") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Policies") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Criteria) MarshalJSON() ([]byte, error) { type NoMethod Criteria return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Custom: Use a custom service to designate a service that you want to monitor // when none of the other service types (like App Engine, Cloud Run, or a GKE // type) matches your intended service. type Custom struct { } // Distribution: Distribution contains summary statistics for a population of // values. It optionally contains a histogram representing the distribution of // those values across a set of buckets.The summary statistics are the count, // mean, sum of the squared deviation from the mean, the minimum, and the // maximum of the set of population of values. The histogram is based on a // sequence of buckets and gives a count of values that fall into each bucket. // The boundaries of the buckets are given either explicitly or by formulas for // buckets of fixed or exponentially increasing widths.Although it is not // forbidden, it is generally a bad idea to include non-finite values // (infinities or NaNs) in the population of values, as this will render the // mean and sum_of_squared_deviation fields meaningless. type Distribution struct { // BucketCounts: Required in the Cloud 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 Cloud 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 Cloud 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: Sumi=1..n ((x_i - mean)^2) // Knuth, "The Art of Computer Programming", Vol. 2, page 232, 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Distribution) MarshalJSON() ([]byte, error) { type NoMethod Distribution return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Distribution) UnmarshalJSON(data []byte) error { type NoMethod Distribution var s1 struct { Mean gensupport.JSONFloat64 `json:"mean"` SumOfSquaredDeviation gensupport.JSONFloat64 `json:"sumOfSquaredDeviation"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Mean = float64(s1.Mean) s.SumOfSquaredDeviation = float64(s1.SumOfSquaredDeviation) return nil } // DistributionCut: A DistributionCut defines a TimeSeries and thresholds used // for measuring good service and total service. The TimeSeries must have // ValueType = DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. // The computed good_service will be the estimated count of values in the // Distribution that fall within the specified min and max. type DistributionCut struct { // DistributionFilter: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries // aggregating values. Must have ValueType = DISTRIBUTION and MetricKind = // DELTA or MetricKind = CUMULATIVE. DistributionFilter string `json:"distributionFilter,omitempty"` // Range: Range of values considered "good." For a one-sided range, set one // bound to an infinite value. Range *GoogleMonitoringV3Range `json:"range,omitempty"` // ForceSendFields is a list of field names (e.g. "DistributionFilter") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DistributionFilter") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DistributionCut) MarshalJSON() ([]byte, error) { type NoMethod DistributionCut return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Documentation: Documentation that is included in the notifications and // incidents pertaining to this policy. type Documentation struct { // Content: The body 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. This // text can be templatized by using variables // (https://cloud.google.com/monitoring/alerts/doc-variables). 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"` // Subject: Optional. The subject line of the notification. The subject line // may not exceed 10,240 bytes. In notifications generated by this policy, the // contents of the subject line after variable expansion will be truncated to // 255 bytes or shorter at the latest UTF-8 character boundary. The 255-byte // limit is recommended by this thread // (https://stackoverflow.com/questions/1592291/what-is-the-email-subject-length-limit). // It is both the limit imposed by some third-party ticketing products and it // is common to define textual fields in databases as VARCHAR(255).The contents // of the subject line can be templatized by using variables // (https://cloud.google.com/monitoring/alerts/doc-variables). If this field is // missing or empty, a default subject line will be generated. Subject string `json:"subject,omitempty"` // ForceSendFields is a list of field names (e.g. "Content") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Documentation) MarshalJSON() ([]byte, error) { type NoMethod Documentation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DroppedLabels: A set of (label, value) pairs that were removed from a // Distribution time series during aggregation and then added as an attachment // to a Distribution.Exemplar.The full label set for the exemplars is // constructed by using the dropped pairs in combination with the label values // that remain on the aggregated Distribution time series. The constructed full // label set can be used to identify the specific entity, such as the instance // or job, which might be contributing to a long-tail. However, with dropped // labels, the storage requirements are reduced because only the aggregated // distribution values for a large group of time series are stored.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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *DroppedLabels) MarshalJSON() ([]byte, error) { type NoMethod DroppedLabels return gensupport.MarshalJSON(NoMethod(*s), 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); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` } // Error: Detailed information about an error category. type Error struct { // PointCount: The number of points that couldn't be written because of status. PointCount int64 `json:"pointCount,omitempty"` // Status: The status of the requested write operation. Status *Status `json:"status,omitempty"` // ForceSendFields is a list of field names (e.g. "PointCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PointCount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Error) MarshalJSON() ([]byte, error) { type NoMethod Error return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Exemplar: Exemplars are example points that may be used to annotate // aggregated distribution values. They are metadata that gives information // about a particular value added to a Distribution bucket, such as a trace ID // that was active when a value was added. They may contain further // information, such as a example values and timestamps, origin, etc. type Exemplar struct { // Attachments: Contextual information about the example value. Examples // are:Trace: type.googleapis.com/google.monitoring.v3.SpanContextLiteral // string: type.googleapis.com/google.protobuf.StringValueLabels dropped during // aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may // be only a single attachment of any given message type in a single exemplar, // and this is enforced by the system. Attachments []googleapi.RawMessage `json:"attachments,omitempty"` // Timestamp: The observation (sampling) time of the above value. Timestamp string `json:"timestamp,omitempty"` // Value: Value of the exemplar point. This value determines to which bucket // the exemplar belongs. Value float64 `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Attachments") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Exemplar) MarshalJSON() ([]byte, error) { type NoMethod Exemplar return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Explicit) MarshalJSON() ([]byte, error) { type NoMethod Explicit return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Explicit) UnmarshalJSON(data []byte) error { type NoMethod Explicit var s1 struct { Bounds []gensupport.JSONFloat64 `json:"bounds"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Bounds = make([]float64, len(s1.Bounds)) for i := range s1.Bounds { s.Bounds[i] = float64(s1.Bounds[i]) } return nil } // 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Exponential) MarshalJSON() ([]byte, error) { type NoMethod Exponential return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Field) MarshalJSON() ([]byte, error) { type NoMethod Field return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ForecastOptions: Options used when forecasting the time series and testing // the predicted value against the threshold. type ForecastOptions struct { // ForecastHorizon: Required. The length of time into the future to forecast // whether a time series will violate the threshold. If the predicted value is // found to violate the threshold, and the violation is observed in all // forecasts made for the configured duration, then the time series is // considered to be failing. The forecast horizon can range from 1 hour to 60 // hours. ForecastHorizon string `json:"forecastHorizon,omitempty"` // ForceSendFields is a list of field names (e.g. "ForecastHorizon") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ForecastHorizon") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ForecastOptions) MarshalJSON() ([]byte, error) { type NoMethod ForecastOptions return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GetNotificationChannelVerificationCodeRequest) MarshalJSON() ([]byte, error) { type NoMethod GetNotificationChannelVerificationCodeRequest return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GetNotificationChannelVerificationCodeResponse) MarshalJSON() ([]byte, error) { type NoMethod GetNotificationChannelVerificationCodeResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GkeNamespace: GKE Namespace. The field names correspond to the resource // metadata labels on monitored resources that fall under a namespace (for // example, k8s_container or k8s_pod). type GkeNamespace struct { // ClusterName: The name of the parent cluster. ClusterName string `json:"clusterName,omitempty"` // Location: The location of the parent cluster. This may be a zone or region. Location string `json:"location,omitempty"` // NamespaceName: The name of this namespace. NamespaceName string `json:"namespaceName,omitempty"` // ProjectId: Output only. The project this resource lives in. For legacy // services migrated from the Custom type, this may be a distinct project from // the one parenting the service itself. ProjectId string `json:"projectId,omitempty"` // ForceSendFields is a list of field names (e.g. "ClusterName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClusterName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GkeNamespace) MarshalJSON() ([]byte, error) { type NoMethod GkeNamespace return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GkeService: GKE Service. The "service" here represents a Kubernetes service // object (https://kubernetes.io/docs/concepts/services-networking/service). // The field names correspond to the resource labels on k8s_service monitored // resources // (https://cloud.google.com/monitoring/api/resources#tag_k8s_service). type GkeService struct { // ClusterName: The name of the parent cluster. ClusterName string `json:"clusterName,omitempty"` // Location: The location of the parent cluster. This may be a zone or region. Location string `json:"location,omitempty"` // NamespaceName: The name of the parent namespace. NamespaceName string `json:"namespaceName,omitempty"` // ProjectId: Output only. The project this resource lives in. For legacy // services migrated from the Custom type, this may be a distinct project from // the one parenting the service itself. ProjectId string `json:"projectId,omitempty"` // ServiceName: The name of this service. ServiceName string `json:"serviceName,omitempty"` // ForceSendFields is a list of field names (e.g. "ClusterName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClusterName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GkeService) MarshalJSON() ([]byte, error) { type NoMethod GkeService return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GkeWorkload: A GKE Workload (Deployment, StatefulSet, etc). The field names // correspond to the metadata labels on monitored resources that fall under a // workload (for example, k8s_container or k8s_pod). type GkeWorkload struct { // ClusterName: The name of the parent cluster. ClusterName string `json:"clusterName,omitempty"` // Location: The location of the parent cluster. This may be a zone or region. Location string `json:"location,omitempty"` // NamespaceName: The name of the parent namespace. NamespaceName string `json:"namespaceName,omitempty"` // ProjectId: Output only. The project this resource lives in. For legacy // services migrated from the Custom type, this may be a distinct project from // the one parenting the service itself. ProjectId string `json:"projectId,omitempty"` // TopLevelControllerName: The name of this workload. TopLevelControllerName string `json:"topLevelControllerName,omitempty"` // TopLevelControllerType: The type of this workload (for example, "Deployment" // or "DaemonSet") TopLevelControllerType string `json:"topLevelControllerType,omitempty"` // ForceSendFields is a list of field names (e.g. "ClusterName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ClusterName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GkeWorkload) MarshalJSON() ([]byte, error) { type NoMethod GkeWorkload return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleMonitoringV3Range: Range of numerical values within min and max. type GoogleMonitoringV3Range struct { // Max: Range maximum. Max float64 `json:"max,omitempty"` // Min: Range minimum. Min float64 `json:"min,omitempty"` // ForceSendFields is a list of field names (e.g. "Max") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleMonitoringV3Range) MarshalJSON() ([]byte, error) { type NoMethod GoogleMonitoringV3Range return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *GoogleMonitoringV3Range) UnmarshalJSON(data []byte) error { type NoMethod GoogleMonitoringV3Range var s1 struct { Max gensupport.JSONFloat64 `json:"max"` Min gensupport.JSONFloat64 `json:"min"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Max = float64(s1.Max) s.Min = float64(s1.Min) return nil } // Group: The description of a dynamic collection of monitored resources. Each // group has a filter that is matched against monitored resources and their // associated metadata. If a group's filter matches an available monitored // resource, then that resource is a member of that group. Groups can contain // any number of monitored resources, and each monitored resource can be a // member of any number of groups.Groups can be nested in parent-child // hierarchies. The parentName field identifies an optional parent for each // group. If a group has a parent, then the only monitored resources available // to be matched by the group's filter are the resources contained in the // parent group. In other words, a group contains the monitored resources that // match its filter and the filters of all the group's ancestors. A group // without a parent can contain any monitored resource.For example, consider an // infrastructure running a set of instances with two user-defined tags: // "environment" and "role". A parent group has a filter, // environment="production". A child of that parent group has a filter, // role="transcoder". The parent group contains all instances in the production // environment, regardless of their roles. The child group contains instances // that have the transcoder role and are in the production environment.The // monitored resources contained in a group can change at any moment, depending // on what resources exist and what filters are associated with the group and // its ancestors. type Group struct { // DisplayName: A user-assigned name for this group, used only for display // purposes. DisplayName string `json:"displayName,omitempty"` // Filter: The filter used to determine which monitored resources belong to // this group. Filter string `json:"filter,omitempty"` // IsCluster: If true, the members of this group are considered to be a // cluster. The system can perform additional analysis on groups that are // clusters. IsCluster bool `json:"isCluster,omitempty"` // Name: Output only. The name of this group. The format is: // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] When creating a group, // this field is ignored and a new name is created consisting of the project // specified in the call to CreateGroup and a unique [GROUP_ID] that is // generated automatically. Name string `json:"name,omitempty"` // ParentName: The name of the group's parent, if it has one. The format is: // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] For groups with no parent, // parent_name is the empty string, "". ParentName string `json:"parentName,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Group) MarshalJSON() ([]byte, error) { type NoMethod Group return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // HttpCheck: Information involved in an HTTP/HTTPS Uptime check request. type HttpCheck struct { // AcceptedResponseStatusCodes: If present, the check will only pass if the // HTTP response status code is in this set of status codes. If empty, the HTTP // status code will only pass if the HTTP status code is 200-299. AcceptedResponseStatusCodes []*ResponseStatusCode `json:"acceptedResponseStatusCodes,omitempty"` // AuthInfo: The authentication information. Optional when creating an HTTP // check; defaults to empty. Do not set both auth_method and auth_info. AuthInfo *BasicAuthentication `json:"authInfo,omitempty"` // Body: The request body associated with the HTTP POST request. If // content_type is URL_ENCODED, the body passed in must be URL-encoded. Users // can provide a Content-Length header via the headers field or the API will do // so. If the request_method is GET and body is not empty, the API will return // an error. The maximum byte size is 1 megabyte.Note: If client libraries // aren't used (which performs the conversion automatically) base64 encode your // body data since the field is of bytes type. Body string `json:"body,omitempty"` // ContentType: The content type header to use for the check. The following // configurations result in errors: 1. Content type is specified in both the // headers field and the content_type field. 2. Request method is GET and // content_type is not TYPE_UNSPECIFIED 3. Request method is POST and // content_type is TYPE_UNSPECIFIED. 4. Request method is POST and a // "Content-Type" header is provided via headers field. The content_type field // should be used instead. // // Possible values: // "TYPE_UNSPECIFIED" - No content type specified. // "URL_ENCODED" - body is in URL-encoded form. Equivalent to setting the // Content-Type to application/x-www-form-urlencoded in the HTTP request. // "USER_PROVIDED" - body is in custom_content_type form. Equivalent to // setting the Content-Type to the contents of custom_content_type in the HTTP // request. ContentType string `json:"contentType,omitempty"` // CustomContentType: A user provided content type header to use for the check. // The invalid configurations outlined in the content_type field apply to // custom_content_type, as well as the following: 1. content_type is // URL_ENCODED and custom_content_type is set. 2. content_type is USER_PROVIDED // and custom_content_type is not set. CustomContentType string `json:"customContentType,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 specifying whether to encrypt the header information. // Encryption should be specified for any headers related to authentication // that you do not wish to be seen when retrieving the configuration. The // server will be responsible for encrypting the headers. On Get/List calls, if // mask_headers is set to true then the headers will be obscured with ******. MaskHeaders bool `json:"maskHeaders,omitempty"` // Path: Optional (defaults to "/"). The path to the page against which to run // the check. Will be combined with the host (specified within the // monitored_resource) and port to construct the full URL. If the provided path // does not begin with "/", a "/" will be prepended automatically. Path string `json:"path,omitempty"` // PingConfig: Contains information needed to add pings to an HTTP check. PingConfig *PingConfig `json:"pingConfig,omitempty"` // Port: Optional (defaults to 80 when use_ssl is false, and 443 when use_ssl // is true). The TCP port on the HTTP server against which to run the check. // Will be combined with host (specified within the monitored_resource) and // path to construct the full URL. Port int64 `json:"port,omitempty"` // RequestMethod: The HTTP request method to use for the check. If set to // METHOD_UNSPECIFIED then request_method defaults to GET. // // Possible values: // "METHOD_UNSPECIFIED" - No request method specified. // "GET" - GET request. // "POST" - POST request. RequestMethod string `json:"requestMethod,omitempty"` // ServiceAgentAuthentication: If specified, Uptime will generate and attach an // OIDC JWT token for the Monitoring service agent service account as an // Authorization header in the HTTP request when probing. ServiceAgentAuthentication *ServiceAgentAuthentication `json:"serviceAgentAuthentication,omitempty"` // UseSsl: If true, use HTTPS instead of HTTP to run the check. UseSsl bool `json:"useSsl,omitempty"` // ValidateSsl: Boolean specifying whether to include SSL certificate // validation as a part of the Uptime check. Only applies to checks where // monitored_resource is set to uptime_url. If use_ssl is false, setting // validate_ssl to true has no effect. ValidateSsl bool `json:"validateSsl,omitempty"` // ForceSendFields is a list of field names (e.g. // "AcceptedResponseStatusCodes") to unconditionally include in API requests. // By default, fields with empty or default values are omitted from API // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields // for more details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AcceptedResponseStatusCodes") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *HttpCheck) MarshalJSON() ([]byte, error) { type NoMethod HttpCheck return gensupport.MarshalJSON(NoMethod(*s), 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 Cloud Monitoring Metrics Scope in order to make it easier to // identify; however, uniqueness is not enforced. DisplayName string `json:"displayName,omitempty"` // GcpZone: The GCP zone the Uptime check should egress from. Only respected // for internal Uptime checks, where internal_network is specified. GcpZone string `json:"gcpZone,omitempty"` // Name: A unique resource name for this InternalChecker. The format is: // projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER_ID] // [PROJECT_ID_OR_NUMBER] is the Cloud Monitoring Metrics Scope 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 Metrics Scope project. PeerProjectId string `json:"peerProjectId,omitempty"` // State: The current operational state of the internal checker. // // Possible values: // "UNSPECIFIED" - An internal checker should never be in the unspecified // state. // "CREATING" - The checker is being created, provisioned, and configured. A // checker in this state can be returned by ListInternalCheckers or // GetInternalChecker, as well as by examining the long running Operation // (https://cloud.google.com/apis/design/design_patterns#long_running_operations) // that created it. // "RUNNING" - The checker is running and available for use. A checker in // this state can be returned by ListInternalCheckers or GetInternalChecker as // well as by examining the long running Operation // (https://cloud.google.com/apis/design/design_patterns#long_running_operations) // that created it. If a checker is being torn down, it is neither visible nor // usable, so there is no "deleting" or "down" state. State string `json:"state,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *InternalChecker) MarshalJSON() ([]byte, error) { type NoMethod InternalChecker return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IstioCanonicalService: Canonical service scoped to an Istio mesh. Anthos // clusters running ASM >= 1.6.8 will have their services ingested as this // type. type IstioCanonicalService struct { // CanonicalService: The name of the canonical service underlying this service. // Corresponds to the destination_canonical_service_name metric label in label // in Istio metrics (https://cloud.google.com/monitoring/api/metrics_istio). CanonicalService string `json:"canonicalService,omitempty"` // CanonicalServiceNamespace: The namespace of the canonical service underlying // this service. Corresponds to the destination_canonical_service_namespace // metric label in Istio metrics // (https://cloud.google.com/monitoring/api/metrics_istio). CanonicalServiceNamespace string `json:"canonicalServiceNamespace,omitempty"` // MeshUid: Identifier for the Istio mesh in which this canonical service is // defined. Corresponds to the mesh_uid metric label in Istio metrics // (https://cloud.google.com/monitoring/api/metrics_istio). MeshUid string `json:"meshUid,omitempty"` // ForceSendFields is a list of field names (e.g. "CanonicalService") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CanonicalService") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *IstioCanonicalService) MarshalJSON() ([]byte, error) { type NoMethod IstioCanonicalService return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // JsonPathMatcher: Information needed to perform a JSONPath content match. // Used for ContentMatcherOption::MATCHES_JSON_PATH and // ContentMatcherOption::NOT_MATCHES_JSON_PATH. type JsonPathMatcher struct { // JsonMatcher: The type of JSONPath match that will be applied to the JSON // output (ContentMatcher.content) // // Possible values: // "JSON_PATH_MATCHER_OPTION_UNSPECIFIED" - No JSONPath matcher type // specified (not valid). // "EXACT_MATCH" - Selects 'exact string' matching. The match succeeds if the // content at the json_path within the output is exactly the same as the // content string. // "REGEX_MATCH" - Selects regular-expression matching. The match succeeds if // the content at the json_path within the output matches the regular // expression specified in the content string. JsonMatcher string `json:"jsonMatcher,omitempty"` // JsonPath: JSONPath within the response output pointing to the expected // ContentMatcher::content to match against. JsonPath string `json:"jsonPath,omitempty"` // ForceSendFields is a list of field names (e.g. "JsonMatcher") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "JsonMatcher") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *JsonPathMatcher) MarshalJSON() ([]byte, error) { type NoMethod JsonPathMatcher return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LabelDescriptor: A description of a label. type LabelDescriptor struct { // Description: A human-readable description for the label. Description string `json:"description,omitempty"` // Key: The key for this label. The key must meet the following criteria: Does // not exceed 100 characters. Matches the following regular expression: // [a-zA-Z][a-zA-Z0-9_]* The first character must be an upper- or lower-case // letter. The remaining characters must be letters, digits, or underscores. Key string `json:"key,omitempty"` // ValueType: The type of data that can be assigned to the label. // // Possible values: // "STRING" - A variable-length string, not to exceed 1,024 characters. This // is the default value type. // "BOOL" - Boolean; true or false. // "INT64" - A 64-bit signed integer. ValueType string `json:"valueType,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LabelDescriptor) MarshalJSON() ([]byte, error) { type NoMethod LabelDescriptor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LabelValue: A label value. type LabelValue struct { // BoolValue: A bool label value. BoolValue bool `json:"boolValue,omitempty"` // Int64Value: An int64 label value. Int64Value int64 `json:"int64Value,omitempty,string"` // StringValue: A string label value. StringValue string `json:"stringValue,omitempty"` // ForceSendFields is a list of field names (e.g. "BoolValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BoolValue") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LabelValue) MarshalJSON() ([]byte, error) { type NoMethod LabelValue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LatencyCriteria: Parameters for a latency threshold SLI. type LatencyCriteria struct { // Threshold: Good service is defined to be the count of requests made to this // service that return in no more than threshold. Threshold string `json:"threshold,omitempty"` // ForceSendFields is a list of field names (e.g. "Threshold") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Threshold") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LatencyCriteria) MarshalJSON() ([]byte, error) { type NoMethod LatencyCriteria return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Linear) MarshalJSON() ([]byte, error) { type NoMethod Linear return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Linear) UnmarshalJSON(data []byte) error { type NoMethod Linear var s1 struct { Offset gensupport.JSONFloat64 `json:"offset"` Width gensupport.JSONFloat64 `json:"width"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Offset = float64(s1.Offset) s.Width = float64(s1.Width) return nil } // ListAlertPoliciesResponse: The protocol for the ListAlertPolicies response. type ListAlertPoliciesResponse struct { // AlertPolicies: The returned alert policies. AlertPolicies []*AlertPolicy `json:"alertPolicies,omitempty"` // NextPageToken: If there might be more results than were returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // TotalSize: The total number of alert policies in all pages. This number is // only an estimate, and may change in subsequent pages. https://aip.dev/158 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. "AlertPolicies") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListAlertPoliciesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListAlertPoliciesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListGroupMembersResponse: The ListGroupMembers response. type ListGroupMembersResponse struct { // Members: A set of monitored resources in the group. Members []*MonitoredResource `json:"members,omitempty"` // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // TotalSize: The total number of elements matching this request. TotalSize int64 `json:"totalSize,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Members") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListGroupMembersResponse) MarshalJSON() ([]byte, error) { type NoMethod ListGroupMembersResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListGroupsResponse: The ListGroups response. type ListGroupsResponse struct { // Group: The groups that match the specified filters. Group []*Group `json:"group,omitempty"` // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Group") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListGroupsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListGroupsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListMetricDescriptorsResponse: The ListMetricDescriptors response. type ListMetricDescriptorsResponse struct { // MetricDescriptors: The metric descriptors that are available to the project // and that match the value of filter, if present. MetricDescriptors []*MetricDescriptor `json:"metricDescriptors,omitempty"` // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "MetricDescriptors") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListMetricDescriptorsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListMetricDescriptorsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListMonitoredResourceDescriptorsResponse: The // ListMonitoredResourceDescriptors response. type ListMonitoredResourceDescriptorsResponse struct { // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // ResourceDescriptors: The monitored resource descriptors that are available // to this project and that match filter, if present. ResourceDescriptors []*MonitoredResourceDescriptor `json:"resourceDescriptors,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListMonitoredResourceDescriptorsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListMonitoredResourceDescriptorsResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListNotificationChannelDescriptorsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListNotificationChannelDescriptorsResponse return gensupport.MarshalJSON(NoMethod(*s), 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"` // TotalSize: The total number of notification channels in all pages. This // number is only an estimate, and may change in subsequent pages. // https://aip.dev/158 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. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListNotificationChannelsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListNotificationChannelsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListServiceLevelObjectivesResponse: The ListServiceLevelObjectives response. type ListServiceLevelObjectivesResponse struct { // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // ServiceLevelObjectives: The ServiceLevelObjectives matching the specified // filter. ServiceLevelObjectives []*ServiceLevelObjective `json:"serviceLevelObjectives,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListServiceLevelObjectivesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListServiceLevelObjectivesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListServicesResponse: The ListServices response. type ListServicesResponse struct { // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // Services: The Services matching the specified filter. Services []*MService `json:"services,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListServicesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListServicesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListSnoozesResponse: The results of a successful ListSnoozes call, // containing the matching Snoozes. type ListSnoozesResponse struct { // NextPageToken: Page token for repeated calls to ListSnoozes, to fetch // additional pages of results. If this is empty or missing, there are no more // pages. NextPageToken string `json:"nextPageToken,omitempty"` // Snoozes: Snoozes matching this list call. Snoozes []*Snooze `json:"snoozes,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListSnoozesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListSnoozesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListTimeSeriesResponse: The ListTimeSeries response. type ListTimeSeriesResponse struct { // ExecutionErrors: Query execution errors that may have caused the time series // data returned to be incomplete. ExecutionErrors []*Status `json:"executionErrors,omitempty"` // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // TimeSeries: One or more time series that match the filter included in the // request. TimeSeries []*TimeSeries `json:"timeSeries,omitempty"` // Unit: The unit in which all time_series point values are reported. unit // follows the UCUM format for units as seen in // https://unitsofmeasure.org/ucum.html. If different time_series have // different units (for example, because they come from different metric types, // or a unit is absent), then unit will be "{not_a_unit}". Unit string `json:"unit,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListTimeSeriesResponse) MarshalJSON() ([]byte, error) { type NoMethod ListTimeSeriesResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListUptimeCheckConfigsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListUptimeCheckConfigsResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListUptimeCheckIpsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListUptimeCheckIpsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LogMatch: A condition type that checks whether a log message in the scoping // project (https://cloud.google.com/monitoring/api/v3#project_name) satisfies // the given filter. Logs from other projects in the metrics scope are not // evaluated. type LogMatch struct { // Filter: Required. A logs-based filter. See Advanced Logs Queries // (https://cloud.google.com/logging/docs/view/advanced-queries) for how this // filter should be constructed. Filter string `json:"filter,omitempty"` // LabelExtractors: Optional. A map from a label key to an extractor // expression, which is used to extract the value for this label key. Each // entry in this map is a specification for how data should be extracted from // log entries that match filter. Each combination of extracted values is // treated as a separate rule for the purposes of triggering notifications. // Label keys and corresponding values can be used in notifications generated // by this condition.Please see the documentation on logs-based metric // valueExtractors // (https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.metrics#LogMetric.FIELDS.value_extractor) // for syntax and examples. LabelExtractors map[string]string `json:"labelExtractors,omitempty"` // ForceSendFields is a list of field names (e.g. "Filter") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Filter") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *LogMatch) MarshalJSON() ([]byte, error) { type NoMethod LogMatch return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MeshIstio: Istio service scoped to an Istio mesh. Anthos clusters running // ASM < 1.6.8 will have their services ingested as this type. type MeshIstio struct { // MeshUid: Identifier for the mesh in which this Istio service is defined. // Corresponds to the mesh_uid metric label in Istio metrics. MeshUid string `json:"meshUid,omitempty"` // ServiceName: The name of the Istio service underlying this service. // Corresponds to the destination_service_name metric label in Istio metrics. ServiceName string `json:"serviceName,omitempty"` // ServiceNamespace: The namespace of the Istio service underlying this // service. Corresponds to the destination_service_namespace metric label in // Istio metrics. ServiceNamespace string `json:"serviceNamespace,omitempty"` // ForceSendFields is a list of field names (e.g. "MeshUid") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MeshUid") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MeshIstio) MarshalJSON() ([]byte, error) { type NoMethod MeshIstio return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Metric) MarshalJSON() ([]byte, error) { type NoMethod Metric return gensupport.MarshalJSON(NoMethod(*s), 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 // resources). Multiple aggregations are applied in the order specified.This // field is similar to the one in the ListTimeSeries request // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). // 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. The minimum value of this field is 120 seconds. // Larger values that are a multiple of a minute--for example, 240 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: Required. A filter // (https://cloud.google.com/monitoring/api/v3/filters) that identifies which // time series should be compared with the threshold.The filter is similar to // the one that is specified in the ListTimeSeries request // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) // (that call is useful to verify the time series that will be retrieved / // processed). The filter must specify the metric type and the resource type. // Optionally, it can specify resource labels and metric labels. This field // must 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MetricAbsence) MarshalJSON() ([]byte, error) { type NoMethod MetricAbsence return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MetricDescriptor: Defines a metric type and its schema. Once a metric // descriptor is created, deleting or altering it stops data collection and // makes the metric type's existing data unusable. type MetricDescriptor struct { // Description: A detailed description of the metric, which can be used in // documentation. Description string `json:"description,omitempty"` // DisplayName: A concise name for the metric, which can be displayed in user // interfaces. Use sentence case without an ending period, for example "Request // count". This field is optional but it is recommended to be set for any // metrics associated with user-visible concepts, such as Quota. DisplayName string `json:"displayName,omitempty"` // Labels: The set of labels that can be used to describe a specific instance // of this metric type. For example, the // appengine.googleapis.com/http/server/response_latencies metric type has a // label for the HTTP response code, response_code, so you can look at // latencies for successful responses or just for responses that failed. Labels []*LabelDescriptor `json:"labels,omitempty"` // LaunchStage: Optional. The launch stage of the metric definition. // // Possible values: // "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value. // "UNIMPLEMENTED" - The feature is not yet implemented. Users can not use // it. // "PRELAUNCH" - Prelaunch features are hidden from users and are only // visible internally. // "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 allowlisted. Alpha releases don't have to be feature // complete, no SLAs are provided, and there are no technical support // obligations, but they will be far enough along that customers can actually // use them in test environments or for limited-use tests -- just like they // would in normal production cases. // "BETA" - Beta is the point at which we are ready to open a release for any // customer to use. There are no SLA or technical support obligations in a Beta // release. Products will be complete from a feature perspective, but may have // some open outstanding issues. Beta releases are suitable for limited // production use cases. // "GA" - GA features are open to all developers and are considered stable // and fully qualified for production use. // "DEPRECATED" - Deprecated features are scheduled to be shut down and // removed. For more information, see the "Deprecation Policy" section of our // Terms of Service (https://cloud.google.com/terms/) and the Google Cloud // Platform Subject to the Deprecation Policy // (https://cloud.google.com/terms/deprecation) documentation. LaunchStage string `json:"launchStage,omitempty"` // Metadata: Optional. Metadata which can be used to guide usage of the metric. Metadata *MetricDescriptorMetadata `json:"metadata,omitempty"` // MetricKind: Whether the metric records instantaneous values, changes to a // value, etc. Some combinations of metric_kind and value_type might not be // supported. // // Possible values: // "METRIC_KIND_UNSPECIFIED" - Do not use this default value. // "GAUGE" - An instantaneous measurement of a value. // "DELTA" - The change in a value during a time interval. // "CUMULATIVE" - A value accumulated over a time interval. Cumulative // measurements in a time series should have the same start time and increasing // end times, until an event resets the cumulative value to zero and sets a new // start time for the following points. MetricKind string `json:"metricKind,omitempty"` // MonitoredResourceTypes: Read-only. If present, then a time series, which is // identified partially by a metric type and a MonitoredResourceDescriptor, // that is associated with this metric type can only be associated with one of // the monitored resource types listed here. MonitoredResourceTypes []string `json:"monitoredResourceTypes,omitempty"` // Name: The resource name of the metric descriptor. Name string `json:"name,omitempty"` // Type: The metric type, including its DNS name prefix. The type is not // URL-encoded. All user-defined metric types have the DNS name // custom.googleapis.com or external.googleapis.com. Metric types should use a // natural hierarchical grouping. For example: // "custom.googleapis.com/invoice/paid/amount" // "external.googleapis.com/prometheus/up" // "appengine.googleapis.com/http/server/response_latencies" Type string `json:"type,omitempty"` // Unit: The units in which the metric value is reported. It is only applicable // if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the // representation of the stored metric values.Different systems might scale the // values to be more easily displayed (so a value of 0.02kBy might be displayed // as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if // the unit is kBy, then the value of the metric is always in thousands of // bytes, no matter how it might be displayed.If you want a custom metric to // record the exact number of CPU-seconds used by a job, you can create an // INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or // just s). If the job uses 12,005 CPU-seconds, then the value is written as // 12005.Alternatively, if you want a custom metric to record data in a more // granular way, you can create a DOUBLE CUMULATIVE metric whose unit is // ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use // Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a // subset of The Unified Code for Units of Measure // (https://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit // By byte s second min minute h hour d day 1 dimensionlessPrefixes (PREFIX) k // kilo (10^3) M mega (10^6) G giga (10^9) T tera (10^12) P peta (10^15) E exa // (10^18) Z zetta (10^21) Y yotta (10^24) m milli (10^-3) u micro (10^-6) n // nano (10^-9) p pico (10^-12) f femto (10^-15) a atto (10^-18) z zepto // (10^-21) y yocto (10^-24) Ki kibi (2^10) Mi mebi (2^20) Gi gibi (2^30) Ti // tebi (2^40) Pi pebi (2^50)GrammarThe grammar also includes these connectors: // / division or ratio (as an infix operator). For examples, kBy/{email} or // MiBy/10ms (although you should almost never have /s in a metric unit; rates // should always be computed at query time from the underlying cumulative or // delta value). . multiplication or composition (as an infix operator). For // examples, GBy.d or k{watt}.h.The grammar for a unit is as follows: // Expression = Component { "." Component } { "/" Component } ; Component = ( [ // PREFIX ] UNIT | "%" ) [ Annotation ] | Annotation | "1" ; Annotation = "{" // NAME "}" ; Notes: Annotation is just a comment if it follows a UNIT. If the // annotation is used alone, then the unit is equivalent to 1. For examples, // {request}/s == 1/s, By{transmitted}/s == By/s. NAME is a sequence of // non-blank printable ASCII characters not containing { or }. 1 represents a // unitary dimensionless unit // (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. // It is typically used when none of the basic units are appropriate. For // example, "new users per day" can be represented as 1/d or {new-users}/d (and // a metric value 5 would mean "5 new users). Alternatively, "thousands of page // views per day" would be represented as 1000/d or k1/d or k{page_views}/d // (and a metric value of 5.3 would mean "5300 page views per day"). % // represents dimensionless value of 1/100, and annotates values giving a // percentage (so the metric values are typically in the range of 0..100, and a // metric value 3 means "3 percent"). 10^2.% indicates a metric contains a // ratio, typically in the range 0..1, that will be multiplied by 100 and // displayed as a percentage (so a metric value 0.03 means "3 percent"). Unit string `json:"unit,omitempty"` // ValueType: Whether the measurement is an integer, a floating-point number, // etc. Some combinations of metric_kind and value_type might not be supported. // // Possible values: // "VALUE_TYPE_UNSPECIFIED" - Do not use this default value. // "BOOL" - The value is a boolean. This value type can be used only if the // metric kind is GAUGE. // "INT64" - The value is a signed 64-bit integer. // "DOUBLE" - The value is a double precision floating point number. // "STRING" - The value is a text string. This value type can be used only if // the metric kind is GAUGE. // "DISTRIBUTION" - The value is a Distribution. // "MONEY" - The value is money. ValueType string `json:"valueType,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MetricDescriptor) MarshalJSON() ([]byte, error) { type NoMethod MetricDescriptor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MetricDescriptorMetadata: Additional annotations that can be used to guide // the usage of a metric. type MetricDescriptorMetadata struct { // IngestDelay: The delay of data points caused by ingestion. Data points older // than this age are guaranteed to be ingested and available to be read, // excluding data loss due to errors. IngestDelay string `json:"ingestDelay,omitempty"` // LaunchStage: Deprecated. Must use the MetricDescriptor.launch_stage instead. // // Possible values: // "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value. // "UNIMPLEMENTED" - The feature is not yet implemented. Users can not use // it. // "PRELAUNCH" - Prelaunch features are hidden from users and are only // visible internally. // "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 allowlisted. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MetricDescriptorMetadata) MarshalJSON() ([]byte, error) { type NoMethod MetricDescriptorMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MetricRange: A MetricRange is used when each window is good when the value x // of a single TimeSeries satisfies range.min <= x <= range.max. The provided // TimeSeries must have ValueType = INT64 or ValueType = DOUBLE and MetricKind // = GAUGE. type MetricRange struct { // Range: Range of values considered "good." For a one-sided range, set one // bound to an infinite value. Range *GoogleMonitoringV3Range `json:"range,omitempty"` // TimeSeries: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying the // TimeSeries to use for evaluating window quality. TimeSeries string `json:"timeSeries,omitempty"` // ForceSendFields is a list of field names (e.g. "Range") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Range") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MetricRange) MarshalJSON() ([]byte, error) { type NoMethod MetricRange return gensupport.MarshalJSON(NoMethod(*s), 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 // resources). Multiple aggregations are applied in the order specified.This // field is similar to the one in the ListTimeSeries request // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). // It is advisable to use the ListTimeSeries method when debugging this field. Aggregations []*Aggregation `json:"aggregations,omitempty"` // Comparison: The comparison to apply between the time series (indicated by // filter and aggregation) and the threshold (indicated by threshold_value). // The comparison is applied on each time series, with the time series on the // left-hand side and the threshold on the right-hand side.Only COMPARISON_LT // and COMPARISON_GT are supported currently. // // Possible values: // "COMPARISON_UNSPECIFIED" - No ordering relationship is specified. // "COMPARISON_GT" - True if the left argument is greater than the right // argument. // "COMPARISON_GE" - True if the left argument is greater than or equal to // the right argument. // "COMPARISON_LT" - True if the left argument is less than the right // argument. // "COMPARISON_LE" - True if the left argument is less than or equal to the // right argument. // "COMPARISON_EQ" - True if the left argument is equal to the right // argument. // "COMPARISON_NE" - True if the left argument is not equal to the right // argument. Comparison string `json:"comparison,omitempty"` // DenominatorAggregations: Specifies the alignment of data points in // individual time series selected by denominatorFilter as well as how to // combine the retrieved time series together (such as when aggregating // multiple streams on each resource to a single stream for each resource or // when aggregating streams across all members of a group of resources).When // computing ratios, the aggregations and denominator_aggregations fields must // use the same alignment period and produce time series that have the same // periodicity and labels. DenominatorAggregations []*Aggregation `json:"denominatorAggregations,omitempty"` // DenominatorFilter: A filter // (https://cloud.google.com/monitoring/api/v3/filters) that identifies a time // series that should be used as the denominator of a ratio that will be // compared with the threshold. If a denominator_filter is specified, the time // series specified by the filter field will be used as the numerator.The // filter must specify the metric type and optionally may contain restrictions // on resource type, resource labels, and metric labels. This field may not // exceed 2048 Unicode characters in length. DenominatorFilter string `json:"denominatorFilter,omitempty"` // Duration: The amount of time that a time series must violate the threshold // to be considered failing. Currently, only values that are a multiple of a // minute--e.g., 0, 60, 120, or 300 seconds--are supported. If an invalid value // is given, an error will be returned. When choosing a duration, it is useful // to keep in mind the frequency of the underlying time series data (which may // also be affected by any alignments specified in the aggregations field); a // good duration is long enough so that a single outlier does not generate // spurious alerts, but short enough that unhealthy states are detected and // alerted on quickly. Duration string `json:"duration,omitempty"` // EvaluationMissingData: A condition control that determines how // metric-threshold conditions are evaluated when data stops arriving. To use // this control, the value of the duration field must be greater than or equal // to 60 seconds. // // Possible values: // "EVALUATION_MISSING_DATA_UNSPECIFIED" - An unspecified evaluation missing // data option. Equivalent to EVALUATION_MISSING_DATA_NO_OP. // "EVALUATION_MISSING_DATA_INACTIVE" - If there is no data to evaluate the // condition, then evaluate the condition as false. // "EVALUATION_MISSING_DATA_ACTIVE" - If there is no data to evaluate the // condition, then evaluate the condition as true. // "EVALUATION_MISSING_DATA_NO_OP" - Do not evaluate the condition to any // value if there is no data. EvaluationMissingData string `json:"evaluationMissingData,omitempty"` // Filter: Required. A filter // (https://cloud.google.com/monitoring/api/v3/filters) that identifies which // time series should be compared with the threshold.The filter is similar to // the one that is specified in the ListTimeSeries request // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) // (that call is useful to verify the time series that will be retrieved / // processed). The filter must specify the metric type and the resource type. // Optionally, it can specify resource labels and metric labels. This field // must not exceed 2048 Unicode characters in length. Filter string `json:"filter,omitempty"` // ForecastOptions: When this field is present, the MetricThreshold condition // forecasts whether the time series is predicted to violate the threshold // within the forecast_horizon. When this field is not set, the MetricThreshold // tests the current value of the timeseries against the threshold. ForecastOptions *ForecastOptions `json:"forecastOptions,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MetricThreshold) MarshalJSON() ([]byte, error) { type NoMethod MetricThreshold return gensupport.MarshalJSON(NoMethod(*s), 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 "project_id", "instance_id" and "zone": { "type": "gce_instance", // "labels": { "project_id": "my-project", "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 // (https://cloud.google.com/monitoring/api/resources) and Logging resource // types (https://cloud.google.com/logging/docs/api/v2/resource-list). 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MonitoredResource) MarshalJSON() ([]byte, error) { type NoMethod MonitoredResource return gensupport.MarshalJSON(NoMethod(*s), 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"` // LaunchStage: Optional. The launch stage of the monitored resource // definition. // // Possible values: // "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value. // "UNIMPLEMENTED" - The feature is not yet implemented. Users can not use // it. // "PRELAUNCH" - Prelaunch features are hidden from users and are only // visible internally. // "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 allowlisted. 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"` // 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. For a list of // types, see Monitored resource types // (https://cloud.google.com/monitoring/api/resources) and Logging resource // types (https://cloud.google.com/logging/docs/api/v2/resource-list). 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MonitoredResourceDescriptor) MarshalJSON() ([]byte, error) { type NoMethod MonitoredResourceDescriptor return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MonitoredResourceMetadata) MarshalJSON() ([]byte, error) { type NoMethod MonitoredResourceMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MonitoringQueryLanguageCondition: A condition type that allows alert // policies to be defined using Monitoring Query Language // (https://cloud.google.com/monitoring/mql). type MonitoringQueryLanguageCondition struct { // 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"` // EvaluationMissingData: A condition control that determines how // metric-threshold conditions are evaluated when data stops arriving. // // Possible values: // "EVALUATION_MISSING_DATA_UNSPECIFIED" - An unspecified evaluation missing // data option. Equivalent to EVALUATION_MISSING_DATA_NO_OP. // "EVALUATION_MISSING_DATA_INACTIVE" - If there is no data to evaluate the // condition, then evaluate the condition as false. // "EVALUATION_MISSING_DATA_ACTIVE" - If there is no data to evaluate the // condition, then evaluate the condition as true. // "EVALUATION_MISSING_DATA_NO_OP" - Do not evaluate the condition to any // value if there is no data. EvaluationMissingData string `json:"evaluationMissingData,omitempty"` // Query: Monitoring Query Language (https://cloud.google.com/monitoring/mql) // query that outputs a boolean stream. Query string `json:"query,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. "Duration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Duration") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MonitoringQueryLanguageCondition) MarshalJSON() ([]byte, error) { type NoMethod MonitoringQueryLanguageCondition return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MutationRecord) MarshalJSON() ([]byte, error) { type NoMethod MutationRecord return gensupport.MarshalJSON(NoMethod(*s), 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 { // CreationRecord: Record of the creation of this channel. CreationRecord *MutationRecord `json:"creationRecord,omitempty"` // 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 exceed 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"` // MutationRecords: Records of the modification of this channel. MutationRecords []*MutationRecord `json:"mutationRecords,omitempty"` // Name: The full REST resource name for this channel. The format is: // projects/[PROJECT_ID_OR_NUMBER]/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. "CreationRecord") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreationRecord") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NotificationChannel) MarshalJSON() ([]byte, error) { type NoMethod NotificationChannel return gensupport.MarshalJSON(NoMethod(*s), 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"` // LaunchStage: The product launch stage for channels of this type. // // Possible values: // "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value. // "UNIMPLEMENTED" - The feature is not yet implemented. Users can not use // it. // "PRELAUNCH" - Prelaunch features are hidden from users and are only // visible internally. // "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 allowlisted. 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"` // Name: The full REST resource name for this descriptor. The format is: // projects/[PROJECT_ID_OR_NUMBER]/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 Cloud Monitoring 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 Cloud Monitoring Premium tier, a higher, more // expensive tier of service that provides access to all Cloud Monitoring // features, lets you use Cloud Monitoring 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" and "sms". To view // the full list of channels, see Channel descriptors // (https://cloud.google.com/monitoring/alerts/using-channels-api#ncd). // 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NotificationChannelDescriptor) MarshalJSON() ([]byte, error) { type NoMethod NotificationChannelDescriptor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NotificationChannelStrategy: Control over how the notification channels in // notification_channels are notified when this alert fires, on a per-channel // basis. type NotificationChannelStrategy struct { // NotificationChannelNames: The full REST resource name for the notification // channels that these settings apply to. Each of these correspond to the name // field in one of the NotificationChannel objects referenced in the // notification_channels field of this AlertPolicy. The format is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] NotificationChannelNames []string `json:"notificationChannelNames,omitempty"` // RenotifyInterval: The frequency at which to send reminder notifications for // open incidents. RenotifyInterval string `json:"renotifyInterval,omitempty"` // ForceSendFields is a list of field names (e.g. "NotificationChannelNames") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NotificationChannelNames") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NotificationChannelStrategy) MarshalJSON() ([]byte, error) { type NoMethod NotificationChannelStrategy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // NotificationRateLimit: Control over the rate of notifications sent to this // alert policy's notification channels. type NotificationRateLimit struct { // Period: Not more than one notification per period. Period string `json:"period,omitempty"` // ForceSendFields is a list of field names (e.g. "Period") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Period") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *NotificationRateLimit) MarshalJSON() ([]byte, error) { type NoMethod NotificationRateLimit return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OperationMetadata: Contains metadata for longrunning operation for the edit // Metrics Scope endpoints. type OperationMetadata struct { // CreateTime: The time when the batch request was received. CreateTime string `json:"createTime,omitempty"` // State: Current state of the batch operation. // // Possible values: // "STATE_UNSPECIFIED" - Invalid. // "CREATED" - Request has been received. // "RUNNING" - Request is actively being processed. // "DONE" - The batch processing is done. // "CANCELLED" - The batch processing was cancelled. State string `json:"state,omitempty"` // UpdateTime: The time when the operation result was last updated. UpdateTime string `json:"updateTime,omitempty"` // ForceSendFields is a list of field names (e.g. "CreateTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CreateTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod OperationMetadata return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Option) MarshalJSON() ([]byte, error) { type NoMethod Option return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PerformanceThreshold: A PerformanceThreshold is used when each window is // good when that window has a sufficiently high performance. type PerformanceThreshold struct { // BasicSliPerformance: BasicSli to evaluate to judge window quality. BasicSliPerformance *BasicSli `json:"basicSliPerformance,omitempty"` // Performance: RequestBasedSli to evaluate to judge window quality. Performance *RequestBasedSli `json:"performance,omitempty"` // Threshold: If window performance >= threshold, the window is counted as // good. Threshold float64 `json:"threshold,omitempty"` // ForceSendFields is a list of field names (e.g. "BasicSliPerformance") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BasicSliPerformance") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PerformanceThreshold) MarshalJSON() ([]byte, error) { type NoMethod PerformanceThreshold return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *PerformanceThreshold) UnmarshalJSON(data []byte) error { type NoMethod PerformanceThreshold var s1 struct { Threshold gensupport.JSONFloat64 `json:"threshold"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Threshold = float64(s1.Threshold) return nil } // PingConfig: Information involved in sending ICMP pings alongside public // HTTP/TCP checks. For HTTP, the pings are performed for each part of the // redirect chain. type PingConfig struct { // PingsCount: Number of ICMP pings. A maximum of 3 ICMP pings is currently // supported. PingsCount int64 `json:"pingsCount,omitempty"` // ForceSendFields is a list of field names (e.g. "PingsCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PingsCount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PingConfig) MarshalJSON() ([]byte, error) { type NoMethod PingConfig return gensupport.MarshalJSON(NoMethod(*s), 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, the start time is optional, but if it is supplied, it must equal // the end time. 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Point) MarshalJSON() ([]byte, error) { type NoMethod Point return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PointData: A point's value columns and time interval. Each point has one or // more point values corresponding to the entries in point_descriptors field in // the TimeSeriesDescriptor associated with this object. type PointData struct { // TimeInterval: The time interval associated with the point. TimeInterval *TimeInterval `json:"timeInterval,omitempty"` // Values: The values that make up the point. Values []*TypedValue `json:"values,omitempty"` // ForceSendFields is a list of field names (e.g. "TimeInterval") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "TimeInterval") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PointData) MarshalJSON() ([]byte, error) { type NoMethod PointData return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PrometheusQueryLanguageCondition: A condition type that allows alert // policies to be defined using Prometheus Query Language (PromQL) // (https://prometheus.io/docs/prometheus/latest/querying/basics/).The // PrometheusQueryLanguageCondition message contains information from a // Prometheus alerting rule and its associated rule group.A Prometheus alerting // rule is described here // (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). // The semantics of a Prometheus alerting rule is described here // (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A // Prometheus rule group is described here // (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). // The semantics of a Prometheus rule group is described here // (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because // Cloud Alerting has no representation of a Prometheus rule group resource, we // must embed the information of the parent rule group inside each of the // conditions that refer to it. We must also update the contents of all // Prometheus alerts in case the information of their rule group changes.The // PrometheusQueryLanguageCondition protocol buffer combines the information of // the corresponding rule group and alerting rule. The structure of the // PrometheusQueryLanguageCondition protocol buffer does NOT mimic the // structure of the Prometheus rule group and alerting rule YAML declarations. // The PrometheusQueryLanguageCondition protocol buffer may change in the // future to support future rule group and/or alerting rule features. There are // no new such features at the present time (2023-06-26). type PrometheusQueryLanguageCondition struct { // AlertRule: Optional. The alerting rule name of this alert in the // corresponding Prometheus configuration file.Some external tools may require // this field to be populated correctly in order to refer to the original // Prometheus configuration file. The rule group name and the alert name are // necessary to update the relevant AlertPolicies in case the definition of the // rule group changes in the future.This field is optional. If this field is // not empty, then it must be a valid Prometheus label name // (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). // This field may not exceed 2048 Unicode characters in length. AlertRule string `json:"alertRule,omitempty"` // Duration: Optional. Alerts are considered firing once their PromQL // expression was evaluated to be "true" for this long. Alerts whose PromQL // expression was not evaluated to be "true" for long enough are considered // pending. Must be a non-negative duration or missing. This field is optional. // Its default value is zero. Duration string `json:"duration,omitempty"` // EvaluationInterval: Optional. How often this rule should be evaluated. Must // be a positive multiple of 30 seconds or missing. This field is optional. Its // default value is 30 seconds. If this PrometheusQueryLanguageCondition was // generated from a Prometheus alerting rule, then this value should be taken // from the enclosing rule group. EvaluationInterval string `json:"evaluationInterval,omitempty"` // Labels: Optional. Labels to add to or overwrite in the PromQL query result. // Label names must be valid // (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). // Label values can be templatized by using variables // (https://cloud.google.com/monitoring/alerts/doc-variables). The only // available variable names are the names of the labels in the PromQL result, // including "__name__" and "value". "labels" may be empty. Labels map[string]string `json:"labels,omitempty"` // Query: Required. The PromQL expression to evaluate. Every evaluation cycle // this expression is evaluated at the current time, and all resultant time // series become pending/firing alerts. This field must not be empty. Query string `json:"query,omitempty"` // RuleGroup: Optional. The rule group name of this alert in the corresponding // Prometheus configuration file.Some external tools may require this field to // be populated correctly in order to refer to the original Prometheus // configuration file. The rule group name and the alert name are necessary to // update the relevant AlertPolicies in case the definition of the rule group // changes in the future.This field is optional. If this field is not empty, // then it must contain a valid UTF-8 string. This field may not exceed 2048 // Unicode characters in length. RuleGroup string `json:"ruleGroup,omitempty"` // ForceSendFields is a list of field names (e.g. "AlertRule") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AlertRule") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *PrometheusQueryLanguageCondition) MarshalJSON() ([]byte, error) { type NoMethod PrometheusQueryLanguageCondition return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryTimeSeriesRequest: The QueryTimeSeries request. type QueryTimeSeriesRequest struct { // PageSize: A positive number that is the maximum number of time_series_data // to return. PageSize int64 `json:"pageSize,omitempty"` // PageToken: If this field is not empty then it must contain the nextPageToken // value returned by a previous call to this method. Using this field causes // the method to return additional results from the previous method call. PageToken string `json:"pageToken,omitempty"` // Query: Required. The query in the Monitoring Query Language // (https://cloud.google.com/monitoring/mql/reference) format. The default time // zone is in UTC. Query string `json:"query,omitempty"` // ForceSendFields is a list of field names (e.g. "PageSize") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PageSize") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *QueryTimeSeriesRequest) MarshalJSON() ([]byte, error) { type NoMethod QueryTimeSeriesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryTimeSeriesResponse: The QueryTimeSeries response. type QueryTimeSeriesResponse struct { // NextPageToken: If there are more results than have been returned, then this // field is set to a non-empty value. To see the additional results, use that // value as page_token in the next call to this method. NextPageToken string `json:"nextPageToken,omitempty"` // PartialErrors: Query execution errors that may have caused the time series // data returned to be incomplete. The available data will be available in the // response. PartialErrors []*Status `json:"partialErrors,omitempty"` // TimeSeriesData: The time series data. TimeSeriesData []*TimeSeriesData `json:"timeSeriesData,omitempty"` // TimeSeriesDescriptor: The descriptor for the time series data. TimeSeriesDescriptor *TimeSeriesDescriptor `json:"timeSeriesDescriptor,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *QueryTimeSeriesResponse) MarshalJSON() ([]byte, error) { type NoMethod QueryTimeSeriesResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Range) MarshalJSON() ([]byte, error) { type NoMethod Range return gensupport.MarshalJSON(NoMethod(*s), 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 } // RequestBasedSli: Service Level Indicators for which atomic units of service // are counted directly. type RequestBasedSli struct { // DistributionCut: distribution_cut is used when good_service is a count of // values aggregated in a Distribution that fall into a good range. The // total_service is the total count of all values aggregated in the // Distribution. DistributionCut *DistributionCut `json:"distributionCut,omitempty"` // GoodTotalRatio: good_total_ratio is used when the ratio of good_service to // total_service is computed from two TimeSeries. GoodTotalRatio *TimeSeriesRatio `json:"goodTotalRatio,omitempty"` // ForceSendFields is a list of field names (e.g. "DistributionCut") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DistributionCut") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *RequestBasedSli) MarshalJSON() ([]byte, error) { type NoMethod RequestBasedSli return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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], and not the full-path // projects/[PROJECT_ID_OR_NUMBER]/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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ResourceGroup) MarshalJSON() ([]byte, error) { type NoMethod ResourceGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ResponseStatusCode: A status to accept. Either a status code class like // "2xx", or an integer status code like "200". type ResponseStatusCode struct { // StatusClass: A class of status codes to accept. // // Possible values: // "STATUS_CLASS_UNSPECIFIED" - Default value that matches no status codes. // "STATUS_CLASS_1XX" - The class of status codes between 100 and 199. // "STATUS_CLASS_2XX" - The class of status codes between 200 and 299. // "STATUS_CLASS_3XX" - The class of status codes between 300 and 399. // "STATUS_CLASS_4XX" - The class of status codes between 400 and 499. // "STATUS_CLASS_5XX" - The class of status codes between 500 and 599. // "STATUS_CLASS_ANY" - The class of all status codes. StatusClass string `json:"statusClass,omitempty"` // StatusValue: A status code to accept. StatusValue int64 `json:"statusValue,omitempty"` // ForceSendFields is a list of field names (e.g. "StatusClass") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "StatusClass") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ResponseStatusCode) MarshalJSON() ([]byte, error) { type NoMethod ResponseStatusCode return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SendNotificationChannelVerificationCodeRequest: The // SendNotificationChannelVerificationCode request. type SendNotificationChannelVerificationCodeRequest struct { } // MService: A Service is a discrete, autonomous, and network-accessible unit, // designed to solve an individual concern (Wikipedia // (https://en.wikipedia.org/wiki/Service-orientation)). In Cloud Monitoring, a // Service acts as the root resource under which operational aspects of the // service are accessible. type MService struct { // AppEngine: Type used for App Engine services. AppEngine *AppEngine `json:"appEngine,omitempty"` // BasicService: Message that contains the service type and service labels of // this service if it is a basic service. Documentation and examples here // (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). BasicService *BasicService `json:"basicService,omitempty"` // CloudEndpoints: Type used for Cloud Endpoints services. CloudEndpoints *CloudEndpoints `json:"cloudEndpoints,omitempty"` // CloudRun: Type used for Cloud Run services. CloudRun *CloudRun `json:"cloudRun,omitempty"` // ClusterIstio: Type used for Istio services that live in a Kubernetes // cluster. ClusterIstio *ClusterIstio `json:"clusterIstio,omitempty"` // Custom: Custom service type. Custom *Custom `json:"custom,omitempty"` // DisplayName: Name used for UI elements listing this Service. DisplayName string `json:"displayName,omitempty"` // GkeNamespace: Type used for GKE Namespaces. GkeNamespace *GkeNamespace `json:"gkeNamespace,omitempty"` // GkeService: Type used for GKE Services (the Kubernetes concept of a // service). GkeService *GkeService `json:"gkeService,omitempty"` // GkeWorkload: Type used for GKE Workloads. GkeWorkload *GkeWorkload `json:"gkeWorkload,omitempty"` // IstioCanonicalService: Type used for canonical services scoped to an Istio // mesh. Metrics for Istio are documented here // (https://istio.io/latest/docs/reference/config/metrics/) IstioCanonicalService *IstioCanonicalService `json:"istioCanonicalService,omitempty"` // MeshIstio: Type used for Istio services scoped to an Istio mesh. MeshIstio *MeshIstio `json:"meshIstio,omitempty"` // Name: Identifier. Resource name for this Service. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Name string `json:"name,omitempty"` // Telemetry: Configuration for how to query telemetry on a Service. Telemetry *Telemetry `json:"telemetry,omitempty"` // UserLabels: Labels which have been used to annotate the service. Label keys // must start with a letter. Label keys and values may contain lowercase // letters, numbers, underscores, and dashes. Label keys and values have a // maximum length of 63 characters, and must be less than 128 bytes in size. Up // to 64 label entries may be stored. For labels which do not have a semantic // value, the empty string may be supplied for the label value. 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. "AppEngine") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AppEngine") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *MService) MarshalJSON() ([]byte, error) { type NoMethod MService return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ServiceAgentAuthentication: Contains information needed for generating // either an OpenID Connect token // (https://developers.google.com/identity/protocols/OpenIDConnect) or OAuth // token (https://developers.google.com/identity/protocols/oauth2). The token // will be generated for the Monitoring service agent service account. type ServiceAgentAuthentication struct { // Type: Type of authentication. // // Possible values: // "SERVICE_AGENT_AUTHENTICATION_TYPE_UNSPECIFIED" - Default value, will // result in OIDC Authentication. // "OIDC_TOKEN" - OIDC Authentication Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Type") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ServiceAgentAuthentication) MarshalJSON() ([]byte, error) { type NoMethod ServiceAgentAuthentication return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ServiceLevelIndicator: A Service-Level Indicator (SLI) describes the // "performance" of a service. For some services, the SLI is well-defined. In // such cases, the SLI can be described easily by referencing the well-known // SLI and providing the needed parameters. Alternatively, a "custom" SLI can // be defined with a query to the underlying metric store. An SLI is defined to // be good_service / total_service over any queried time interval. The value of // performance always falls into the range 0 <= performance <= 1. A custom SLI // describes how to compute this ratio, whether this is by dividing values from // a pair of time series, cutting a Distribution into good and bad counts, or // counting time windows in which the service complies with a criterion. For // separation of concerns, a single Service-Level Indicator measures // performance for only one aspect of service quality, such as fraction of // successful queries or fast-enough queries. type ServiceLevelIndicator struct { // BasicSli: Basic SLI on a well-known service type. BasicSli *BasicSli `json:"basicSli,omitempty"` // RequestBased: Request-based SLIs RequestBased *RequestBasedSli `json:"requestBased,omitempty"` // WindowsBased: Windows-based SLIs WindowsBased *WindowsBasedSli `json:"windowsBased,omitempty"` // ForceSendFields is a list of field names (e.g. "BasicSli") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BasicSli") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ServiceLevelIndicator) MarshalJSON() ([]byte, error) { type NoMethod ServiceLevelIndicator return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ServiceLevelObjective: A Service-Level Objective (SLO) describes a level of // desired good service. It consists of a service-level indicator (SLI), a // performance goal, and a period over which the objective is to be evaluated // against that goal. The SLO can use SLIs defined in a number of different // manners. Typical SLOs might include "99% of requests in each rolling week // have latency below 200 milliseconds" or "99.5% of requests in each calendar // month return successfully." type ServiceLevelObjective struct { // CalendarPeriod: A calendar period, semantically "since the start of the // current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported. // // Possible values: // "CALENDAR_PERIOD_UNSPECIFIED" - Undefined period, raises an error. // "DAY" - A day. // "WEEK" - A week. Weeks begin on Monday, following ISO 8601 // (https://en.wikipedia.org/wiki/ISO_week_date). // "FORTNIGHT" - A fortnight. The first calendar fortnight of the year begins // at the start of week 1 according to ISO 8601 // (https://en.wikipedia.org/wiki/ISO_week_date). // "MONTH" - A month. // "QUARTER" - A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and // 1-Oct of each year. // "HALF" - A half-year. Half-years start on dates 1-Jan and 1-Jul. // "YEAR" - A year. CalendarPeriod string `json:"calendarPeriod,omitempty"` // DisplayName: Name used for UI elements listing this SLO. DisplayName string `json:"displayName,omitempty"` // Goal: The fraction of service that must be good in order for this objective // to be met. 0 < goal <= 0.999. Goal float64 `json:"goal,omitempty"` // Name: Identifier. Resource name for this ServiceLevelObjective. The format // is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/ // [SLO_NAME] Name string `json:"name,omitempty"` // RollingPeriod: A rolling time period, semantically "in the past ". Must be // an integer multiple of 1 day no larger than 30 days. RollingPeriod string `json:"rollingPeriod,omitempty"` // ServiceLevelIndicator: The definition of good service, used to measure and // calculate the quality of the Service's performance with respect to a single // aspect of service quality. ServiceLevelIndicator *ServiceLevelIndicator `json:"serviceLevelIndicator,omitempty"` // UserLabels: Labels which have been used to annotate the service-level // objective. Label keys must start with a letter. Label keys and values may // contain lowercase letters, numbers, underscores, and dashes. Label keys and // values have a maximum length of 63 characters, and must be less than 128 // bytes in size. Up to 64 label entries may be stored. For labels which do not // have a semantic value, the empty string may be supplied for the label value. 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. "CalendarPeriod") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CalendarPeriod") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ServiceLevelObjective) MarshalJSON() ([]byte, error) { type NoMethod ServiceLevelObjective return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *ServiceLevelObjective) UnmarshalJSON(data []byte) error { type NoMethod ServiceLevelObjective var s1 struct { Goal gensupport.JSONFloat64 `json:"goal"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Goal = float64(s1.Goal) return nil } // Snooze: A Snooze will prevent any alerts from being opened, and close any // that are already open. The Snooze will work on alerts that match the // criteria defined in the Snooze. The Snooze will be active from // interval.start_time through interval.end_time. type Snooze struct { // Criteria: Required. This defines the criteria for applying the Snooze. See // Criteria for more information. Criteria *Criteria `json:"criteria,omitempty"` // DisplayName: Required. A display name for the Snooze. This can be, at most, // 512 unicode characters. DisplayName string `json:"displayName,omitempty"` // Interval: Required. The Snooze will be active from interval.start_time // through interval.end_time. interval.start_time cannot be in the past. There // is a 15 second clock skew to account for the time it takes for a request to // reach the API from the UI. Interval *TimeInterval `json:"interval,omitempty"` // Name: Required. The name of the Snooze. The format is: // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] The ID of the Snooze // will be generated by the system. Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Criteria") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Criteria") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Snooze) MarshalJSON() ([]byte, error) { type NoMethod Snooze return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SourceContext) MarshalJSON() ([]byte, error) { type NoMethod SourceContext return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SpanContext: The context of a span. This is attached to an Exemplar in // Distribution values during aggregation.It contains the name of a span with // format: projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] type SpanContext struct { // SpanName: The resource name of the span. The format is: // projects/[PROJECT_ID_OR_NUMBER]/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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SpanContext) MarshalJSON() ([]byte, error) { type NoMethod SpanContext return gensupport.MarshalJSON(NoMethod(*s), 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). Each Status message contains three // pieces of data: error code, error message, and error details.You can find // out more about this error model and how to work with it in the API Design // Guide (https://cloud.google.com/apis/design/errors). 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Status) MarshalJSON() ([]byte, error) { type NoMethod Status return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SyntheticMonitorTarget: Describes a Synthetic Monitor to be invoked by // Uptime. type SyntheticMonitorTarget struct { // CloudFunctionV2: Target a Synthetic Monitor GCFv2 instance. CloudFunctionV2 *CloudFunctionV2Target `json:"cloudFunctionV2,omitempty"` // ForceSendFields is a list of field names (e.g. "CloudFunctionV2") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CloudFunctionV2") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SyntheticMonitorTarget) MarshalJSON() ([]byte, error) { type NoMethod SyntheticMonitorTarget return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TcpCheck: Information required for a TCP Uptime check request. type TcpCheck struct { // PingConfig: Contains information needed to add pings to a TCP check. PingConfig *PingConfig `json:"pingConfig,omitempty"` // Port: The TCP port on the server against which to run the check. Will be // combined with host (specified within the monitored_resource) to construct // the full URL. Required. Port int64 `json:"port,omitempty"` // ForceSendFields is a list of field names (e.g. "PingConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "PingConfig") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TcpCheck) MarshalJSON() ([]byte, error) { type NoMethod TcpCheck return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Telemetry: Configuration for how to query telemetry on a Service. type Telemetry struct { // ResourceName: The full name of the resource that defines this service. // Formatted as described in // https://cloud.google.com/apis/design/resource_names. ResourceName string `json:"resourceName,omitempty"` // ForceSendFields is a list of field names (e.g. "ResourceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "ResourceName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Telemetry) MarshalJSON() ([]byte, error) { type NoMethod Telemetry return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeInterval: Describes a time interval: Reads: A half-open time interval. // It includes the end time but excludes the start time: (startTime, endTime]. // The start time must be specified, must be earlier than the end time, and // should be no older than the data retention period for the metric. Writes: A // closed time interval. It extends from the start time to the end time, and // includes both: [startTime, endTime]. Valid time intervals depend on the // MetricKind // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) // of the metric value. The end time must not be earlier than the start time, // and the end time must not be more than 25 hours in the past or more than // five minutes in the future. For GAUGE metrics, the startTime value is // technically optional; if no value is specified, the start time defaults to // the value of the end time, and the interval represents a single point in // time. If both start and end times are specified, they must be identical. // Such an interval is valid only for GAUGE metrics, which are point-in-time // measurements. The end time of a new interval must be at least a millisecond // after the end time of the previous interval. For DELTA metrics, the start // time and end time must specify a non-zero interval, with subsequent points // specifying contiguous and non-overlapping intervals. For DELTA metrics, the // start time of the next interval must be at least a millisecond after the end // time of the previous interval. For CUMULATIVE metrics, the start time and // end time must 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. // The new start time must be at least a millisecond after the end time of the // previous interval. The start time of a new interval must be at least a // millisecond after the end time of the previous interval because intervals // are closed. If the start time of a new interval is the same as the end time // of the previous interval, then data written at the new start time could // overwrite data written at the previous end 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 or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeInterval) MarshalJSON() ([]byte, error) { type NoMethod TimeInterval return gensupport.MarshalJSON(NoMethod(*s), 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 time series, this field will include metadata labels that are // explicitly named in the reduction. When creating a time series, 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. For more // information, see Monitored resources for custom metrics // (https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources). Resource *MonitoredResource `json:"resource,omitempty"` // Unit: The units in which the metric value is reported. It is only applicable // if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the // representation of the stored metric values. Unit string `json:"unit,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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeSeries) MarshalJSON() ([]byte, error) { type NoMethod TimeSeries return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesData: Represents the values of a time series associated with a // TimeSeriesDescriptor. type TimeSeriesData struct { // LabelValues: The values of the labels in the time series identifier, given // in the same order as the label_descriptors field of the TimeSeriesDescriptor // associated with this object. Each value must have a value of the type given // in the corresponding entry of label_descriptors. LabelValues []*LabelValue `json:"labelValues,omitempty"` // PointData: The points in the time series. PointData []*PointData `json:"pointData,omitempty"` // ForceSendFields is a list of field names (e.g. "LabelValues") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LabelValues") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeSeriesData) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesData return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesDescriptor: A descriptor for the labels and points in a time // series. type TimeSeriesDescriptor struct { // LabelDescriptors: Descriptors for the labels. LabelDescriptors []*LabelDescriptor `json:"labelDescriptors,omitempty"` // PointDescriptors: Descriptors for the point data value columns. PointDescriptors []*ValueDescriptor `json:"pointDescriptors,omitempty"` // ForceSendFields is a list of field names (e.g. "LabelDescriptors") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "LabelDescriptors") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeSeriesDescriptor) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesDescriptor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesRatio: A TimeSeriesRatio specifies two TimeSeries to use for // computing the good_service / total_service ratio. The specified TimeSeries // must have ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = // DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly // two of good, bad, and total, and the relationship good_service + bad_service // = total_service will be assumed. type TimeSeriesRatio struct { // BadServiceFilter: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries // quantifying bad service, either demanded service that was not provided or // demanded service that was of inadequate quality. Must have ValueType = // DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or MetricKind = // CUMULATIVE. BadServiceFilter string `json:"badServiceFilter,omitempty"` // GoodServiceFilter: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries // quantifying good service provided. Must have ValueType = DOUBLE or ValueType // = INT64 and must have MetricKind = DELTA or MetricKind = CUMULATIVE. GoodServiceFilter string `json:"goodServiceFilter,omitempty"` // TotalServiceFilter: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries // quantifying total demanded service. Must have ValueType = DOUBLE or // ValueType = INT64 and must have MetricKind = DELTA or MetricKind = // CUMULATIVE. TotalServiceFilter string `json:"totalServiceFilter,omitempty"` // ForceSendFields is a list of field names (e.g. "BadServiceFilter") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BadServiceFilter") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TimeSeriesRatio) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesRatio return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Trigger: Specifies how many time series must fail a predicate to trigger a // condition. If not specified, then a {count: 1} trigger is used. type Trigger struct { // Count: The absolute number of time series that must fail the predicate for // the condition to be triggered. Count int64 `json:"count,omitempty"` // Percent: The percentage of time series that must fail the predicate for the // condition to be triggered. Percent float64 `json:"percent,omitempty"` // ForceSendFields is a list of field names (e.g. "Count") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Count") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Trigger) MarshalJSON() ([]byte, error) { type NoMethod Trigger return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Trigger) UnmarshalJSON(data []byte) error { type NoMethod Trigger var s1 struct { Percent gensupport.JSONFloat64 `json:"percent"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Percent = float64(s1.Percent) return nil } // Type: A protocol buffer message type. type Type struct { // Edition: The source edition string, only valid when syntax is // SYNTAX_EDITIONS. Edition string `json:"edition,omitempty"` // Fields: The list of fields. Fields []*Field `json:"fields,omitempty"` // Name: The fully qualified message name. Name string `json:"name,omitempty"` // Oneofs: The list of types appearing in oneof definitions in this type. Oneofs []string `json:"oneofs,omitempty"` // Options: The protocol buffer options. Options []*Option `json:"options,omitempty"` // SourceContext: The source context. SourceContext *SourceContext `json:"sourceContext,omitempty"` // Syntax: The source syntax. // // Possible values: // "SYNTAX_PROTO2" - Syntax proto2. // "SYNTAX_PROTO3" - Syntax proto3. // "SYNTAX_EDITIONS" - Syntax editions. Syntax string `json:"syntax,omitempty"` // ForceSendFields is a list of field names (e.g. "Edition") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Edition") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Type) MarshalJSON() ([]byte, error) { type NoMethod Type return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TypedValue: A single strongly-typed value. type TypedValue struct { // BoolValue: A Boolean value: true or false. BoolValue *bool `json:"boolValue,omitempty"` // DistributionValue: A distribution value. DistributionValue *Distribution `json:"distributionValue,omitempty"` // DoubleValue: A 64-bit double-precision floating-point number. Its magnitude // is approximately ±10±300 and it has 16 significant digits of precision. DoubleValue *float64 `json:"doubleValue,omitempty"` // Int64Value: A 64-bit integer. Its range is approximately ±9.2x1018. Int64Value *int64 `json:"int64Value,omitempty,string"` // StringValue: A variable-length string value. StringValue *string `json:"stringValue,omitempty"` // ForceSendFields is a list of field names (e.g. "BoolValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BoolValue") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TypedValue) MarshalJSON() ([]byte, error) { type NoMethod TypedValue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *TypedValue) UnmarshalJSON(data []byte) error { type NoMethod TypedValue var s1 struct { DoubleValue *gensupport.JSONFloat64 `json:"doubleValue"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } if s1.DoubleValue != nil { s.DoubleValue = (*float64)(s1.DoubleValue) } return nil } // UptimeCheckConfig: This message configures which resources and services to // monitor for availability. type UptimeCheckConfig struct { // CheckerType: The type of checkers to use to execute the Uptime check. // // Possible values: // "CHECKER_TYPE_UNSPECIFIED" - The default checker type. Currently converted // to STATIC_IP_CHECKERS on creation, the default conversion behavior may // change in the future. // "STATIC_IP_CHECKERS" - STATIC_IP_CHECKERS are used for uptime checks that // perform egress across the public internet. STATIC_IP_CHECKERS use the static // IP addresses returned by ListUptimeCheckIps. // "VPC_CHECKERS" - VPC_CHECKERS are used for uptime checks that perform // egress using Service Directory and private network access. When using // VPC_CHECKERS, the monitored resource type must be servicedirectory_service. CheckerType string `json:"checkerType,omitempty"` // ContentMatchers: The content that is expected to appear in the data returned // by the target server against which the check is run. Currently, only the // first entry in the content_matchers list is supported, and additional // entries will be ignored. This field is optional and should only be specified // if a content match is required as part of the/ Uptime check. ContentMatchers []*ContentMatcher `json:"contentMatchers,omitempty"` // DisplayName: A human-friendly name for the Uptime check configuration. The // display name should be unique within a Cloud Monitoring Workspace in order // to make it easier to identify; however, uniqueness is not enforced. // Required. DisplayName string `json:"displayName,omitempty"` // HttpCheck: Contains information needed to make an HTTP or HTTPS check. HttpCheck *HttpCheck `json:"httpCheck,omitempty"` // InternalCheckers: The internal checkers that this check will egress from. If // is_internal is true and this list is empty, the check will egress from all // the InternalCheckers configured for the project that owns this // UptimeCheckConfig. InternalCheckers []*InternalChecker `json:"internalCheckers,omitempty"` // IsInternal: If this is true, then checks are made only from the // 'internal_checkers'. If it is false, then checks are made only from the // 'selected_regions'. It is an error to provide 'selected_regions' when // is_internal is true, or to provide 'internal_checkers' when is_internal is // false. IsInternal bool `json:"isInternal,omitempty"` // MonitoredResource: The monitored resource // (https://cloud.google.com/monitoring/api/resources) associated with the // configuration. The following monitored resource types are valid for this // field: uptime_url, gce_instance, gae_app, aws_ec2_instance, // aws_elb_load_balancer k8s_service servicedirectory_service // cloud_run_revision MonitoredResource *MonitoredResource `json:"monitoredResource,omitempty"` // Name: Identifier. A unique resource name for this Uptime check // configuration. The format is: // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] // [PROJECT_ID_OR_NUMBER] is the Workspace host project associated with the // Uptime check.This field should be omitted when creating the Uptime check // configuration; on create, the resource name is assigned by the server and // included in the response. Name string `json:"name,omitempty"` // Period: How often, in seconds, the Uptime check is performed. Currently, the // only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 // minutes), and 900s (15 minutes). Optional, defaults to 60s. Period string `json:"period,omitempty"` // ResourceGroup: The group resource associated with the configuration. ResourceGroup *ResourceGroup `json:"resourceGroup,omitempty"` // SelectedRegions: The list of regions from which the check will be run. Some // regions contain one location, and others contain more than one. If this // field is specified, enough regions must be provided to include a minimum of // 3 locations. Not specifying this field will result in Uptime checks running // from all available regions. // // Possible values: // "REGION_UNSPECIFIED" - Default value if no region is specified. Will // result in Uptime checks running from all regions. // "USA" - Allows checks to run from locations within the United States of // America. // "EUROPE" - Allows checks to run from locations within the continent of // Europe. // "SOUTH_AMERICA" - Allows checks to run from locations within the continent // of South America. // "ASIA_PACIFIC" - Allows checks to run from locations within the Asia // Pacific area (ex: Singapore). // "USA_OREGON" - Allows checks to run from locations within the western // United States of America // "USA_IOWA" - Allows checks to run from locations within the central United // States of America // "USA_VIRGINIA" - Allows checks to run from locations within the eastern // United States of America SelectedRegions []string `json:"selectedRegions,omitempty"` // SyntheticMonitor: Specifies a Synthetic Monitor to invoke. SyntheticMonitor *SyntheticMonitorTarget `json:"syntheticMonitor,omitempty"` // TcpCheck: Contains information needed to make a TCP check. TcpCheck *TcpCheck `json:"tcpCheck,omitempty"` // Timeout: The maximum amount of time to wait for the request to complete // (must be between 1 and 60 seconds). Required. Timeout string `json:"timeout,omitempty"` // UserLabels: User-supplied key/value data to be used for organizing and // identifying the UptimeCheckConfig 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. "CheckerType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "CheckerType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UptimeCheckConfig) MarshalJSON() ([]byte, error) { type NoMethod UptimeCheckConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // UptimeCheckIp: Contains the region, location, and list of IP addresses where // checkers in the location run from. type UptimeCheckIp struct { // IpAddress: The IP address from which the Uptime check originates. This is a // fully specified IP address (not an IP address range). Most IP addresses, as // of this publication, are in IPv4 format; however, one should not rely on the // IP addresses being in IPv4 format indefinitely, and should support // interpreting this field in either IPv4 or IPv6 format. IpAddress string `json:"ipAddress,omitempty"` // Location: A more specific location within the region that typically encodes // a particular city/town/metro (and its containing state/province or country) // within the broader umbrella region category. Location string `json:"location,omitempty"` // Region: A broad region category in which the IP address is located. // // Possible values: // "REGION_UNSPECIFIED" - Default value if no region is specified. Will // result in Uptime checks running from all regions. // "USA" - Allows checks to run from locations within the United States of // America. // "EUROPE" - Allows checks to run from locations within the continent of // Europe. // "SOUTH_AMERICA" - Allows checks to run from locations within the continent // of South America. // "ASIA_PACIFIC" - Allows checks to run from locations within the Asia // Pacific area (ex: Singapore). // "USA_OREGON" - Allows checks to run from locations within the western // United States of America // "USA_IOWA" - Allows checks to run from locations within the central United // States of America // "USA_VIRGINIA" - Allows checks to run from locations within the eastern // United States of America Region string `json:"region,omitempty"` // ForceSendFields is a list of field names (e.g. "IpAddress") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "IpAddress") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *UptimeCheckIp) MarshalJSON() ([]byte, error) { type NoMethod UptimeCheckIp return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ValueDescriptor: A descriptor for the value columns in a data point. type ValueDescriptor struct { // Key: The value key. Key string `json:"key,omitempty"` // MetricKind: The value stream kind. // // 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"` // Unit: The unit in which time_series point values are reported. unit follows // the UCUM format for units as seen in https://unitsofmeasure.org/ucum.html. // unit is only valid if value_type is INTEGER, DOUBLE, DISTRIBUTION. Unit string `json:"unit,omitempty"` // ValueType: The value type. // // 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. "Key") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Key") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ValueDescriptor) MarshalJSON() ([]byte, error) { type NoMethod ValueDescriptor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // VerifyNotificationChannelRequest: The VerifyNotificationChannel request. type VerifyNotificationChannelRequest struct { // Code: Required. The verification code that was delivered to the channel as a // result of invoking the SendNotificationChannelVerificationCode API method or // that was retrieved from a verified channel via // GetNotificationChannelVerificationCode. For example, one might have // "G-123456" or "TKNZGhhd2EyN3I1MnRnMjRv" (in general, one is only guaranteed // that the code is valid UTF-8; one should not make any assumptions regarding // the structure or format of the code). Code string `json:"code,omitempty"` // ForceSendFields is a list of field names (e.g. "Code") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *VerifyNotificationChannelRequest) MarshalJSON() ([]byte, error) { type NoMethod VerifyNotificationChannelRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // WindowsBasedSli: A WindowsBasedSli defines good_service as the count of time // windows for which the provided service was of good quality. Criteria for // determining if service was good are embedded in the window_criterion. type WindowsBasedSli struct { // GoodBadMetricFilter: A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) specifying a TimeSeries // with ValueType = BOOL. The window is good if any true values appear in the // window. GoodBadMetricFilter string `json:"goodBadMetricFilter,omitempty"` // GoodTotalRatioThreshold: A window is good if its performance is high enough. GoodTotalRatioThreshold *PerformanceThreshold `json:"goodTotalRatioThreshold,omitempty"` // MetricMeanInRange: A window is good if the metric's value is in a good // range, averaged across returned streams. MetricMeanInRange *MetricRange `json:"metricMeanInRange,omitempty"` // MetricSumInRange: A window is good if the metric's value is in a good range, // summed across returned streams. MetricSumInRange *MetricRange `json:"metricSumInRange,omitempty"` // WindowPeriod: Duration over which window quality is evaluated. Must be an // integer fraction of a day and at least 60s. WindowPeriod string `json:"windowPeriod,omitempty"` // ForceSendFields is a list of field names (e.g. "GoodBadMetricFilter") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "GoodBadMetricFilter") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *WindowsBasedSli) MarshalJSON() ([]byte, error) { type NoMethod WindowsBasedSli return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type FoldersTimeSeriesListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists time series that match a filter. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name), organization or // folder on which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] // folders/[FOLDER_ID]. func (r *FoldersTimeSeriesService) List(name string) *FoldersTimeSeriesListCall { c := &FoldersTimeSeriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // AggregationAlignmentPeriod sets the optional parameter // "aggregation.alignmentPeriod": The alignment_period specifies a time // interval, in seconds, that is used to divide the data in all the time series // into consistent blocks of time. This will be done before the per-series // aligner can be applied to the data.The value must be at least 60 seconds. If // a per-series aligner other than ALIGN_NONE is specified, this field is // required or an error is returned. If no per-series aligner is specified, or // the aligner ALIGN_NONE is specified, then this field is ignored.The maximum // value of the alignment_period is 104 weeks (2 years) for charts, and 90,000 // seconds (25 hours) for alerting policies. func (c *FoldersTimeSeriesListCall) AggregationAlignmentPeriod(aggregationAlignmentPeriod string) *FoldersTimeSeriesListCall { c.urlParams_.Set("aggregation.alignmentPeriod", aggregationAlignmentPeriod) return c } // AggregationCrossSeriesReducer sets the optional parameter // "aggregation.crossSeriesReducer": The reduction operation to be used to // combine time series into a single time series, where the value of each data // point in the resulting series is a function of all the already aligned // values in the input time series.Not all reducer operations can be applied to // all time series. The valid choices depend on the metric_kind and the // value_type of the original time series. Reduction can yield a time series // with a different metric_kind or value_type than the input time series.Time // series data must first be aligned (see per_series_aligner) in order to // perform cross-time series reduction. If cross_series_reducer is specified, // then per_series_aligner must be specified, and must not be ALIGN_NONE. An // alignment_period must also be specified; otherwise, an error is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *FoldersTimeSeriesListCall) AggregationCrossSeriesReducer(aggregationCrossSeriesReducer string) *FoldersTimeSeriesListCall { c.urlParams_.Set("aggregation.crossSeriesReducer", aggregationCrossSeriesReducer) return c } // AggregationGroupByFields sets the optional parameter // "aggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *FoldersTimeSeriesListCall) AggregationGroupByFields(aggregationGroupByFields ...string) *FoldersTimeSeriesListCall { c.urlParams_.SetMulti("aggregation.groupByFields", append([]string{}, aggregationGroupByFields...)) return c } // AggregationPerSeriesAligner sets the optional parameter // "aggregation.perSeriesAligner": An Aligner describes how to bring the data // points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *FoldersTimeSeriesListCall) AggregationPerSeriesAligner(aggregationPerSeriesAligner string) *FoldersTimeSeriesListCall { c.urlParams_.Set("aggregation.perSeriesAligner", aggregationPerSeriesAligner) return c } // Filter sets the optional parameter "filter": Required. A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) that specifies which // time series should be returned. The filter must specify a single metric // type, and can additionally specify metric labels and other information. For // example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND // metric.labels.instance_name = "my-instance-name" func (c *FoldersTimeSeriesListCall) Filter(filter string) *FoldersTimeSeriesListCall { c.urlParams_.Set("filter", filter) return c } // IntervalEndTime sets the optional parameter "interval.endTime": Required. // The end of the time interval. func (c *FoldersTimeSeriesListCall) IntervalEndTime(intervalEndTime string) *FoldersTimeSeriesListCall { c.urlParams_.Set("interval.endTime", intervalEndTime) return c } // IntervalStartTime sets the optional parameter "interval.startTime": 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. func (c *FoldersTimeSeriesListCall) IntervalStartTime(intervalStartTime string) *FoldersTimeSeriesListCall { c.urlParams_.Set("interval.startTime", intervalStartTime) return c } // OrderBy sets the optional parameter "orderBy": Unsupported: must be left // blank. The points in each time series are currently returned in reverse time // order (most recent to oldest). func (c *FoldersTimeSeriesListCall) OrderBy(orderBy string) *FoldersTimeSeriesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. If page_size is empty or more than // 100,000 results, the effective page_size is 100,000 results. If view is set // to FULL, this is the maximum number of Points returned. If view is set to // HEADERS, this is the maximum number of TimeSeries returned. func (c *FoldersTimeSeriesListCall) PageSize(pageSize int64) *FoldersTimeSeriesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *FoldersTimeSeriesListCall) PageToken(pageToken string) *FoldersTimeSeriesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // SecondaryAggregationAlignmentPeriod sets the optional parameter // "secondaryAggregation.alignmentPeriod": The alignment_period specifies a // time interval, in seconds, that is used to divide the data in all the time // series into consistent blocks of time. This will be done before the // per-series aligner can be applied to the data.The value must be at least 60 // seconds. If a per-series aligner other than ALIGN_NONE is specified, this // field is required or an error is returned. If no per-series aligner is // specified, or the aligner ALIGN_NONE is specified, then this field is // ignored.The maximum value of the alignment_period is 104 weeks (2 years) for // charts, and 90,000 seconds (25 hours) for alerting policies. func (c *FoldersTimeSeriesListCall) SecondaryAggregationAlignmentPeriod(secondaryAggregationAlignmentPeriod string) *FoldersTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.alignmentPeriod", secondaryAggregationAlignmentPeriod) return c } // SecondaryAggregationCrossSeriesReducer sets the optional parameter // "secondaryAggregation.crossSeriesReducer": The reduction operation to be // used to combine time series into a single time series, where the value of // each data point in the resulting series is a function of all the already // aligned values in the input time series.Not all reducer operations can be // applied to all time series. The valid choices depend on the metric_kind and // the value_type of the original time series. Reduction can yield a time // series with a different metric_kind or value_type than the input time // series.Time series data must first be aligned (see per_series_aligner) in // order to perform cross-time series reduction. If cross_series_reducer is // specified, then per_series_aligner must be specified, and must not be // ALIGN_NONE. An alignment_period must also be specified; otherwise, an error // is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *FoldersTimeSeriesListCall) SecondaryAggregationCrossSeriesReducer(secondaryAggregationCrossSeriesReducer string) *FoldersTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.crossSeriesReducer", secondaryAggregationCrossSeriesReducer) return c } // SecondaryAggregationGroupByFields sets the optional parameter // "secondaryAggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *FoldersTimeSeriesListCall) SecondaryAggregationGroupByFields(secondaryAggregationGroupByFields ...string) *FoldersTimeSeriesListCall { c.urlParams_.SetMulti("secondaryAggregation.groupByFields", append([]string{}, secondaryAggregationGroupByFields...)) return c } // SecondaryAggregationPerSeriesAligner sets the optional parameter // "secondaryAggregation.perSeriesAligner": An Aligner describes how to bring // the data points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *FoldersTimeSeriesListCall) SecondaryAggregationPerSeriesAligner(secondaryAggregationPerSeriesAligner string) *FoldersTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.perSeriesAligner", secondaryAggregationPerSeriesAligner) return c } // View sets the optional parameter "view": Required. Specifies which // information is returned about the time series. // // Possible values: // // "FULL" - Returns the identity of the metric(s), the time series, and the // // time series data. // // "HEADERS" - Returns the identity of the metric and the time series // // resource, but not the time series data. func (c *FoldersTimeSeriesListCall) View(view string) *FoldersTimeSeriesListCall { c.urlParams_.Set("view", view) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *FoldersTimeSeriesListCall) Fields(s ...googleapi.Field) *FoldersTimeSeriesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *FoldersTimeSeriesListCall) IfNoneMatch(entityTag string) *FoldersTimeSeriesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *FoldersTimeSeriesListCall) Context(ctx context.Context) *FoldersTimeSeriesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *FoldersTimeSeriesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersTimeSeriesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.folders.timeSeries.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListTimeSeriesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *FoldersTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*ListTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *FoldersTimeSeriesListCall) Pages(ctx context.Context, f func(*ListTimeSeriesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type OrganizationsTimeSeriesListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists time series that match a filter. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name), organization or // folder on which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] // folders/[FOLDER_ID]. func (r *OrganizationsTimeSeriesService) List(name string) *OrganizationsTimeSeriesListCall { c := &OrganizationsTimeSeriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // AggregationAlignmentPeriod sets the optional parameter // "aggregation.alignmentPeriod": The alignment_period specifies a time // interval, in seconds, that is used to divide the data in all the time series // into consistent blocks of time. This will be done before the per-series // aligner can be applied to the data.The value must be at least 60 seconds. If // a per-series aligner other than ALIGN_NONE is specified, this field is // required or an error is returned. If no per-series aligner is specified, or // the aligner ALIGN_NONE is specified, then this field is ignored.The maximum // value of the alignment_period is 104 weeks (2 years) for charts, and 90,000 // seconds (25 hours) for alerting policies. func (c *OrganizationsTimeSeriesListCall) AggregationAlignmentPeriod(aggregationAlignmentPeriod string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("aggregation.alignmentPeriod", aggregationAlignmentPeriod) return c } // AggregationCrossSeriesReducer sets the optional parameter // "aggregation.crossSeriesReducer": The reduction operation to be used to // combine time series into a single time series, where the value of each data // point in the resulting series is a function of all the already aligned // values in the input time series.Not all reducer operations can be applied to // all time series. The valid choices depend on the metric_kind and the // value_type of the original time series. Reduction can yield a time series // with a different metric_kind or value_type than the input time series.Time // series data must first be aligned (see per_series_aligner) in order to // perform cross-time series reduction. If cross_series_reducer is specified, // then per_series_aligner must be specified, and must not be ALIGN_NONE. An // alignment_period must also be specified; otherwise, an error is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *OrganizationsTimeSeriesListCall) AggregationCrossSeriesReducer(aggregationCrossSeriesReducer string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("aggregation.crossSeriesReducer", aggregationCrossSeriesReducer) return c } // AggregationGroupByFields sets the optional parameter // "aggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *OrganizationsTimeSeriesListCall) AggregationGroupByFields(aggregationGroupByFields ...string) *OrganizationsTimeSeriesListCall { c.urlParams_.SetMulti("aggregation.groupByFields", append([]string{}, aggregationGroupByFields...)) return c } // AggregationPerSeriesAligner sets the optional parameter // "aggregation.perSeriesAligner": An Aligner describes how to bring the data // points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *OrganizationsTimeSeriesListCall) AggregationPerSeriesAligner(aggregationPerSeriesAligner string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("aggregation.perSeriesAligner", aggregationPerSeriesAligner) return c } // Filter sets the optional parameter "filter": Required. A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) that specifies which // time series should be returned. The filter must specify a single metric // type, and can additionally specify metric labels and other information. For // example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND // metric.labels.instance_name = "my-instance-name" func (c *OrganizationsTimeSeriesListCall) Filter(filter string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("filter", filter) return c } // IntervalEndTime sets the optional parameter "interval.endTime": Required. // The end of the time interval. func (c *OrganizationsTimeSeriesListCall) IntervalEndTime(intervalEndTime string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("interval.endTime", intervalEndTime) return c } // IntervalStartTime sets the optional parameter "interval.startTime": 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. func (c *OrganizationsTimeSeriesListCall) IntervalStartTime(intervalStartTime string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("interval.startTime", intervalStartTime) return c } // OrderBy sets the optional parameter "orderBy": Unsupported: must be left // blank. The points in each time series are currently returned in reverse time // order (most recent to oldest). func (c *OrganizationsTimeSeriesListCall) OrderBy(orderBy string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. If page_size is empty or more than // 100,000 results, the effective page_size is 100,000 results. If view is set // to FULL, this is the maximum number of Points returned. If view is set to // HEADERS, this is the maximum number of TimeSeries returned. func (c *OrganizationsTimeSeriesListCall) PageSize(pageSize int64) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *OrganizationsTimeSeriesListCall) PageToken(pageToken string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // SecondaryAggregationAlignmentPeriod sets the optional parameter // "secondaryAggregation.alignmentPeriod": The alignment_period specifies a // time interval, in seconds, that is used to divide the data in all the time // series into consistent blocks of time. This will be done before the // per-series aligner can be applied to the data.The value must be at least 60 // seconds. If a per-series aligner other than ALIGN_NONE is specified, this // field is required or an error is returned. If no per-series aligner is // specified, or the aligner ALIGN_NONE is specified, then this field is // ignored.The maximum value of the alignment_period is 104 weeks (2 years) for // charts, and 90,000 seconds (25 hours) for alerting policies. func (c *OrganizationsTimeSeriesListCall) SecondaryAggregationAlignmentPeriod(secondaryAggregationAlignmentPeriod string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.alignmentPeriod", secondaryAggregationAlignmentPeriod) return c } // SecondaryAggregationCrossSeriesReducer sets the optional parameter // "secondaryAggregation.crossSeriesReducer": The reduction operation to be // used to combine time series into a single time series, where the value of // each data point in the resulting series is a function of all the already // aligned values in the input time series.Not all reducer operations can be // applied to all time series. The valid choices depend on the metric_kind and // the value_type of the original time series. Reduction can yield a time // series with a different metric_kind or value_type than the input time // series.Time series data must first be aligned (see per_series_aligner) in // order to perform cross-time series reduction. If cross_series_reducer is // specified, then per_series_aligner must be specified, and must not be // ALIGN_NONE. An alignment_period must also be specified; otherwise, an error // is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *OrganizationsTimeSeriesListCall) SecondaryAggregationCrossSeriesReducer(secondaryAggregationCrossSeriesReducer string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.crossSeriesReducer", secondaryAggregationCrossSeriesReducer) return c } // SecondaryAggregationGroupByFields sets the optional parameter // "secondaryAggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *OrganizationsTimeSeriesListCall) SecondaryAggregationGroupByFields(secondaryAggregationGroupByFields ...string) *OrganizationsTimeSeriesListCall { c.urlParams_.SetMulti("secondaryAggregation.groupByFields", append([]string{}, secondaryAggregationGroupByFields...)) return c } // SecondaryAggregationPerSeriesAligner sets the optional parameter // "secondaryAggregation.perSeriesAligner": An Aligner describes how to bring // the data points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *OrganizationsTimeSeriesListCall) SecondaryAggregationPerSeriesAligner(secondaryAggregationPerSeriesAligner string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.perSeriesAligner", secondaryAggregationPerSeriesAligner) return c } // View sets the optional parameter "view": Required. Specifies which // information is returned about the time series. // // Possible values: // // "FULL" - Returns the identity of the metric(s), the time series, and the // // time series data. // // "HEADERS" - Returns the identity of the metric and the time series // // resource, but not the time series data. func (c *OrganizationsTimeSeriesListCall) View(view string) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("view", view) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *OrganizationsTimeSeriesListCall) Fields(s ...googleapi.Field) *OrganizationsTimeSeriesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *OrganizationsTimeSeriesListCall) IfNoneMatch(entityTag string) *OrganizationsTimeSeriesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *OrganizationsTimeSeriesListCall) Context(ctx context.Context) *OrganizationsTimeSeriesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *OrganizationsTimeSeriesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsTimeSeriesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.organizations.timeSeries.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListTimeSeriesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *OrganizationsTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*ListTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *OrganizationsTimeSeriesListCall) Pages(ctx context.Context, f func(*ListTimeSeriesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsAlertPoliciesCreateCall struct { s *Service name string alertpolicy *AlertPolicy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new alerting policy.Design your application to // single-thread API calls that modify the state of alerting policies in a // single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy // and UpdateAlertPolicy. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) in which to // create the alerting policy. The format is: projects/[PROJECT_ID_OR_NUMBER] // Note that this field names the parent container in which the alerting // policy will be written, not the name of the created policy. |name| must be // a host project of a Metrics Scope, otherwise INVALID_ARGUMENT error will // return. The alerting policy that is returned will have a name that // contains a normalized representation of this name as a prefix but adds a // suffix of the form /alertPolicies/[ALERT_POLICY_ID], identifying the // policy in the container. func (r *ProjectsAlertPoliciesService) Create(name string, alertpolicy *AlertPolicy) *ProjectsAlertPoliciesCreateCall { c := &ProjectsAlertPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.alertpolicy = alertpolicy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsAlertPoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsAlertPoliciesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsAlertPoliciesCreateCall) Context(ctx context.Context) *ProjectsAlertPoliciesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsAlertPoliciesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsAlertPoliciesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.alertpolicy) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/alertPolicies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.alertPolicies.create" call. // Any non-2xx status code is an error. Response headers are in either // *AlertPolicy.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsAlertPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*AlertPolicy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AlertPolicy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsAlertPoliciesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an alerting policy.Design your application to single-thread // API calls that modify the state of alerting policies in a single project. // This includes calls to CreateAlertPolicy, DeleteAlertPolicy and // UpdateAlertPolicy. // // - name: The alerting policy to delete. The format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] For more // information, see AlertPolicy. func (r *ProjectsAlertPoliciesService) Delete(name string) *ProjectsAlertPoliciesDeleteCall { c := &ProjectsAlertPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsAlertPoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsAlertPoliciesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsAlertPoliciesDeleteCall) Context(ctx context.Context) *ProjectsAlertPoliciesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsAlertPoliciesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsAlertPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.alertPolicies.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsAlertPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsAlertPoliciesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single alerting policy. // // - name: The alerting policy to retrieve. The format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]. func (r *ProjectsAlertPoliciesService) Get(name string) *ProjectsAlertPoliciesGetCall { c := &ProjectsAlertPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsAlertPoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsAlertPoliciesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsAlertPoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsAlertPoliciesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsAlertPoliciesGetCall) Context(ctx context.Context) *ProjectsAlertPoliciesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsAlertPoliciesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsAlertPoliciesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.alertPolicies.get" call. // Any non-2xx status code is an error. Response headers are in either // *AlertPolicy.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsAlertPoliciesGetCall) Do(opts ...googleapi.CallOption) (*AlertPolicy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AlertPolicy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsAlertPoliciesListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the existing alerting policies for the workspace. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) whose alert // policies are to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER] // Note that this field names the parent container in which the alerting // policies to be listed are stored. To retrieve a single alerting policy by // name, use the GetAlertPolicy operation, instead. func (r *ProjectsAlertPoliciesService) List(name string) *ProjectsAlertPoliciesListCall { c := &ProjectsAlertPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": If provided, this field // specifies the criteria that must be met by alert policies to be included in // the response.For more details, see sorting and filtering // (https://cloud.google.com/monitoring/api/v3/sorting-and-filtering). func (c *ProjectsAlertPoliciesListCall) Filter(filter string) *ProjectsAlertPoliciesListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": A comma-separated list of // fields by which to sort the result. Supports the same set of field // references as the filter field. Entries can be prefixed with a minus sign to // sort by the field in descending order.For more details, see sorting and // filtering // (https://cloud.google.com/monitoring/api/v3/sorting-and-filtering). func (c *ProjectsAlertPoliciesListCall) OrderBy(orderBy string) *ProjectsAlertPoliciesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return in a single response. func (c *ProjectsAlertPoliciesListCall) PageSize(pageSize int64) *ProjectsAlertPoliciesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return more // results from the previous method call. func (c *ProjectsAlertPoliciesListCall) PageToken(pageToken string) *ProjectsAlertPoliciesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsAlertPoliciesListCall) Fields(s ...googleapi.Field) *ProjectsAlertPoliciesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsAlertPoliciesListCall) IfNoneMatch(entityTag string) *ProjectsAlertPoliciesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsAlertPoliciesListCall) Context(ctx context.Context) *ProjectsAlertPoliciesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsAlertPoliciesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsAlertPoliciesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/alertPolicies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.alertPolicies.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListAlertPoliciesResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsAlertPoliciesListCall) Do(opts ...googleapi.CallOption) (*ListAlertPoliciesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListAlertPoliciesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsAlertPoliciesListCall) Pages(ctx context.Context, f func(*ListAlertPoliciesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsAlertPoliciesPatchCall struct { s *Service name string alertpolicy *AlertPolicy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an alerting policy. You can either replace the entire policy // with a new one or replace only certain fields in the current alerting policy // by specifying the fields to be updated via updateMask. Returns the updated // alerting policy.Design your application to single-thread API calls that // modify the state of alerting policies in a single project. This includes // calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. // // - name: Required if the policy exists. The resource name for this policy. // The format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] // [ALERT_POLICY_ID] is assigned by Cloud 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. func (r *ProjectsAlertPoliciesService) Patch(name string, alertpolicy *AlertPolicy) *ProjectsAlertPoliciesPatchCall { c := &ProjectsAlertPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.alertpolicy = alertpolicy return c } // UpdateMask sets the optional parameter "updateMask": A list of alerting // policy field names. If this field is not empty, each listed field in the // existing alerting policy is set to the value of the corresponding field in // the supplied policy (alert_policy), or to the field's default value if the // field is not in the supplied alerting policy. Fields not listed retain their // previous value.Examples of valid field masks include display_name, // documentation, documentation.content, documentation.mime_type, user_labels, // user_label.nameofkey, enabled, conditions, combiner, etc.If this field is // empty, then the supplied alerting policy replaces the existing policy. It is // the same as deleting the existing policy and adding the supplied policy, // except for the following: The new policy will have the same // [ALERT_POLICY_ID] as the former policy. This gives you continuity with the // former policy in your notifications and incidents. Conditions in the new // policy will keep their former [CONDITION_ID] if the supplied condition // includes the name field with that [CONDITION_ID]. If the supplied condition // omits the name field, then a new [CONDITION_ID] is created. func (c *ProjectsAlertPoliciesPatchCall) UpdateMask(updateMask string) *ProjectsAlertPoliciesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsAlertPoliciesPatchCall) Fields(s ...googleapi.Field) *ProjectsAlertPoliciesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsAlertPoliciesPatchCall) Context(ctx context.Context) *ProjectsAlertPoliciesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsAlertPoliciesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsAlertPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.alertpolicy) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.alertPolicies.patch" call. // Any non-2xx status code is an error. Response headers are in either // *AlertPolicy.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsAlertPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*AlertPolicy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &AlertPolicy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsCollectdTimeSeriesCreateCall struct { s *Service name string createcollectdtimeseriesrequest *CreateCollectdTimeSeriesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Cloud Monitoring Agent only: Creates a new time series.This method // is only for use by the Cloud Monitoring Agent. Use // projects.timeSeries.create instead. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) in which to // create the time series. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsCollectdTimeSeriesService) Create(name string, createcollectdtimeseriesrequest *CreateCollectdTimeSeriesRequest) *ProjectsCollectdTimeSeriesCreateCall { c := &ProjectsCollectdTimeSeriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.createcollectdtimeseriesrequest = createcollectdtimeseriesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsCollectdTimeSeriesCreateCall) Fields(s ...googleapi.Field) *ProjectsCollectdTimeSeriesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsCollectdTimeSeriesCreateCall) Context(ctx context.Context) *ProjectsCollectdTimeSeriesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsCollectdTimeSeriesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsCollectdTimeSeriesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createcollectdtimeseriesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/collectdTimeSeries") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.collectdTimeSeries.create" call. // Any non-2xx status code is an error. Response headers are in either // *CreateCollectdTimeSeriesResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsCollectdTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) (*CreateCollectdTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CreateCollectdTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsGroupsCreateCall struct { s *Service name string group *Group urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new group. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) in which to // create the group. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsGroupsService) Create(name string, group *Group) *ProjectsGroupsCreateCall { c := &ProjectsGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.group = group return c } // ValidateOnly sets the optional parameter "validateOnly": If true, validate // this request but do not create the group. func (c *ProjectsGroupsCreateCall) ValidateOnly(validateOnly bool) *ProjectsGroupsCreateCall { c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsCreateCall) Fields(s ...googleapi.Field) *ProjectsGroupsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsCreateCall) Context(ctx context.Context) *ProjectsGroupsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.group) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/groups") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.create" call. // Any non-2xx status code is an error. Response headers are in either // *Group.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsGroupsCreateCall) Do(opts ...googleapi.CallOption) (*Group, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Group{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsGroupsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an existing group. // // - name: The group to delete. The format is: // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]. func (r *ProjectsGroupsService) Delete(name string) *ProjectsGroupsDeleteCall { c := &ProjectsGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Recursive sets the optional parameter "recursive": If this field is true, // then the request means to delete a group with all its descendants. // Otherwise, the request means to delete a group only when it has no // descendants. The default value is false. func (c *ProjectsGroupsDeleteCall) Recursive(recursive bool) *ProjectsGroupsDeleteCall { c.urlParams_.Set("recursive", fmt.Sprint(recursive)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsGroupsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsDeleteCall) Context(ctx context.Context) *ProjectsGroupsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsGroupsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single group. // // - name: The group to retrieve. The format is: // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]. func (r *ProjectsGroupsService) Get(name string) *ProjectsGroupsGetCall { c := &ProjectsGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsGetCall) Fields(s ...googleapi.Field) *ProjectsGroupsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsGroupsGetCall) IfNoneMatch(entityTag string) *ProjectsGroupsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsGetCall) Context(ctx context.Context) *ProjectsGroupsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.get" call. // Any non-2xx status code is an error. Response headers are in either // *Group.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsGroupsGetCall) Do(opts ...googleapi.CallOption) (*Group, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Group{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsGroupsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the existing groups. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) whose groups are // to be listed. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsGroupsService) List(name string) *ProjectsGroupsListCall { c := &ProjectsGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // AncestorsOfGroup sets the optional parameter "ancestorsOfGroup": A group // name. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // Returns groups that are ancestors of the specified group. The groups are // returned in order, starting with the immediate parent and ending with the // most distant ancestor. If the specified group has no immediate parent, the // results are empty. func (c *ProjectsGroupsListCall) AncestorsOfGroup(ancestorsOfGroup string) *ProjectsGroupsListCall { c.urlParams_.Set("ancestorsOfGroup", ancestorsOfGroup) return c } // ChildrenOfGroup sets the optional parameter "childrenOfGroup": A group name. // The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] Returns // groups whose parent_name field contains the group name. If no groups have // this parent, the results are empty. func (c *ProjectsGroupsListCall) ChildrenOfGroup(childrenOfGroup string) *ProjectsGroupsListCall { c.urlParams_.Set("childrenOfGroup", childrenOfGroup) return c } // DescendantsOfGroup sets the optional parameter "descendantsOfGroup": A group // name. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // Returns the descendants of the specified group. This is a superset of the // results returned by the children_of_group filter, and includes // children-of-children, and so forth. func (c *ProjectsGroupsListCall) DescendantsOfGroup(descendantsOfGroup string) *ProjectsGroupsListCall { c.urlParams_.Set("descendantsOfGroup", descendantsOfGroup) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. func (c *ProjectsGroupsListCall) PageSize(pageSize int64) *ProjectsGroupsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the next_page_token value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ProjectsGroupsListCall) PageToken(pageToken string) *ProjectsGroupsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsListCall) Fields(s ...googleapi.Field) *ProjectsGroupsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsGroupsListCall) IfNoneMatch(entityTag string) *ProjectsGroupsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsListCall) Context(ctx context.Context) *ProjectsGroupsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/groups") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListGroupsResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsGroupsListCall) Do(opts ...googleapi.CallOption) (*ListGroupsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListGroupsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsGroupsListCall) Pages(ctx context.Context, f func(*ListGroupsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsGroupsUpdateCall struct { s *Service name string group *Group urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Updates an existing group. You can change any group attributes // except name. // // - 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. func (r *ProjectsGroupsService) Update(name string, group *Group) *ProjectsGroupsUpdateCall { c := &ProjectsGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.group = group return c } // ValidateOnly sets the optional parameter "validateOnly": If true, validate // this request but do not update the existing group. func (c *ProjectsGroupsUpdateCall) ValidateOnly(validateOnly bool) *ProjectsGroupsUpdateCall { c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsUpdateCall) Fields(s ...googleapi.Field) *ProjectsGroupsUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsUpdateCall) Context(ctx context.Context) *ProjectsGroupsUpdateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.group) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.update" call. // Any non-2xx status code is an error. Response headers are in either // *Group.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*Group, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Group{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsGroupsMembersListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the monitored resources that are members of a group. // // - name: The group whose members are listed. The format is: // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]. func (r *ProjectsGroupsMembersService) List(name string) *ProjectsGroupsMembersListCall { c := &ProjectsGroupsMembersListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": An optional list filter // (https://cloud.google.com/monitoring/api/learn_more#filtering) describing // the members to be returned. The filter may reference the type, labels, and // metadata of monitored resources that comprise the group. For example, to // return only resources representing Compute Engine VM instances, use this // filter: `resource.type = "gce_instance" func (c *ProjectsGroupsMembersListCall) Filter(filter string) *ProjectsGroupsMembersListCall { c.urlParams_.Set("filter", filter) return c } // IntervalEndTime sets the optional parameter "interval.endTime": Required. // The end of the time interval. func (c *ProjectsGroupsMembersListCall) IntervalEndTime(intervalEndTime string) *ProjectsGroupsMembersListCall { c.urlParams_.Set("interval.endTime", intervalEndTime) return c } // IntervalStartTime sets the optional parameter "interval.startTime": 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. func (c *ProjectsGroupsMembersListCall) IntervalStartTime(intervalStartTime string) *ProjectsGroupsMembersListCall { c.urlParams_.Set("interval.startTime", intervalStartTime) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. func (c *ProjectsGroupsMembersListCall) PageSize(pageSize int64) *ProjectsGroupsMembersListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the next_page_token value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ProjectsGroupsMembersListCall) PageToken(pageToken string) *ProjectsGroupsMembersListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsGroupsMembersListCall) Fields(s ...googleapi.Field) *ProjectsGroupsMembersListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsGroupsMembersListCall) IfNoneMatch(entityTag string) *ProjectsGroupsMembersListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsGroupsMembersListCall) Context(ctx context.Context) *ProjectsGroupsMembersListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsGroupsMembersListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsGroupsMembersListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/members") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.groups.members.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListGroupMembersResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsGroupsMembersListCall) Do(opts ...googleapi.CallOption) (*ListGroupMembersResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListGroupMembersResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsGroupsMembersListCall) Pages(ctx context.Context, f func(*ListGroupMembersResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsMetricDescriptorsCreateCall struct { s *Service name string metricdescriptor *MetricDescriptor urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new metric descriptor. The creation is executed // asynchronously. User-created metric descriptors define custom metrics // (https://cloud.google.com/monitoring/custom-metrics). The metric descriptor // is updated if it already exists, except that metric labels are never // removed. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: 4 projects/PROJECT_ID_OR_NUMBER. func (r *ProjectsMetricDescriptorsService) Create(name string, metricdescriptor *MetricDescriptor) *ProjectsMetricDescriptorsCreateCall { c := &ProjectsMetricDescriptorsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.metricdescriptor = metricdescriptor return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMetricDescriptorsCreateCall) Fields(s ...googleapi.Field) *ProjectsMetricDescriptorsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMetricDescriptorsCreateCall) Context(ctx context.Context) *ProjectsMetricDescriptorsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMetricDescriptorsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMetricDescriptorsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.metricdescriptor) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/metricDescriptors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.metricDescriptors.create" call. // Any non-2xx status code is an error. Response headers are in either // *MetricDescriptor.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsMetricDescriptorsCreateCall) Do(opts ...googleapi.CallOption) (*MetricDescriptor, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MetricDescriptor{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsMetricDescriptorsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a metric descriptor. Only user-created custom metrics // (https://cloud.google.com/monitoring/custom-metrics) can be deleted. // // - name: The metric descriptor on which to execute the request. The format // is: projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] An // example of [METRIC_ID] is: "custom.googleapis.com/my_test_metric". func (r *ProjectsMetricDescriptorsService) Delete(name string) *ProjectsMetricDescriptorsDeleteCall { c := &ProjectsMetricDescriptorsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMetricDescriptorsDeleteCall) Fields(s ...googleapi.Field) *ProjectsMetricDescriptorsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMetricDescriptorsDeleteCall) Context(ctx context.Context) *ProjectsMetricDescriptorsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMetricDescriptorsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMetricDescriptorsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.metricDescriptors.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsMetricDescriptorsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsMetricDescriptorsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single metric descriptor. // // - name: The metric descriptor on which to execute the request. The format // is: projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] An // example value of [METRIC_ID] is // "compute.googleapis.com/instance/disk/read_bytes_count". func (r *ProjectsMetricDescriptorsService) Get(name string) *ProjectsMetricDescriptorsGetCall { c := &ProjectsMetricDescriptorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMetricDescriptorsGetCall) Fields(s ...googleapi.Field) *ProjectsMetricDescriptorsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsMetricDescriptorsGetCall) IfNoneMatch(entityTag string) *ProjectsMetricDescriptorsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMetricDescriptorsGetCall) Context(ctx context.Context) *ProjectsMetricDescriptorsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMetricDescriptorsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMetricDescriptorsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.metricDescriptors.get" call. // Any non-2xx status code is an error. Response headers are in either // *MetricDescriptor.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsMetricDescriptorsGetCall) Do(opts ...googleapi.CallOption) (*MetricDescriptor, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MetricDescriptor{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsMetricDescriptorsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists metric descriptors that match a filter. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsMetricDescriptorsService) List(name string) *ProjectsMetricDescriptorsListCall { c := &ProjectsMetricDescriptorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": If this field is empty, all // custom and system-defined metric descriptors are returned. Otherwise, the // filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which // metric descriptors are to be returned. For example, the following filter // matches all custom metrics // (https://cloud.google.com/monitoring/custom-metrics): metric.type = // starts_with("custom.googleapis.com/") func (c *ProjectsMetricDescriptorsListCall) Filter(filter string) *ProjectsMetricDescriptorsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. The default and maximum value is // 10,000. If a page_size <= 0 or > 10,000 is submitted, will instead return a // maximum of 10,000 results. func (c *ProjectsMetricDescriptorsListCall) PageSize(pageSize int64) *ProjectsMetricDescriptorsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ProjectsMetricDescriptorsListCall) PageToken(pageToken string) *ProjectsMetricDescriptorsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMetricDescriptorsListCall) Fields(s ...googleapi.Field) *ProjectsMetricDescriptorsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsMetricDescriptorsListCall) IfNoneMatch(entityTag string) *ProjectsMetricDescriptorsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMetricDescriptorsListCall) Context(ctx context.Context) *ProjectsMetricDescriptorsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMetricDescriptorsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMetricDescriptorsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/metricDescriptors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.metricDescriptors.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListMetricDescriptorsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsMetricDescriptorsListCall) Do(opts ...googleapi.CallOption) (*ListMetricDescriptorsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListMetricDescriptorsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsMetricDescriptorsListCall) Pages(ctx context.Context, f func(*ListMetricDescriptorsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsMonitoredResourceDescriptorsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single monitored resource descriptor. // // - name: The monitored resource descriptor to get. The format is: // projects/[PROJECT_ID_OR_NUMBER]/monitoredResourceDescriptors/[RESOURCE_TYPE // ] The [RESOURCE_TYPE] is a predefined type, such as cloudsql_database. func (r *ProjectsMonitoredResourceDescriptorsService) Get(name string) *ProjectsMonitoredResourceDescriptorsGetCall { c := &ProjectsMonitoredResourceDescriptorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMonitoredResourceDescriptorsGetCall) Fields(s ...googleapi.Field) *ProjectsMonitoredResourceDescriptorsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsMonitoredResourceDescriptorsGetCall) IfNoneMatch(entityTag string) *ProjectsMonitoredResourceDescriptorsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMonitoredResourceDescriptorsGetCall) Context(ctx context.Context) *ProjectsMonitoredResourceDescriptorsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMonitoredResourceDescriptorsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMonitoredResourceDescriptorsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.monitoredResourceDescriptors.get" call. // Any non-2xx status code is an error. Response headers are in either // *MonitoredResourceDescriptor.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsMonitoredResourceDescriptorsGetCall) Do(opts ...googleapi.CallOption) (*MonitoredResourceDescriptor, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MonitoredResourceDescriptor{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsMonitoredResourceDescriptorsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists monitored resource descriptors that match a filter. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsMonitoredResourceDescriptorsService) List(name string) *ProjectsMonitoredResourceDescriptorsListCall { c := &ProjectsMonitoredResourceDescriptorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": An optional filter // (https://cloud.google.com/monitoring/api/v3/filters) describing the // descriptors to be returned. The filter can reference the descriptor's type // and labels. For example, the following filter returns only Google Compute // Engine descriptors that have an id label: resource.type = // starts_with("gce_") AND resource.label:id func (c *ProjectsMonitoredResourceDescriptorsListCall) Filter(filter string) *ProjectsMonitoredResourceDescriptorsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. func (c *ProjectsMonitoredResourceDescriptorsListCall) PageSize(pageSize int64) *ProjectsMonitoredResourceDescriptorsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ProjectsMonitoredResourceDescriptorsListCall) PageToken(pageToken string) *ProjectsMonitoredResourceDescriptorsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsMonitoredResourceDescriptorsListCall) Fields(s ...googleapi.Field) *ProjectsMonitoredResourceDescriptorsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsMonitoredResourceDescriptorsListCall) IfNoneMatch(entityTag string) *ProjectsMonitoredResourceDescriptorsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsMonitoredResourceDescriptorsListCall) Context(ctx context.Context) *ProjectsMonitoredResourceDescriptorsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsMonitoredResourceDescriptorsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsMonitoredResourceDescriptorsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/monitoredResourceDescriptors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.monitoredResourceDescriptors.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListMonitoredResourceDescriptorsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsMonitoredResourceDescriptorsListCall) Do(opts ...googleapi.CallOption) (*ListMonitoredResourceDescriptorsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListMonitoredResourceDescriptorsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsMonitoredResourceDescriptorsListCall) Pages(ctx context.Context, f func(*ListMonitoredResourceDescriptorsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsNotificationChannelDescriptorsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single channel descriptor. The descriptor indicates which fields // are expected / permitted for a notification channel of the given type. // // - name: The channel type for which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[CHANNEL_TYP // E]. func (r *ProjectsNotificationChannelDescriptorsService) Get(name string) *ProjectsNotificationChannelDescriptorsGetCall { c := &ProjectsNotificationChannelDescriptorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelDescriptorsGetCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelDescriptorsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsNotificationChannelDescriptorsGetCall) IfNoneMatch(entityTag string) *ProjectsNotificationChannelDescriptorsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelDescriptorsGetCall) Context(ctx context.Context) *ProjectsNotificationChannelDescriptorsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelDescriptorsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelDescriptorsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannelDescriptors.get" call. // Any non-2xx status code is an error. Response headers are in either // *NotificationChannelDescriptor.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsNotificationChannelDescriptorsGetCall) Do(opts ...googleapi.CallOption) (*NotificationChannelDescriptor, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NotificationChannelDescriptor{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelDescriptorsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the descriptors for supported channel types. The use of // descriptors makes it possible for new channel types to be dynamically added. // // - name: The REST resource name of the parent from which to retrieve the // notification channel descriptors. The expected syntax is: // projects/[PROJECT_ID_OR_NUMBER] Note that this names // (https://cloud.google.com/monitoring/api/v3#project_name) the parent // container in which to look for the descriptors; to retrieve a single // descriptor by name, use the GetNotificationChannelDescriptor operation, // instead. func (r *ProjectsNotificationChannelDescriptorsService) List(name string) *ProjectsNotificationChannelDescriptorsListCall { c := &ProjectsNotificationChannelDescriptorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return in a single response. If not set to a positive number, a // reasonable value will be chosen by the service. func (c *ProjectsNotificationChannelDescriptorsListCall) PageSize(pageSize int64) *ProjectsNotificationChannelDescriptorsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If non-empty, page_token // must contain a value returned as the next_page_token in a previous response // to request the next set of results. func (c *ProjectsNotificationChannelDescriptorsListCall) PageToken(pageToken string) *ProjectsNotificationChannelDescriptorsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelDescriptorsListCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelDescriptorsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsNotificationChannelDescriptorsListCall) IfNoneMatch(entityTag string) *ProjectsNotificationChannelDescriptorsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelDescriptorsListCall) Context(ctx context.Context) *ProjectsNotificationChannelDescriptorsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelDescriptorsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelDescriptorsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/notificationChannelDescriptors") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannelDescriptors.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListNotificationChannelDescriptorsResponse.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsNotificationChannelDescriptorsListCall) Do(opts ...googleapi.CallOption) (*ListNotificationChannelDescriptorsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListNotificationChannelDescriptorsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsNotificationChannelDescriptorsListCall) Pages(ctx context.Context, f func(*ListNotificationChannelDescriptorsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsNotificationChannelsCreateCall struct { s *Service name string notificationchannel *NotificationChannel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new notification channel, representing a single // notification endpoint such as an email address, SMS number, or PagerDuty // service.Design your application to single-thread API calls that modify the // state of notification channels in a single project. This includes calls to // CreateNotificationChannel, DeleteNotificationChannel and // UpdateNotificationChannel. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This // names the container into which the channel will be written, this does not // name the newly created channel. The resulting channel's name will have a // normalized version of this field as a prefix, but will add // /notificationChannels/[CHANNEL_ID] to identify the channel. func (r *ProjectsNotificationChannelsService) Create(name string, notificationchannel *NotificationChannel) *ProjectsNotificationChannelsCreateCall { c := &ProjectsNotificationChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.notificationchannel = notificationchannel return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsCreateCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsCreateCall) Context(ctx context.Context) *ProjectsNotificationChannelsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.notificationchannel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/notificationChannels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.create" call. // Any non-2xx status code is an error. Response headers are in either // *NotificationChannel.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsNotificationChannelsCreateCall) Do(opts ...googleapi.CallOption) (*NotificationChannel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NotificationChannel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a notification channel.Design your application to // single-thread API calls that modify the state of notification channels in a // single project. This includes calls to CreateNotificationChannel, // DeleteNotificationChannel and UpdateNotificationChannel. // // - name: The channel for which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]. func (r *ProjectsNotificationChannelsService) Delete(name string) *ProjectsNotificationChannelsDeleteCall { c := &ProjectsNotificationChannelsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Force sets the optional parameter "force": If true, the notification channel // will be deleted regardless of its use in alert policies (the policies will // be updated to remove the channel). If false, channels that are still // referenced by an existing alerting policy will fail to be deleted in a // delete operation. func (c *ProjectsNotificationChannelsDeleteCall) Force(force bool) *ProjectsNotificationChannelsDeleteCall { c.urlParams_.Set("force", fmt.Sprint(force)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsDeleteCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsDeleteCall) Context(ctx context.Context) *ProjectsNotificationChannelsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsNotificationChannelsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single notification channel. The channel includes the relevant // configuration details with which the channel was created. However, the // response may truncate or omit passwords, API keys, or other private key // matter and thus the response may not be 100% identical to the information // that was supplied in the call to the create method. // // - name: The channel for which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]. func (r *ProjectsNotificationChannelsService) Get(name string) *ProjectsNotificationChannelsGetCall { c := &ProjectsNotificationChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsGetCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsNotificationChannelsGetCall) IfNoneMatch(entityTag string) *ProjectsNotificationChannelsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsGetCall) Context(ctx context.Context) *ProjectsNotificationChannelsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.get" call. // Any non-2xx status code is an error. Response headers are in either // *NotificationChannel.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsNotificationChannelsGetCall) Do(opts ...googleapi.CallOption) (*NotificationChannel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NotificationChannel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsGetVerificationCodeCall struct { s *Service name string getnotificationchannelverificationcoderequest *GetNotificationChannelVerificationCodeRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // GetVerificationCode: Requests a verification code for an already verified // channel that can then be used in a call to VerifyNotificationChannel() on a // different channel with an equivalent identity in the same or in a different // project. This makes it possible to copy a channel between projects without // requiring manual reverification of the channel. If the channel is not in the // verified state, this method will fail (in other words, this may only be used // if the SendNotificationChannelVerificationCode and VerifyNotificationChannel // paths have already been used to put the given channel into the verified // state).There is no guarantee that the verification codes returned by this // method will be of a similar structure or form as the ones that are delivered // to the channel via SendNotificationChannelVerificationCode; while // VerifyNotificationChannel() will recognize both the codes delivered via // SendNotificationChannelVerificationCode() and returned from // GetNotificationChannelVerificationCode(), it is typically the case that the // verification codes delivered via SendNotificationChannelVerificationCode() // will be shorter and also have a shorter expiration (e.g. codes such as // "G-123456") whereas GetVerificationCode() will typically return a much // longer, websafe base 64 encoded string that has a longer expiration time. // // - name: The notification channel for which a verification code is to be // generated and retrieved. This must name a channel that is already // verified; if the specified channel is not verified, the request will fail. func (r *ProjectsNotificationChannelsService) GetVerificationCode(name string, getnotificationchannelverificationcoderequest *GetNotificationChannelVerificationCodeRequest) *ProjectsNotificationChannelsGetVerificationCodeCall { c := &ProjectsNotificationChannelsGetVerificationCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.getnotificationchannelverificationcoderequest = getnotificationchannelverificationcoderequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsGetVerificationCodeCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsGetVerificationCodeCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsGetVerificationCodeCall) Context(ctx context.Context) *ProjectsNotificationChannelsGetVerificationCodeCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsGetVerificationCodeCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsGetVerificationCodeCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.getnotificationchannelverificationcoderequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:getVerificationCode") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.getVerificationCode" call. // Any non-2xx status code is an error. Response headers are in either // *GetNotificationChannelVerificationCodeResponse.ServerResponse.Header or (if // a response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsNotificationChannelsGetVerificationCodeCall) Do(opts ...googleapi.CallOption) (*GetNotificationChannelVerificationCodeResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GetNotificationChannelVerificationCodeResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the notification channels that have been created for the // project. To list the types of notification channels that are supported, use // the ListNotificationChannelDescriptors method. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER] This // names the container in which to look for the notification channels; it // does not name a specific channel. To query a specific channel by REST // resource name, use the GetNotificationChannel operation. func (r *ProjectsNotificationChannelsService) List(name string) *ProjectsNotificationChannelsListCall { c := &ProjectsNotificationChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": If provided, this field // specifies the criteria that must be met by notification channels to be // included in the response.For more details, see sorting and filtering // (https://cloud.google.com/monitoring/api/v3/sorting-and-filtering). func (c *ProjectsNotificationChannelsListCall) Filter(filter string) *ProjectsNotificationChannelsListCall { c.urlParams_.Set("filter", filter) return c } // OrderBy sets the optional parameter "orderBy": A comma-separated list of // fields by which to sort the result. Supports the same set of fields as in // filter. Entries can be prefixed with a minus sign to sort in descending // rather than ascending order.For more details, see sorting and filtering // (https://cloud.google.com/monitoring/api/v3/sorting-and-filtering). func (c *ProjectsNotificationChannelsListCall) OrderBy(orderBy string) *ProjectsNotificationChannelsListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return in a single response. If not set to a positive number, a // reasonable value will be chosen by the service. func (c *ProjectsNotificationChannelsListCall) PageSize(pageSize int64) *ProjectsNotificationChannelsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If non-empty, page_token // must contain a value returned as the next_page_token in a previous response // to request the next set of results. func (c *ProjectsNotificationChannelsListCall) PageToken(pageToken string) *ProjectsNotificationChannelsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsListCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsNotificationChannelsListCall) IfNoneMatch(entityTag string) *ProjectsNotificationChannelsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsListCall) Context(ctx context.Context) *ProjectsNotificationChannelsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/notificationChannels") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListNotificationChannelsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsNotificationChannelsListCall) Do(opts ...googleapi.CallOption) (*ListNotificationChannelsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListNotificationChannelsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsNotificationChannelsListCall) Pages(ctx context.Context, f func(*ListNotificationChannelsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsNotificationChannelsPatchCall struct { s *Service name string notificationchannel *NotificationChannel urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a notification channel. Fields not specified in the field // mask remain unchanged.Design your application to single-thread API calls // that modify the state of notification channels in a single project. This // includes calls to CreateNotificationChannel, DeleteNotificationChannel and // UpdateNotificationChannel. // // - name: The full REST resource name for this channel. The format is: // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The // [CHANNEL_ID] is automatically assigned by the server on creation. func (r *ProjectsNotificationChannelsService) Patch(name string, notificationchannel *NotificationChannel) *ProjectsNotificationChannelsPatchCall { c := &ProjectsNotificationChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.notificationchannel = notificationchannel return c } // UpdateMask sets the optional parameter "updateMask": The fields to update. func (c *ProjectsNotificationChannelsPatchCall) UpdateMask(updateMask string) *ProjectsNotificationChannelsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsPatchCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsPatchCall) Context(ctx context.Context) *ProjectsNotificationChannelsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.notificationchannel) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.patch" call. // Any non-2xx status code is an error. Response headers are in either // *NotificationChannel.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsNotificationChannelsPatchCall) Do(opts ...googleapi.CallOption) (*NotificationChannel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NotificationChannel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsSendVerificationCodeCall struct { s *Service name string sendnotificationchannelverificationcoderequest *SendNotificationChannelVerificationCodeRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // SendVerificationCode: Causes a verification code to be delivered to the // channel. The code can then be supplied in VerifyNotificationChannel to // verify the channel. // // - name: The notification channel to which to send a verification code. func (r *ProjectsNotificationChannelsService) SendVerificationCode(name string, sendnotificationchannelverificationcoderequest *SendNotificationChannelVerificationCodeRequest) *ProjectsNotificationChannelsSendVerificationCodeCall { c := &ProjectsNotificationChannelsSendVerificationCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.sendnotificationchannelverificationcoderequest = sendnotificationchannelverificationcoderequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsSendVerificationCodeCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsSendVerificationCodeCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsSendVerificationCodeCall) Context(ctx context.Context) *ProjectsNotificationChannelsSendVerificationCodeCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsSendVerificationCodeCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsSendVerificationCodeCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.sendnotificationchannelverificationcoderequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:sendVerificationCode") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.sendVerificationCode" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsNotificationChannelsSendVerificationCodeCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsNotificationChannelsVerifyCall struct { s *Service name string verifynotificationchannelrequest *VerifyNotificationChannelRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Verify: Verifies a NotificationChannel by proving receipt of the code // delivered to the channel as a result of calling // SendNotificationChannelVerificationCode. // // - name: The notification channel to verify. func (r *ProjectsNotificationChannelsService) Verify(name string, verifynotificationchannelrequest *VerifyNotificationChannelRequest) *ProjectsNotificationChannelsVerifyCall { c := &ProjectsNotificationChannelsVerifyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.verifynotificationchannelrequest = verifynotificationchannelrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsNotificationChannelsVerifyCall) Fields(s ...googleapi.Field) *ProjectsNotificationChannelsVerifyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsNotificationChannelsVerifyCall) Context(ctx context.Context) *ProjectsNotificationChannelsVerifyCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsNotificationChannelsVerifyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsNotificationChannelsVerifyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.verifynotificationchannelrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}:verify") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.notificationChannels.verify" call. // Any non-2xx status code is an error. Response headers are in either // *NotificationChannel.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsNotificationChannelsVerifyCall) Do(opts ...googleapi.CallOption) (*NotificationChannel, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &NotificationChannel{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsSnoozesCreateCall struct { s *Service parent string snooze *Snooze urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a Snooze that will prevent alerts, which match the provided // criteria, from being opened. The Snooze applies for a specific time // interval. // // - parent: The project // (https://cloud.google.com/monitoring/api/v3#project_name) in which a // Snooze should be created. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsSnoozesService) Create(parent string, snooze *Snooze) *ProjectsSnoozesCreateCall { c := &ProjectsSnoozesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.snooze = snooze return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsSnoozesCreateCall) Fields(s ...googleapi.Field) *ProjectsSnoozesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsSnoozesCreateCall) Context(ctx context.Context) *ProjectsSnoozesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsSnoozesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsSnoozesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.snooze) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/snoozes") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.snoozes.create" call. // Any non-2xx status code is an error. Response headers are in either // *Snooze.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsSnoozesCreateCall) Do(opts ...googleapi.CallOption) (*Snooze, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Snooze{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsSnoozesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Retrieves a Snooze by name. // // - name: The ID of the Snooze to retrieve. The format is: // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID]. func (r *ProjectsSnoozesService) Get(name string) *ProjectsSnoozesGetCall { c := &ProjectsSnoozesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsSnoozesGetCall) Fields(s ...googleapi.Field) *ProjectsSnoozesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsSnoozesGetCall) IfNoneMatch(entityTag string) *ProjectsSnoozesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsSnoozesGetCall) Context(ctx context.Context) *ProjectsSnoozesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsSnoozesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsSnoozesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.snoozes.get" call. // Any non-2xx status code is an error. Response headers are in either // *Snooze.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsSnoozesGetCall) Do(opts ...googleapi.CallOption) (*Snooze, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Snooze{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsSnoozesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the Snoozes associated with a project. Can optionally pass in // filter, which specifies predicates to match Snoozes. // // - parent: The project // (https://cloud.google.com/monitoring/api/v3#project_name) whose Snoozes // should be listed. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsSnoozesService) List(parent string) *ProjectsSnoozesListCall { c := &ProjectsSnoozesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": Optional filter to restrict // results to the given criteria. The following fields are supported. // interval.start_time interval.end_timeFor example: ``` interval.start_time > // "2022-03-11T00:00:00-08:00" AND interval.end_time < // "2022-03-12T00:00:00-08:00" ``` func (c *ProjectsSnoozesListCall) Filter(filter string) *ProjectsSnoozesListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return for a single query. The server may further constrain the // maximum number of results returned in a single page. The value should be in // the range 1, 1000. If the value given is outside this range, the server will // decide the number of results to be returned. func (c *ProjectsSnoozesListCall) PageSize(pageSize int64) *ProjectsSnoozesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The next_page_token from // a previous call to ListSnoozesRequest to get the next page of results. func (c *ProjectsSnoozesListCall) PageToken(pageToken string) *ProjectsSnoozesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsSnoozesListCall) Fields(s ...googleapi.Field) *ProjectsSnoozesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsSnoozesListCall) IfNoneMatch(entityTag string) *ProjectsSnoozesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsSnoozesListCall) Context(ctx context.Context) *ProjectsSnoozesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsSnoozesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsSnoozesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/snoozes") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.snoozes.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListSnoozesResponse.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsSnoozesListCall) Do(opts ...googleapi.CallOption) (*ListSnoozesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListSnoozesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsSnoozesListCall) Pages(ctx context.Context, f func(*ListSnoozesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsSnoozesPatchCall struct { s *Service name string snooze *Snooze urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a Snooze, identified by its name, with the parameters in the // given Snooze object. // // - name: The name of the Snooze. The format is: // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] The ID of the Snooze // will be generated by the system. func (r *ProjectsSnoozesService) Patch(name string, snooze *Snooze) *ProjectsSnoozesPatchCall { c := &ProjectsSnoozesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.snooze = snooze return c } // UpdateMask sets the optional parameter "updateMask": Required. The fields to // update.For each field listed in update_mask: If the Snooze object supplied // in the UpdateSnoozeRequest has a value for that field, the value of the // field in the existing Snooze will be set to the value of the field in the // supplied Snooze. If the field does not have a value in the supplied Snooze, // the field in the existing Snooze is set to its default value.Fields not // listed retain their existing value.The following are the field names that // are accepted in update_mask: display_name interval.start_time // interval.end_timeThat said, the start time and end time of the Snooze // determines which fields can legally be updated. Before attempting an update, // users should consult the documentation for UpdateSnoozeRequest, which talks // about which fields can be updated. func (c *ProjectsSnoozesPatchCall) UpdateMask(updateMask string) *ProjectsSnoozesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsSnoozesPatchCall) Fields(s ...googleapi.Field) *ProjectsSnoozesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsSnoozesPatchCall) Context(ctx context.Context) *ProjectsSnoozesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsSnoozesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsSnoozesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.snooze) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.snoozes.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Snooze.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsSnoozesPatchCall) Do(opts ...googleapi.CallOption) (*Snooze, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Snooze{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsTimeSeriesCreateCall struct { s *Service name string createtimeseriesrequest *CreateTimeSeriesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates or adds data to one or more time series. The response is // empty if all time series in the request were written. If any time series // could not be written, a corresponding failure message is included in the // error response. This method does not support resource locations constraint // of an organization policy // (https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy). // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsTimeSeriesService) Create(name string, createtimeseriesrequest *CreateTimeSeriesRequest) *ProjectsTimeSeriesCreateCall { c := &ProjectsTimeSeriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.createtimeseriesrequest = createtimeseriesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsTimeSeriesCreateCall) Fields(s ...googleapi.Field) *ProjectsTimeSeriesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsTimeSeriesCreateCall) Context(ctx context.Context) *ProjectsTimeSeriesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsTimeSeriesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsTimeSeriesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createtimeseriesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.timeSeries.create" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsTimeSeriesCreateCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsTimeSeriesCreateServiceCall struct { s *Service name string createtimeseriesrequest *CreateTimeSeriesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // CreateService: Creates or adds data to one or more service time series. A // service time series is a time series for a metric from a Google Cloud // service. The response is empty if all time series in the request were // written. If any time series could not be written, a corresponding failure // message is included in the error response. This endpoint rejects writes to // user-defined metrics. This method is only for use by Google Cloud services. // Use projects.timeSeries.create instead. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsTimeSeriesService) CreateService(name string, createtimeseriesrequest *CreateTimeSeriesRequest) *ProjectsTimeSeriesCreateServiceCall { c := &ProjectsTimeSeriesCreateServiceCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.createtimeseriesrequest = createtimeseriesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsTimeSeriesCreateServiceCall) Fields(s ...googleapi.Field) *ProjectsTimeSeriesCreateServiceCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsTimeSeriesCreateServiceCall) Context(ctx context.Context) *ProjectsTimeSeriesCreateServiceCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsTimeSeriesCreateServiceCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsTimeSeriesCreateServiceCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.createtimeseriesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries:createService") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.timeSeries.createService" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsTimeSeriesCreateServiceCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsTimeSeriesListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists time series that match a filter. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name), organization or // folder on which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER] organizations/[ORGANIZATION_ID] // folders/[FOLDER_ID]. func (r *ProjectsTimeSeriesService) List(name string) *ProjectsTimeSeriesListCall { c := &ProjectsTimeSeriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // AggregationAlignmentPeriod sets the optional parameter // "aggregation.alignmentPeriod": The alignment_period specifies a time // interval, in seconds, that is used to divide the data in all the time series // into consistent blocks of time. This will be done before the per-series // aligner can be applied to the data.The value must be at least 60 seconds. If // a per-series aligner other than ALIGN_NONE is specified, this field is // required or an error is returned. If no per-series aligner is specified, or // the aligner ALIGN_NONE is specified, then this field is ignored.The maximum // value of the alignment_period is 104 weeks (2 years) for charts, and 90,000 // seconds (25 hours) for alerting policies. func (c *ProjectsTimeSeriesListCall) AggregationAlignmentPeriod(aggregationAlignmentPeriod string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("aggregation.alignmentPeriod", aggregationAlignmentPeriod) return c } // AggregationCrossSeriesReducer sets the optional parameter // "aggregation.crossSeriesReducer": The reduction operation to be used to // combine time series into a single time series, where the value of each data // point in the resulting series is a function of all the already aligned // values in the input time series.Not all reducer operations can be applied to // all time series. The valid choices depend on the metric_kind and the // value_type of the original time series. Reduction can yield a time series // with a different metric_kind or value_type than the input time series.Time // series data must first be aligned (see per_series_aligner) in order to // perform cross-time series reduction. If cross_series_reducer is specified, // then per_series_aligner must be specified, and must not be ALIGN_NONE. An // alignment_period must also be specified; otherwise, an error is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *ProjectsTimeSeriesListCall) AggregationCrossSeriesReducer(aggregationCrossSeriesReducer string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("aggregation.crossSeriesReducer", aggregationCrossSeriesReducer) return c } // AggregationGroupByFields sets the optional parameter // "aggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *ProjectsTimeSeriesListCall) AggregationGroupByFields(aggregationGroupByFields ...string) *ProjectsTimeSeriesListCall { c.urlParams_.SetMulti("aggregation.groupByFields", append([]string{}, aggregationGroupByFields...)) return c } // AggregationPerSeriesAligner sets the optional parameter // "aggregation.perSeriesAligner": An Aligner describes how to bring the data // points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *ProjectsTimeSeriesListCall) AggregationPerSeriesAligner(aggregationPerSeriesAligner string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("aggregation.perSeriesAligner", aggregationPerSeriesAligner) return c } // Filter sets the optional parameter "filter": Required. A monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) that specifies which // time series should be returned. The filter must specify a single metric // type, and can additionally specify metric labels and other information. For // example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND // metric.labels.instance_name = "my-instance-name" func (c *ProjectsTimeSeriesListCall) Filter(filter string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("filter", filter) return c } // IntervalEndTime sets the optional parameter "interval.endTime": Required. // The end of the time interval. func (c *ProjectsTimeSeriesListCall) IntervalEndTime(intervalEndTime string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("interval.endTime", intervalEndTime) return c } // IntervalStartTime sets the optional parameter "interval.startTime": 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. func (c *ProjectsTimeSeriesListCall) IntervalStartTime(intervalStartTime string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("interval.startTime", intervalStartTime) return c } // OrderBy sets the optional parameter "orderBy": Unsupported: must be left // blank. The points in each time series are currently returned in reverse time // order (most recent to oldest). func (c *ProjectsTimeSeriesListCall) OrderBy(orderBy string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. If page_size is empty or more than // 100,000 results, the effective page_size is 100,000 results. If view is set // to FULL, this is the maximum number of Points returned. If view is set to // HEADERS, this is the maximum number of TimeSeries returned. func (c *ProjectsTimeSeriesListCall) PageSize(pageSize int64) *ProjectsTimeSeriesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ProjectsTimeSeriesListCall) PageToken(pageToken string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // SecondaryAggregationAlignmentPeriod sets the optional parameter // "secondaryAggregation.alignmentPeriod": The alignment_period specifies a // time interval, in seconds, that is used to divide the data in all the time // series into consistent blocks of time. This will be done before the // per-series aligner can be applied to the data.The value must be at least 60 // seconds. If a per-series aligner other than ALIGN_NONE is specified, this // field is required or an error is returned. If no per-series aligner is // specified, or the aligner ALIGN_NONE is specified, then this field is // ignored.The maximum value of the alignment_period is 104 weeks (2 years) for // charts, and 90,000 seconds (25 hours) for alerting policies. func (c *ProjectsTimeSeriesListCall) SecondaryAggregationAlignmentPeriod(secondaryAggregationAlignmentPeriod string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.alignmentPeriod", secondaryAggregationAlignmentPeriod) return c } // SecondaryAggregationCrossSeriesReducer sets the optional parameter // "secondaryAggregation.crossSeriesReducer": The reduction operation to be // used to combine time series into a single time series, where the value of // each data point in the resulting series is a function of all the already // aligned values in the input time series.Not all reducer operations can be // applied to all time series. The valid choices depend on the metric_kind and // the value_type of the original time series. Reduction can yield a time // series with a different metric_kind or value_type than the input time // series.Time series data must first be aligned (see per_series_aligner) in // order to perform cross-time series reduction. If cross_series_reducer is // specified, then per_series_aligner must be specified, and must not be // ALIGN_NONE. An alignment_period must also be specified; otherwise, an error // is returned. // // Possible values: // // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner // // is returned. // // "REDUCE_MEAN" - Reduce by computing the mean value across time series for // // each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric or distribution values. The value_type of the output is DOUBLE. // // "REDUCE_MIN" - Reduce by computing the minimum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_MAX" - Reduce by computing the maximum value across time series // // for each alignment period. This reducer is valid for DELTA and GAUGE metrics // with numeric values. The value_type of the output is the same as the // value_type of the input. // // "REDUCE_SUM" - Reduce by computing the sum across time series for each // // alignment period. This reducer is valid for DELTA and GAUGE metrics with // numeric and distribution values. The value_type of the output is the same as // the value_type of the input. // // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics with numeric or distribution values. The value_type of the output is // DOUBLE. // // "REDUCE_COUNT" - Reduce by computing the number of data points across time // // series for each alignment period. This reducer is valid for DELTA and GAUGE // metrics of numeric, Boolean, distribution, and string value_type. The // value_type of the output is INT64. // // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data // // points across time series for each alignment period. This reducer is valid // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the // output is INT64. // // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of // // True-valued data points to the total number of data points for each // alignment period. This reducer is valid for DELTA and GAUGE metrics of // Boolean value_type. The output value is in the range 0.0, 1.0 and has // value_type DOUBLE. // // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. // // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile // // (https://en.wikipedia.org/wiki/Percentile) of data points across time series // for each alignment period. This reducer is valid for GAUGE and DELTA metrics // of numeric and distribution type. The value of the output is DOUBLE. func (c *ProjectsTimeSeriesListCall) SecondaryAggregationCrossSeriesReducer(secondaryAggregationCrossSeriesReducer string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.crossSeriesReducer", secondaryAggregationCrossSeriesReducer) return c } // SecondaryAggregationGroupByFields sets the optional parameter // "secondaryAggregation.groupByFields": The set of fields to preserve when // cross_series_reducer is specified. The group_by_fields determine how the // time series are partitioned into subsets prior to applying the aggregation // operation. Each subset contains time series that have the same value for // each of the grouping fields. Each individual time series is a member of // exactly one subset. The cross_series_reducer is applied to each subset of // time series. It is not possible to reduce across different resource types, // so this field implicitly contains resource.type. Fields not specified in // group_by_fields are aggregated away. If group_by_fields is not specified and // all the time series have the same resource type, then the time series are // aggregated into a single output time series. If cross_series_reducer is not // defined, this field is ignored. func (c *ProjectsTimeSeriesListCall) SecondaryAggregationGroupByFields(secondaryAggregationGroupByFields ...string) *ProjectsTimeSeriesListCall { c.urlParams_.SetMulti("secondaryAggregation.groupByFields", append([]string{}, secondaryAggregationGroupByFields...)) return c } // SecondaryAggregationPerSeriesAligner sets the optional parameter // "secondaryAggregation.perSeriesAligner": An Aligner describes how to bring // the data points in a single time series into temporal alignment. Except for // ALIGN_NONE, all alignments cause all the data points in an alignment_period // to be mathematically grouped together, resulting in a single data point for // each alignment_period with end timestamp at the end of the period.Not all // alignment operations may be applied to all time series. The valid choices // depend on the metric_kind and value_type of the original time series. // Alignment can change the metric_kind or the value_type of the time // series.Time series data must be aligned in order to perform cross-time // series reduction. If cross_series_reducer is specified, then // per_series_aligner must be specified and not equal to ALIGN_NONE and // alignment_period must be specified; otherwise, an error is returned. // // Possible values: // // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if // // cross-series reduction is requested. The value_type of the result is the // same as the value_type of the input. // // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - // // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected // alignment period results in periods with no data, then the aligned value for // such a period is created by interpolation. The value_type of the aligned // result is the same as the value_type of the input. // // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate // // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as // providing the slope of the line that passes through the value at the start // and at the end of the alignment_period.This aligner is valid for CUMULATIVE // and DELTA metrics with numeric values. If the selected alignment period // results in periods with no data, then the aligned value for such a period is // created by interpolation. The output is a GAUGE metric with value_type // DOUBLE.If, by "rate", you mean "percentage change", see the // ALIGN_PERCENT_CHANGE aligner instead. // // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points // // around the alignment period boundary. This aligner is valid for GAUGE // metrics with numeric values. The value_type of the aligned result is the // same as the value_type of the input. // // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the // // end of the alignment period to the boundary at the end of the alignment // period. This aligner is valid for GAUGE metrics. The value_type of the // aligned result is the same as the value_type of the input. // // "ALIGN_MIN" - Align the time series by returning the minimum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MAX" - Align the time series by returning the maximum value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is the same as the // value_type of the input. // // "ALIGN_MEAN" - Align the time series by returning the mean value in each // // alignment period. This aligner is valid for GAUGE and DELTA metrics with // numeric values. The value_type of the aligned result is DOUBLE. // // "ALIGN_COUNT" - Align the time series by returning the number of values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric or Boolean values. The value_type of the aligned result is // INT64. // // "ALIGN_SUM" - Align the time series by returning the sum of the values in // // each alignment period. This aligner is valid for GAUGE and DELTA metrics // with numeric and distribution values. The value_type of the aligned result // is the same as the value_type of the input. // // "ALIGN_STDDEV" - Align the time series by returning the standard deviation // // of the values in each alignment period. This aligner is valid for GAUGE and // DELTA metrics with numeric values. The value_type of the output is DOUBLE. // // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True // // values in each alignment period. This aligner is valid for GAUGE metrics // with Boolean values. The value_type of the output is INT64. // // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of // // False values in each alignment period. This aligner is valid for GAUGE // metrics with Boolean values. The value_type of the output is INT64. // // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of // // the number of True values to the total number of values in each alignment // period. This aligner is valid for GAUGE metrics with Boolean values. The // output value is in the range 0.0, 1.0 and has value_type DOUBLE. // // "ALIGN_PERCENTILE_99" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 99th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_95" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 95th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_50" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 50th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENTILE_05" - Align the time series by using percentile // // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data // point in each alignment period is the 5th percentile of all data points in // the period. This aligner is valid for GAUGE and DELTA metrics with // distribution values. The output is a GAUGE metric with value_type DOUBLE. // // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This // // aligner is valid for GAUGE and DELTA metrics with numeric values. This // alignment returns ((current - previous)/previous) * 100, where the value of // previous is determined based on the alignment_period.If the values of // current and previous are both 0, then the returned value is 0. If only // previous is 0, the returned value is infinity.A 10-minute moving mean is // computed at each point of the alignment period prior to the above // calculation to smooth the metric and prevent false positives from very // short-lived spikes. The moving mean is only applicable for data whose values // are >= 0. Any values < 0 are treated as a missing datapoint, and are // ignored. While DELTA metrics are accepted by this alignment, special care // should be taken that the values for the metric will always be positive. The // output is a GAUGE metric with value_type DOUBLE. func (c *ProjectsTimeSeriesListCall) SecondaryAggregationPerSeriesAligner(secondaryAggregationPerSeriesAligner string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("secondaryAggregation.perSeriesAligner", secondaryAggregationPerSeriesAligner) return c } // View sets the optional parameter "view": Required. Specifies which // information is returned about the time series. // // Possible values: // // "FULL" - Returns the identity of the metric(s), the time series, and the // // time series data. // // "HEADERS" - Returns the identity of the metric and the time series // // resource, but not the time series data. func (c *ProjectsTimeSeriesListCall) View(view string) *ProjectsTimeSeriesListCall { c.urlParams_.Set("view", view) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsTimeSeriesListCall) Fields(s ...googleapi.Field) *ProjectsTimeSeriesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsTimeSeriesListCall) IfNoneMatch(entityTag string) *ProjectsTimeSeriesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsTimeSeriesListCall) Context(ctx context.Context) *ProjectsTimeSeriesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsTimeSeriesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsTimeSeriesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.timeSeries.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListTimeSeriesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsTimeSeriesListCall) Do(opts ...googleapi.CallOption) (*ListTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsTimeSeriesListCall) Pages(ctx context.Context, f func(*ListTimeSeriesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsTimeSeriesQueryCall struct { s *Service name string querytimeseriesrequest *QueryTimeSeriesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Query: Queries time series using Monitoring Query Language. // // - name: The project // (https://cloud.google.com/monitoring/api/v3#project_name) on which to // execute the request. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsTimeSeriesService) Query(name string, querytimeseriesrequest *QueryTimeSeriesRequest) *ProjectsTimeSeriesQueryCall { c := &ProjectsTimeSeriesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.querytimeseriesrequest = querytimeseriesrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsTimeSeriesQueryCall) Fields(s ...googleapi.Field) *ProjectsTimeSeriesQueryCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsTimeSeriesQueryCall) Context(ctx context.Context) *ProjectsTimeSeriesQueryCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsTimeSeriesQueryCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsTimeSeriesQueryCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.querytimeseriesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}/timeSeries:query") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.timeSeries.query" call. // Any non-2xx status code is an error. Response headers are in either // *QueryTimeSeriesResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsTimeSeriesQueryCall) Do(opts ...googleapi.CallOption) (*QueryTimeSeriesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &QueryTimeSeriesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsTimeSeriesQueryCall) Pages(ctx context.Context, f func(*QueryTimeSeriesResponse) error) error { c.ctx_ = ctx defer func(pt string) { c.querytimeseriesrequest.PageToken = pt }(c.querytimeseriesrequest.PageToken) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.querytimeseriesrequest.PageToken = x.NextPageToken } } type ProjectsUptimeCheckConfigsCreateCall struct { s *Service parent string uptimecheckconfig *UptimeCheckConfig urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new Uptime check configuration. // // - parent: The project // (https://cloud.google.com/monitoring/api/v3#project_name) in which to // create the Uptime check. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsUptimeCheckConfigsService) Create(parent string, uptimecheckconfig *UptimeCheckConfig) *ProjectsUptimeCheckConfigsCreateCall { c := &ProjectsUptimeCheckConfigsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.uptimecheckconfig = uptimecheckconfig return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsUptimeCheckConfigsCreateCall) Fields(s ...googleapi.Field) *ProjectsUptimeCheckConfigsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsUptimeCheckConfigsCreateCall) Context(ctx context.Context) *ProjectsUptimeCheckConfigsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsUptimeCheckConfigsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsUptimeCheckConfigsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.uptimecheckconfig) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/uptimeCheckConfigs") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.uptimeCheckConfigs.create" call. // Any non-2xx status code is an error. Response headers are in either // *UptimeCheckConfig.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsUptimeCheckConfigsCreateCall) Do(opts ...googleapi.CallOption) (*UptimeCheckConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &UptimeCheckConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsUptimeCheckConfigsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an Uptime check configuration. Note that this method will // fail if the Uptime check configuration is referenced by an alert policy or // other dependent configs that would be rendered invalid by the deletion. // // - name: The Uptime check configuration to delete. The format is: // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. func (r *ProjectsUptimeCheckConfigsService) Delete(name string) *ProjectsUptimeCheckConfigsDeleteCall { c := &ProjectsUptimeCheckConfigsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsUptimeCheckConfigsDeleteCall) Fields(s ...googleapi.Field) *ProjectsUptimeCheckConfigsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsUptimeCheckConfigsDeleteCall) Context(ctx context.Context) *ProjectsUptimeCheckConfigsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsUptimeCheckConfigsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsUptimeCheckConfigsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.uptimeCheckConfigs.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsUptimeCheckConfigsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsUptimeCheckConfigsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single Uptime check configuration. // // - name: The Uptime check configuration to retrieve. The format is: // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]. func (r *ProjectsUptimeCheckConfigsService) Get(name string) *ProjectsUptimeCheckConfigsGetCall { c := &ProjectsUptimeCheckConfigsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsUptimeCheckConfigsGetCall) Fields(s ...googleapi.Field) *ProjectsUptimeCheckConfigsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsUptimeCheckConfigsGetCall) IfNoneMatch(entityTag string) *ProjectsUptimeCheckConfigsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsUptimeCheckConfigsGetCall) Context(ctx context.Context) *ProjectsUptimeCheckConfigsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsUptimeCheckConfigsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsUptimeCheckConfigsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.uptimeCheckConfigs.get" call. // Any non-2xx status code is an error. Response headers are in either // *UptimeCheckConfig.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsUptimeCheckConfigsGetCall) Do(opts ...googleapi.CallOption) (*UptimeCheckConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &UptimeCheckConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsUptimeCheckConfigsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the existing valid Uptime check configurations for the project // (leaving out any invalid configurations). // // - parent: The project // (https://cloud.google.com/monitoring/api/v3#project_name) whose Uptime // check configurations are listed. The format is: // projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsUptimeCheckConfigsService) List(parent string) *ProjectsUptimeCheckConfigsListCall { c := &ProjectsUptimeCheckConfigsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": If provided, this field // specifies the criteria that must be met by uptime checks to be included in // the response.For more details, see Filtering syntax // (https://cloud.google.com/monitoring/api/v3/sorting-and-filtering#filter_syntax). func (c *ProjectsUptimeCheckConfigsListCall) Filter(filter string) *ProjectsUptimeCheckConfigsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return in a single response. The server may further constrain the // maximum number of results returned in a single page. If the page_size is // <=0, the server will decide the number of results to be returned. func (c *ProjectsUptimeCheckConfigsListCall) PageSize(pageSize int64) *ProjectsUptimeCheckConfigsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return more // results from the previous method call. func (c *ProjectsUptimeCheckConfigsListCall) PageToken(pageToken string) *ProjectsUptimeCheckConfigsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsUptimeCheckConfigsListCall) Fields(s ...googleapi.Field) *ProjectsUptimeCheckConfigsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsUptimeCheckConfigsListCall) IfNoneMatch(entityTag string) *ProjectsUptimeCheckConfigsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsUptimeCheckConfigsListCall) Context(ctx context.Context) *ProjectsUptimeCheckConfigsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsUptimeCheckConfigsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsUptimeCheckConfigsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/uptimeCheckConfigs") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.uptimeCheckConfigs.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListUptimeCheckConfigsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsUptimeCheckConfigsListCall) Do(opts ...googleapi.CallOption) (*ListUptimeCheckConfigsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListUptimeCheckConfigsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsUptimeCheckConfigsListCall) Pages(ctx context.Context, f func(*ListUptimeCheckConfigsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsUptimeCheckConfigsPatchCall struct { s *Service name string uptimecheckconfig *UptimeCheckConfig urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates an Uptime check configuration. You can either replace the // entire configuration with a new one or replace only certain fields in the // current configuration by specifying the fields to be updated via updateMask. // Returns the updated configuration. // // - name: Identifier. A unique resource name for this Uptime check // configuration. The format is: // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] // [PROJECT_ID_OR_NUMBER] is the Workspace host project associated with the // Uptime check.This field should be omitted when creating the Uptime check // configuration; on create, the resource name is assigned by the server and // included in the response. func (r *ProjectsUptimeCheckConfigsService) Patch(name string, uptimecheckconfig *UptimeCheckConfig) *ProjectsUptimeCheckConfigsPatchCall { c := &ProjectsUptimeCheckConfigsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.uptimecheckconfig = uptimecheckconfig return c } // UpdateMask sets the optional parameter "updateMask": If present, only the // listed fields in the current Uptime check configuration are updated with // values from the new configuration. If this field is empty, then the current // configuration is completely replaced with the new configuration. func (c *ProjectsUptimeCheckConfigsPatchCall) UpdateMask(updateMask string) *ProjectsUptimeCheckConfigsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsUptimeCheckConfigsPatchCall) Fields(s ...googleapi.Field) *ProjectsUptimeCheckConfigsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsUptimeCheckConfigsPatchCall) Context(ctx context.Context) *ProjectsUptimeCheckConfigsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsUptimeCheckConfigsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsUptimeCheckConfigsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.uptimecheckconfig) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.uptimeCheckConfigs.patch" call. // Any non-2xx status code is an error. Response headers are in either // *UptimeCheckConfig.ServerResponse.Header or (if a response was returned at // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsUptimeCheckConfigsPatchCall) Do(opts ...googleapi.CallOption) (*UptimeCheckConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &UptimeCheckConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesCreateCall struct { s *Service parent string service *MService urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Create a Service. // // - parent: Resource name // (https://cloud.google.com/monitoring/api/v3#project_name) of the parent // Metrics Scope. The format is: projects/[PROJECT_ID_OR_NUMBER]. func (r *ServicesService) Create(parent string, service *MService) *ServicesCreateCall { c := &ServicesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.service = service return c } // ServiceId sets the optional parameter "serviceId": The Service id to use for // this Service. If omitted, an id will be generated instead. Must match the // pattern [a-z0-9\-]+ func (c *ServicesCreateCall) ServiceId(serviceId string) *ServicesCreateCall { c.urlParams_.Set("serviceId", serviceId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesCreateCall) Fields(s ...googleapi.Field) *ServicesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesCreateCall) Context(ctx context.Context) *ServicesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.service) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/services") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.create" call. // Any non-2xx status code is an error. Response headers are in either // *MService.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ServicesCreateCall) Do(opts ...googleapi.CallOption) (*MService, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MService{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Soft delete this Service. // // - name: Resource name of the Service to delete. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]. func (r *ServicesService) Delete(name string) *ServicesDeleteCall { c := &ServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesDeleteCall) Fields(s ...googleapi.Field) *ServicesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesDeleteCall) Context(ctx context.Context) *ServicesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Get the named Service. // // - name: Resource name of the Service. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]. func (r *ServicesService) Get(name string) *ServicesGetCall { c := &ServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesGetCall) Fields(s ...googleapi.Field) *ServicesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ServicesGetCall) IfNoneMatch(entityTag string) *ServicesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ServicesGetCall) Context(ctx context.Context) *ServicesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.get" call. // Any non-2xx status code is an error. Response headers are in either // *MService.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ServicesGetCall) Do(opts ...googleapi.CallOption) (*MService, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MService{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List Services for this Metrics Scope. // // - parent: Resource name of the parent containing the listed services, either // a project (https://cloud.google.com/monitoring/api/v3#project_name) or a // Monitoring Metrics Scope. The formats are: projects/[PROJECT_ID_OR_NUMBER] // workspaces/[HOST_PROJECT_ID_OR_NUMBER]. func (r *ServicesService) List(parent string) *ServicesListCall { c := &ServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": A filter specifying what // Services to return. The filter supports filtering on a particular // service-identifier type or one of its attributes.To filter on a particular // service-identifier type, the identifier_case refers to which option in the // identifier field is populated. For example, the filter identifier_case = // "CUSTOM" would match all services with a value for the custom field. Valid // options include "CUSTOM", "APP_ENGINE", "MESH_ISTIO", and the other options // listed at // https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#ServiceTo // filter on an attribute of a service-identifier type, apply the filter name // by using the snake case of the service-identifier type and the attribute of // that service-identifier type, and join the two with a period. For example, // to filter by the meshUid field of the MeshIstio service-identifier type, you // must filter on mesh_istio.mesh_uid = "123" to match all services with mesh // UID "123". Service-identifier types and their attributes are described at // https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service func (c *ServicesListCall) Filter(filter string) *ServicesListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": A non-negative number that // is the maximum number of results to return. When 0, use default page size. func (c *ServicesListCall) PageSize(pageSize int64) *ServicesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ServicesListCall) PageToken(pageToken string) *ServicesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesListCall) Fields(s ...googleapi.Field) *ServicesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ServicesListCall) IfNoneMatch(entityTag string) *ServicesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ServicesListCall) Context(ctx context.Context) *ServicesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/services") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListServicesResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ServicesListCall) Do(opts ...googleapi.CallOption) (*ListServicesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListServicesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ServicesListCall) Pages(ctx context.Context, f func(*ListServicesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ServicesPatchCall struct { s *Service name string service *MService urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Update this Service. // // - name: Identifier. Resource name for this Service. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]. func (r *ServicesService) Patch(name string, service *MService) *ServicesPatchCall { c := &ServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.service = service return c } // UpdateMask sets the optional parameter "updateMask": A set of field paths // defining which fields to use for the update. func (c *ServicesPatchCall) UpdateMask(updateMask string) *ServicesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesPatchCall) Fields(s ...googleapi.Field) *ServicesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesPatchCall) Context(ctx context.Context) *ServicesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.service) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.patch" call. // Any non-2xx status code is an error. Response headers are in either // *MService.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ServicesPatchCall) Do(opts ...googleapi.CallOption) (*MService, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &MService{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesServiceLevelObjectivesCreateCall struct { s *Service parent string servicelevelobjective *ServiceLevelObjective urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Create a ServiceLevelObjective for the given Service. // // - parent: Resource name of the parent Service. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]. func (r *ServicesServiceLevelObjectivesService) Create(parent string, servicelevelobjective *ServiceLevelObjective) *ServicesServiceLevelObjectivesCreateCall { c := &ServicesServiceLevelObjectivesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.servicelevelobjective = servicelevelobjective return c } // ServiceLevelObjectiveId sets the optional parameter // "serviceLevelObjectiveId": The ServiceLevelObjective id to use for this // ServiceLevelObjective. If omitted, an id will be generated instead. Must // match the pattern ^[a-zA-Z0-9-_:.]+$ func (c *ServicesServiceLevelObjectivesCreateCall) ServiceLevelObjectiveId(serviceLevelObjectiveId string) *ServicesServiceLevelObjectivesCreateCall { c.urlParams_.Set("serviceLevelObjectiveId", serviceLevelObjectiveId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesServiceLevelObjectivesCreateCall) Fields(s ...googleapi.Field) *ServicesServiceLevelObjectivesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesServiceLevelObjectivesCreateCall) Context(ctx context.Context) *ServicesServiceLevelObjectivesCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesServiceLevelObjectivesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesServiceLevelObjectivesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.servicelevelobjective) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/serviceLevelObjectives") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.serviceLevelObjectives.create" call. // Any non-2xx status code is an error. Response headers are in either // *ServiceLevelObjective.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ServicesServiceLevelObjectivesCreateCall) Do(opts ...googleapi.CallOption) (*ServiceLevelObjective, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ServiceLevelObjective{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesServiceLevelObjectivesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Delete the given ServiceLevelObjective. // // - name: Resource name of the ServiceLevelObjective to delete. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjective // s/[SLO_NAME]. func (r *ServicesServiceLevelObjectivesService) Delete(name string) *ServicesServiceLevelObjectivesDeleteCall { c := &ServicesServiceLevelObjectivesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesServiceLevelObjectivesDeleteCall) Fields(s ...googleapi.Field) *ServicesServiceLevelObjectivesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesServiceLevelObjectivesDeleteCall) Context(ctx context.Context) *ServicesServiceLevelObjectivesDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesServiceLevelObjectivesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesServiceLevelObjectivesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.serviceLevelObjectives.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Empty.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ServicesServiceLevelObjectivesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesServiceLevelObjectivesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Get a ServiceLevelObjective by name. // // - name: Resource name of the ServiceLevelObjective to get. The format is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjective // s/[SLO_NAME]. func (r *ServicesServiceLevelObjectivesService) Get(name string) *ServicesServiceLevelObjectivesGetCall { c := &ServicesServiceLevelObjectivesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // View sets the optional parameter "view": View of the ServiceLevelObjective // to return. If DEFAULT, return the ServiceLevelObjective as originally // defined. If EXPLICIT and the ServiceLevelObjective is defined in terms of a // BasicSli, replace the BasicSli with a RequestBasedSli spelling out how the // SLI is computed. // // Possible values: // // "VIEW_UNSPECIFIED" - Same as FULL. // "FULL" - Return the embedded ServiceLevelIndicator in the form in which it // // was defined. If it was defined using a BasicSli, return that BasicSli. // // "EXPLICIT" - For ServiceLevelIndicators using BasicSli articulation, // // instead return the ServiceLevelIndicator with its mode of computation fully // spelled out as a RequestBasedSli. For ServiceLevelIndicators using // RequestBasedSli or WindowsBasedSli, return the ServiceLevelIndicator as it // was provided. func (c *ServicesServiceLevelObjectivesGetCall) View(view string) *ServicesServiceLevelObjectivesGetCall { c.urlParams_.Set("view", view) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesServiceLevelObjectivesGetCall) Fields(s ...googleapi.Field) *ServicesServiceLevelObjectivesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ServicesServiceLevelObjectivesGetCall) IfNoneMatch(entityTag string) *ServicesServiceLevelObjectivesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ServicesServiceLevelObjectivesGetCall) Context(ctx context.Context) *ServicesServiceLevelObjectivesGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesServiceLevelObjectivesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesServiceLevelObjectivesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.serviceLevelObjectives.get" call. // Any non-2xx status code is an error. Response headers are in either // *ServiceLevelObjective.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ServicesServiceLevelObjectivesGetCall) Do(opts ...googleapi.CallOption) (*ServiceLevelObjective, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ServiceLevelObjective{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ServicesServiceLevelObjectivesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: List the ServiceLevelObjectives for the given Service. // // - parent: Resource name of the parent containing the listed SLOs, either a // project or a Monitoring Metrics Scope. The formats are: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] // workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/-. func (r *ServicesServiceLevelObjectivesService) List(parent string) *ServicesServiceLevelObjectivesListCall { c := &ServicesServiceLevelObjectivesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Filter sets the optional parameter "filter": A filter specifying what // ServiceLevelObjectives to return. func (c *ServicesServiceLevelObjectivesListCall) Filter(filter string) *ServicesServiceLevelObjectivesListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": A non-negative number that // is the maximum number of results to return. When 0, use default page size. func (c *ServicesServiceLevelObjectivesListCall) PageSize(pageSize int64) *ServicesServiceLevelObjectivesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return additional // results from the previous method call. func (c *ServicesServiceLevelObjectivesListCall) PageToken(pageToken string) *ServicesServiceLevelObjectivesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // View sets the optional parameter "view": View of the ServiceLevelObjectives // to return. If DEFAULT, return each ServiceLevelObjective as originally // defined. If EXPLICIT and the ServiceLevelObjective is defined in terms of a // BasicSli, replace the BasicSli with a RequestBasedSli spelling out how the // SLI is computed. // // Possible values: // // "VIEW_UNSPECIFIED" - Same as FULL. // "FULL" - Return the embedded ServiceLevelIndicator in the form in which it // // was defined. If it was defined using a BasicSli, return that BasicSli. // // "EXPLICIT" - For ServiceLevelIndicators using BasicSli articulation, // // instead return the ServiceLevelIndicator with its mode of computation fully // spelled out as a RequestBasedSli. For ServiceLevelIndicators using // RequestBasedSli or WindowsBasedSli, return the ServiceLevelIndicator as it // was provided. func (c *ServicesServiceLevelObjectivesListCall) View(view string) *ServicesServiceLevelObjectivesListCall { c.urlParams_.Set("view", view) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesServiceLevelObjectivesListCall) Fields(s ...googleapi.Field) *ServicesServiceLevelObjectivesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ServicesServiceLevelObjectivesListCall) IfNoneMatch(entityTag string) *ServicesServiceLevelObjectivesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ServicesServiceLevelObjectivesListCall) Context(ctx context.Context) *ServicesServiceLevelObjectivesListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesServiceLevelObjectivesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesServiceLevelObjectivesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+parent}/serviceLevelObjectives") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.serviceLevelObjectives.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListServiceLevelObjectivesResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ServicesServiceLevelObjectivesListCall) Do(opts ...googleapi.CallOption) (*ListServiceLevelObjectivesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListServiceLevelObjectivesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ServicesServiceLevelObjectivesListCall) Pages(ctx context.Context, f func(*ListServiceLevelObjectivesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ServicesServiceLevelObjectivesPatchCall struct { s *Service name string servicelevelobjective *ServiceLevelObjective urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Update the given ServiceLevelObjective. // // - name: Identifier. Resource name for this ServiceLevelObjective. The format // is: // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjective // s/[SLO_NAME]. func (r *ServicesServiceLevelObjectivesService) Patch(name string, servicelevelobjective *ServiceLevelObjective) *ServicesServiceLevelObjectivesPatchCall { c := &ServicesServiceLevelObjectivesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.servicelevelobjective = servicelevelobjective return c } // UpdateMask sets the optional parameter "updateMask": A set of field paths // defining which fields to use for the update. func (c *ServicesServiceLevelObjectivesPatchCall) UpdateMask(updateMask string) *ServicesServiceLevelObjectivesPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ServicesServiceLevelObjectivesPatchCall) Fields(s ...googleapi.Field) *ServicesServiceLevelObjectivesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ServicesServiceLevelObjectivesPatchCall) Context(ctx context.Context) *ServicesServiceLevelObjectivesPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ServicesServiceLevelObjectivesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ServicesServiceLevelObjectivesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.servicelevelobjective) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.services.serviceLevelObjectives.patch" call. // Any non-2xx status code is an error. Response headers are in either // *ServiceLevelObjective.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ServicesServiceLevelObjectivesPatchCall) Do(opts ...googleapi.CallOption) (*ServiceLevelObjective, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ServiceLevelObjective{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type UptimeCheckIpsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Returns the list of IP addresses that checkers run from func (r *UptimeCheckIpsService) List() *UptimeCheckIpsListCall { c := &UptimeCheckIpsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return in a single response. The server may further constrain the // maximum number of results returned in a single page. If the page_size is // <=0, the server will decide the number of results to be returned. NOTE: this // field is not yet implemented func (c *UptimeCheckIpsListCall) PageSize(pageSize int64) *UptimeCheckIpsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": If this field is not // empty then it must contain the nextPageToken value returned by a previous // call to this method. Using this field causes the method to return more // results from the previous method call. NOTE: this field is not yet // implemented func (c *UptimeCheckIpsListCall) PageToken(pageToken string) *UptimeCheckIpsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *UptimeCheckIpsListCall) Fields(s ...googleapi.Field) *UptimeCheckIpsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *UptimeCheckIpsListCall) IfNoneMatch(entityTag string) *UptimeCheckIpsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *UptimeCheckIpsListCall) Context(ctx context.Context) *UptimeCheckIpsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *UptimeCheckIpsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *UptimeCheckIpsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v3/uptimeCheckIps") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.uptimeCheckIps.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListUptimeCheckIpsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *UptimeCheckIpsListCall) Do(opts ...googleapi.CallOption) (*ListUptimeCheckIpsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListUptimeCheckIpsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *UptimeCheckIpsListCall) Pages(ctx context.Context, f func(*ListUptimeCheckIpsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } }