// 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. // // 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/v1" // ... // 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/v1" 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:v1" const apiName = "monitoring" const apiVersion = "v1" 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.Locations = NewLocationsService(s) s.Operations = NewOperationsService(s) s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Locations *LocationsService Operations *OperationsService Projects *ProjectsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewLocationsService(s *Service) *LocationsService { rs := &LocationsService{s: s} rs.Global = NewLocationsGlobalService(s) return rs } type LocationsService struct { s *Service Global *LocationsGlobalService } func NewLocationsGlobalService(s *Service) *LocationsGlobalService { rs := &LocationsGlobalService{s: s} rs.MetricsScopes = NewLocationsGlobalMetricsScopesService(s) return rs } type LocationsGlobalService struct { s *Service MetricsScopes *LocationsGlobalMetricsScopesService } func NewLocationsGlobalMetricsScopesService(s *Service) *LocationsGlobalMetricsScopesService { rs := &LocationsGlobalMetricsScopesService{s: s} rs.Projects = NewLocationsGlobalMetricsScopesProjectsService(s) return rs } type LocationsGlobalMetricsScopesService struct { s *Service Projects *LocationsGlobalMetricsScopesProjectsService } func NewLocationsGlobalMetricsScopesProjectsService(s *Service) *LocationsGlobalMetricsScopesProjectsService { rs := &LocationsGlobalMetricsScopesProjectsService{s: s} return rs } type LocationsGlobalMetricsScopesProjectsService struct { s *Service } func NewOperationsService(s *Service) *OperationsService { rs := &OperationsService{s: s} return rs } type OperationsService struct { s *Service } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Dashboards = NewProjectsDashboardsService(s) rs.Location = NewProjectsLocationService(s) return rs } type ProjectsService struct { s *Service Dashboards *ProjectsDashboardsService Location *ProjectsLocationService } func NewProjectsDashboardsService(s *Service) *ProjectsDashboardsService { rs := &ProjectsDashboardsService{s: s} return rs } type ProjectsDashboardsService struct { s *Service } func NewProjectsLocationService(s *Service) *ProjectsLocationService { rs := &ProjectsLocationService{s: s} rs.Prometheus = NewProjectsLocationPrometheusService(s) return rs } type ProjectsLocationService struct { s *Service Prometheus *ProjectsLocationPrometheusService } func NewProjectsLocationPrometheusService(s *Service) *ProjectsLocationPrometheusService { rs := &ProjectsLocationPrometheusService{s: s} rs.Api = NewProjectsLocationPrometheusApiService(s) return rs } type ProjectsLocationPrometheusService struct { s *Service Api *ProjectsLocationPrometheusApiService } func NewProjectsLocationPrometheusApiService(s *Service) *ProjectsLocationPrometheusApiService { rs := &ProjectsLocationPrometheusApiService{s: s} rs.V1 = NewProjectsLocationPrometheusApiV1Service(s) return rs } type ProjectsLocationPrometheusApiService struct { s *Service V1 *ProjectsLocationPrometheusApiV1Service } func NewProjectsLocationPrometheusApiV1Service(s *Service) *ProjectsLocationPrometheusApiV1Service { rs := &ProjectsLocationPrometheusApiV1Service{s: s} rs.Label = NewProjectsLocationPrometheusApiV1LabelService(s) rs.Metadata = NewProjectsLocationPrometheusApiV1MetadataService(s) return rs } type ProjectsLocationPrometheusApiV1Service struct { s *Service Label *ProjectsLocationPrometheusApiV1LabelService Metadata *ProjectsLocationPrometheusApiV1MetadataService } func NewProjectsLocationPrometheusApiV1LabelService(s *Service) *ProjectsLocationPrometheusApiV1LabelService { rs := &ProjectsLocationPrometheusApiV1LabelService{s: s} return rs } type ProjectsLocationPrometheusApiV1LabelService struct { s *Service } func NewProjectsLocationPrometheusApiV1MetadataService(s *Service) *ProjectsLocationPrometheusApiV1MetadataService { rs := &ProjectsLocationPrometheusApiV1MetadataService{s: s} return rs } type ProjectsLocationPrometheusApiV1MetadataService 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 2 years, or 104 weeks. 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) } // AggregationFunction: Preview: An identifier for an aggregation function. // Aggregation functions are SQL functions that group or transform data from // multiple points to a single point. This is a preview feature and may be // subject to change before final release. type AggregationFunction struct { // Parameters: Optional. Parameters applied to the aggregation function. Only // used for functions that require them. Parameters []*Parameter `json:"parameters,omitempty"` // Type: Required. The type of aggregation function, must be one of the // following: "none" - no function. "percentile" - APPROX_QUANTILES() - 1 // parameter numeric value "average" - AVG() "count" - COUNT() "count-distinct" // - COUNT(DISTINCT) "count-distinct-approx" - APPROX_COUNT_DISTINCT() "max" - // MAX() "min" - MIN() "sum" - SUM() Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Parameters") 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. "Parameters") 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 *AggregationFunction) MarshalJSON() ([]byte, error) { type NoMethod AggregationFunction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AlertChart: A chart that displays alert policy data. type AlertChart struct { // Name: Required. The resource name of the alert policy. The format is: // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] Name string `json:"name,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 *AlertChart) MarshalJSON() ([]byte, error) { type NoMethod AlertChart return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Axis: A chart axis. type Axis struct { // Label: The label of the axis. Label string `json:"label,omitempty"` // Scale: The axis scale. By default, a linear scale is used. // // Possible values: // "SCALE_UNSPECIFIED" - Scale is unspecified. The view will default to // LINEAR. // "LINEAR" - Linear scale. // "LOG10" - Logarithmic scale (base 10). Scale string `json:"scale,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 *Axis) MarshalJSON() ([]byte, error) { type NoMethod Axis return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Breakdown: Preview: A breakdown is an aggregation applied to the measures // over a specified column. A breakdown can result in multiple series across a // category for the provided measure. This is a preview feature and may be // subject to change before final release. type Breakdown struct { // AggregationFunction: Required. The Aggregation function is applied across // all data in each breakdown created. AggregationFunction *AggregationFunction `json:"aggregationFunction,omitempty"` // Column: Required. The name of the column in the dataset containing the // breakdown values. Column string `json:"column,omitempty"` // Limit: Required. A limit to the number of breakdowns. If set to zero then // all possible breakdowns are applied. The list of breakdowns is dependent on // the value of the sort_order field. Limit int64 `json:"limit,omitempty"` // SortOrder: Required. The sort order is applied to the values of the // breakdown column. // // Possible values: // "SORT_ORDER_UNSPECIFIED" - An unspecified sort order. This option is // invalid when sorting is required. // "SORT_ORDER_NONE" - No sorting is applied. // "SORT_ORDER_ASCENDING" - The lowest-valued entries are selected first. // "SORT_ORDER_DESCENDING" - The highest-valued entries are selected first. SortOrder string `json:"sortOrder,omitempty"` // ForceSendFields is a list of field names (e.g. "AggregationFunction") 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. "AggregationFunction") 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 *Breakdown) MarshalJSON() ([]byte, error) { type NoMethod Breakdown return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ChartOptions: Options to control visual rendering of a chart. type ChartOptions struct { // DisplayHorizontal: Preview: Configures whether the charted values are shown // on the horizontal or vertical axis. By default, values are represented the // vertical axis. This is a preview feature and may be subject to change before // final release. DisplayHorizontal bool `json:"displayHorizontal,omitempty"` // Mode: The chart mode. // // Possible values: // "MODE_UNSPECIFIED" - Mode is unspecified. The view will default to COLOR. // "COLOR" - The chart distinguishes data series using different color. Line // colors may get reused when there are many lines in the chart. // "X_RAY" - The chart uses the Stackdriver x-ray mode, in which each data // set is plotted using the same semi-transparent color. // "STATS" - The chart displays statistics such as average, median, 95th // percentile, and more. Mode string `json:"mode,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayHorizontal") 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. "DisplayHorizontal") 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 *ChartOptions) MarshalJSON() ([]byte, error) { type NoMethod ChartOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CollapsibleGroup: A widget that groups the other widgets. All widgets that // are within the area spanned by the grouping widget are considered member // widgets. type CollapsibleGroup struct { // Collapsed: The collapsed state of the widget on first page load. Collapsed bool `json:"collapsed,omitempty"` // ForceSendFields is a list of field names (e.g. "Collapsed") 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. "Collapsed") 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 *CollapsibleGroup) MarshalJSON() ([]byte, error) { type NoMethod CollapsibleGroup return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Column: Defines the layout properties and content for a column. type Column struct { // Weight: The relative weight of this column. The column weight is used to // adjust the width of columns on the screen (relative to peers). Greater the // weight, greater the width of the column on the screen. If omitted, a value // of 1 is used while rendering. Weight int64 `json:"weight,omitempty,string"` // Widgets: The display widgets arranged vertically in this column. Widgets []*Widget `json:"widgets,omitempty"` // ForceSendFields is a list of field names (e.g. "Weight") 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. "Weight") 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 *Column) MarshalJSON() ([]byte, error) { type NoMethod Column return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ColumnLayout: A simplified layout that divides the available space into // vertical columns and arranges a set of widgets vertically in each column. type ColumnLayout struct { // Columns: The columns of content to display. Columns []*Column `json:"columns,omitempty"` // ForceSendFields is a list of field names (e.g. "Columns") 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. "Columns") 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 *ColumnLayout) MarshalJSON() ([]byte, error) { type NoMethod ColumnLayout return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ColumnSettings: The persistent settings for a table's columns. type ColumnSettings struct { // Column: Required. The id of the column. Column string `json:"column,omitempty"` // Visible: Required. Whether the column should be visible on page load. Visible bool `json:"visible,omitempty"` // ForceSendFields is a list of field names (e.g. "Column") 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. "Column") 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 *ColumnSettings) MarshalJSON() ([]byte, error) { type NoMethod ColumnSettings return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Dashboard: A Google Stackdriver dashboard. Dashboards define the content and // layout of pages in the Stackdriver web application. type Dashboard struct { // Annotations: Configuration for event annotations to display on this // dashboard. Annotations *DashboardAnnotations `json:"annotations,omitempty"` // ColumnLayout: The content is divided into equally spaced columns and the // widgets are arranged vertically. ColumnLayout *ColumnLayout `json:"columnLayout,omitempty"` // DashboardFilters: Filters to reduce the amount of data charted based on the // filter criteria. DashboardFilters []*DashboardFilter `json:"dashboardFilters,omitempty"` // DisplayName: Required. The mutable, human-readable name. DisplayName string `json:"displayName,omitempty"` // Etag: etag is used for optimistic concurrency control as a way to help // prevent simultaneous updates of a policy from overwriting each other. An // etag is returned in the response to GetDashboard, and users are expected to // put that etag in the request to UpdateDashboard to ensure that their change // will be applied to the same version of the Dashboard configuration. The // field should not be passed during dashboard creation. Etag string `json:"etag,omitempty"` // GridLayout: Content is arranged with a basic layout that re-flows a simple // list of informational elements like widgets or tiles. GridLayout *GridLayout `json:"gridLayout,omitempty"` // Labels: Labels applied to the dashboard Labels map[string]string `json:"labels,omitempty"` // MosaicLayout: The content is arranged as a grid of tiles, with each content // widget occupying one or more grid blocks. MosaicLayout *MosaicLayout `json:"mosaicLayout,omitempty"` // Name: Identifier. The resource name of the dashboard. Name string `json:"name,omitempty"` // RowLayout: The content is divided into equally spaced rows and the widgets // are arranged horizontally. RowLayout *RowLayout `json:"rowLayout,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Annotations") 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. "Annotations") 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 *Dashboard) MarshalJSON() ([]byte, error) { type NoMethod Dashboard return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DashboardAnnotations: Dashboard-level configuration for annotations type DashboardAnnotations struct { // DefaultResourceNames: Dashboard level defaults for names of logging // resources to search for events. Currently only projects are supported. Each // individual EventAnnotation may have its own overrides. If both this field // and the per annotation field is empty, then the scoping project is used. // Limit: 50 projects. For example: “projects/some-project-id” DefaultResourceNames []string `json:"defaultResourceNames,omitempty"` // EventAnnotations: List of annotation configurations for this dashboard. Each // entry specifies one event type. EventAnnotations []*EventAnnotation `json:"eventAnnotations,omitempty"` // ForceSendFields is a list of field names (e.g. "DefaultResourceNames") 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. "DefaultResourceNames") 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 *DashboardAnnotations) MarshalJSON() ([]byte, error) { type NoMethod DashboardAnnotations return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DashboardFilter: A filter to reduce the amount of data charted in relevant // widgets. type DashboardFilter struct { // ApplyToNewWidgets: Whether to apply this filter to new widgets by default ApplyToNewWidgets bool `json:"applyToNewWidgets,omitempty"` // FilterType: The specified filter type // // Possible values: // "FILTER_TYPE_UNSPECIFIED" - Filter type is unspecified. This is not valid // in a well-formed request. // "RESOURCE_LABEL" - Filter on a resource label value // "METRIC_LABEL" - Filter on a metrics label value // "USER_METADATA_LABEL" - Filter on a user metadata label value // "SYSTEM_METADATA_LABEL" - Filter on a system metadata label value // "GROUP" - Filter on a group id FilterType string `json:"filterType,omitempty"` // LabelKey: Required. The key for the label LabelKey string `json:"labelKey,omitempty"` // StringValue: A variable-length string value. StringValue string `json:"stringValue,omitempty"` // TemplateVariable: The placeholder text that can be referenced in a filter // string or MQL query. If omitted, the dashboard filter will be applied to all // relevant widgets in the dashboard. TemplateVariable string `json:"templateVariable,omitempty"` // ForceSendFields is a list of field names (e.g. "ApplyToNewWidgets") 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. "ApplyToNewWidgets") 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 *DashboardFilter) MarshalJSON() ([]byte, error) { type NoMethod DashboardFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // DataSet: Groups a time series query definition with charting options. type DataSet struct { // Breakdowns: Optional. The collection of breakdowns to be applied to the // dataset. Breakdowns []*Breakdown `json:"breakdowns,omitempty"` // Dimensions: Optional. A collection of dimension columns. Dimensions []*Dimension `json:"dimensions,omitempty"` // LegendTemplate: A template string for naming TimeSeries in the resulting // data set. This should be a string with interpolations of the form // ${label_name}, which will resolve to the label's value. LegendTemplate string `json:"legendTemplate,omitempty"` // Measures: Optional. A collection of measures. Measures []*Measure `json:"measures,omitempty"` // MinAlignmentPeriod: Optional. The lower bound on data point frequency for // this data set, implemented by specifying the minimum alignment period to use // in a time series query For example, if the data is published once every 10 // minutes, the min_alignment_period should be at least 10 minutes. It would // not make sense to fetch and align data at one minute intervals. MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` // PlotType: How this data should be plotted on the chart. // // Possible values: // "PLOT_TYPE_UNSPECIFIED" - Plot type is unspecified. The view will default // to LINE. // "LINE" - The data is plotted as a set of lines (one line per series). // "STACKED_AREA" - The data is plotted as a set of filled areas (one area // per series), with the areas stacked vertically (the base of each area is the // top of its predecessor, and the base of the first area is the x-axis). Since // the areas do not overlap, each is filled with a different opaque color. // "STACKED_BAR" - The data is plotted as a set of rectangular boxes (one box // per series), with the boxes stacked vertically (the base of each box is the // top of its predecessor, and the base of the first box is the x-axis). Since // the boxes do not overlap, each is filled with a different opaque color. // "HEATMAP" - The data is plotted as a heatmap. The series being plotted // must have a DISTRIBUTION value type. The value of each bucket in the // distribution is displayed as a color. This type is not currently available // in the Stackdriver Monitoring application. PlotType string `json:"plotType,omitempty"` // TargetAxis: Optional. The target axis to use for plotting the metric. // // Possible values: // "TARGET_AXIS_UNSPECIFIED" - The target axis was not specified. Defaults to // Y1. // "Y1" - The y_axis (the right axis of chart). // "Y2" - The y2_axis (the left axis of chart). TargetAxis string `json:"targetAxis,omitempty"` // TimeSeriesQuery: Required. Fields for querying time series data from the // Stackdriver metrics API. TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "Breakdowns") 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. "Breakdowns") 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 *DataSet) MarshalJSON() ([]byte, error) { type NoMethod DataSet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Dimension: A chart dimension. Dimensions are a structured label, class, or // category for a set of measurements in your data. type Dimension struct { // Column: Required. The name of the column in the source SQL query that is // used to chart the dimension. Column string `json:"column,omitempty"` // ColumnType: Optional. The type of the dimension column. This is relevant // only if one of the bin_size fields is set. If it is empty, the type // TIMESTAMP or INT64 will be assumed based on which bin_size field is set. If // populated, this should be set to one of the following types: DATE, TIME, // DATETIME, TIMESTAMP, BIGNUMERIC, INT64, NUMERIC, FLOAT64. ColumnType string `json:"columnType,omitempty"` // FloatBinSize: Optional. float_bin_size is used when the column type used for // a dimension is a floating point numeric column. FloatBinSize float64 `json:"floatBinSize,omitempty"` // MaxBinCount: A limit to the number of bins generated. When 0 is specified, // the maximum count is not enforced. MaxBinCount int64 `json:"maxBinCount,omitempty"` // NumericBinSize: numeric_bin_size is used when the column type used for a // dimension is numeric or string. NumericBinSize int64 `json:"numericBinSize,omitempty"` // SortColumn: The column name to sort on for binning. This column can be the // same column as this dimension or any other column used as a measure in the // results. If sort_order is set to NONE, then this value is not used. SortColumn string `json:"sortColumn,omitempty"` // SortOrder: The sort order applied to the sort column. // // Possible values: // "SORT_ORDER_UNSPECIFIED" - An unspecified sort order. This option is // invalid when sorting is required. // "SORT_ORDER_NONE" - No sorting is applied. // "SORT_ORDER_ASCENDING" - The lowest-valued entries are selected first. // "SORT_ORDER_DESCENDING" - The highest-valued entries are selected first. SortOrder string `json:"sortOrder,omitempty"` // TimeBinSize: time_bin_size is used when the data type specified by column is // a time type and the bin size is determined by a time duration. If // column_type is DATE, this must be a whole value multiple of 1 day. If // column_type is TIME, this must be less than or equal to 24 hours. TimeBinSize string `json:"timeBinSize,omitempty"` // ForceSendFields is a list of field names (e.g. "Column") 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. "Column") 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 *Dimension) MarshalJSON() ([]byte, error) { type NoMethod Dimension return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Dimension) UnmarshalJSON(data []byte) error { type NoMethod Dimension var s1 struct { FloatBinSize gensupport.JSONFloat64 `json:"floatBinSize"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.FloatBinSize = float64(s1.FloatBinSize) return nil } // 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:"-"` } // ErrorReportingPanel: A widget that displays a list of error groups. type ErrorReportingPanel struct { // ProjectNames: The resource name of the Google Cloud Platform project. // Written as projects/{projectID} or projects/{projectNumber}, where // {projectID} and {projectNumber} can be found in the Google Cloud console // (https://support.google.com/cloud/answer/6158840).Examples: // projects/my-project-123, projects/5551234. ProjectNames []string `json:"projectNames,omitempty"` // Services: An identifier of the service, such as the name of the executable, // job, or Google App Engine service name. This field is expected to have a low // number of values that are relatively stable over time, as opposed to // version, which can be changed whenever new code is deployed.Contains the // service name for error reports extracted from Google App Engine logs or // default if the App Engine default service is used. Services []string `json:"services,omitempty"` // Versions: Represents the source code version that the developer provided, // which could represent a version label or a Git SHA-1 hash, for example. For // App Engine standard environment, the version is set to the version of the // app. Versions []string `json:"versions,omitempty"` // ForceSendFields is a list of field names (e.g. "ProjectNames") 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. "ProjectNames") 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 *ErrorReportingPanel) MarshalJSON() ([]byte, error) { type NoMethod ErrorReportingPanel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EventAnnotation: Annotation configuration for one event type on a dashboard type EventAnnotation struct { // DisplayName: Solely for UI display. Should not be used programmatically. DisplayName string `json:"displayName,omitempty"` // Enabled: Whether or not to show the events on the dashboard by default Enabled bool `json:"enabled,omitempty"` // EventType: The type of event to display. // // Possible values: // "EVENT_TYPE_UNSPECIFIED" - No event type specified. // "GKE_WORKLOAD_DEPLOYMENT" - Patch/update of GKE workload. // "GKE_POD_CRASH" - Crash events for a GKE Pod. // "GKE_POD_UNSCHEDULABLE" - Scheduling failures for GKE Pods. // "GKE_CONTAINER_CREATION_FAILED" - Failure to create a GKE container. // "GKE_CLUSTER_CREATE_DELETE" - Create/delete of a GKE cluster. // "GKE_CLUSTER_UPDATE" - Update of a GKE cluster. // "GKE_NODE_POOL_UPDATE" - Update of a GKE node pool. // "GKE_CLUSTER_AUTOSCALER" - GKE cluster autoscaler event. // "GKE_POD_AUTOSCALER" - GKE pod autoscaler event. // "VM_TERMINATION" - Termination of a virtual machine. // "VM_GUEST_OS_ERROR" - Guest OS error on a virtual machine. // "VM_START_FAILED" - Start failure on a virtual machine. // "MIG_UPDATE" - Update of a managed instance group. // "MIG_AUTOSCALER" - Autoscaler event for a managed instance group. // "CLOUD_RUN_DEPLOYMENT" - New deployment of a Cloud Run service. // "CLOUD_SQL_FAILOVER" - Failover of a Cloud SQL instance. // "CLOUD_SQL_START_STOP" - Start/stop of a Cloud SQL instance. // "CLOUD_SQL_STORAGE" - Storage event for a Cloud SQL instance. // "UPTIME_CHECK_FAILURE" - Failure of a Cloud Monitoring uptime check. EventType string `json:"eventType,omitempty"` // Filter: string filtering the events - event dependant. Example values: // "resource.labels.pod_name = 'pod-1'" // "protoPayload.authenticationInfo.principalEmail='user@example.com'" Filter string `json:"filter,omitempty"` // ResourceNames: Per annotation level override for the names of logging // resources to search for events. Currently only projects are supported. If // both this field and the per annotation field is empty, it will default to // the host project. Limit: 50 projects. For example: // “projects/another-project-id” ResourceNames []string `json:"resourceNames,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 *EventAnnotation) MarshalJSON() ([]byte, error) { type NoMethod EventAnnotation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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) } // GaugeView: A gauge chart shows where the current value sits within a // pre-defined range. The upper and lower bounds should define the possible // range of values for the scorecard's query (inclusive). type GaugeView struct { // LowerBound: The lower bound for this gauge chart. The value of the chart // should always be greater than or equal to this. LowerBound float64 `json:"lowerBound,omitempty"` // UpperBound: The upper bound for this gauge chart. The value of the chart // should always be less than or equal to this. UpperBound float64 `json:"upperBound,omitempty"` // ForceSendFields is a list of field names (e.g. "LowerBound") 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. "LowerBound") 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 *GaugeView) MarshalJSON() ([]byte, error) { type NoMethod GaugeView return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *GaugeView) UnmarshalJSON(data []byte) error { type NoMethod GaugeView var s1 struct { LowerBound gensupport.JSONFloat64 `json:"lowerBound"` UpperBound gensupport.JSONFloat64 `json:"upperBound"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.LowerBound = float64(s1.LowerBound) s.UpperBound = float64(s1.UpperBound) return nil } // GridLayout: A basic layout divides the available space into vertical columns // of equal width and arranges a list of widgets using a row-first strategy. type GridLayout struct { // Columns: The number of columns into which the view's width is divided. If // omitted or set to zero, a system default will be used while rendering. Columns int64 `json:"columns,omitempty,string"` // Widgets: The informational elements that are arranged into the columns // row-first. Widgets []*Widget `json:"widgets,omitempty"` // ForceSendFields is a list of field names (e.g. "Columns") 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. "Columns") 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 *GridLayout) MarshalJSON() ([]byte, error) { type NoMethod GridLayout return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // HttpBody: Message that represents an arbitrary HTTP body. It should only be // used for payload formats that can't be represented as JSON, such as raw // binary or an HTML page.This message can be used both in streaming and // non-streaming API methods in the request as well as the response.It can be // used as a top-level request field, which is convenient if one wants to // extract parameters from either the URL or HTTP template into the request // fields and also want access to the raw HTTP body.Example: message // GetResourceRequest { // A unique request id. string request_id = 1; // The // raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } // service ResourceService { rpc GetResource(GetResourceRequest) returns // (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns // (google.protobuf.Empty); } Example with streaming methods: service // CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream // google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns // (stream google.api.HttpBody); } Use of this type only changes how the // request and response bodies are handled, all other features will continue to // work unchanged. type HttpBody struct { // ContentType: The HTTP Content-Type header value specifying the content type // of the body. ContentType string `json:"contentType,omitempty"` // Data: The HTTP request/response body as raw binary. Data string `json:"data,omitempty"` // Extensions: Application specific response metadata. Must be set in the first // response for streaming APIs. Extensions []googleapi.RawMessage `json:"extensions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentType") 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. "ContentType") 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 *HttpBody) MarshalJSON() ([]byte, error) { type NoMethod HttpBody return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // IncidentList: A widget that displays a list of incidents type IncidentList struct { // MonitoredResources: Optional. The monitored resource for which incidents are // listed. The resource doesn't need to be fully specified. That is, you can // specify the resource type but not the values of the resource labels. The // resource type and labels are used for filtering. MonitoredResources []*MonitoredResource `json:"monitoredResources,omitempty"` // PolicyNames: Optional. A list of alert policy names to filter the incident // list by. Don't include the project ID prefix in the policy name. For // example, use alertPolicies/utilization. PolicyNames []string `json:"policyNames,omitempty"` // ForceSendFields is a list of field names (e.g. "MonitoredResources") 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. "MonitoredResources") 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 *IncidentList) MarshalJSON() ([]byte, error) { type NoMethod IncidentList return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Interval: Represents a time interval, encoded as a Timestamp start // (inclusive) and a Timestamp end (exclusive).The start must be less than or // equal to the end. When the start equals the end, the interval is empty // (matches no time). When both start and end are unspecified, the interval // matches any time. type Interval struct { // EndTime: Optional. Exclusive end of the interval.If specified, a Timestamp // matching this interval will have to be before the end. EndTime string `json:"endTime,omitempty"` // StartTime: Optional. Inclusive start of the interval.If specified, a // Timestamp matching this interval will have to be the same or after the // start. 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 *Interval) MarshalJSON() ([]byte, error) { type NoMethod Interval return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListDashboardsResponse: The ListDashboards request. type ListDashboardsResponse struct { // Dashboards: The list of requested dashboards. Dashboards []*Dashboard `json:"dashboards,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. "Dashboards") 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. "Dashboards") 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 *ListDashboardsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListDashboardsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListMetricsScopesByMonitoredProjectResponse: Response for the // ListMetricsScopesByMonitoredProject method. type ListMetricsScopesByMonitoredProjectResponse struct { // MetricsScopes: A set of all metrics scopes that the specified monitored // project has been added to. MetricsScopes []*MetricsScope `json:"metricsScopes,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "MetricsScopes") 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. "MetricsScopes") 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 *ListMetricsScopesByMonitoredProjectResponse) MarshalJSON() ([]byte, error) { type NoMethod ListMetricsScopesByMonitoredProjectResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // LogsPanel: A widget that displays a stream of log. type LogsPanel struct { // Filter: A filter that chooses which log entries to return. See Advanced Logs // Queries (https://cloud.google.com/logging/docs/view/advanced-queries). Only // log entries that match the filter are returned. An empty filter matches all // log entries. Filter string `json:"filter,omitempty"` // ResourceNames: The names of logging resources to collect logs for. Currently // only projects are supported. If empty, the widget will default to the host // project. ResourceNames []string `json:"resourceNames,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 *LogsPanel) MarshalJSON() ([]byte, error) { type NoMethod LogsPanel return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Measure: A chart measure. Measures represent a measured property in your // chart data such as rainfall in inches, number of units sold, revenue gained, // etc. type Measure struct { // AggregationFunction: Required. The aggregation function applied to the input // column. This must not be set to "none" unless binning is disabled on the // dimension. The aggregation function is used to group points on the dimension // bins. AggregationFunction *AggregationFunction `json:"aggregationFunction,omitempty"` // Column: Required. The column name within in the dataset used for the // measure. Column string `json:"column,omitempty"` // ForceSendFields is a list of field names (e.g. "AggregationFunction") 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. "AggregationFunction") 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 *Measure) MarshalJSON() ([]byte, error) { type NoMethod Measure return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MetricsScope: Represents a Metrics Scope // (https://cloud.google.com/monitoring/settings#concept-scope) in Cloud // Monitoring, which specifies one or more Google projects and zero or more AWS // accounts to monitor together. type MetricsScope struct { // CreateTime: Output only. The time when this Metrics Scope was created. CreateTime string `json:"createTime,omitempty"` // MonitoredProjects: Output only. The list of projects monitored by this // Metrics Scope. MonitoredProjects []*MonitoredProject `json:"monitoredProjects,omitempty"` // Name: Immutable. The resource name of the Monitoring Metrics Scope. On // input, the resource name can be specified with the scoping project ID or // number. On output, the resource name is specified with the scoping project // number. Example: // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER} Name string `json:"name,omitempty"` // UpdateTime: Output only. The time when this Metrics Scope record was last // updated. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // 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 *MetricsScope) MarshalJSON() ([]byte, error) { type NoMethod MetricsScope return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // MonitoredProject: A project being monitored // (https://cloud.google.com/monitoring/settings/multiple-projects#create-multi) // by a Metrics Scope. type MonitoredProject struct { // CreateTime: Output only. The time when this MonitoredProject was created. CreateTime string `json:"createTime,omitempty"` // Name: Immutable. The resource name of the MonitoredProject. On input, the // resource name includes the scoping project ID and monitored project ID. On // output, it contains the equivalent project numbers. Example: // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONIT // ORED_PROJECT_ID_OR_NUMBER} Name string `json:"name,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 *MonitoredProject) MarshalJSON() ([]byte, error) { type NoMethod MonitoredProject return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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) } // MosaicLayout: A mosaic layout divides the available space into a grid of // blocks, and overlays the grid with tiles. Unlike GridLayout, tiles may span // multiple grid blocks and can be placed at arbitrary locations in the grid. type MosaicLayout struct { // Columns: The number of columns in the mosaic grid. The number of columns // must be between 1 and 12, inclusive. Columns int64 `json:"columns,omitempty"` // Tiles: The tiles to display. Tiles []*Tile `json:"tiles,omitempty"` // ForceSendFields is a list of field names (e.g. "Columns") 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. "Columns") 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 *MosaicLayout) MarshalJSON() ([]byte, error) { type NoMethod MosaicLayout return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { // Done: If the value is false, it means the operation is still in progress. If // true, the operation is completed, and either error or response is available. Done bool `json:"done,omitempty"` // Error: The error result of the operation in case of failure or cancellation. Error *Status `json:"error,omitempty"` // Metadata: Service-specific metadata associated with the operation. It // typically contains progress information and common metadata such as create // time. Some services might not provide such metadata. Any method that returns // a long-running operation should document the metadata type, if any. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: The server-assigned name, which is only unique within the same service // that originally returns it. If you use the default HTTP mapping, the name // should be a resource name ending with operations/{unique_id}. Name string `json:"name,omitempty"` // Response: The normal, successful response of the operation. If the original // method returns no data on success, such as Delete, the response is // google.protobuf.Empty. If the original method is standard Get/Create/Update, // the response should be the resource. For other methods, the response should // have the type XxxResponse, where Xxx is the original method name. For // example, if the original method name is TakeSnapshot(), the inferred // response type is TakeSnapshotResponse. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Done") 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. "Done") 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 *Operation) MarshalJSON() ([]byte, error) { type NoMethod Operation 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) } // OpsAnalyticsQuery: Preview: A query that produces an aggregated response and // supporting data. This is a preview feature and may be subject to change // before final release. type OpsAnalyticsQuery struct { // Sql: A SQL query to fetch time series, category series, or numeric series // data. Sql string `json:"sql,omitempty"` // ForceSendFields is a list of field names (e.g. "Sql") 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. "Sql") 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 *OpsAnalyticsQuery) MarshalJSON() ([]byte, error) { type NoMethod OpsAnalyticsQuery 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) } // Parameter: Preview: Parameter value applied to the aggregation function. // This is a preview feature and may be subject to change before final release. type Parameter struct { // DoubleValue: A floating-point parameter value. DoubleValue float64 `json:"doubleValue,omitempty"` // IntValue: An integer parameter value. IntValue int64 `json:"intValue,omitempty,string"` // ForceSendFields is a list of field names (e.g. "DoubleValue") 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. "DoubleValue") 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 *Parameter) MarshalJSON() ([]byte, error) { type NoMethod Parameter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Parameter) UnmarshalJSON(data []byte) error { type NoMethod Parameter var s1 struct { DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.DoubleValue = float64(s1.DoubleValue) return nil } // PickTimeSeriesFilter: Describes a ranking-based time series filter. Each // input time series is ranked with an aligner. The filter will allow up to // num_time_series time series to pass through it, selecting them based on the // relative ranking.For example, if ranking_method is METHOD_MEAN,direction is // BOTTOM, and num_time_series is 3, then the 3 times series with the lowest // mean values will pass through the filter. type PickTimeSeriesFilter struct { // Direction: How to use the ranking to select time series that pass through // the filter. // // Possible values: // "DIRECTION_UNSPECIFIED" - Not allowed. You must specify a different // Direction if you specify a PickTimeSeriesFilter. // "TOP" - Pass the highest num_time_series ranking inputs. // "BOTTOM" - Pass the lowest num_time_series ranking inputs. Direction string `json:"direction,omitempty"` // Interval: Select the top N streams/time series within this time interval Interval *Interval `json:"interval,omitempty"` // NumTimeSeries: How many time series to allow to pass through the filter. NumTimeSeries int64 `json:"numTimeSeries,omitempty"` // RankingMethod: ranking_method is applied to each time series independently // to produce the value which will be used to compare the time series to other // time series. // // Possible values: // "METHOD_UNSPECIFIED" - Not allowed. You must specify a different Method if // you specify a PickTimeSeriesFilter. // "METHOD_MEAN" - Select the mean of all values. // "METHOD_MAX" - Select the maximum value. // "METHOD_MIN" - Select the minimum value. // "METHOD_SUM" - Compute the sum of all values. // "METHOD_LATEST" - Select the most recent value. RankingMethod string `json:"rankingMethod,omitempty"` // ForceSendFields is a list of field names (e.g. "Direction") 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. "Direction") 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 *PickTimeSeriesFilter) MarshalJSON() ([]byte, error) { type NoMethod PickTimeSeriesFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PieChart: A widget that displays timeseries data as a pie or a donut. type PieChart struct { // ChartType: Required. Indicates the visualization type for the PieChart. // // Possible values: // "PIE_CHART_TYPE_UNSPECIFIED" - The zero value. No type specified. Do not // use. // "PIE" - A Pie type PieChart. // "DONUT" - Similar to PIE, but the DONUT type PieChart has a hole in the // middle. ChartType string `json:"chartType,omitempty"` // DataSets: Required. The queries for the chart's data. DataSets []*PieChartDataSet `json:"dataSets,omitempty"` // ShowLabels: Optional. Indicates whether or not the pie chart should show // slices' labels ShowLabels bool `json:"showLabels,omitempty"` // ForceSendFields is a list of field names (e.g. "ChartType") 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. "ChartType") 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 *PieChart) MarshalJSON() ([]byte, error) { type NoMethod PieChart return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // PieChartDataSet: Groups a time series query definition. type PieChartDataSet struct { // Dimensions: A dimension is a structured label, class, or category for a set // of measurements in your data. Dimensions []*Dimension `json:"dimensions,omitempty"` // Measures: A measure is a measured value of a property in your data. For // example, rainfall in inches, number of units sold, revenue gained, etc. Measures []*Measure `json:"measures,omitempty"` // MinAlignmentPeriod: Optional. The lower bound on data point frequency for // this data set, implemented by specifying the minimum alignment period to use // in a time series query. For example, if the data is published once every 10 // minutes, the min_alignment_period should be at least 10 minutes. It would // not make sense to fetch and align data at one minute intervals. MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` // SliceNameTemplate: Optional. A template for the name of the slice. This name // will be displayed in the legend and the tooltip of the pie chart. It // replaces the auto-generated names for the slices. For example, if the // template is set to ${resource.labels.zone}, the zone's value will be used // for the name instead of the default name. SliceNameTemplate string `json:"sliceNameTemplate,omitempty"` // TimeSeriesQuery: Required. The query for the PieChart. See, // google.monitoring.dashboard.v1.TimeSeriesQuery. TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "Dimensions") 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. "Dimensions") 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 *PieChartDataSet) MarshalJSON() ([]byte, error) { type NoMethod PieChartDataSet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryExemplarsRequest: QueryExemplarsRequest holds all parameters of the // Prometheus upstream API for querying exemplars. type QueryExemplarsRequest struct { // End: The end time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. End string `json:"end,omitempty"` // Query: A PromQL query string. Query lanauge documentation: // https://prometheus.io/docs/prometheus/latest/querying/basics/. Query string `json:"query,omitempty"` // Start: The start time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. Start string `json:"start,omitempty"` // ForceSendFields is a list of field names (e.g. "End") 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. "End") 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 *QueryExemplarsRequest) MarshalJSON() ([]byte, error) { type NoMethod QueryExemplarsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryInstantRequest: QueryInstantRequest holds all parameters of the // Prometheus upstream instant query API plus GCM specific parameters. type QueryInstantRequest struct { // Query: A PromQL query string. Query lanauge documentation: // https://prometheus.io/docs/prometheus/latest/querying/basics/. Query string `json:"query,omitempty"` // Time: The single point in time to evaluate the query for. Either floating // point UNIX seconds or RFC3339 formatted timestamp. Time string `json:"time,omitempty"` // Timeout: An upper bound timeout for the query. Either a Prometheus duration // string // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) // or floating point seconds. This non-standard encoding must be used for // compatibility with the open source API. Clients may still implement timeouts // at the connection level while ignoring this field. Timeout string `json:"timeout,omitempty"` // ForceSendFields is a list of field names (e.g. "Query") 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. "Query") 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 *QueryInstantRequest) MarshalJSON() ([]byte, error) { type NoMethod QueryInstantRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryLabelsRequest: QueryLabelsRequest holds all parameters of the // Prometheus upstream API for returning a list of label names. type QueryLabelsRequest struct { // End: The end time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. End string `json:"end,omitempty"` // Match: A list of matchers encoded in the Prometheus label matcher format to // constrain the values to series that satisfy them. Match string `json:"match,omitempty"` // Start: The start time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. Start string `json:"start,omitempty"` // ForceSendFields is a list of field names (e.g. "End") 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. "End") 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 *QueryLabelsRequest) MarshalJSON() ([]byte, error) { type NoMethod QueryLabelsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QueryRangeRequest: QueryRangeRequest holds all parameters of the Prometheus // upstream range query API plus GCM specific parameters. type QueryRangeRequest struct { // End: The end time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. End string `json:"end,omitempty"` // Query: A PromQL query string. Query lanauge documentation: // https://prometheus.io/docs/prometheus/latest/querying/basics/. Query string `json:"query,omitempty"` // Start: The start time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. Start string `json:"start,omitempty"` // Step: The resolution of query result. Either a Prometheus duration string // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) // or floating point seconds. This non-standard encoding must be used for // compatibility with the open source API. Clients may still implement timeouts // at the connection level while ignoring this field. Step string `json:"step,omitempty"` // Timeout: An upper bound timeout for the query. Either a Prometheus duration // string // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) // or floating point seconds. This non-standard encoding must be used for // compatibility with the open source API. Clients may still implement timeouts // at the connection level while ignoring this field. Timeout string `json:"timeout,omitempty"` // ForceSendFields is a list of field names (e.g. "End") 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. "End") 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 *QueryRangeRequest) MarshalJSON() ([]byte, error) { type NoMethod QueryRangeRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // QuerySeriesRequest: QuerySeries holds all parameters of the Prometheus // upstream API for querying series. type QuerySeriesRequest struct { // End: The end time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. End string `json:"end,omitempty"` // Start: The start time to evaluate the query for. Either floating point UNIX // seconds or RFC3339 formatted timestamp. Start string `json:"start,omitempty"` // ForceSendFields is a list of field names (e.g. "End") 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. "End") 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 *QuerySeriesRequest) MarshalJSON() ([]byte, error) { type NoMethod QuerySeriesRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RatioPart: Describes a query to build the numerator or denominator of a // TimeSeriesFilterRatio. type RatioPart struct { // Aggregation: By default, the raw time series data is returned. Use this // field to combine multiple time series for different views of the data. Aggregation *Aggregation `json:"aggregation,omitempty"` // Filter: Required. The monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) that identifies the // metric types, resources, and projects to query. Filter string `json:"filter,omitempty"` // ForceSendFields is a list of field names (e.g. "Aggregation") 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. "Aggregation") 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 *RatioPart) MarshalJSON() ([]byte, error) { type NoMethod RatioPart return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Row: Defines the layout properties and content for a row. type Row struct { // Weight: The relative weight of this row. The row weight is used to adjust // the height of rows on the screen (relative to peers). Greater the weight, // greater the height of the row on the screen. If omitted, a value of 1 is // used while rendering. Weight int64 `json:"weight,omitempty,string"` // Widgets: The display widgets arranged horizontally in this row. Widgets []*Widget `json:"widgets,omitempty"` // ForceSendFields is a list of field names (e.g. "Weight") 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. "Weight") 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 *Row) MarshalJSON() ([]byte, error) { type NoMethod Row return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // RowLayout: A simplified layout that divides the available space into rows // and arranges a set of widgets horizontally in each row. type RowLayout struct { // Rows: The rows of content to display. Rows []*Row `json:"rows,omitempty"` // ForceSendFields is a list of field names (e.g. "Rows") 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. "Rows") 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 *RowLayout) MarshalJSON() ([]byte, error) { type NoMethod RowLayout return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Scorecard: A widget showing the latest value of a metric, and how this value // relates to one or more thresholds. type Scorecard struct { // BlankView: Will cause the Scorecard to show only the value, with no // indicator to its value relative to its thresholds. BlankView *Empty `json:"blankView,omitempty"` // GaugeView: Will cause the scorecard to show a gauge chart. GaugeView *GaugeView `json:"gaugeView,omitempty"` // SparkChartView: Will cause the scorecard to show a spark chart. SparkChartView *SparkChartView `json:"sparkChartView,omitempty"` // Thresholds: The thresholds used to determine the state of the scorecard // given the time series' current value. For an actual value x, the scorecard // is in a danger state if x is less than or equal to a danger threshold that // triggers below, or greater than or equal to a danger threshold that triggers // above. Similarly, if x is above/below a warning threshold that triggers // above/below, then the scorecard is in a warning state - unless x also puts // it in a danger state. (Danger trumps warning.)As an example, consider a // scorecard with the following four thresholds: { value: 90, category: // 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: // 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: // 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal // to 10 would put the scorecard in a DANGER state, values greater than 10 but // less than or equal to 20 a WARNING state, values strictly between 20 and 70 // an OK state, values greater than or equal to 70 but less than 90 a WARNING // state, and values greater than or equal to 90 a DANGER state. Thresholds []*Threshold `json:"thresholds,omitempty"` // TimeSeriesQuery: Required. Fields for querying time series data from the // Stackdriver metrics API. TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "BlankView") 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. "BlankView") 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 *Scorecard) MarshalJSON() ([]byte, error) { type NoMethod Scorecard return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SectionHeader: A widget that defines a new section header. Sections populate // a table of contents and allow easier navigation of long-form content. type SectionHeader struct { // DividerBelow: Whether to insert a divider below the section in the table of // contents DividerBelow bool `json:"dividerBelow,omitempty"` // Subtitle: The subtitle of the section Subtitle string `json:"subtitle,omitempty"` // ForceSendFields is a list of field names (e.g. "DividerBelow") 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. "DividerBelow") 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 *SectionHeader) MarshalJSON() ([]byte, error) { type NoMethod SectionHeader return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SingleViewGroup: A widget that groups the other widgets by using a dropdown // menu. All widgets that are within the area spanned by the grouping widget // are considered member widgets. type SingleViewGroup struct { } // SourceContext: SourceContext represents information about the source of a // protobuf element, like the file in which it is defined. type SourceContext struct { // FileName: The path-qualified name of the .proto file that contained the // associated protobuf element. For example: // "google/protobuf/source_context.proto". FileName string `json:"fileName,omitempty"` // ForceSendFields is a list of field names (e.g. "FileName") to // unconditionally include in API requests. By default, fields with empty 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) } // SparkChartView: A sparkChart is a small chart suitable for inclusion in a // table-cell or inline in text. This message contains the configuration for a // sparkChart to show up on a Scorecard, showing recent trends of the // scorecard's timeseries. type SparkChartView struct { // MinAlignmentPeriod: The lower bound on data point frequency in the chart // implemented by specifying the minimum alignment period to use in a time // series query. For example, if the data is published once every 10 minutes it // would not make sense to fetch and align data at one minute intervals. This // field is optional and exists only as a hint. MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` // SparkChartType: Required. The type of sparkchart to show in this chartView. // // Possible values: // "SPARK_CHART_TYPE_UNSPECIFIED" - Not allowed in well-formed requests. // "SPARK_LINE" - The sparkline will be rendered as a small line chart. // "SPARK_BAR" - The sparkbar will be rendered as a small bar chart. SparkChartType string `json:"sparkChartType,omitempty"` // ForceSendFields is a list of field names (e.g. "MinAlignmentPeriod") 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. "MinAlignmentPeriod") 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 *SparkChartView) MarshalJSON() ([]byte, error) { type NoMethod SparkChartView return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // StatisticalTimeSeriesFilter: A filter that ranks streams based on their // statistical relation to other streams in a request. Note: This field is // deprecated and completely ignored by the API. type StatisticalTimeSeriesFilter struct { // NumTimeSeries: How many time series to output. NumTimeSeries int64 `json:"numTimeSeries,omitempty"` // RankingMethod: rankingMethod is applied to a set of time series, and then // the produced value for each individual time series is used to compare a // given time series to others. These are methods that cannot be applied // stream-by-stream, but rather require the full context of a request to // evaluate time series. // // Possible values: // "METHOD_UNSPECIFIED" - Not allowed in well-formed requests. // "METHOD_CLUSTER_OUTLIER" - Compute the outlier score of each stream. RankingMethod string `json:"rankingMethod,omitempty"` // ForceSendFields is a list of field names (e.g. "NumTimeSeries") 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. "NumTimeSeries") 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 *StatisticalTimeSeriesFilter) MarshalJSON() ([]byte, error) { type NoMethod StatisticalTimeSeriesFilter 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) } // TableDataSet: Groups a time series query definition with table options. type TableDataSet struct { // MinAlignmentPeriod: Optional. The lower bound on data point frequency for // this data set, implemented by specifying the minimum alignment period to use // in a time series query For example, if the data is published once every 10 // minutes, the min_alignment_period should be at least 10 minutes. It would // not make sense to fetch and align data at one minute intervals. MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` // TableDisplayOptions: Optional. Table display options for configuring how the // table is rendered. TableDisplayOptions *TableDisplayOptions `json:"tableDisplayOptions,omitempty"` // TableTemplate: Optional. A template string for naming TimeSeries in the // resulting data set. This should be a string with interpolations of the form // ${label_name}, which will resolve to the label's value i.e. // "${resource.labels.project_id}." TableTemplate string `json:"tableTemplate,omitempty"` // TimeSeriesQuery: Required. Fields for querying time series data from the // Stackdriver metrics API. TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` // ForceSendFields is a list of field names (e.g. "MinAlignmentPeriod") 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. "MinAlignmentPeriod") 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 *TableDataSet) MarshalJSON() ([]byte, error) { type NoMethod TableDataSet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TableDisplayOptions: Table display options that can be reused. type TableDisplayOptions struct { // ShownColumns: Optional. This field is unused and has been replaced by // TimeSeriesTable.column_settings ShownColumns []string `json:"shownColumns,omitempty"` // ForceSendFields is a list of field names (e.g. "ShownColumns") 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. "ShownColumns") 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 *TableDisplayOptions) MarshalJSON() ([]byte, error) { type NoMethod TableDisplayOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Text: A widget that displays textual content. type Text struct { // Content: The text content to be displayed. Content string `json:"content,omitempty"` // Format: How the text content is formatted. // // Possible values: // "FORMAT_UNSPECIFIED" - Format is unspecified. Defaults to MARKDOWN. // "MARKDOWN" - The text contains Markdown formatting. // "RAW" - The text contains no special formatting. Format string `json:"format,omitempty"` // Style: How the text is styled Style *TextStyle `json:"style,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 *Text) MarshalJSON() ([]byte, error) { type NoMethod Text return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TextStyle: Properties that determine how the title and content are styled type TextStyle struct { // BackgroundColor: The background color as a hex string. "#RRGGBB" or "#RGB" BackgroundColor string `json:"backgroundColor,omitempty"` // FontSize: Font sizes for both the title and content. The title will still be // larger relative to the content. // // Possible values: // "FONT_SIZE_UNSPECIFIED" - No font size specified, will default to FS_LARGE // "FS_EXTRA_SMALL" - Extra small font size // "FS_SMALL" - Small font size // "FS_MEDIUM" - Medium font size // "FS_LARGE" - Large font size // "FS_EXTRA_LARGE" - Extra large font size FontSize string `json:"fontSize,omitempty"` // HorizontalAlignment: The horizontal alignment of both the title and content // // Possible values: // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - No horizontal alignment specified, // will default to H_LEFT // "H_LEFT" - Left-align // "H_CENTER" - Center-align // "H_RIGHT" - Right-align HorizontalAlignment string `json:"horizontalAlignment,omitempty"` // Padding: The amount of padding around the widget // // Possible values: // "PADDING_SIZE_UNSPECIFIED" - No padding size specified, will default to // P_EXTRA_SMALL // "P_EXTRA_SMALL" - Extra small padding // "P_SMALL" - Small padding // "P_MEDIUM" - Medium padding // "P_LARGE" - Large padding // "P_EXTRA_LARGE" - Extra large padding Padding string `json:"padding,omitempty"` // PointerLocation: The pointer location for this widget (also sometimes called // a "tail") // // Possible values: // "POINTER_LOCATION_UNSPECIFIED" - No visual pointer // "PL_TOP" - Placed in the middle of the top of the widget // "PL_RIGHT" - Placed in the middle of the right side of the widget // "PL_BOTTOM" - Placed in the middle of the bottom of the widget // "PL_LEFT" - Placed in the middle of the left side of the widget // "PL_TOP_LEFT" - Placed on the left side of the top of the widget // "PL_TOP_RIGHT" - Placed on the right side of the top of the widget // "PL_RIGHT_TOP" - Placed on the top of the right side of the widget // "PL_RIGHT_BOTTOM" - Placed on the bottom of the right side of the widget // "PL_BOTTOM_RIGHT" - Placed on the right side of the bottom of the widget // "PL_BOTTOM_LEFT" - Placed on the left side of the bottom of the widget // "PL_LEFT_BOTTOM" - Placed on the bottom of the left side of the widget // "PL_LEFT_TOP" - Placed on the top of the left side of the widget PointerLocation string `json:"pointerLocation,omitempty"` // TextColor: The text color as a hex string. "#RRGGBB" or "#RGB" TextColor string `json:"textColor,omitempty"` // VerticalAlignment: The vertical alignment of both the title and content // // Possible values: // "VERTICAL_ALIGNMENT_UNSPECIFIED" - No vertical alignment specified, will // default to V_TOP // "V_TOP" - Top-align // "V_CENTER" - Center-align // "V_BOTTOM" - Bottom-align VerticalAlignment string `json:"verticalAlignment,omitempty"` // ForceSendFields is a list of field names (e.g. "BackgroundColor") 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. "BackgroundColor") 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 *TextStyle) MarshalJSON() ([]byte, error) { type NoMethod TextStyle return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Threshold: Defines a threshold for categorizing time series values. type Threshold struct { // Color: The state color for this threshold. Color is not allowed in a // XyChart. // // Possible values: // "COLOR_UNSPECIFIED" - Color is unspecified. Not allowed in well-formed // requests. // "YELLOW" - Crossing the threshold is "concerning" behavior. // "RED" - Crossing the threshold is "emergency" behavior. Color string `json:"color,omitempty"` // Direction: The direction for the current threshold. Direction is not allowed // in a XyChart. // // Possible values: // "DIRECTION_UNSPECIFIED" - Not allowed in well-formed requests. // "ABOVE" - The threshold will be considered crossed if the actual value is // above the threshold value. // "BELOW" - The threshold will be considered crossed if the actual value is // below the threshold value. Direction string `json:"direction,omitempty"` // Label: A label for the threshold. Label string `json:"label,omitempty"` // TargetAxis: The target axis to use for plotting the threshold. Target axis // is not allowed in a Scorecard. // // Possible values: // "TARGET_AXIS_UNSPECIFIED" - The target axis was not specified. Defaults to // Y1. // "Y1" - The y_axis (the right axis of chart). // "Y2" - The y2_axis (the left axis of chart). TargetAxis string `json:"targetAxis,omitempty"` // Value: The value of the threshold. The value should be defined in the native // scale of the metric. Value float64 `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Color") 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. "Color") 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 *Threshold) MarshalJSON() ([]byte, error) { type NoMethod Threshold return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } func (s *Threshold) UnmarshalJSON(data []byte) error { type NoMethod Threshold 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 } // Tile: A single tile in the mosaic. The placement and size of the tile are // configurable. type Tile struct { // Height: The height of the tile, measured in grid blocks. Tiles must have a // minimum height of 1. Height int64 `json:"height,omitempty"` // Widget: The informational widget contained in the tile. For example an // XyChart. Widget *Widget `json:"widget,omitempty"` // Width: The width of the tile, measured in grid blocks. Tiles must have a // minimum width of 1. Width int64 `json:"width,omitempty"` // XPos: The zero-indexed position of the tile in grid blocks relative to the // left edge of the grid. Tiles must be contained within the specified number // of columns. x_pos cannot be negative. XPos int64 `json:"xPos,omitempty"` // YPos: The zero-indexed position of the tile in grid blocks relative to the // top edge of the grid. y_pos cannot be negative. YPos int64 `json:"yPos,omitempty"` // ForceSendFields is a list of field names (e.g. "Height") 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. "Height") 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 *Tile) MarshalJSON() ([]byte, error) { type NoMethod Tile return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesFilter: A filter that defines a subset of time series data that is // displayed in a widget. Time series data is fetched using the ListTimeSeries // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) // method. type TimeSeriesFilter struct { // Aggregation: By default, the raw time series data is returned. Use this // field to combine multiple time series for different views of the data. Aggregation *Aggregation `json:"aggregation,omitempty"` // Filter: Required. The monitoring filter // (https://cloud.google.com/monitoring/api/v3/filters) that identifies the // metric types, resources, and projects to query. Filter string `json:"filter,omitempty"` // PickTimeSeriesFilter: Ranking based time series filter. PickTimeSeriesFilter *PickTimeSeriesFilter `json:"pickTimeSeriesFilter,omitempty"` // SecondaryAggregation: Apply a second aggregation after aggregation is // applied. SecondaryAggregation *Aggregation `json:"secondaryAggregation,omitempty"` // StatisticalTimeSeriesFilter: Statistics based time series filter. Note: This // field is deprecated and completely ignored by the API. StatisticalTimeSeriesFilter *StatisticalTimeSeriesFilter `json:"statisticalTimeSeriesFilter,omitempty"` // ForceSendFields is a list of field names (e.g. "Aggregation") 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. "Aggregation") 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 *TimeSeriesFilter) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesFilterRatio: A pair of time series filters that define a ratio // computation. The output time series is the pair-wise division of each // aligned element from the numerator and denominator time series. type TimeSeriesFilterRatio struct { // Denominator: The denominator of the ratio. Denominator *RatioPart `json:"denominator,omitempty"` // Numerator: The numerator of the ratio. Numerator *RatioPart `json:"numerator,omitempty"` // PickTimeSeriesFilter: Ranking based time series filter. PickTimeSeriesFilter *PickTimeSeriesFilter `json:"pickTimeSeriesFilter,omitempty"` // SecondaryAggregation: Apply a second aggregation after the ratio is // computed. SecondaryAggregation *Aggregation `json:"secondaryAggregation,omitempty"` // StatisticalTimeSeriesFilter: Statistics based time series filter. Note: This // field is deprecated and completely ignored by the API. StatisticalTimeSeriesFilter *StatisticalTimeSeriesFilter `json:"statisticalTimeSeriesFilter,omitempty"` // ForceSendFields is a list of field names (e.g. "Denominator") 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. "Denominator") 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 *TimeSeriesFilterRatio) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesFilterRatio return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesQuery: TimeSeriesQuery collects the set of supported methods for // querying time series data from the Stackdriver metrics API. type TimeSeriesQuery struct { // OpsAnalyticsQuery: Preview: A query used to fetch a time series, category // series, or numeric series with SQL. This is a preview feature and may be // subject to change before final release. OpsAnalyticsQuery *OpsAnalyticsQuery `json:"opsAnalyticsQuery,omitempty"` // OutputFullDuration: Optional. If set, Cloud Monitoring will treat the full // query duration as the alignment period so that there will be only 1 output // value.*Note: This could override the configured alignment period except for // the cases where a series of data points are expected, like - XyChart - // Scorecard's spark chart OutputFullDuration bool `json:"outputFullDuration,omitempty"` // PrometheusQuery: A query used to fetch time series with PromQL. PrometheusQuery string `json:"prometheusQuery,omitempty"` // TimeSeriesFilter: Filter parameters to fetch time series. TimeSeriesFilter *TimeSeriesFilter `json:"timeSeriesFilter,omitempty"` // TimeSeriesFilterRatio: Parameters to fetch a ratio between two time series // filters. TimeSeriesFilterRatio *TimeSeriesFilterRatio `json:"timeSeriesFilterRatio,omitempty"` // TimeSeriesQueryLanguage: A query used to fetch time series with MQL. TimeSeriesQueryLanguage string `json:"timeSeriesQueryLanguage,omitempty"` // UnitOverride: The unit of data contained in fetched time series. If // non-empty, this unit will override any unit that accompanies fetched data. // The format is the same as the unit // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) // field in MetricDescriptor. UnitOverride string `json:"unitOverride,omitempty"` // ForceSendFields is a list of field names (e.g. "OpsAnalyticsQuery") 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. "OpsAnalyticsQuery") 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 *TimeSeriesQuery) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesQuery return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TimeSeriesTable: A table that displays time series data. type TimeSeriesTable struct { // ColumnSettings: Optional. The list of the persistent column settings for the // table. ColumnSettings []*ColumnSettings `json:"columnSettings,omitempty"` // DataSets: Required. The data displayed in this table. DataSets []*TableDataSet `json:"dataSets,omitempty"` // MetricVisualization: Optional. Store rendering strategy // // Possible values: // "METRIC_VISUALIZATION_UNSPECIFIED" - Unspecified state // "NUMBER" - Default text rendering // "BAR" - Horizontal bar rendering MetricVisualization string `json:"metricVisualization,omitempty"` // ForceSendFields is a list of field names (e.g. "ColumnSettings") 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. "ColumnSettings") 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 *TimeSeriesTable) MarshalJSON() ([]byte, error) { type NoMethod TimeSeriesTable return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // 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) } // Widget: Widget contains a single dashboard component and configuration of // how to present the component in the dashboard. type Widget struct { // AlertChart: A chart of alert policy data. AlertChart *AlertChart `json:"alertChart,omitempty"` // Blank: A blank space. Blank *Empty `json:"blank,omitempty"` // CollapsibleGroup: A widget that groups the other widgets. All widgets that // are within the area spanned by the grouping widget are considered member // widgets. CollapsibleGroup *CollapsibleGroup `json:"collapsibleGroup,omitempty"` // ErrorReportingPanel: A widget that displays a list of error groups. ErrorReportingPanel *ErrorReportingPanel `json:"errorReportingPanel,omitempty"` // Id: Optional. The widget id. Ids may be made up of alphanumerics, dashes and // underscores. Widget ids are optional. Id string `json:"id,omitempty"` // IncidentList: A widget that shows list of incidents. IncidentList *IncidentList `json:"incidentList,omitempty"` // LogsPanel: A widget that shows a stream of logs. LogsPanel *LogsPanel `json:"logsPanel,omitempty"` // PieChart: A widget that displays timeseries data as a pie chart. PieChart *PieChart `json:"pieChart,omitempty"` // Scorecard: A scorecard summarizing time series data. Scorecard *Scorecard `json:"scorecard,omitempty"` // SectionHeader: A widget that defines a section header for easier navigation // of the dashboard. SectionHeader *SectionHeader `json:"sectionHeader,omitempty"` // SingleViewGroup: A widget that groups the other widgets by using a dropdown // menu. SingleViewGroup *SingleViewGroup `json:"singleViewGroup,omitempty"` // Text: A raw string or markdown displaying textual content. Text *Text `json:"text,omitempty"` // TimeSeriesTable: A widget that displays time series data in a tabular // format. TimeSeriesTable *TimeSeriesTable `json:"timeSeriesTable,omitempty"` // Title: Optional. The title of the widget. Title string `json:"title,omitempty"` // XyChart: A chart of time series data. XyChart *XyChart `json:"xyChart,omitempty"` // ForceSendFields is a list of field names (e.g. "AlertChart") 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. "AlertChart") 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 *Widget) MarshalJSON() ([]byte, error) { type NoMethod Widget return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // XyChart: A chart that displays data on a 2D (X and Y axes) plane. type XyChart struct { // ChartOptions: Display options for the chart. ChartOptions *ChartOptions `json:"chartOptions,omitempty"` // DataSets: Required. The data displayed in this chart. DataSets []*DataSet `json:"dataSets,omitempty"` // Thresholds: Threshold lines drawn horizontally across the chart. Thresholds []*Threshold `json:"thresholds,omitempty"` // TimeshiftDuration: The duration used to display a comparison chart. A // comparison chart simultaneously shows values from two similar-length time // periods (e.g., week-over-week metrics). The duration must be positive, and // it can only be applied to charts with data sets of LINE plot type. TimeshiftDuration string `json:"timeshiftDuration,omitempty"` // XAxis: The properties applied to the x-axis. XAxis *Axis `json:"xAxis,omitempty"` // Y2Axis: The properties applied to the y2-axis. Y2Axis *Axis `json:"y2Axis,omitempty"` // YAxis: The properties applied to the y-axis. YAxis *Axis `json:"yAxis,omitempty"` // ForceSendFields is a list of field names (e.g. "ChartOptions") 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. "ChartOptions") 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 *XyChart) MarshalJSON() ([]byte, error) { type NoMethod XyChart return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type LocationsGlobalMetricsScopesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Returns a specific Metrics Scope, including the list of projects // monitored by the specified Metrics Scope. // // - name: The resource name of the Metrics Scope. Example: // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}. func (r *LocationsGlobalMetricsScopesService) Get(name string) *LocationsGlobalMetricsScopesGetCall { c := &LocationsGlobalMetricsScopesGetCall{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 *LocationsGlobalMetricsScopesGetCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesGetCall { 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 *LocationsGlobalMetricsScopesGetCall) IfNoneMatch(entityTag string) *LocationsGlobalMetricsScopesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *LocationsGlobalMetricsScopesGetCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesGetCall { 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 *LocationsGlobalMetricsScopesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsGlobalMetricsScopesGetCall) 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, "v1/{+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.locations.global.metricsScopes.get" call. // Any non-2xx status code is an error. Response headers are in either // *MetricsScope.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 *LocationsGlobalMetricsScopesGetCall) Do(opts ...googleapi.CallOption) (*MetricsScope, 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 := &MetricsScope{ 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 LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // ListMetricsScopesByMonitoredProject: Returns a list of every Metrics Scope // that a specific MonitoredProject has been added to. The metrics scope // representing the specified monitored project will always be the first entry // in the response. func (r *LocationsGlobalMetricsScopesService) ListMetricsScopesByMonitoredProject() *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { c := &LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // MonitoredResourceContainer sets the optional parameter // "monitoredResourceContainer": Required. The resource name of the Monitored // Project being requested. Example: projects/{MONITORED_PROJECT_ID_OR_NUMBER} func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) MonitoredResourceContainer(monitoredResourceContainer string) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { c.urlParams_.Set("monitoredResourceContainer", monitoredResourceContainer) 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 *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 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 *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) IfNoneMatch(entityTag string) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 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 *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) 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, "v1/locations/global/metricsScopes:listMetricsScopesByMonitoredProject") 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.locations.global.metricsScopes.listMetricsScopesByMonitoredProject" call. // Any non-2xx status code is an error. Response headers are in either // *ListMetricsScopesByMonitoredProjectResponse.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 *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Do(opts ...googleapi.CallOption) (*ListMetricsScopesByMonitoredProjectResponse, 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 := &ListMetricsScopesByMonitoredProjectResponse{ 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 LocationsGlobalMetricsScopesProjectsCreateCall struct { s *Service parent string monitoredproject *MonitoredProject urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Adds a MonitoredProject with the given project ID to the specified // Metrics Scope. // // - parent: The resource name of the existing Metrics Scope that will monitor // this project. Example: // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}. func (r *LocationsGlobalMetricsScopesProjectsService) Create(parent string, monitoredproject *MonitoredProject) *LocationsGlobalMetricsScopesProjectsCreateCall { c := &LocationsGlobalMetricsScopesProjectsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.monitoredproject = monitoredproject 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 *LocationsGlobalMetricsScopesProjectsCreateCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesProjectsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *LocationsGlobalMetricsScopesProjectsCreateCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesProjectsCreateCall { 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 *LocationsGlobalMetricsScopesProjectsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsGlobalMetricsScopesProjectsCreateCall) 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.monitoredproject) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/projects") 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.locations.global.metricsScopes.projects.create" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.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 *LocationsGlobalMetricsScopesProjectsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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 LocationsGlobalMetricsScopesProjectsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a MonitoredProject from the specified Metrics Scope. // // - name: The resource name of the MonitoredProject. Example: // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MON // ITORED_PROJECT_ID_OR_NUMBER}Authorization requires the following Google // IAM (https://cloud.google.com/iam) permissions on both the Metrics Scope // and on the MonitoredProject: monitoring.metricsScopes.link. func (r *LocationsGlobalMetricsScopesProjectsService) Delete(name string) *LocationsGlobalMetricsScopesProjectsDeleteCall { c := &LocationsGlobalMetricsScopesProjectsDeleteCall{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 *LocationsGlobalMetricsScopesProjectsDeleteCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesProjectsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesProjectsDeleteCall { 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 *LocationsGlobalMetricsScopesProjectsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) 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, "v1/{+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.locations.global.metricsScopes.projects.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.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 *LocationsGlobalMetricsScopesProjectsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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 OperationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the latest state of a long-running operation. Clients can use this // method to poll the operation result at intervals as recommended by the API // service. // // - name: The name of the operation resource. func (r *OperationsService) Get(name string) *OperationsGetCall { c := &OperationsGetCall{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 *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 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 *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 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 *OperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OperationsGetCall) 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, "v1/{+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.operations.get" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.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 *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, 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 := &Operation{ 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 ProjectsDashboardsCreateCall struct { s *Service parent string dashboard *Dashboard urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new custom dashboard. For examples on how you can use this // API to create dashboards, see Managing dashboards by API // (https://cloud.google.com/monitoring/dashboards/api-dashboard). This method // requires the monitoring.dashboards.create permission on the specified // project. For more information about permissions, see Cloud Identity and // Access Management (https://cloud.google.com/iam). // // - parent: The project on which to execute the request. The format is: // projects/[PROJECT_ID_OR_NUMBER] The [PROJECT_ID_OR_NUMBER] must match the // dashboard resource name. func (r *ProjectsDashboardsService) Create(parent string, dashboard *Dashboard) *ProjectsDashboardsCreateCall { c := &ProjectsDashboardsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.dashboard = dashboard return c } // ValidateOnly sets the optional parameter "validateOnly": If set, validate // the request and preview the review, but do not actually save it. func (c *ProjectsDashboardsCreateCall) ValidateOnly(validateOnly bool) *ProjectsDashboardsCreateCall { 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 *ProjectsDashboardsCreateCall) Fields(s ...googleapi.Field) *ProjectsDashboardsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsDashboardsCreateCall) Context(ctx context.Context) *ProjectsDashboardsCreateCall { 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 *ProjectsDashboardsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsDashboardsCreateCall) 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.dashboard) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dashboards") 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.dashboards.create" call. // Any non-2xx status code is an error. Response headers are in either // *Dashboard.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 *ProjectsDashboardsCreateCall) Do(opts ...googleapi.CallOption) (*Dashboard, 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 := &Dashboard{ 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 ProjectsDashboardsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an existing custom dashboard.This method requires the // monitoring.dashboards.delete permission on the specified dashboard. For more // information, see Cloud Identity and Access Management // (https://cloud.google.com/iam). // // - name: The resource name of the Dashboard. The format is: // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]. func (r *ProjectsDashboardsService) Delete(name string) *ProjectsDashboardsDeleteCall { c := &ProjectsDashboardsDeleteCall{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 *ProjectsDashboardsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDashboardsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsDashboardsDeleteCall) Context(ctx context.Context) *ProjectsDashboardsDeleteCall { 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 *ProjectsDashboardsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsDashboardsDeleteCall) 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, "v1/{+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.dashboards.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 *ProjectsDashboardsDeleteCall) 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 ProjectsDashboardsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Fetches a specific dashboard.This method requires the // monitoring.dashboards.get permission on the specified dashboard. For more // information, see Cloud Identity and Access Management // (https://cloud.google.com/iam). // // - name: The resource name of the Dashboard. The format is one of: // dashboards/[DASHBOARD_ID] (for system dashboards) // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID] (for custom // dashboards). func (r *ProjectsDashboardsService) Get(name string) *ProjectsDashboardsGetCall { c := &ProjectsDashboardsGetCall{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 *ProjectsDashboardsGetCall) Fields(s ...googleapi.Field) *ProjectsDashboardsGetCall { 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 *ProjectsDashboardsGetCall) IfNoneMatch(entityTag string) *ProjectsDashboardsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsDashboardsGetCall) Context(ctx context.Context) *ProjectsDashboardsGetCall { 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 *ProjectsDashboardsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsDashboardsGetCall) 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, "v1/{+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.dashboards.get" call. // Any non-2xx status code is an error. Response headers are in either // *Dashboard.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 *ProjectsDashboardsGetCall) Do(opts ...googleapi.CallOption) (*Dashboard, 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 := &Dashboard{ 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 ProjectsDashboardsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists the existing dashboards.This method requires the // monitoring.dashboards.list permission on the specified project. For more // information, see Cloud Identity and Access Management // (https://cloud.google.com/iam). // // - parent: The scope of the dashboards to list. The format is: // projects/[PROJECT_ID_OR_NUMBER]. func (r *ProjectsDashboardsService) List(parent string) *ProjectsDashboardsListCall { c := &ProjectsDashboardsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": A positive number that is // the maximum number of results to return. If unspecified, a default of 1000 // is used. func (c *ProjectsDashboardsListCall) PageSize(pageSize int64) *ProjectsDashboardsListCall { 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 *ProjectsDashboardsListCall) PageToken(pageToken string) *ProjectsDashboardsListCall { 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 *ProjectsDashboardsListCall) Fields(s ...googleapi.Field) *ProjectsDashboardsListCall { 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 *ProjectsDashboardsListCall) IfNoneMatch(entityTag string) *ProjectsDashboardsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsDashboardsListCall) Context(ctx context.Context) *ProjectsDashboardsListCall { 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 *ProjectsDashboardsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsDashboardsListCall) 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, "v1/{+parent}/dashboards") 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.dashboards.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListDashboardsResponse.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 *ProjectsDashboardsListCall) Do(opts ...googleapi.CallOption) (*ListDashboardsResponse, 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 := &ListDashboardsResponse{ 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 *ProjectsDashboardsListCall) Pages(ctx context.Context, f func(*ListDashboardsResponse) 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 ProjectsDashboardsPatchCall struct { s *Service name string dashboard *Dashboard urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Replaces an existing custom dashboard with a new definition.This // method requires the monitoring.dashboards.update permission on the specified // dashboard. For more information, see Cloud Identity and Access Management // (https://cloud.google.com/iam). // // - name: Identifier. The resource name of the dashboard. func (r *ProjectsDashboardsService) Patch(name string, dashboard *Dashboard) *ProjectsDashboardsPatchCall { c := &ProjectsDashboardsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.dashboard = dashboard return c } // ValidateOnly sets the optional parameter "validateOnly": If set, validate // the request and preview the review, but do not actually save it. func (c *ProjectsDashboardsPatchCall) ValidateOnly(validateOnly bool) *ProjectsDashboardsPatchCall { 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 *ProjectsDashboardsPatchCall) Fields(s ...googleapi.Field) *ProjectsDashboardsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsDashboardsPatchCall) Context(ctx context.Context) *ProjectsDashboardsPatchCall { 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 *ProjectsDashboardsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsDashboardsPatchCall) 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.dashboard) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+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.dashboards.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Dashboard.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 *ProjectsDashboardsPatchCall) Do(opts ...googleapi.CallOption) (*Dashboard, 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 := &Dashboard{ 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 ProjectsLocationPrometheusApiV1LabelsCall struct { s *Service name string location string querylabelsrequest *QueryLabelsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Labels: Lists labels for metrics. // // - location: Location of the resource information. Has to be "global" now. // - name: The workspace on which to execute the request. It is not part of the // open source API but used as a request path prefix to distinguish different // virtual Prometheus instances of Google Prometheus Engine. The format is: // projects/PROJECT_ID_OR_NUMBER. func (r *ProjectsLocationPrometheusApiV1Service) Labels(name string, location string, querylabelsrequest *QueryLabelsRequest) *ProjectsLocationPrometheusApiV1LabelsCall { c := &ProjectsLocationPrometheusApiV1LabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.querylabelsrequest = querylabelsrequest 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 *ProjectsLocationPrometheusApiV1LabelsCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1LabelsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1LabelsCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1LabelsCall { 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 *ProjectsLocationPrometheusApiV1LabelsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1LabelsCall) 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.querylabelsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/labels") 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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.labels" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1LabelsCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1QueryCall struct { s *Service name string location string queryinstantrequest *QueryInstantRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Query: Evaluate a PromQL query at a single point in time. // // - location: Location of the resource information. Has to be "global" now. // - name: The project on which to execute the request. Data associcated with // the project's workspace stored under the The format is: // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path // prefix to distinguish different virtual Prometheus instances of Google // Prometheus Engine. func (r *ProjectsLocationPrometheusApiV1Service) Query(name string, location string, queryinstantrequest *QueryInstantRequest) *ProjectsLocationPrometheusApiV1QueryCall { c := &ProjectsLocationPrometheusApiV1QueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.queryinstantrequest = queryinstantrequest 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 *ProjectsLocationPrometheusApiV1QueryCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1QueryCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryCall { 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 *ProjectsLocationPrometheusApiV1QueryCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1QueryCall) 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.queryinstantrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.query" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1QueryCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1QueryExemplarsCall struct { s *Service name string location string queryexemplarsrequest *QueryExemplarsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // QueryExemplars: Lists exemplars relevant to a given PromQL query, // // - location: Location of the resource information. Has to be "global" now. // - name: The project on which to execute the request. Data associcated with // the project's workspace stored under the The format is: // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path // prefix to distinguish different virtual Prometheus instances of Google // Prometheus Engine. func (r *ProjectsLocationPrometheusApiV1Service) QueryExemplars(name string, location string, queryexemplarsrequest *QueryExemplarsRequest) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { c := &ProjectsLocationPrometheusApiV1QueryExemplarsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.queryexemplarsrequest = queryexemplarsrequest 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 *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { 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 *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) 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.queryexemplarsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/query_exemplars") 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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.query_exemplars" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1QueryRangeCall struct { s *Service name string location string queryrangerequest *QueryRangeRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // QueryRange: Evaluate a PromQL query with start, end time range. // // - location: Location of the resource information. Has to be "global" now. // - name: The project on which to execute the request. Data associcated with // the project's workspace stored under the The format is: // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path // prefix to distinguish different virtual Prometheus instances of Google // Prometheus Engine. func (r *ProjectsLocationPrometheusApiV1Service) QueryRange(name string, location string, queryrangerequest *QueryRangeRequest) *ProjectsLocationPrometheusApiV1QueryRangeCall { c := &ProjectsLocationPrometheusApiV1QueryRangeCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.queryrangerequest = queryrangerequest 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 *ProjectsLocationPrometheusApiV1QueryRangeCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryRangeCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryRangeCall { 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 *ProjectsLocationPrometheusApiV1QueryRangeCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) 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.queryrangerequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/query_range") 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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.query_range" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1QueryRangeCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1SeriesCall struct { s *Service name string location string queryseriesrequest *QuerySeriesRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Series: Lists metadata for metrics. // // - location: Location of the resource information. Has to be "global" for // now. // - name: The workspace on which to execute the request. It is not part of the // open source API but used as a request path prefix to distinguish different // virtual Prometheus instances of Google Prometheus Engine. The format is: // projects/PROJECT_ID_OR_NUMBER. func (r *ProjectsLocationPrometheusApiV1Service) Series(name string, location string, queryseriesrequest *QuerySeriesRequest) *ProjectsLocationPrometheusApiV1SeriesCall { c := &ProjectsLocationPrometheusApiV1SeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.queryseriesrequest = queryseriesrequest 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 *ProjectsLocationPrometheusApiV1SeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1SeriesCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1SeriesCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1SeriesCall { 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 *ProjectsLocationPrometheusApiV1SeriesCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1SeriesCall) 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.queryseriesrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/series") 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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.series" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1SeriesCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1LabelValuesCall struct { s *Service name string location string label string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Values: Lists possible values for a given label name. // // - label: The label name for which values are queried. // - location: Location of the resource information. Has to be "global" now. // - name: The workspace on which to execute the request. It is not part of the // open source API but used as a request path prefix to distinguish different // virtual Prometheus instances of Google Prometheus Engine. The format is: // projects/PROJECT_ID_OR_NUMBER. func (r *ProjectsLocationPrometheusApiV1LabelService) Values(name string, location string, label string) *ProjectsLocationPrometheusApiV1LabelValuesCall { c := &ProjectsLocationPrometheusApiV1LabelValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location c.label = label return c } // End sets the optional parameter "end": The end time to evaluate the query // for. Either floating point UNIX seconds or RFC3339 formatted timestamp. func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) End(end string) *ProjectsLocationPrometheusApiV1LabelValuesCall { c.urlParams_.Set("end", end) return c } // Match sets the optional parameter "match": A list of matchers encoded in the // Prometheus label matcher format to constrain the values to series that // satisfy them. func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Match(match string) *ProjectsLocationPrometheusApiV1LabelValuesCall { c.urlParams_.Set("match", match) return c } // Start sets the optional parameter "start": The start time to evaluate the // query for. Either floating point UNIX seconds or RFC3339 formatted // timestamp. func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Start(start string) *ProjectsLocationPrometheusApiV1LabelValuesCall { c.urlParams_.Set("start", start) 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 *ProjectsLocationPrometheusApiV1LabelValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1LabelValuesCall { 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 *ProjectsLocationPrometheusApiV1LabelValuesCall) IfNoneMatch(entityTag string) *ProjectsLocationPrometheusApiV1LabelValuesCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1LabelValuesCall { 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 *ProjectsLocationPrometheusApiV1LabelValuesCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) 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, "v1/{+name}/location/{location}/prometheus/api/v1/label/{label}/values") 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, "location": c.location, "label": c.label, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.label.values" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1LabelValuesCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 ProjectsLocationPrometheusApiV1MetadataListCall struct { s *Service name string location string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists metadata for metrics. // // - location: Location of the resource information. Has to be "global" for // now. // - name: The workspace on which to execute the request. It is not part of the // open source API but used as a request path prefix to distinguish different // virtual Prometheus instances of Google Prometheus Engine. The format is: // projects/PROJECT_ID_OR_NUMBER. func (r *ProjectsLocationPrometheusApiV1MetadataService) List(name string, location string) *ProjectsLocationPrometheusApiV1MetadataListCall { c := &ProjectsLocationPrometheusApiV1MetadataListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.location = location return c } // Limit sets the optional parameter "limit": Maximum number of metrics to // return. func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Limit(limit int64) *ProjectsLocationPrometheusApiV1MetadataListCall { c.urlParams_.Set("limit", fmt.Sprint(limit)) return c } // Metric sets the optional parameter "metric": The metric name for which to // query metadata. If unset, all metric metadata is returned. func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Metric(metric string) *ProjectsLocationPrometheusApiV1MetadataListCall { c.urlParams_.Set("metric", metric) 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 *ProjectsLocationPrometheusApiV1MetadataListCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1MetadataListCall { 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 *ProjectsLocationPrometheusApiV1MetadataListCall) IfNoneMatch(entityTag string) *ProjectsLocationPrometheusApiV1MetadataListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1MetadataListCall { 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 *ProjectsLocationPrometheusApiV1MetadataListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationPrometheusApiV1MetadataListCall) 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, "v1/{+name}/location/{location}/prometheus/api/v1/metadata") 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, "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "monitoring.projects.location.prometheus.api.v1.metadata.list" call. // Any non-2xx status code is an error. Response headers are in either // *HttpBody.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 *ProjectsLocationPrometheusApiV1MetadataListCall) Do(opts ...googleapi.CallOption) (*HttpBody, 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 := &HttpBody{ 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 }