1 // Copyright 2024 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package monitoring provides access to the Cloud Monitoring API. 8 // 9 // For product documentation, see: https://cloud.google.com/monitoring/api/ 10 // 11 // # Library status 12 // 13 // These client libraries are officially supported by Google. However, this 14 // library is considered complete and is in maintenance mode. This means 15 // that we will address critical bugs and security issues but will not add 16 // any new features. 17 // 18 // When possible, we recommend using our newer 19 // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) 20 // that are still actively being worked and iterated on. 21 // 22 // # Creating a client 23 // 24 // Usage example: 25 // 26 // import "google.golang.org/api/monitoring/v1" 27 // ... 28 // ctx := context.Background() 29 // monitoringService, err := monitoring.NewService(ctx) 30 // 31 // In this example, Google Application Default Credentials are used for 32 // authentication. For information on how to create and obtain Application 33 // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 34 // 35 // # Other authentication options 36 // 37 // By default, all available scopes (see "Constants") are used to authenticate. 38 // To restrict scopes, use [google.golang.org/api/option.WithScopes]: 39 // 40 // monitoringService, err := monitoring.NewService(ctx, option.WithScopes(monitoring.MonitoringWriteScope)) 41 // 42 // To use an API key for authentication (note: some APIs do not support API 43 // keys), use [google.golang.org/api/option.WithAPIKey]: 44 // 45 // monitoringService, err := monitoring.NewService(ctx, option.WithAPIKey("AIza...")) 46 // 47 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth 48 // flow, use [google.golang.org/api/option.WithTokenSource]: 49 // 50 // config := &oauth2.Config{...} 51 // // ... 52 // token, err := config.Exchange(ctx, ...) 53 // monitoringService, err := monitoring.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 54 // 55 // See [google.golang.org/api/option.ClientOption] for details on options. 56 package monitoring // import "google.golang.org/api/monitoring/v1" 57 58 import ( 59 "bytes" 60 "context" 61 "encoding/json" 62 "errors" 63 "fmt" 64 "io" 65 "net/http" 66 "net/url" 67 "strconv" 68 "strings" 69 70 googleapi "google.golang.org/api/googleapi" 71 internal "google.golang.org/api/internal" 72 gensupport "google.golang.org/api/internal/gensupport" 73 option "google.golang.org/api/option" 74 internaloption "google.golang.org/api/option/internaloption" 75 htransport "google.golang.org/api/transport/http" 76 ) 77 78 // Always reference these packages, just in case the auto-generated code 79 // below doesn't. 80 var _ = bytes.NewBuffer 81 var _ = strconv.Itoa 82 var _ = fmt.Sprintf 83 var _ = json.NewDecoder 84 var _ = io.Copy 85 var _ = url.Parse 86 var _ = gensupport.MarshalJSON 87 var _ = googleapi.Version 88 var _ = errors.New 89 var _ = strings.Replace 90 var _ = context.Canceled 91 var _ = internaloption.WithDefaultEndpoint 92 var _ = internal.Version 93 94 const apiId = "monitoring:v1" 95 const apiName = "monitoring" 96 const apiVersion = "v1" 97 const basePath = "https://monitoring.googleapis.com/" 98 const basePathTemplate = "https://monitoring.UNIVERSE_DOMAIN/" 99 const mtlsBasePath = "https://monitoring.mtls.googleapis.com/" 100 101 // OAuth2 scopes used by this API. 102 const ( 103 // See, edit, configure, and delete your Google Cloud data and see the email 104 // address for your Google Account. 105 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 106 107 // View and write monitoring data for all of your Google and third-party Cloud 108 // and API projects 109 MonitoringScope = "https://www.googleapis.com/auth/monitoring" 110 111 // View monitoring data for all of your Google Cloud and third-party projects 112 MonitoringReadScope = "https://www.googleapis.com/auth/monitoring.read" 113 114 // Publish metric data to your Google Cloud projects 115 MonitoringWriteScope = "https://www.googleapis.com/auth/monitoring.write" 116 ) 117 118 // NewService creates a new Service. 119 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 120 scopesOption := internaloption.WithDefaultScopes( 121 "https://www.googleapis.com/auth/cloud-platform", 122 "https://www.googleapis.com/auth/monitoring", 123 "https://www.googleapis.com/auth/monitoring.read", 124 "https://www.googleapis.com/auth/monitoring.write", 125 ) 126 // NOTE: prepend, so we don't override user-specified scopes. 127 opts = append([]option.ClientOption{scopesOption}, opts...) 128 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 129 opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) 130 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 131 opts = append(opts, internaloption.EnableNewAuthLibrary()) 132 client, endpoint, err := htransport.NewClient(ctx, opts...) 133 if err != nil { 134 return nil, err 135 } 136 s, err := New(client) 137 if err != nil { 138 return nil, err 139 } 140 if endpoint != "" { 141 s.BasePath = endpoint 142 } 143 return s, nil 144 } 145 146 // New creates a new Service. It uses the provided http.Client for requests. 147 // 148 // Deprecated: please use NewService instead. 149 // To provide a custom HTTP client, use option.WithHTTPClient. 150 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 151 func New(client *http.Client) (*Service, error) { 152 if client == nil { 153 return nil, errors.New("client is nil") 154 } 155 s := &Service{client: client, BasePath: basePath} 156 s.Locations = NewLocationsService(s) 157 s.Operations = NewOperationsService(s) 158 s.Projects = NewProjectsService(s) 159 return s, nil 160 } 161 162 type Service struct { 163 client *http.Client 164 BasePath string // API endpoint base URL 165 UserAgent string // optional additional User-Agent fragment 166 167 Locations *LocationsService 168 169 Operations *OperationsService 170 171 Projects *ProjectsService 172 } 173 174 func (s *Service) userAgent() string { 175 if s.UserAgent == "" { 176 return googleapi.UserAgent 177 } 178 return googleapi.UserAgent + " " + s.UserAgent 179 } 180 181 func NewLocationsService(s *Service) *LocationsService { 182 rs := &LocationsService{s: s} 183 rs.Global = NewLocationsGlobalService(s) 184 return rs 185 } 186 187 type LocationsService struct { 188 s *Service 189 190 Global *LocationsGlobalService 191 } 192 193 func NewLocationsGlobalService(s *Service) *LocationsGlobalService { 194 rs := &LocationsGlobalService{s: s} 195 rs.MetricsScopes = NewLocationsGlobalMetricsScopesService(s) 196 return rs 197 } 198 199 type LocationsGlobalService struct { 200 s *Service 201 202 MetricsScopes *LocationsGlobalMetricsScopesService 203 } 204 205 func NewLocationsGlobalMetricsScopesService(s *Service) *LocationsGlobalMetricsScopesService { 206 rs := &LocationsGlobalMetricsScopesService{s: s} 207 rs.Projects = NewLocationsGlobalMetricsScopesProjectsService(s) 208 return rs 209 } 210 211 type LocationsGlobalMetricsScopesService struct { 212 s *Service 213 214 Projects *LocationsGlobalMetricsScopesProjectsService 215 } 216 217 func NewLocationsGlobalMetricsScopesProjectsService(s *Service) *LocationsGlobalMetricsScopesProjectsService { 218 rs := &LocationsGlobalMetricsScopesProjectsService{s: s} 219 return rs 220 } 221 222 type LocationsGlobalMetricsScopesProjectsService struct { 223 s *Service 224 } 225 226 func NewOperationsService(s *Service) *OperationsService { 227 rs := &OperationsService{s: s} 228 return rs 229 } 230 231 type OperationsService struct { 232 s *Service 233 } 234 235 func NewProjectsService(s *Service) *ProjectsService { 236 rs := &ProjectsService{s: s} 237 rs.Dashboards = NewProjectsDashboardsService(s) 238 rs.Location = NewProjectsLocationService(s) 239 return rs 240 } 241 242 type ProjectsService struct { 243 s *Service 244 245 Dashboards *ProjectsDashboardsService 246 247 Location *ProjectsLocationService 248 } 249 250 func NewProjectsDashboardsService(s *Service) *ProjectsDashboardsService { 251 rs := &ProjectsDashboardsService{s: s} 252 return rs 253 } 254 255 type ProjectsDashboardsService struct { 256 s *Service 257 } 258 259 func NewProjectsLocationService(s *Service) *ProjectsLocationService { 260 rs := &ProjectsLocationService{s: s} 261 rs.Prometheus = NewProjectsLocationPrometheusService(s) 262 return rs 263 } 264 265 type ProjectsLocationService struct { 266 s *Service 267 268 Prometheus *ProjectsLocationPrometheusService 269 } 270 271 func NewProjectsLocationPrometheusService(s *Service) *ProjectsLocationPrometheusService { 272 rs := &ProjectsLocationPrometheusService{s: s} 273 rs.Api = NewProjectsLocationPrometheusApiService(s) 274 return rs 275 } 276 277 type ProjectsLocationPrometheusService struct { 278 s *Service 279 280 Api *ProjectsLocationPrometheusApiService 281 } 282 283 func NewProjectsLocationPrometheusApiService(s *Service) *ProjectsLocationPrometheusApiService { 284 rs := &ProjectsLocationPrometheusApiService{s: s} 285 rs.V1 = NewProjectsLocationPrometheusApiV1Service(s) 286 return rs 287 } 288 289 type ProjectsLocationPrometheusApiService struct { 290 s *Service 291 292 V1 *ProjectsLocationPrometheusApiV1Service 293 } 294 295 func NewProjectsLocationPrometheusApiV1Service(s *Service) *ProjectsLocationPrometheusApiV1Service { 296 rs := &ProjectsLocationPrometheusApiV1Service{s: s} 297 rs.Label = NewProjectsLocationPrometheusApiV1LabelService(s) 298 rs.Metadata = NewProjectsLocationPrometheusApiV1MetadataService(s) 299 return rs 300 } 301 302 type ProjectsLocationPrometheusApiV1Service struct { 303 s *Service 304 305 Label *ProjectsLocationPrometheusApiV1LabelService 306 307 Metadata *ProjectsLocationPrometheusApiV1MetadataService 308 } 309 310 func NewProjectsLocationPrometheusApiV1LabelService(s *Service) *ProjectsLocationPrometheusApiV1LabelService { 311 rs := &ProjectsLocationPrometheusApiV1LabelService{s: s} 312 return rs 313 } 314 315 type ProjectsLocationPrometheusApiV1LabelService struct { 316 s *Service 317 } 318 319 func NewProjectsLocationPrometheusApiV1MetadataService(s *Service) *ProjectsLocationPrometheusApiV1MetadataService { 320 rs := &ProjectsLocationPrometheusApiV1MetadataService{s: s} 321 return rs 322 } 323 324 type ProjectsLocationPrometheusApiV1MetadataService struct { 325 s *Service 326 } 327 328 // Aggregation: Describes how to combine multiple time series to provide a 329 // different view of the data. Aggregation of time series is done in two steps. 330 // First, each time series in the set is aligned to the same time interval 331 // boundaries, then the set of time series is optionally reduced in 332 // number.Alignment consists of applying the per_series_aligner operation to 333 // each time series after its data has been divided into regular 334 // alignment_period time intervals. This process takes all of the data points 335 // in an alignment period, applies a mathematical transformation such as 336 // averaging, minimum, maximum, delta, etc., and converts them into a single 337 // data point per period.Reduction is when the aligned and transformed time 338 // series can optionally be combined, reducing the number of time series 339 // through similar mathematical transformations. Reduction involves applying a 340 // cross_series_reducer to all the time series, optionally sorting the time 341 // series into subsets with group_by_fields, and applying the reducer to each 342 // subset.The raw time series data can contain a huge amount of information 343 // from multiple sources. Alignment and reduction transforms this mass of data 344 // into a more manageable and representative collection of data, for example 345 // "the 95% latency across the average of all tasks in a cluster". This 346 // representative data can be more easily graphed and comprehended, and the 347 // individual time series data is still available for later drilldown. For more 348 // details, see Filtering and aggregation 349 // (https://cloud.google.com/monitoring/api/v3/aggregation). 350 type Aggregation struct { 351 // AlignmentPeriod: The alignment_period specifies a time interval, in seconds, 352 // that is used to divide the data in all the time series into consistent 353 // blocks of time. This will be done before the per-series aligner can be 354 // applied to the data.The value must be at least 60 seconds. If a per-series 355 // aligner other than ALIGN_NONE is specified, this field is required or an 356 // error is returned. If no per-series aligner is specified, or the aligner 357 // ALIGN_NONE is specified, then this field is ignored.The maximum value of the 358 // alignment_period is 2 years, or 104 weeks. 359 AlignmentPeriod string `json:"alignmentPeriod,omitempty"` 360 // CrossSeriesReducer: The reduction operation to be used to combine time 361 // series into a single time series, where the value of each data point in the 362 // resulting series is a function of all the already aligned values in the 363 // input time series.Not all reducer operations can be applied to all time 364 // series. The valid choices depend on the metric_kind and the value_type of 365 // the original time series. Reduction can yield a time series with a different 366 // metric_kind or value_type than the input time series.Time series data must 367 // first be aligned (see per_series_aligner) in order to perform cross-time 368 // series reduction. If cross_series_reducer is specified, then 369 // per_series_aligner must be specified, and must not be ALIGN_NONE. An 370 // alignment_period must also be specified; otherwise, an error is returned. 371 // 372 // Possible values: 373 // "REDUCE_NONE" - No cross-time series reduction. The output of the Aligner 374 // is returned. 375 // "REDUCE_MEAN" - Reduce by computing the mean value across time series for 376 // each alignment period. This reducer is valid for DELTA and GAUGE metrics 377 // with numeric or distribution values. The value_type of the output is DOUBLE. 378 // "REDUCE_MIN" - Reduce by computing the minimum value across time series 379 // for each alignment period. This reducer is valid for DELTA and GAUGE metrics 380 // with numeric values. The value_type of the output is the same as the 381 // value_type of the input. 382 // "REDUCE_MAX" - Reduce by computing the maximum value across time series 383 // for each alignment period. This reducer is valid for DELTA and GAUGE metrics 384 // with numeric values. The value_type of the output is the same as the 385 // value_type of the input. 386 // "REDUCE_SUM" - Reduce by computing the sum across time series for each 387 // alignment period. This reducer is valid for DELTA and GAUGE metrics with 388 // numeric and distribution values. The value_type of the output is the same as 389 // the value_type of the input. 390 // "REDUCE_STDDEV" - Reduce by computing the standard deviation across time 391 // series for each alignment period. This reducer is valid for DELTA and GAUGE 392 // metrics with numeric or distribution values. The value_type of the output is 393 // DOUBLE. 394 // "REDUCE_COUNT" - Reduce by computing the number of data points across time 395 // series for each alignment period. This reducer is valid for DELTA and GAUGE 396 // metrics of numeric, Boolean, distribution, and string value_type. The 397 // value_type of the output is INT64. 398 // "REDUCE_COUNT_TRUE" - Reduce by computing the number of True-valued data 399 // points across time series for each alignment period. This reducer is valid 400 // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the 401 // output is INT64. 402 // "REDUCE_COUNT_FALSE" - Reduce by computing the number of False-valued data 403 // points across time series for each alignment period. This reducer is valid 404 // for DELTA and GAUGE metrics of Boolean value_type. The value_type of the 405 // output is INT64. 406 // "REDUCE_FRACTION_TRUE" - Reduce by computing the ratio of the number of 407 // True-valued data points to the total number of data points for each 408 // alignment period. This reducer is valid for DELTA and GAUGE metrics of 409 // Boolean value_type. The output value is in the range 0.0, 1.0 and has 410 // value_type DOUBLE. 411 // "REDUCE_PERCENTILE_99" - Reduce by computing the 99th percentile 412 // (https://en.wikipedia.org/wiki/Percentile) of data points across time series 413 // for each alignment period. This reducer is valid for GAUGE and DELTA metrics 414 // of numeric and distribution type. The value of the output is DOUBLE. 415 // "REDUCE_PERCENTILE_95" - Reduce by computing the 95th percentile 416 // (https://en.wikipedia.org/wiki/Percentile) of data points across time series 417 // for each alignment period. This reducer is valid for GAUGE and DELTA metrics 418 // of numeric and distribution type. The value of the output is DOUBLE. 419 // "REDUCE_PERCENTILE_50" - Reduce by computing the 50th percentile 420 // (https://en.wikipedia.org/wiki/Percentile) of data points across time series 421 // for each alignment period. This reducer is valid for GAUGE and DELTA metrics 422 // of numeric and distribution type. The value of the output is DOUBLE. 423 // "REDUCE_PERCENTILE_05" - Reduce by computing the 5th percentile 424 // (https://en.wikipedia.org/wiki/Percentile) of data points across time series 425 // for each alignment period. This reducer is valid for GAUGE and DELTA metrics 426 // of numeric and distribution type. The value of the output is DOUBLE. 427 CrossSeriesReducer string `json:"crossSeriesReducer,omitempty"` 428 // GroupByFields: The set of fields to preserve when cross_series_reducer is 429 // specified. The group_by_fields determine how the time series are partitioned 430 // into subsets prior to applying the aggregation operation. Each subset 431 // contains time series that have the same value for each of the grouping 432 // fields. Each individual time series is a member of exactly one subset. The 433 // cross_series_reducer is applied to each subset of time series. It is not 434 // possible to reduce across different resource types, so this field implicitly 435 // contains resource.type. Fields not specified in group_by_fields are 436 // aggregated away. If group_by_fields is not specified and all the time series 437 // have the same resource type, then the time series are aggregated into a 438 // single output time series. If cross_series_reducer is not defined, this 439 // field is ignored. 440 GroupByFields []string `json:"groupByFields,omitempty"` 441 // PerSeriesAligner: An Aligner describes how to bring the data points in a 442 // single time series into temporal alignment. Except for ALIGN_NONE, all 443 // alignments cause all the data points in an alignment_period to be 444 // mathematically grouped together, resulting in a single data point for each 445 // alignment_period with end timestamp at the end of the period.Not all 446 // alignment operations may be applied to all time series. The valid choices 447 // depend on the metric_kind and value_type of the original time series. 448 // Alignment can change the metric_kind or the value_type of the time 449 // series.Time series data must be aligned in order to perform cross-time 450 // series reduction. If cross_series_reducer is specified, then 451 // per_series_aligner must be specified and not equal to ALIGN_NONE and 452 // alignment_period must be specified; otherwise, an error is returned. 453 // 454 // Possible values: 455 // "ALIGN_NONE" - No alignment. Raw data is returned. Not valid if 456 // cross-series reduction is requested. The value_type of the result is the 457 // same as the value_type of the input. 458 // "ALIGN_DELTA" - Align and convert to DELTA. The output is delta = y1 - 459 // y0.This alignment is valid for CUMULATIVE and DELTA metrics. If the selected 460 // alignment period results in periods with no data, then the aligned value for 461 // such a period is created by interpolation. The value_type of the aligned 462 // result is the same as the value_type of the input. 463 // "ALIGN_RATE" - Align and convert to a rate. The result is computed as rate 464 // = (y1 - y0)/(t1 - t0), or "delta over time". Think of this aligner as 465 // providing the slope of the line that passes through the value at the start 466 // and at the end of the alignment_period.This aligner is valid for CUMULATIVE 467 // and DELTA metrics with numeric values. If the selected alignment period 468 // results in periods with no data, then the aligned value for such a period is 469 // created by interpolation. The output is a GAUGE metric with value_type 470 // DOUBLE.If, by "rate", you mean "percentage change", see the 471 // ALIGN_PERCENT_CHANGE aligner instead. 472 // "ALIGN_INTERPOLATE" - Align by interpolating between adjacent points 473 // around the alignment period boundary. This aligner is valid for GAUGE 474 // metrics with numeric values. The value_type of the aligned result is the 475 // same as the value_type of the input. 476 // "ALIGN_NEXT_OLDER" - Align by moving the most recent data point before the 477 // end of the alignment period to the boundary at the end of the alignment 478 // period. This aligner is valid for GAUGE metrics. The value_type of the 479 // aligned result is the same as the value_type of the input. 480 // "ALIGN_MIN" - Align the time series by returning the minimum value in each 481 // alignment period. This aligner is valid for GAUGE and DELTA metrics with 482 // numeric values. The value_type of the aligned result is the same as the 483 // value_type of the input. 484 // "ALIGN_MAX" - Align the time series by returning the maximum value in each 485 // alignment period. This aligner is valid for GAUGE and DELTA metrics with 486 // numeric values. The value_type of the aligned result is the same as the 487 // value_type of the input. 488 // "ALIGN_MEAN" - Align the time series by returning the mean value in each 489 // alignment period. This aligner is valid for GAUGE and DELTA metrics with 490 // numeric values. The value_type of the aligned result is DOUBLE. 491 // "ALIGN_COUNT" - Align the time series by returning the number of values in 492 // each alignment period. This aligner is valid for GAUGE and DELTA metrics 493 // with numeric or Boolean values. The value_type of the aligned result is 494 // INT64. 495 // "ALIGN_SUM" - Align the time series by returning the sum of the values in 496 // each alignment period. This aligner is valid for GAUGE and DELTA metrics 497 // with numeric and distribution values. The value_type of the aligned result 498 // is the same as the value_type of the input. 499 // "ALIGN_STDDEV" - Align the time series by returning the standard deviation 500 // of the values in each alignment period. This aligner is valid for GAUGE and 501 // DELTA metrics with numeric values. The value_type of the output is DOUBLE. 502 // "ALIGN_COUNT_TRUE" - Align the time series by returning the number of True 503 // values in each alignment period. This aligner is valid for GAUGE metrics 504 // with Boolean values. The value_type of the output is INT64. 505 // "ALIGN_COUNT_FALSE" - Align the time series by returning the number of 506 // False values in each alignment period. This aligner is valid for GAUGE 507 // metrics with Boolean values. The value_type of the output is INT64. 508 // "ALIGN_FRACTION_TRUE" - Align the time series by returning the ratio of 509 // the number of True values to the total number of values in each alignment 510 // period. This aligner is valid for GAUGE metrics with Boolean values. The 511 // output value is in the range 0.0, 1.0 and has value_type DOUBLE. 512 // "ALIGN_PERCENTILE_99" - Align the time series by using percentile 513 // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data 514 // point in each alignment period is the 99th percentile of all data points in 515 // the period. This aligner is valid for GAUGE and DELTA metrics with 516 // distribution values. The output is a GAUGE metric with value_type DOUBLE. 517 // "ALIGN_PERCENTILE_95" - Align the time series by using percentile 518 // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data 519 // point in each alignment period is the 95th percentile of all data points in 520 // the period. This aligner is valid for GAUGE and DELTA metrics with 521 // distribution values. The output is a GAUGE metric with value_type DOUBLE. 522 // "ALIGN_PERCENTILE_50" - Align the time series by using percentile 523 // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data 524 // point in each alignment period is the 50th percentile of all data points in 525 // the period. This aligner is valid for GAUGE and DELTA metrics with 526 // distribution values. The output is a GAUGE metric with value_type DOUBLE. 527 // "ALIGN_PERCENTILE_05" - Align the time series by using percentile 528 // aggregation (https://en.wikipedia.org/wiki/Percentile). The resulting data 529 // point in each alignment period is the 5th percentile of all data points in 530 // the period. This aligner is valid for GAUGE and DELTA metrics with 531 // distribution values. The output is a GAUGE metric with value_type DOUBLE. 532 // "ALIGN_PERCENT_CHANGE" - Align and convert to a percentage change. This 533 // aligner is valid for GAUGE and DELTA metrics with numeric values. This 534 // alignment returns ((current - previous)/previous) * 100, where the value of 535 // previous is determined based on the alignment_period.If the values of 536 // current and previous are both 0, then the returned value is 0. If only 537 // previous is 0, the returned value is infinity.A 10-minute moving mean is 538 // computed at each point of the alignment period prior to the above 539 // calculation to smooth the metric and prevent false positives from very 540 // short-lived spikes. The moving mean is only applicable for data whose values 541 // are >= 0. Any values < 0 are treated as a missing datapoint, and are 542 // ignored. While DELTA metrics are accepted by this alignment, special care 543 // should be taken that the values for the metric will always be positive. The 544 // output is a GAUGE metric with value_type DOUBLE. 545 PerSeriesAligner string `json:"perSeriesAligner,omitempty"` 546 // ForceSendFields is a list of field names (e.g. "AlignmentPeriod") to 547 // unconditionally include in API requests. By default, fields with empty or 548 // default values are omitted from API requests. See 549 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 550 // details. 551 ForceSendFields []string `json:"-"` 552 // NullFields is a list of field names (e.g. "AlignmentPeriod") to include in 553 // API requests with the JSON null value. By default, fields with empty values 554 // are omitted from API requests. See 555 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 556 NullFields []string `json:"-"` 557 } 558 559 func (s *Aggregation) MarshalJSON() ([]byte, error) { 560 type NoMethod Aggregation 561 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 562 } 563 564 // AggregationFunction: Preview: An identifier for an aggregation function. 565 // Aggregation functions are SQL functions that group or transform data from 566 // multiple points to a single point. This is a preview feature and may be 567 // subject to change before final release. 568 type AggregationFunction struct { 569 // Parameters: Optional. Parameters applied to the aggregation function. Only 570 // used for functions that require them. 571 Parameters []*Parameter `json:"parameters,omitempty"` 572 // Type: Required. The type of aggregation function, must be one of the 573 // following: "none" - no function. "percentile" - APPROX_QUANTILES() - 1 574 // parameter numeric value "average" - AVG() "count" - COUNT() "count-distinct" 575 // - COUNT(DISTINCT) "count-distinct-approx" - APPROX_COUNT_DISTINCT() "max" - 576 // MAX() "min" - MIN() "sum" - SUM() 577 Type string `json:"type,omitempty"` 578 // ForceSendFields is a list of field names (e.g. "Parameters") to 579 // unconditionally include in API requests. By default, fields with empty or 580 // default values are omitted from API requests. See 581 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 582 // details. 583 ForceSendFields []string `json:"-"` 584 // NullFields is a list of field names (e.g. "Parameters") to include in API 585 // requests with the JSON null value. By default, fields with empty values are 586 // omitted from API requests. See 587 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 588 NullFields []string `json:"-"` 589 } 590 591 func (s *AggregationFunction) MarshalJSON() ([]byte, error) { 592 type NoMethod AggregationFunction 593 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 594 } 595 596 // AlertChart: A chart that displays alert policy data. 597 type AlertChart struct { 598 // Name: Required. The resource name of the alert policy. The format is: 599 // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] 600 Name string `json:"name,omitempty"` 601 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 602 // include in API requests. By default, fields with empty or default values are 603 // omitted from API requests. See 604 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 605 // details. 606 ForceSendFields []string `json:"-"` 607 // NullFields is a list of field names (e.g. "Name") to include in API requests 608 // with the JSON null value. By default, fields with empty values are omitted 609 // from API requests. See 610 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 611 NullFields []string `json:"-"` 612 } 613 614 func (s *AlertChart) MarshalJSON() ([]byte, error) { 615 type NoMethod AlertChart 616 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 617 } 618 619 // Axis: A chart axis. 620 type Axis struct { 621 // Label: The label of the axis. 622 Label string `json:"label,omitempty"` 623 // Scale: The axis scale. By default, a linear scale is used. 624 // 625 // Possible values: 626 // "SCALE_UNSPECIFIED" - Scale is unspecified. The view will default to 627 // LINEAR. 628 // "LINEAR" - Linear scale. 629 // "LOG10" - Logarithmic scale (base 10). 630 Scale string `json:"scale,omitempty"` 631 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 632 // include in API requests. By default, fields with empty or default values are 633 // omitted from API requests. See 634 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 635 // details. 636 ForceSendFields []string `json:"-"` 637 // NullFields is a list of field names (e.g. "Label") to include in API 638 // requests with the JSON null value. By default, fields with empty values are 639 // omitted from API requests. See 640 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 641 NullFields []string `json:"-"` 642 } 643 644 func (s *Axis) MarshalJSON() ([]byte, error) { 645 type NoMethod Axis 646 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 647 } 648 649 // Breakdown: Preview: A breakdown is an aggregation applied to the measures 650 // over a specified column. A breakdown can result in multiple series across a 651 // category for the provided measure. This is a preview feature and may be 652 // subject to change before final release. 653 type Breakdown struct { 654 // AggregationFunction: Required. The Aggregation function is applied across 655 // all data in each breakdown created. 656 AggregationFunction *AggregationFunction `json:"aggregationFunction,omitempty"` 657 // Column: Required. The name of the column in the dataset containing the 658 // breakdown values. 659 Column string `json:"column,omitempty"` 660 // Limit: Required. A limit to the number of breakdowns. If set to zero then 661 // all possible breakdowns are applied. The list of breakdowns is dependent on 662 // the value of the sort_order field. 663 Limit int64 `json:"limit,omitempty"` 664 // SortOrder: Required. The sort order is applied to the values of the 665 // breakdown column. 666 // 667 // Possible values: 668 // "SORT_ORDER_UNSPECIFIED" - An unspecified sort order. This option is 669 // invalid when sorting is required. 670 // "SORT_ORDER_NONE" - No sorting is applied. 671 // "SORT_ORDER_ASCENDING" - The lowest-valued entries are selected first. 672 // "SORT_ORDER_DESCENDING" - The highest-valued entries are selected first. 673 SortOrder string `json:"sortOrder,omitempty"` 674 // ForceSendFields is a list of field names (e.g. "AggregationFunction") to 675 // unconditionally include in API requests. By default, fields with empty or 676 // default values are omitted from API requests. See 677 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 678 // details. 679 ForceSendFields []string `json:"-"` 680 // NullFields is a list of field names (e.g. "AggregationFunction") to include 681 // in API requests with the JSON null value. By default, fields with empty 682 // values are omitted from API requests. See 683 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 684 NullFields []string `json:"-"` 685 } 686 687 func (s *Breakdown) MarshalJSON() ([]byte, error) { 688 type NoMethod Breakdown 689 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 690 } 691 692 // ChartOptions: Options to control visual rendering of a chart. 693 type ChartOptions struct { 694 // DisplayHorizontal: Preview: Configures whether the charted values are shown 695 // on the horizontal or vertical axis. By default, values are represented the 696 // vertical axis. This is a preview feature and may be subject to change before 697 // final release. 698 DisplayHorizontal bool `json:"displayHorizontal,omitempty"` 699 // Mode: The chart mode. 700 // 701 // Possible values: 702 // "MODE_UNSPECIFIED" - Mode is unspecified. The view will default to COLOR. 703 // "COLOR" - The chart distinguishes data series using different color. Line 704 // colors may get reused when there are many lines in the chart. 705 // "X_RAY" - The chart uses the Stackdriver x-ray mode, in which each data 706 // set is plotted using the same semi-transparent color. 707 // "STATS" - The chart displays statistics such as average, median, 95th 708 // percentile, and more. 709 Mode string `json:"mode,omitempty"` 710 // ForceSendFields is a list of field names (e.g. "DisplayHorizontal") to 711 // unconditionally include in API requests. By default, fields with empty or 712 // default values are omitted from API requests. See 713 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 714 // details. 715 ForceSendFields []string `json:"-"` 716 // NullFields is a list of field names (e.g. "DisplayHorizontal") to include in 717 // API requests with the JSON null value. By default, fields with empty values 718 // are omitted from API requests. See 719 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 720 NullFields []string `json:"-"` 721 } 722 723 func (s *ChartOptions) MarshalJSON() ([]byte, error) { 724 type NoMethod ChartOptions 725 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 726 } 727 728 // CollapsibleGroup: A widget that groups the other widgets. All widgets that 729 // are within the area spanned by the grouping widget are considered member 730 // widgets. 731 type CollapsibleGroup struct { 732 // Collapsed: The collapsed state of the widget on first page load. 733 Collapsed bool `json:"collapsed,omitempty"` 734 // ForceSendFields is a list of field names (e.g. "Collapsed") to 735 // unconditionally include in API requests. By default, fields with empty or 736 // default values are omitted from API requests. See 737 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 738 // details. 739 ForceSendFields []string `json:"-"` 740 // NullFields is a list of field names (e.g. "Collapsed") to include in API 741 // requests with the JSON null value. By default, fields with empty values are 742 // omitted from API requests. See 743 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 744 NullFields []string `json:"-"` 745 } 746 747 func (s *CollapsibleGroup) MarshalJSON() ([]byte, error) { 748 type NoMethod CollapsibleGroup 749 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 750 } 751 752 // Column: Defines the layout properties and content for a column. 753 type Column struct { 754 // Weight: The relative weight of this column. The column weight is used to 755 // adjust the width of columns on the screen (relative to peers). Greater the 756 // weight, greater the width of the column on the screen. If omitted, a value 757 // of 1 is used while rendering. 758 Weight int64 `json:"weight,omitempty,string"` 759 // Widgets: The display widgets arranged vertically in this column. 760 Widgets []*Widget `json:"widgets,omitempty"` 761 // ForceSendFields is a list of field names (e.g. "Weight") to unconditionally 762 // include in API requests. By default, fields with empty or default values are 763 // omitted from API requests. See 764 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 765 // details. 766 ForceSendFields []string `json:"-"` 767 // NullFields is a list of field names (e.g. "Weight") to include in API 768 // requests with the JSON null value. By default, fields with empty values are 769 // omitted from API requests. See 770 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 771 NullFields []string `json:"-"` 772 } 773 774 func (s *Column) MarshalJSON() ([]byte, error) { 775 type NoMethod Column 776 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 777 } 778 779 // ColumnLayout: A simplified layout that divides the available space into 780 // vertical columns and arranges a set of widgets vertically in each column. 781 type ColumnLayout struct { 782 // Columns: The columns of content to display. 783 Columns []*Column `json:"columns,omitempty"` 784 // ForceSendFields is a list of field names (e.g. "Columns") to unconditionally 785 // include in API requests. By default, fields with empty or default values are 786 // omitted from API requests. See 787 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 788 // details. 789 ForceSendFields []string `json:"-"` 790 // NullFields is a list of field names (e.g. "Columns") to include in API 791 // requests with the JSON null value. By default, fields with empty values are 792 // omitted from API requests. See 793 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 794 NullFields []string `json:"-"` 795 } 796 797 func (s *ColumnLayout) MarshalJSON() ([]byte, error) { 798 type NoMethod ColumnLayout 799 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 800 } 801 802 // ColumnSettings: The persistent settings for a table's columns. 803 type ColumnSettings struct { 804 // Column: Required. The id of the column. 805 Column string `json:"column,omitempty"` 806 // Visible: Required. Whether the column should be visible on page load. 807 Visible bool `json:"visible,omitempty"` 808 // ForceSendFields is a list of field names (e.g. "Column") to unconditionally 809 // include in API requests. By default, fields with empty or default values are 810 // omitted from API requests. See 811 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 812 // details. 813 ForceSendFields []string `json:"-"` 814 // NullFields is a list of field names (e.g. "Column") to include in API 815 // requests with the JSON null value. By default, fields with empty values are 816 // omitted from API requests. See 817 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 818 NullFields []string `json:"-"` 819 } 820 821 func (s *ColumnSettings) MarshalJSON() ([]byte, error) { 822 type NoMethod ColumnSettings 823 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 824 } 825 826 // Dashboard: A Google Stackdriver dashboard. Dashboards define the content and 827 // layout of pages in the Stackdriver web application. 828 type Dashboard struct { 829 // Annotations: Configuration for event annotations to display on this 830 // dashboard. 831 Annotations *DashboardAnnotations `json:"annotations,omitempty"` 832 // ColumnLayout: The content is divided into equally spaced columns and the 833 // widgets are arranged vertically. 834 ColumnLayout *ColumnLayout `json:"columnLayout,omitempty"` 835 // DashboardFilters: Filters to reduce the amount of data charted based on the 836 // filter criteria. 837 DashboardFilters []*DashboardFilter `json:"dashboardFilters,omitempty"` 838 // DisplayName: Required. The mutable, human-readable name. 839 DisplayName string `json:"displayName,omitempty"` 840 // Etag: etag is used for optimistic concurrency control as a way to help 841 // prevent simultaneous updates of a policy from overwriting each other. An 842 // etag is returned in the response to GetDashboard, and users are expected to 843 // put that etag in the request to UpdateDashboard to ensure that their change 844 // will be applied to the same version of the Dashboard configuration. The 845 // field should not be passed during dashboard creation. 846 Etag string `json:"etag,omitempty"` 847 // GridLayout: Content is arranged with a basic layout that re-flows a simple 848 // list of informational elements like widgets or tiles. 849 GridLayout *GridLayout `json:"gridLayout,omitempty"` 850 // Labels: Labels applied to the dashboard 851 Labels map[string]string `json:"labels,omitempty"` 852 // MosaicLayout: The content is arranged as a grid of tiles, with each content 853 // widget occupying one or more grid blocks. 854 MosaicLayout *MosaicLayout `json:"mosaicLayout,omitempty"` 855 // Name: Identifier. The resource name of the dashboard. 856 Name string `json:"name,omitempty"` 857 // RowLayout: The content is divided into equally spaced rows and the widgets 858 // are arranged horizontally. 859 RowLayout *RowLayout `json:"rowLayout,omitempty"` 860 861 // ServerResponse contains the HTTP response code and headers from the server. 862 googleapi.ServerResponse `json:"-"` 863 // ForceSendFields is a list of field names (e.g. "Annotations") to 864 // unconditionally include in API requests. By default, fields with empty or 865 // default values are omitted from API requests. See 866 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 867 // details. 868 ForceSendFields []string `json:"-"` 869 // NullFields is a list of field names (e.g. "Annotations") to include in API 870 // requests with the JSON null value. By default, fields with empty values are 871 // omitted from API requests. See 872 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 873 NullFields []string `json:"-"` 874 } 875 876 func (s *Dashboard) MarshalJSON() ([]byte, error) { 877 type NoMethod Dashboard 878 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 879 } 880 881 // DashboardAnnotations: Dashboard-level configuration for annotations 882 type DashboardAnnotations struct { 883 // DefaultResourceNames: Dashboard level defaults for names of logging 884 // resources to search for events. Currently only projects are supported. Each 885 // individual EventAnnotation may have its own overrides. If both this field 886 // and the per annotation field is empty, then the scoping project is used. 887 // Limit: 50 projects. For example: “projects/some-project-id” 888 DefaultResourceNames []string `json:"defaultResourceNames,omitempty"` 889 // EventAnnotations: List of annotation configurations for this dashboard. Each 890 // entry specifies one event type. 891 EventAnnotations []*EventAnnotation `json:"eventAnnotations,omitempty"` 892 // ForceSendFields is a list of field names (e.g. "DefaultResourceNames") to 893 // unconditionally include in API requests. By default, fields with empty or 894 // default values are omitted from API requests. See 895 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 896 // details. 897 ForceSendFields []string `json:"-"` 898 // NullFields is a list of field names (e.g. "DefaultResourceNames") to include 899 // in API requests with the JSON null value. By default, fields with empty 900 // values are omitted from API requests. See 901 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 902 NullFields []string `json:"-"` 903 } 904 905 func (s *DashboardAnnotations) MarshalJSON() ([]byte, error) { 906 type NoMethod DashboardAnnotations 907 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 908 } 909 910 // DashboardFilter: A filter to reduce the amount of data charted in relevant 911 // widgets. 912 type DashboardFilter struct { 913 // ApplyToNewWidgets: Whether to apply this filter to new widgets by default 914 ApplyToNewWidgets bool `json:"applyToNewWidgets,omitempty"` 915 // FilterType: The specified filter type 916 // 917 // Possible values: 918 // "FILTER_TYPE_UNSPECIFIED" - Filter type is unspecified. This is not valid 919 // in a well-formed request. 920 // "RESOURCE_LABEL" - Filter on a resource label value 921 // "METRIC_LABEL" - Filter on a metrics label value 922 // "USER_METADATA_LABEL" - Filter on a user metadata label value 923 // "SYSTEM_METADATA_LABEL" - Filter on a system metadata label value 924 // "GROUP" - Filter on a group id 925 FilterType string `json:"filterType,omitempty"` 926 // LabelKey: Required. The key for the label 927 LabelKey string `json:"labelKey,omitempty"` 928 // StringValue: A variable-length string value. 929 StringValue string `json:"stringValue,omitempty"` 930 // TemplateVariable: The placeholder text that can be referenced in a filter 931 // string or MQL query. If omitted, the dashboard filter will be applied to all 932 // relevant widgets in the dashboard. 933 TemplateVariable string `json:"templateVariable,omitempty"` 934 // ForceSendFields is a list of field names (e.g. "ApplyToNewWidgets") to 935 // unconditionally include in API requests. By default, fields with empty or 936 // default values are omitted from API requests. See 937 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 938 // details. 939 ForceSendFields []string `json:"-"` 940 // NullFields is a list of field names (e.g. "ApplyToNewWidgets") to include in 941 // API requests with the JSON null value. By default, fields with empty values 942 // are omitted from API requests. See 943 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 944 NullFields []string `json:"-"` 945 } 946 947 func (s *DashboardFilter) MarshalJSON() ([]byte, error) { 948 type NoMethod DashboardFilter 949 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 950 } 951 952 // DataSet: Groups a time series query definition with charting options. 953 type DataSet struct { 954 // Breakdowns: Optional. The collection of breakdowns to be applied to the 955 // dataset. 956 Breakdowns []*Breakdown `json:"breakdowns,omitempty"` 957 // Dimensions: Optional. A collection of dimension columns. 958 Dimensions []*Dimension `json:"dimensions,omitempty"` 959 // LegendTemplate: A template string for naming TimeSeries in the resulting 960 // data set. This should be a string with interpolations of the form 961 // ${label_name}, which will resolve to the label's value. 962 LegendTemplate string `json:"legendTemplate,omitempty"` 963 // Measures: Optional. A collection of measures. 964 Measures []*Measure `json:"measures,omitempty"` 965 // MinAlignmentPeriod: Optional. The lower bound on data point frequency for 966 // this data set, implemented by specifying the minimum alignment period to use 967 // in a time series query For example, if the data is published once every 10 968 // minutes, the min_alignment_period should be at least 10 minutes. It would 969 // not make sense to fetch and align data at one minute intervals. 970 MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` 971 // PlotType: How this data should be plotted on the chart. 972 // 973 // Possible values: 974 // "PLOT_TYPE_UNSPECIFIED" - Plot type is unspecified. The view will default 975 // to LINE. 976 // "LINE" - The data is plotted as a set of lines (one line per series). 977 // "STACKED_AREA" - The data is plotted as a set of filled areas (one area 978 // per series), with the areas stacked vertically (the base of each area is the 979 // top of its predecessor, and the base of the first area is the x-axis). Since 980 // the areas do not overlap, each is filled with a different opaque color. 981 // "STACKED_BAR" - The data is plotted as a set of rectangular boxes (one box 982 // per series), with the boxes stacked vertically (the base of each box is the 983 // top of its predecessor, and the base of the first box is the x-axis). Since 984 // the boxes do not overlap, each is filled with a different opaque color. 985 // "HEATMAP" - The data is plotted as a heatmap. The series being plotted 986 // must have a DISTRIBUTION value type. The value of each bucket in the 987 // distribution is displayed as a color. This type is not currently available 988 // in the Stackdriver Monitoring application. 989 PlotType string `json:"plotType,omitempty"` 990 // TargetAxis: Optional. The target axis to use for plotting the metric. 991 // 992 // Possible values: 993 // "TARGET_AXIS_UNSPECIFIED" - The target axis was not specified. Defaults to 994 // Y1. 995 // "Y1" - The y_axis (the right axis of chart). 996 // "Y2" - The y2_axis (the left axis of chart). 997 TargetAxis string `json:"targetAxis,omitempty"` 998 // TimeSeriesQuery: Required. Fields for querying time series data from the 999 // Stackdriver metrics API. 1000 TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` 1001 // ForceSendFields is a list of field names (e.g. "Breakdowns") to 1002 // unconditionally include in API requests. By default, fields with empty or 1003 // default values are omitted from API requests. See 1004 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1005 // details. 1006 ForceSendFields []string `json:"-"` 1007 // NullFields is a list of field names (e.g. "Breakdowns") to include in API 1008 // requests with the JSON null value. By default, fields with empty values are 1009 // omitted from API requests. See 1010 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1011 NullFields []string `json:"-"` 1012 } 1013 1014 func (s *DataSet) MarshalJSON() ([]byte, error) { 1015 type NoMethod DataSet 1016 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1017 } 1018 1019 // Dimension: A chart dimension. Dimensions are a structured label, class, or 1020 // category for a set of measurements in your data. 1021 type Dimension struct { 1022 // Column: Required. The name of the column in the source SQL query that is 1023 // used to chart the dimension. 1024 Column string `json:"column,omitempty"` 1025 // ColumnType: Optional. The type of the dimension column. This is relevant 1026 // only if one of the bin_size fields is set. If it is empty, the type 1027 // TIMESTAMP or INT64 will be assumed based on which bin_size field is set. If 1028 // populated, this should be set to one of the following types: DATE, TIME, 1029 // DATETIME, TIMESTAMP, BIGNUMERIC, INT64, NUMERIC, FLOAT64. 1030 ColumnType string `json:"columnType,omitempty"` 1031 // FloatBinSize: Optional. float_bin_size is used when the column type used for 1032 // a dimension is a floating point numeric column. 1033 FloatBinSize float64 `json:"floatBinSize,omitempty"` 1034 // MaxBinCount: A limit to the number of bins generated. When 0 is specified, 1035 // the maximum count is not enforced. 1036 MaxBinCount int64 `json:"maxBinCount,omitempty"` 1037 // NumericBinSize: numeric_bin_size is used when the column type used for a 1038 // dimension is numeric or string. 1039 NumericBinSize int64 `json:"numericBinSize,omitempty"` 1040 // SortColumn: The column name to sort on for binning. This column can be the 1041 // same column as this dimension or any other column used as a measure in the 1042 // results. If sort_order is set to NONE, then this value is not used. 1043 SortColumn string `json:"sortColumn,omitempty"` 1044 // SortOrder: The sort order applied to the sort column. 1045 // 1046 // Possible values: 1047 // "SORT_ORDER_UNSPECIFIED" - An unspecified sort order. This option is 1048 // invalid when sorting is required. 1049 // "SORT_ORDER_NONE" - No sorting is applied. 1050 // "SORT_ORDER_ASCENDING" - The lowest-valued entries are selected first. 1051 // "SORT_ORDER_DESCENDING" - The highest-valued entries are selected first. 1052 SortOrder string `json:"sortOrder,omitempty"` 1053 // TimeBinSize: time_bin_size is used when the data type specified by column is 1054 // a time type and the bin size is determined by a time duration. If 1055 // column_type is DATE, this must be a whole value multiple of 1 day. If 1056 // column_type is TIME, this must be less than or equal to 24 hours. 1057 TimeBinSize string `json:"timeBinSize,omitempty"` 1058 // ForceSendFields is a list of field names (e.g. "Column") to unconditionally 1059 // include in API requests. By default, fields with empty or default values are 1060 // omitted from API requests. See 1061 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1062 // details. 1063 ForceSendFields []string `json:"-"` 1064 // NullFields is a list of field names (e.g. "Column") to include in API 1065 // requests with the JSON null value. By default, fields with empty values are 1066 // omitted from API requests. See 1067 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1068 NullFields []string `json:"-"` 1069 } 1070 1071 func (s *Dimension) MarshalJSON() ([]byte, error) { 1072 type NoMethod Dimension 1073 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1074 } 1075 1076 func (s *Dimension) UnmarshalJSON(data []byte) error { 1077 type NoMethod Dimension 1078 var s1 struct { 1079 FloatBinSize gensupport.JSONFloat64 `json:"floatBinSize"` 1080 *NoMethod 1081 } 1082 s1.NoMethod = (*NoMethod)(s) 1083 if err := json.Unmarshal(data, &s1); err != nil { 1084 return err 1085 } 1086 s.FloatBinSize = float64(s1.FloatBinSize) 1087 return nil 1088 } 1089 1090 // DroppedLabels: A set of (label, value) pairs that were removed from a 1091 // Distribution time series during aggregation and then added as an attachment 1092 // to a Distribution.Exemplar.The full label set for the exemplars is 1093 // constructed by using the dropped pairs in combination with the label values 1094 // that remain on the aggregated Distribution time series. The constructed full 1095 // label set can be used to identify the specific entity, such as the instance 1096 // or job, which might be contributing to a long-tail. However, with dropped 1097 // labels, the storage requirements are reduced because only the aggregated 1098 // distribution values for a large group of time series are stored.Note that 1099 // there are no guarantees on ordering of the labels from exemplar-to-exemplar 1100 // and from distribution-to-distribution in the same stream, and there may be 1101 // duplicates. It is up to clients to resolve any ambiguities. 1102 type DroppedLabels struct { 1103 // Label: Map from label to its value, for all labels dropped in any 1104 // aggregation. 1105 Label map[string]string `json:"label,omitempty"` 1106 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 1107 // include in API requests. By default, fields with empty or default values are 1108 // omitted from API requests. See 1109 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1110 // details. 1111 ForceSendFields []string `json:"-"` 1112 // NullFields is a list of field names (e.g. "Label") to include in API 1113 // requests with the JSON null value. By default, fields with empty values are 1114 // omitted from API requests. See 1115 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1116 NullFields []string `json:"-"` 1117 } 1118 1119 func (s *DroppedLabels) MarshalJSON() ([]byte, error) { 1120 type NoMethod DroppedLabels 1121 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1122 } 1123 1124 // Empty: A generic empty message that you can re-use to avoid defining 1125 // duplicated empty messages in your APIs. A typical example is to use it as 1126 // the request or the response type of an API method. For instance: service Foo 1127 // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } 1128 type Empty struct { 1129 // ServerResponse contains the HTTP response code and headers from the server. 1130 googleapi.ServerResponse `json:"-"` 1131 } 1132 1133 // ErrorReportingPanel: A widget that displays a list of error groups. 1134 type ErrorReportingPanel struct { 1135 // ProjectNames: The resource name of the Google Cloud Platform project. 1136 // Written as projects/{projectID} or projects/{projectNumber}, where 1137 // {projectID} and {projectNumber} can be found in the Google Cloud console 1138 // (https://support.google.com/cloud/answer/6158840).Examples: 1139 // projects/my-project-123, projects/5551234. 1140 ProjectNames []string `json:"projectNames,omitempty"` 1141 // Services: An identifier of the service, such as the name of the executable, 1142 // job, or Google App Engine service name. This field is expected to have a low 1143 // number of values that are relatively stable over time, as opposed to 1144 // version, which can be changed whenever new code is deployed.Contains the 1145 // service name for error reports extracted from Google App Engine logs or 1146 // default if the App Engine default service is used. 1147 Services []string `json:"services,omitempty"` 1148 // Versions: Represents the source code version that the developer provided, 1149 // which could represent a version label or a Git SHA-1 hash, for example. For 1150 // App Engine standard environment, the version is set to the version of the 1151 // app. 1152 Versions []string `json:"versions,omitempty"` 1153 // ForceSendFields is a list of field names (e.g. "ProjectNames") to 1154 // unconditionally include in API requests. By default, fields with empty or 1155 // default values are omitted from API requests. See 1156 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1157 // details. 1158 ForceSendFields []string `json:"-"` 1159 // NullFields is a list of field names (e.g. "ProjectNames") to include in API 1160 // requests with the JSON null value. By default, fields with empty values are 1161 // omitted from API requests. See 1162 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1163 NullFields []string `json:"-"` 1164 } 1165 1166 func (s *ErrorReportingPanel) MarshalJSON() ([]byte, error) { 1167 type NoMethod ErrorReportingPanel 1168 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1169 } 1170 1171 // EventAnnotation: Annotation configuration for one event type on a dashboard 1172 type EventAnnotation struct { 1173 // DisplayName: Solely for UI display. Should not be used programmatically. 1174 DisplayName string `json:"displayName,omitempty"` 1175 // Enabled: Whether or not to show the events on the dashboard by default 1176 Enabled bool `json:"enabled,omitempty"` 1177 // EventType: The type of event to display. 1178 // 1179 // Possible values: 1180 // "EVENT_TYPE_UNSPECIFIED" - No event type specified. 1181 // "GKE_WORKLOAD_DEPLOYMENT" - Patch/update of GKE workload. 1182 // "GKE_POD_CRASH" - Crash events for a GKE Pod. 1183 // "GKE_POD_UNSCHEDULABLE" - Scheduling failures for GKE Pods. 1184 // "GKE_CONTAINER_CREATION_FAILED" - Failure to create a GKE container. 1185 // "GKE_CLUSTER_CREATE_DELETE" - Create/delete of a GKE cluster. 1186 // "GKE_CLUSTER_UPDATE" - Update of a GKE cluster. 1187 // "GKE_NODE_POOL_UPDATE" - Update of a GKE node pool. 1188 // "GKE_CLUSTER_AUTOSCALER" - GKE cluster autoscaler event. 1189 // "GKE_POD_AUTOSCALER" - GKE pod autoscaler event. 1190 // "VM_TERMINATION" - Termination of a virtual machine. 1191 // "VM_GUEST_OS_ERROR" - Guest OS error on a virtual machine. 1192 // "VM_START_FAILED" - Start failure on a virtual machine. 1193 // "MIG_UPDATE" - Update of a managed instance group. 1194 // "MIG_AUTOSCALER" - Autoscaler event for a managed instance group. 1195 // "CLOUD_RUN_DEPLOYMENT" - New deployment of a Cloud Run service. 1196 // "CLOUD_SQL_FAILOVER" - Failover of a Cloud SQL instance. 1197 // "CLOUD_SQL_START_STOP" - Start/stop of a Cloud SQL instance. 1198 // "CLOUD_SQL_STORAGE" - Storage event for a Cloud SQL instance. 1199 // "UPTIME_CHECK_FAILURE" - Failure of a Cloud Monitoring uptime check. 1200 EventType string `json:"eventType,omitempty"` 1201 // Filter: string filtering the events - event dependant. Example values: 1202 // "resource.labels.pod_name = 'pod-1'" 1203 // "protoPayload.authenticationInfo.principalEmail='user@example.com'" 1204 Filter string `json:"filter,omitempty"` 1205 // ResourceNames: Per annotation level override for the names of logging 1206 // resources to search for events. Currently only projects are supported. If 1207 // both this field and the per annotation field is empty, it will default to 1208 // the host project. Limit: 50 projects. For example: 1209 // “projects/another-project-id” 1210 ResourceNames []string `json:"resourceNames,omitempty"` 1211 // ForceSendFields is a list of field names (e.g. "DisplayName") to 1212 // unconditionally include in API requests. By default, fields with empty or 1213 // default values are omitted from API requests. See 1214 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1215 // details. 1216 ForceSendFields []string `json:"-"` 1217 // NullFields is a list of field names (e.g. "DisplayName") to include in API 1218 // requests with the JSON null value. By default, fields with empty values are 1219 // omitted from API requests. See 1220 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1221 NullFields []string `json:"-"` 1222 } 1223 1224 func (s *EventAnnotation) MarshalJSON() ([]byte, error) { 1225 type NoMethod EventAnnotation 1226 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1227 } 1228 1229 // Field: A single field of a message type. 1230 type Field struct { 1231 // Cardinality: The field cardinality. 1232 // 1233 // Possible values: 1234 // "CARDINALITY_UNKNOWN" - For fields with unknown cardinality. 1235 // "CARDINALITY_OPTIONAL" - For optional fields. 1236 // "CARDINALITY_REQUIRED" - For required fields. Proto2 syntax only. 1237 // "CARDINALITY_REPEATED" - For repeated fields. 1238 Cardinality string `json:"cardinality,omitempty"` 1239 // DefaultValue: The string value of the default value of this field. Proto2 1240 // syntax only. 1241 DefaultValue string `json:"defaultValue,omitempty"` 1242 // JsonName: The field JSON name. 1243 JsonName string `json:"jsonName,omitempty"` 1244 // Kind: The field type. 1245 // 1246 // Possible values: 1247 // "TYPE_UNKNOWN" - Field type unknown. 1248 // "TYPE_DOUBLE" - Field type double. 1249 // "TYPE_FLOAT" - Field type float. 1250 // "TYPE_INT64" - Field type int64. 1251 // "TYPE_UINT64" - Field type uint64. 1252 // "TYPE_INT32" - Field type int32. 1253 // "TYPE_FIXED64" - Field type fixed64. 1254 // "TYPE_FIXED32" - Field type fixed32. 1255 // "TYPE_BOOL" - Field type bool. 1256 // "TYPE_STRING" - Field type string. 1257 // "TYPE_GROUP" - Field type group. Proto2 syntax only, and deprecated. 1258 // "TYPE_MESSAGE" - Field type message. 1259 // "TYPE_BYTES" - Field type bytes. 1260 // "TYPE_UINT32" - Field type uint32. 1261 // "TYPE_ENUM" - Field type enum. 1262 // "TYPE_SFIXED32" - Field type sfixed32. 1263 // "TYPE_SFIXED64" - Field type sfixed64. 1264 // "TYPE_SINT32" - Field type sint32. 1265 // "TYPE_SINT64" - Field type sint64. 1266 Kind string `json:"kind,omitempty"` 1267 // Name: The field name. 1268 Name string `json:"name,omitempty"` 1269 // Number: The field number. 1270 Number int64 `json:"number,omitempty"` 1271 // OneofIndex: The index of the field type in Type.oneofs, for message or 1272 // enumeration types. The first type has index 1; zero means the type is not in 1273 // the list. 1274 OneofIndex int64 `json:"oneofIndex,omitempty"` 1275 // Options: The protocol buffer options. 1276 Options []*Option `json:"options,omitempty"` 1277 // Packed: Whether to use alternative packed wire representation. 1278 Packed bool `json:"packed,omitempty"` 1279 // TypeUrl: The field type URL, without the scheme, for message or enumeration 1280 // types. Example: "type.googleapis.com/google.protobuf.Timestamp". 1281 TypeUrl string `json:"typeUrl,omitempty"` 1282 // ForceSendFields is a list of field names (e.g. "Cardinality") to 1283 // unconditionally include in API requests. By default, fields with empty or 1284 // default values are omitted from API requests. See 1285 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1286 // details. 1287 ForceSendFields []string `json:"-"` 1288 // NullFields is a list of field names (e.g. "Cardinality") to include in API 1289 // requests with the JSON null value. By default, fields with empty values are 1290 // omitted from API requests. See 1291 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1292 NullFields []string `json:"-"` 1293 } 1294 1295 func (s *Field) MarshalJSON() ([]byte, error) { 1296 type NoMethod Field 1297 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1298 } 1299 1300 // GaugeView: A gauge chart shows where the current value sits within a 1301 // pre-defined range. The upper and lower bounds should define the possible 1302 // range of values for the scorecard's query (inclusive). 1303 type GaugeView struct { 1304 // LowerBound: The lower bound for this gauge chart. The value of the chart 1305 // should always be greater than or equal to this. 1306 LowerBound float64 `json:"lowerBound,omitempty"` 1307 // UpperBound: The upper bound for this gauge chart. The value of the chart 1308 // should always be less than or equal to this. 1309 UpperBound float64 `json:"upperBound,omitempty"` 1310 // ForceSendFields is a list of field names (e.g. "LowerBound") to 1311 // unconditionally include in API requests. By default, fields with empty or 1312 // default values are omitted from API requests. See 1313 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1314 // details. 1315 ForceSendFields []string `json:"-"` 1316 // NullFields is a list of field names (e.g. "LowerBound") to include in API 1317 // requests with the JSON null value. By default, fields with empty values are 1318 // omitted from API requests. See 1319 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1320 NullFields []string `json:"-"` 1321 } 1322 1323 func (s *GaugeView) MarshalJSON() ([]byte, error) { 1324 type NoMethod GaugeView 1325 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1326 } 1327 1328 func (s *GaugeView) UnmarshalJSON(data []byte) error { 1329 type NoMethod GaugeView 1330 var s1 struct { 1331 LowerBound gensupport.JSONFloat64 `json:"lowerBound"` 1332 UpperBound gensupport.JSONFloat64 `json:"upperBound"` 1333 *NoMethod 1334 } 1335 s1.NoMethod = (*NoMethod)(s) 1336 if err := json.Unmarshal(data, &s1); err != nil { 1337 return err 1338 } 1339 s.LowerBound = float64(s1.LowerBound) 1340 s.UpperBound = float64(s1.UpperBound) 1341 return nil 1342 } 1343 1344 // GridLayout: A basic layout divides the available space into vertical columns 1345 // of equal width and arranges a list of widgets using a row-first strategy. 1346 type GridLayout struct { 1347 // Columns: The number of columns into which the view's width is divided. If 1348 // omitted or set to zero, a system default will be used while rendering. 1349 Columns int64 `json:"columns,omitempty,string"` 1350 // Widgets: The informational elements that are arranged into the columns 1351 // row-first. 1352 Widgets []*Widget `json:"widgets,omitempty"` 1353 // ForceSendFields is a list of field names (e.g. "Columns") to unconditionally 1354 // include in API requests. By default, fields with empty or default values are 1355 // omitted from API requests. See 1356 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1357 // details. 1358 ForceSendFields []string `json:"-"` 1359 // NullFields is a list of field names (e.g. "Columns") to include in API 1360 // requests with the JSON null value. By default, fields with empty values are 1361 // omitted from API requests. See 1362 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1363 NullFields []string `json:"-"` 1364 } 1365 1366 func (s *GridLayout) MarshalJSON() ([]byte, error) { 1367 type NoMethod GridLayout 1368 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1369 } 1370 1371 // HttpBody: Message that represents an arbitrary HTTP body. It should only be 1372 // used for payload formats that can't be represented as JSON, such as raw 1373 // binary or an HTML page.This message can be used both in streaming and 1374 // non-streaming API methods in the request as well as the response.It can be 1375 // used as a top-level request field, which is convenient if one wants to 1376 // extract parameters from either the URL or HTTP template into the request 1377 // fields and also want access to the raw HTTP body.Example: message 1378 // GetResourceRequest { // A unique request id. string request_id = 1; // The 1379 // raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } 1380 // service ResourceService { rpc GetResource(GetResourceRequest) returns 1381 // (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns 1382 // (google.protobuf.Empty); } Example with streaming methods: service 1383 // CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream 1384 // google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns 1385 // (stream google.api.HttpBody); } Use of this type only changes how the 1386 // request and response bodies are handled, all other features will continue to 1387 // work unchanged. 1388 type HttpBody struct { 1389 // ContentType: The HTTP Content-Type header value specifying the content type 1390 // of the body. 1391 ContentType string `json:"contentType,omitempty"` 1392 // Data: The HTTP request/response body as raw binary. 1393 Data string `json:"data,omitempty"` 1394 // Extensions: Application specific response metadata. Must be set in the first 1395 // response for streaming APIs. 1396 Extensions []googleapi.RawMessage `json:"extensions,omitempty"` 1397 1398 // ServerResponse contains the HTTP response code and headers from the server. 1399 googleapi.ServerResponse `json:"-"` 1400 // ForceSendFields is a list of field names (e.g. "ContentType") to 1401 // unconditionally include in API requests. By default, fields with empty or 1402 // default values are omitted from API requests. See 1403 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1404 // details. 1405 ForceSendFields []string `json:"-"` 1406 // NullFields is a list of field names (e.g. "ContentType") to include in API 1407 // requests with the JSON null value. By default, fields with empty values are 1408 // omitted from API requests. See 1409 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1410 NullFields []string `json:"-"` 1411 } 1412 1413 func (s *HttpBody) MarshalJSON() ([]byte, error) { 1414 type NoMethod HttpBody 1415 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1416 } 1417 1418 // IncidentList: A widget that displays a list of incidents 1419 type IncidentList struct { 1420 // MonitoredResources: Optional. The monitored resource for which incidents are 1421 // listed. The resource doesn't need to be fully specified. That is, you can 1422 // specify the resource type but not the values of the resource labels. The 1423 // resource type and labels are used for filtering. 1424 MonitoredResources []*MonitoredResource `json:"monitoredResources,omitempty"` 1425 // PolicyNames: Optional. A list of alert policy names to filter the incident 1426 // list by. Don't include the project ID prefix in the policy name. For 1427 // example, use alertPolicies/utilization. 1428 PolicyNames []string `json:"policyNames,omitempty"` 1429 // ForceSendFields is a list of field names (e.g. "MonitoredResources") to 1430 // unconditionally include in API requests. By default, fields with empty or 1431 // default values are omitted from API requests. See 1432 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1433 // details. 1434 ForceSendFields []string `json:"-"` 1435 // NullFields is a list of field names (e.g. "MonitoredResources") to include 1436 // in API requests with the JSON null value. By default, fields with empty 1437 // values are omitted from API requests. See 1438 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1439 NullFields []string `json:"-"` 1440 } 1441 1442 func (s *IncidentList) MarshalJSON() ([]byte, error) { 1443 type NoMethod IncidentList 1444 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1445 } 1446 1447 // Interval: Represents a time interval, encoded as a Timestamp start 1448 // (inclusive) and a Timestamp end (exclusive).The start must be less than or 1449 // equal to the end. When the start equals the end, the interval is empty 1450 // (matches no time). When both start and end are unspecified, the interval 1451 // matches any time. 1452 type Interval struct { 1453 // EndTime: Optional. Exclusive end of the interval.If specified, a Timestamp 1454 // matching this interval will have to be before the end. 1455 EndTime string `json:"endTime,omitempty"` 1456 // StartTime: Optional. Inclusive start of the interval.If specified, a 1457 // Timestamp matching this interval will have to be the same or after the 1458 // start. 1459 StartTime string `json:"startTime,omitempty"` 1460 // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally 1461 // include in API requests. By default, fields with empty or default values are 1462 // omitted from API requests. See 1463 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1464 // details. 1465 ForceSendFields []string `json:"-"` 1466 // NullFields is a list of field names (e.g. "EndTime") to include in API 1467 // requests with the JSON null value. By default, fields with empty values are 1468 // omitted from API requests. See 1469 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1470 NullFields []string `json:"-"` 1471 } 1472 1473 func (s *Interval) MarshalJSON() ([]byte, error) { 1474 type NoMethod Interval 1475 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1476 } 1477 1478 // ListDashboardsResponse: The ListDashboards request. 1479 type ListDashboardsResponse struct { 1480 // Dashboards: The list of requested dashboards. 1481 Dashboards []*Dashboard `json:"dashboards,omitempty"` 1482 // NextPageToken: If there are more results than have been returned, then this 1483 // field is set to a non-empty value. To see the additional results, use that 1484 // value as page_token in the next call to this method. 1485 NextPageToken string `json:"nextPageToken,omitempty"` 1486 1487 // ServerResponse contains the HTTP response code and headers from the server. 1488 googleapi.ServerResponse `json:"-"` 1489 // ForceSendFields is a list of field names (e.g. "Dashboards") to 1490 // unconditionally include in API requests. By default, fields with empty or 1491 // default values are omitted from API requests. See 1492 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1493 // details. 1494 ForceSendFields []string `json:"-"` 1495 // NullFields is a list of field names (e.g. "Dashboards") to include in API 1496 // requests with the JSON null value. By default, fields with empty values are 1497 // omitted from API requests. See 1498 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1499 NullFields []string `json:"-"` 1500 } 1501 1502 func (s *ListDashboardsResponse) MarshalJSON() ([]byte, error) { 1503 type NoMethod ListDashboardsResponse 1504 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1505 } 1506 1507 // ListMetricsScopesByMonitoredProjectResponse: Response for the 1508 // ListMetricsScopesByMonitoredProject method. 1509 type ListMetricsScopesByMonitoredProjectResponse struct { 1510 // MetricsScopes: A set of all metrics scopes that the specified monitored 1511 // project has been added to. 1512 MetricsScopes []*MetricsScope `json:"metricsScopes,omitempty"` 1513 1514 // ServerResponse contains the HTTP response code and headers from the server. 1515 googleapi.ServerResponse `json:"-"` 1516 // ForceSendFields is a list of field names (e.g. "MetricsScopes") to 1517 // unconditionally include in API requests. By default, fields with empty or 1518 // default values are omitted from API requests. See 1519 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1520 // details. 1521 ForceSendFields []string `json:"-"` 1522 // NullFields is a list of field names (e.g. "MetricsScopes") to include in API 1523 // requests with the JSON null value. By default, fields with empty values are 1524 // omitted from API requests. See 1525 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1526 NullFields []string `json:"-"` 1527 } 1528 1529 func (s *ListMetricsScopesByMonitoredProjectResponse) MarshalJSON() ([]byte, error) { 1530 type NoMethod ListMetricsScopesByMonitoredProjectResponse 1531 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1532 } 1533 1534 // LogsPanel: A widget that displays a stream of log. 1535 type LogsPanel struct { 1536 // Filter: A filter that chooses which log entries to return. See Advanced Logs 1537 // Queries (https://cloud.google.com/logging/docs/view/advanced-queries). Only 1538 // log entries that match the filter are returned. An empty filter matches all 1539 // log entries. 1540 Filter string `json:"filter,omitempty"` 1541 // ResourceNames: The names of logging resources to collect logs for. Currently 1542 // only projects are supported. If empty, the widget will default to the host 1543 // project. 1544 ResourceNames []string `json:"resourceNames,omitempty"` 1545 // ForceSendFields is a list of field names (e.g. "Filter") to unconditionally 1546 // include in API requests. By default, fields with empty or default values are 1547 // omitted from API requests. See 1548 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1549 // details. 1550 ForceSendFields []string `json:"-"` 1551 // NullFields is a list of field names (e.g. "Filter") to include in API 1552 // requests with the JSON null value. By default, fields with empty values are 1553 // omitted from API requests. See 1554 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1555 NullFields []string `json:"-"` 1556 } 1557 1558 func (s *LogsPanel) MarshalJSON() ([]byte, error) { 1559 type NoMethod LogsPanel 1560 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1561 } 1562 1563 // Measure: A chart measure. Measures represent a measured property in your 1564 // chart data such as rainfall in inches, number of units sold, revenue gained, 1565 // etc. 1566 type Measure struct { 1567 // AggregationFunction: Required. The aggregation function applied to the input 1568 // column. This must not be set to "none" unless binning is disabled on the 1569 // dimension. The aggregation function is used to group points on the dimension 1570 // bins. 1571 AggregationFunction *AggregationFunction `json:"aggregationFunction,omitempty"` 1572 // Column: Required. The column name within in the dataset used for the 1573 // measure. 1574 Column string `json:"column,omitempty"` 1575 // ForceSendFields is a list of field names (e.g. "AggregationFunction") to 1576 // unconditionally include in API requests. By default, fields with empty or 1577 // default values are omitted from API requests. See 1578 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1579 // details. 1580 ForceSendFields []string `json:"-"` 1581 // NullFields is a list of field names (e.g. "AggregationFunction") to include 1582 // in API requests with the JSON null value. By default, fields with empty 1583 // values are omitted from API requests. See 1584 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1585 NullFields []string `json:"-"` 1586 } 1587 1588 func (s *Measure) MarshalJSON() ([]byte, error) { 1589 type NoMethod Measure 1590 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1591 } 1592 1593 // MetricsScope: Represents a Metrics Scope 1594 // (https://cloud.google.com/monitoring/settings#concept-scope) in Cloud 1595 // Monitoring, which specifies one or more Google projects and zero or more AWS 1596 // accounts to monitor together. 1597 type MetricsScope struct { 1598 // CreateTime: Output only. The time when this Metrics Scope was created. 1599 CreateTime string `json:"createTime,omitempty"` 1600 // MonitoredProjects: Output only. The list of projects monitored by this 1601 // Metrics Scope. 1602 MonitoredProjects []*MonitoredProject `json:"monitoredProjects,omitempty"` 1603 // Name: Immutable. The resource name of the Monitoring Metrics Scope. On 1604 // input, the resource name can be specified with the scoping project ID or 1605 // number. On output, the resource name is specified with the scoping project 1606 // number. Example: 1607 // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER} 1608 Name string `json:"name,omitempty"` 1609 // UpdateTime: Output only. The time when this Metrics Scope record was last 1610 // updated. 1611 UpdateTime string `json:"updateTime,omitempty"` 1612 1613 // ServerResponse contains the HTTP response code and headers from the server. 1614 googleapi.ServerResponse `json:"-"` 1615 // ForceSendFields is a list of field names (e.g. "CreateTime") to 1616 // unconditionally include in API requests. By default, fields with empty or 1617 // default values are omitted from API requests. See 1618 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1619 // details. 1620 ForceSendFields []string `json:"-"` 1621 // NullFields is a list of field names (e.g. "CreateTime") to include in API 1622 // requests with the JSON null value. By default, fields with empty values are 1623 // omitted from API requests. See 1624 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1625 NullFields []string `json:"-"` 1626 } 1627 1628 func (s *MetricsScope) MarshalJSON() ([]byte, error) { 1629 type NoMethod MetricsScope 1630 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1631 } 1632 1633 // MonitoredProject: A project being monitored 1634 // (https://cloud.google.com/monitoring/settings/multiple-projects#create-multi) 1635 // by a Metrics Scope. 1636 type MonitoredProject struct { 1637 // CreateTime: Output only. The time when this MonitoredProject was created. 1638 CreateTime string `json:"createTime,omitempty"` 1639 // Name: Immutable. The resource name of the MonitoredProject. On input, the 1640 // resource name includes the scoping project ID and monitored project ID. On 1641 // output, it contains the equivalent project numbers. Example: 1642 // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONIT 1643 // ORED_PROJECT_ID_OR_NUMBER} 1644 Name string `json:"name,omitempty"` 1645 // ForceSendFields is a list of field names (e.g. "CreateTime") to 1646 // unconditionally include in API requests. By default, fields with empty or 1647 // default values are omitted from API requests. See 1648 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1649 // details. 1650 ForceSendFields []string `json:"-"` 1651 // NullFields is a list of field names (e.g. "CreateTime") to include in API 1652 // requests with the JSON null value. By default, fields with empty values are 1653 // omitted from API requests. See 1654 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1655 NullFields []string `json:"-"` 1656 } 1657 1658 func (s *MonitoredProject) MarshalJSON() ([]byte, error) { 1659 type NoMethod MonitoredProject 1660 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1661 } 1662 1663 // MonitoredResource: An object representing a resource that can be used for 1664 // monitoring, logging, billing, or other purposes. Examples include virtual 1665 // machine instances, databases, and storage devices such as disks. The type 1666 // field identifies a MonitoredResourceDescriptor object that describes the 1667 // resource's schema. Information in the labels field identifies the actual 1668 // resource and its attributes according to the schema. For example, a 1669 // particular Compute Engine VM instance could be represented by the following 1670 // object, because the MonitoredResourceDescriptor for "gce_instance" has 1671 // labels "project_id", "instance_id" and "zone": { "type": "gce_instance", 1672 // "labels": { "project_id": "my-project", "instance_id": "12345678901234", 1673 // "zone": "us-central1-a" }} 1674 type MonitoredResource struct { 1675 // Labels: Required. Values for all of the labels listed in the associated 1676 // monitored resource descriptor. For example, Compute Engine VM instances use 1677 // the labels "project_id", "instance_id", and "zone". 1678 Labels map[string]string `json:"labels,omitempty"` 1679 // Type: Required. The monitored resource type. This field must match the type 1680 // field of a MonitoredResourceDescriptor object. For example, the type of a 1681 // Compute Engine VM instance is gce_instance. For a list of types, see 1682 // Monitoring resource types 1683 // (https://cloud.google.com/monitoring/api/resources) and Logging resource 1684 // types (https://cloud.google.com/logging/docs/api/v2/resource-list). 1685 Type string `json:"type,omitempty"` 1686 // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally 1687 // include in API requests. By default, fields with empty or default values are 1688 // omitted from API requests. See 1689 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1690 // details. 1691 ForceSendFields []string `json:"-"` 1692 // NullFields is a list of field names (e.g. "Labels") to include in API 1693 // requests with the JSON null value. By default, fields with empty values are 1694 // omitted from API requests. See 1695 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1696 NullFields []string `json:"-"` 1697 } 1698 1699 func (s *MonitoredResource) MarshalJSON() ([]byte, error) { 1700 type NoMethod MonitoredResource 1701 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1702 } 1703 1704 // MosaicLayout: A mosaic layout divides the available space into a grid of 1705 // blocks, and overlays the grid with tiles. Unlike GridLayout, tiles may span 1706 // multiple grid blocks and can be placed at arbitrary locations in the grid. 1707 type MosaicLayout struct { 1708 // Columns: The number of columns in the mosaic grid. The number of columns 1709 // must be between 1 and 12, inclusive. 1710 Columns int64 `json:"columns,omitempty"` 1711 // Tiles: The tiles to display. 1712 Tiles []*Tile `json:"tiles,omitempty"` 1713 // ForceSendFields is a list of field names (e.g. "Columns") to unconditionally 1714 // include in API requests. By default, fields with empty or default values are 1715 // omitted from API requests. See 1716 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1717 // details. 1718 ForceSendFields []string `json:"-"` 1719 // NullFields is a list of field names (e.g. "Columns") to include in API 1720 // requests with the JSON null value. By default, fields with empty values are 1721 // omitted from API requests. See 1722 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1723 NullFields []string `json:"-"` 1724 } 1725 1726 func (s *MosaicLayout) MarshalJSON() ([]byte, error) { 1727 type NoMethod MosaicLayout 1728 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1729 } 1730 1731 // Operation: This resource represents a long-running operation that is the 1732 // result of a network API call. 1733 type Operation struct { 1734 // Done: If the value is false, it means the operation is still in progress. If 1735 // true, the operation is completed, and either error or response is available. 1736 Done bool `json:"done,omitempty"` 1737 // Error: The error result of the operation in case of failure or cancellation. 1738 Error *Status `json:"error,omitempty"` 1739 // Metadata: Service-specific metadata associated with the operation. It 1740 // typically contains progress information and common metadata such as create 1741 // time. Some services might not provide such metadata. Any method that returns 1742 // a long-running operation should document the metadata type, if any. 1743 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 1744 // Name: The server-assigned name, which is only unique within the same service 1745 // that originally returns it. If you use the default HTTP mapping, the name 1746 // should be a resource name ending with operations/{unique_id}. 1747 Name string `json:"name,omitempty"` 1748 // Response: The normal, successful response of the operation. If the original 1749 // method returns no data on success, such as Delete, the response is 1750 // google.protobuf.Empty. If the original method is standard Get/Create/Update, 1751 // the response should be the resource. For other methods, the response should 1752 // have the type XxxResponse, where Xxx is the original method name. For 1753 // example, if the original method name is TakeSnapshot(), the inferred 1754 // response type is TakeSnapshotResponse. 1755 Response googleapi.RawMessage `json:"response,omitempty"` 1756 1757 // ServerResponse contains the HTTP response code and headers from the server. 1758 googleapi.ServerResponse `json:"-"` 1759 // ForceSendFields is a list of field names (e.g. "Done") to unconditionally 1760 // include in API requests. By default, fields with empty or default values are 1761 // omitted from API requests. See 1762 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1763 // details. 1764 ForceSendFields []string `json:"-"` 1765 // NullFields is a list of field names (e.g. "Done") to include in API requests 1766 // with the JSON null value. By default, fields with empty values are omitted 1767 // from API requests. See 1768 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1769 NullFields []string `json:"-"` 1770 } 1771 1772 func (s *Operation) MarshalJSON() ([]byte, error) { 1773 type NoMethod Operation 1774 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1775 } 1776 1777 // OperationMetadata: Contains metadata for longrunning operation for the edit 1778 // Metrics Scope endpoints. 1779 type OperationMetadata struct { 1780 // CreateTime: The time when the batch request was received. 1781 CreateTime string `json:"createTime,omitempty"` 1782 // State: Current state of the batch operation. 1783 // 1784 // Possible values: 1785 // "STATE_UNSPECIFIED" - Invalid. 1786 // "CREATED" - Request has been received. 1787 // "RUNNING" - Request is actively being processed. 1788 // "DONE" - The batch processing is done. 1789 // "CANCELLED" - The batch processing was cancelled. 1790 State string `json:"state,omitempty"` 1791 // UpdateTime: The time when the operation result was last updated. 1792 UpdateTime string `json:"updateTime,omitempty"` 1793 // ForceSendFields is a list of field names (e.g. "CreateTime") to 1794 // unconditionally include in API requests. By default, fields with empty or 1795 // default values are omitted from API requests. See 1796 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1797 // details. 1798 ForceSendFields []string `json:"-"` 1799 // NullFields is a list of field names (e.g. "CreateTime") to include in API 1800 // requests with the JSON null value. By default, fields with empty values are 1801 // omitted from API requests. See 1802 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1803 NullFields []string `json:"-"` 1804 } 1805 1806 func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 1807 type NoMethod OperationMetadata 1808 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1809 } 1810 1811 // OpsAnalyticsQuery: Preview: A query that produces an aggregated response and 1812 // supporting data. This is a preview feature and may be subject to change 1813 // before final release. 1814 type OpsAnalyticsQuery struct { 1815 // Sql: A SQL query to fetch time series, category series, or numeric series 1816 // data. 1817 Sql string `json:"sql,omitempty"` 1818 // ForceSendFields is a list of field names (e.g. "Sql") to unconditionally 1819 // include in API requests. By default, fields with empty or default values are 1820 // omitted from API requests. See 1821 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1822 // details. 1823 ForceSendFields []string `json:"-"` 1824 // NullFields is a list of field names (e.g. "Sql") to include in API requests 1825 // with the JSON null value. By default, fields with empty values are omitted 1826 // from API requests. See 1827 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1828 NullFields []string `json:"-"` 1829 } 1830 1831 func (s *OpsAnalyticsQuery) MarshalJSON() ([]byte, error) { 1832 type NoMethod OpsAnalyticsQuery 1833 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1834 } 1835 1836 // Option: A protocol buffer option, which can be attached to a message, field, 1837 // enumeration, etc. 1838 type Option struct { 1839 // Name: The option's name. For protobuf built-in options (options defined in 1840 // descriptor.proto), this is the short name. For example, "map_entry". For 1841 // custom options, it should be the fully-qualified name. For example, 1842 // "google.api.http". 1843 Name string `json:"name,omitempty"` 1844 // Value: The option's value packed in an Any message. If the value is a 1845 // primitive, the corresponding wrapper type defined in 1846 // google/protobuf/wrappers.proto should be used. If the value is an enum, it 1847 // should be stored as an int32 value using the google.protobuf.Int32Value 1848 // type. 1849 Value googleapi.RawMessage `json:"value,omitempty"` 1850 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 1851 // include in API requests. By default, fields with empty or default values are 1852 // omitted from API requests. See 1853 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1854 // details. 1855 ForceSendFields []string `json:"-"` 1856 // NullFields is a list of field names (e.g. "Name") to include in API requests 1857 // with the JSON null value. By default, fields with empty values are omitted 1858 // from API requests. See 1859 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1860 NullFields []string `json:"-"` 1861 } 1862 1863 func (s *Option) MarshalJSON() ([]byte, error) { 1864 type NoMethod Option 1865 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1866 } 1867 1868 // Parameter: Preview: Parameter value applied to the aggregation function. 1869 // This is a preview feature and may be subject to change before final release. 1870 type Parameter struct { 1871 // DoubleValue: A floating-point parameter value. 1872 DoubleValue float64 `json:"doubleValue,omitempty"` 1873 // IntValue: An integer parameter value. 1874 IntValue int64 `json:"intValue,omitempty,string"` 1875 // ForceSendFields is a list of field names (e.g. "DoubleValue") to 1876 // unconditionally include in API requests. By default, fields with empty or 1877 // default values are omitted from API requests. See 1878 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1879 // details. 1880 ForceSendFields []string `json:"-"` 1881 // NullFields is a list of field names (e.g. "DoubleValue") to include in API 1882 // requests with the JSON null value. By default, fields with empty values are 1883 // omitted from API requests. See 1884 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1885 NullFields []string `json:"-"` 1886 } 1887 1888 func (s *Parameter) MarshalJSON() ([]byte, error) { 1889 type NoMethod Parameter 1890 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1891 } 1892 1893 func (s *Parameter) UnmarshalJSON(data []byte) error { 1894 type NoMethod Parameter 1895 var s1 struct { 1896 DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` 1897 *NoMethod 1898 } 1899 s1.NoMethod = (*NoMethod)(s) 1900 if err := json.Unmarshal(data, &s1); err != nil { 1901 return err 1902 } 1903 s.DoubleValue = float64(s1.DoubleValue) 1904 return nil 1905 } 1906 1907 // PickTimeSeriesFilter: Describes a ranking-based time series filter. Each 1908 // input time series is ranked with an aligner. The filter will allow up to 1909 // num_time_series time series to pass through it, selecting them based on the 1910 // relative ranking.For example, if ranking_method is METHOD_MEAN,direction is 1911 // BOTTOM, and num_time_series is 3, then the 3 times series with the lowest 1912 // mean values will pass through the filter. 1913 type PickTimeSeriesFilter struct { 1914 // Direction: How to use the ranking to select time series that pass through 1915 // the filter. 1916 // 1917 // Possible values: 1918 // "DIRECTION_UNSPECIFIED" - Not allowed. You must specify a different 1919 // Direction if you specify a PickTimeSeriesFilter. 1920 // "TOP" - Pass the highest num_time_series ranking inputs. 1921 // "BOTTOM" - Pass the lowest num_time_series ranking inputs. 1922 Direction string `json:"direction,omitempty"` 1923 // Interval: Select the top N streams/time series within this time interval 1924 Interval *Interval `json:"interval,omitempty"` 1925 // NumTimeSeries: How many time series to allow to pass through the filter. 1926 NumTimeSeries int64 `json:"numTimeSeries,omitempty"` 1927 // RankingMethod: ranking_method is applied to each time series independently 1928 // to produce the value which will be used to compare the time series to other 1929 // time series. 1930 // 1931 // Possible values: 1932 // "METHOD_UNSPECIFIED" - Not allowed. You must specify a different Method if 1933 // you specify a PickTimeSeriesFilter. 1934 // "METHOD_MEAN" - Select the mean of all values. 1935 // "METHOD_MAX" - Select the maximum value. 1936 // "METHOD_MIN" - Select the minimum value. 1937 // "METHOD_SUM" - Compute the sum of all values. 1938 // "METHOD_LATEST" - Select the most recent value. 1939 RankingMethod string `json:"rankingMethod,omitempty"` 1940 // ForceSendFields is a list of field names (e.g. "Direction") to 1941 // unconditionally include in API requests. By default, fields with empty or 1942 // default values are omitted from API requests. See 1943 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1944 // details. 1945 ForceSendFields []string `json:"-"` 1946 // NullFields is a list of field names (e.g. "Direction") to include in API 1947 // requests with the JSON null value. By default, fields with empty values are 1948 // omitted from API requests. See 1949 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1950 NullFields []string `json:"-"` 1951 } 1952 1953 func (s *PickTimeSeriesFilter) MarshalJSON() ([]byte, error) { 1954 type NoMethod PickTimeSeriesFilter 1955 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1956 } 1957 1958 // PieChart: A widget that displays timeseries data as a pie or a donut. 1959 type PieChart struct { 1960 // ChartType: Required. Indicates the visualization type for the PieChart. 1961 // 1962 // Possible values: 1963 // "PIE_CHART_TYPE_UNSPECIFIED" - The zero value. No type specified. Do not 1964 // use. 1965 // "PIE" - A Pie type PieChart. 1966 // "DONUT" - Similar to PIE, but the DONUT type PieChart has a hole in the 1967 // middle. 1968 ChartType string `json:"chartType,omitempty"` 1969 // DataSets: Required. The queries for the chart's data. 1970 DataSets []*PieChartDataSet `json:"dataSets,omitempty"` 1971 // ShowLabels: Optional. Indicates whether or not the pie chart should show 1972 // slices' labels 1973 ShowLabels bool `json:"showLabels,omitempty"` 1974 // ForceSendFields is a list of field names (e.g. "ChartType") to 1975 // unconditionally include in API requests. By default, fields with empty or 1976 // default values are omitted from API requests. See 1977 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1978 // details. 1979 ForceSendFields []string `json:"-"` 1980 // NullFields is a list of field names (e.g. "ChartType") to include in API 1981 // requests with the JSON null value. By default, fields with empty values are 1982 // omitted from API requests. See 1983 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1984 NullFields []string `json:"-"` 1985 } 1986 1987 func (s *PieChart) MarshalJSON() ([]byte, error) { 1988 type NoMethod PieChart 1989 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1990 } 1991 1992 // PieChartDataSet: Groups a time series query definition. 1993 type PieChartDataSet struct { 1994 // Dimensions: A dimension is a structured label, class, or category for a set 1995 // of measurements in your data. 1996 Dimensions []*Dimension `json:"dimensions,omitempty"` 1997 // Measures: A measure is a measured value of a property in your data. For 1998 // example, rainfall in inches, number of units sold, revenue gained, etc. 1999 Measures []*Measure `json:"measures,omitempty"` 2000 // MinAlignmentPeriod: Optional. The lower bound on data point frequency for 2001 // this data set, implemented by specifying the minimum alignment period to use 2002 // in a time series query. For example, if the data is published once every 10 2003 // minutes, the min_alignment_period should be at least 10 minutes. It would 2004 // not make sense to fetch and align data at one minute intervals. 2005 MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` 2006 // SliceNameTemplate: Optional. A template for the name of the slice. This name 2007 // will be displayed in the legend and the tooltip of the pie chart. It 2008 // replaces the auto-generated names for the slices. For example, if the 2009 // template is set to ${resource.labels.zone}, the zone's value will be used 2010 // for the name instead of the default name. 2011 SliceNameTemplate string `json:"sliceNameTemplate,omitempty"` 2012 // TimeSeriesQuery: Required. The query for the PieChart. See, 2013 // google.monitoring.dashboard.v1.TimeSeriesQuery. 2014 TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` 2015 // ForceSendFields is a list of field names (e.g. "Dimensions") to 2016 // unconditionally include in API requests. By default, fields with empty or 2017 // default values are omitted from API requests. See 2018 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2019 // details. 2020 ForceSendFields []string `json:"-"` 2021 // NullFields is a list of field names (e.g. "Dimensions") to include in API 2022 // requests with the JSON null value. By default, fields with empty values are 2023 // omitted from API requests. See 2024 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2025 NullFields []string `json:"-"` 2026 } 2027 2028 func (s *PieChartDataSet) MarshalJSON() ([]byte, error) { 2029 type NoMethod PieChartDataSet 2030 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2031 } 2032 2033 // QueryExemplarsRequest: QueryExemplarsRequest holds all parameters of the 2034 // Prometheus upstream API for querying exemplars. 2035 type QueryExemplarsRequest struct { 2036 // End: The end time to evaluate the query for. Either floating point UNIX 2037 // seconds or RFC3339 formatted timestamp. 2038 End string `json:"end,omitempty"` 2039 // Query: A PromQL query string. Query lanauge documentation: 2040 // https://prometheus.io/docs/prometheus/latest/querying/basics/. 2041 Query string `json:"query,omitempty"` 2042 // Start: The start time to evaluate the query for. Either floating point UNIX 2043 // seconds or RFC3339 formatted timestamp. 2044 Start string `json:"start,omitempty"` 2045 // ForceSendFields is a list of field names (e.g. "End") to unconditionally 2046 // include in API requests. By default, fields with empty or default values are 2047 // omitted from API requests. See 2048 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2049 // details. 2050 ForceSendFields []string `json:"-"` 2051 // NullFields is a list of field names (e.g. "End") to include in API requests 2052 // with the JSON null value. By default, fields with empty values are omitted 2053 // from API requests. See 2054 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2055 NullFields []string `json:"-"` 2056 } 2057 2058 func (s *QueryExemplarsRequest) MarshalJSON() ([]byte, error) { 2059 type NoMethod QueryExemplarsRequest 2060 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2061 } 2062 2063 // QueryInstantRequest: QueryInstantRequest holds all parameters of the 2064 // Prometheus upstream instant query API plus GCM specific parameters. 2065 type QueryInstantRequest struct { 2066 // Query: A PromQL query string. Query lanauge documentation: 2067 // https://prometheus.io/docs/prometheus/latest/querying/basics/. 2068 Query string `json:"query,omitempty"` 2069 // Time: The single point in time to evaluate the query for. Either floating 2070 // point UNIX seconds or RFC3339 formatted timestamp. 2071 Time string `json:"time,omitempty"` 2072 // Timeout: An upper bound timeout for the query. Either a Prometheus duration 2073 // string 2074 // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) 2075 // or floating point seconds. This non-standard encoding must be used for 2076 // compatibility with the open source API. Clients may still implement timeouts 2077 // at the connection level while ignoring this field. 2078 Timeout string `json:"timeout,omitempty"` 2079 // ForceSendFields is a list of field names (e.g. "Query") to unconditionally 2080 // include in API requests. By default, fields with empty or default values are 2081 // omitted from API requests. See 2082 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2083 // details. 2084 ForceSendFields []string `json:"-"` 2085 // NullFields is a list of field names (e.g. "Query") to include in API 2086 // requests with the JSON null value. By default, fields with empty values are 2087 // omitted from API requests. See 2088 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2089 NullFields []string `json:"-"` 2090 } 2091 2092 func (s *QueryInstantRequest) MarshalJSON() ([]byte, error) { 2093 type NoMethod QueryInstantRequest 2094 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2095 } 2096 2097 // QueryLabelsRequest: QueryLabelsRequest holds all parameters of the 2098 // Prometheus upstream API for returning a list of label names. 2099 type QueryLabelsRequest struct { 2100 // End: The end time to evaluate the query for. Either floating point UNIX 2101 // seconds or RFC3339 formatted timestamp. 2102 End string `json:"end,omitempty"` 2103 // Match: A list of matchers encoded in the Prometheus label matcher format to 2104 // constrain the values to series that satisfy them. 2105 Match string `json:"match,omitempty"` 2106 // Start: The start time to evaluate the query for. Either floating point UNIX 2107 // seconds or RFC3339 formatted timestamp. 2108 Start string `json:"start,omitempty"` 2109 // ForceSendFields is a list of field names (e.g. "End") to unconditionally 2110 // include in API requests. By default, fields with empty or default values are 2111 // omitted from API requests. See 2112 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2113 // details. 2114 ForceSendFields []string `json:"-"` 2115 // NullFields is a list of field names (e.g. "End") to include in API requests 2116 // with the JSON null value. By default, fields with empty values are omitted 2117 // from API requests. See 2118 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2119 NullFields []string `json:"-"` 2120 } 2121 2122 func (s *QueryLabelsRequest) MarshalJSON() ([]byte, error) { 2123 type NoMethod QueryLabelsRequest 2124 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2125 } 2126 2127 // QueryRangeRequest: QueryRangeRequest holds all parameters of the Prometheus 2128 // upstream range query API plus GCM specific parameters. 2129 type QueryRangeRequest struct { 2130 // End: The end time to evaluate the query for. Either floating point UNIX 2131 // seconds or RFC3339 formatted timestamp. 2132 End string `json:"end,omitempty"` 2133 // Query: A PromQL query string. Query lanauge documentation: 2134 // https://prometheus.io/docs/prometheus/latest/querying/basics/. 2135 Query string `json:"query,omitempty"` 2136 // Start: The start time to evaluate the query for. Either floating point UNIX 2137 // seconds or RFC3339 formatted timestamp. 2138 Start string `json:"start,omitempty"` 2139 // Step: The resolution of query result. Either a Prometheus duration string 2140 // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) 2141 // or floating point seconds. This non-standard encoding must be used for 2142 // compatibility with the open source API. Clients may still implement timeouts 2143 // at the connection level while ignoring this field. 2144 Step string `json:"step,omitempty"` 2145 // Timeout: An upper bound timeout for the query. Either a Prometheus duration 2146 // string 2147 // (https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations) 2148 // or floating point seconds. This non-standard encoding must be used for 2149 // compatibility with the open source API. Clients may still implement timeouts 2150 // at the connection level while ignoring this field. 2151 Timeout string `json:"timeout,omitempty"` 2152 // ForceSendFields is a list of field names (e.g. "End") to unconditionally 2153 // include in API requests. By default, fields with empty or default values are 2154 // omitted from API requests. See 2155 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2156 // details. 2157 ForceSendFields []string `json:"-"` 2158 // NullFields is a list of field names (e.g. "End") to include in API requests 2159 // with the JSON null value. By default, fields with empty values are omitted 2160 // from API requests. See 2161 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2162 NullFields []string `json:"-"` 2163 } 2164 2165 func (s *QueryRangeRequest) MarshalJSON() ([]byte, error) { 2166 type NoMethod QueryRangeRequest 2167 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2168 } 2169 2170 // QuerySeriesRequest: QuerySeries holds all parameters of the Prometheus 2171 // upstream API for querying series. 2172 type QuerySeriesRequest struct { 2173 // End: The end time to evaluate the query for. Either floating point UNIX 2174 // seconds or RFC3339 formatted timestamp. 2175 End string `json:"end,omitempty"` 2176 // Start: The start time to evaluate the query for. Either floating point UNIX 2177 // seconds or RFC3339 formatted timestamp. 2178 Start string `json:"start,omitempty"` 2179 // ForceSendFields is a list of field names (e.g. "End") to unconditionally 2180 // include in API requests. By default, fields with empty or default values are 2181 // omitted from API requests. See 2182 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2183 // details. 2184 ForceSendFields []string `json:"-"` 2185 // NullFields is a list of field names (e.g. "End") to include in API requests 2186 // with the JSON null value. By default, fields with empty values are omitted 2187 // from API requests. See 2188 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2189 NullFields []string `json:"-"` 2190 } 2191 2192 func (s *QuerySeriesRequest) MarshalJSON() ([]byte, error) { 2193 type NoMethod QuerySeriesRequest 2194 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2195 } 2196 2197 // RatioPart: Describes a query to build the numerator or denominator of a 2198 // TimeSeriesFilterRatio. 2199 type RatioPart struct { 2200 // Aggregation: By default, the raw time series data is returned. Use this 2201 // field to combine multiple time series for different views of the data. 2202 Aggregation *Aggregation `json:"aggregation,omitempty"` 2203 // Filter: Required. The monitoring filter 2204 // (https://cloud.google.com/monitoring/api/v3/filters) that identifies the 2205 // metric types, resources, and projects to query. 2206 Filter string `json:"filter,omitempty"` 2207 // ForceSendFields is a list of field names (e.g. "Aggregation") to 2208 // unconditionally include in API requests. By default, fields with empty or 2209 // default values are omitted from API requests. See 2210 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2211 // details. 2212 ForceSendFields []string `json:"-"` 2213 // NullFields is a list of field names (e.g. "Aggregation") to include in API 2214 // requests with the JSON null value. By default, fields with empty values are 2215 // omitted from API requests. See 2216 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2217 NullFields []string `json:"-"` 2218 } 2219 2220 func (s *RatioPart) MarshalJSON() ([]byte, error) { 2221 type NoMethod RatioPart 2222 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2223 } 2224 2225 // Row: Defines the layout properties and content for a row. 2226 type Row struct { 2227 // Weight: The relative weight of this row. The row weight is used to adjust 2228 // the height of rows on the screen (relative to peers). Greater the weight, 2229 // greater the height of the row on the screen. If omitted, a value of 1 is 2230 // used while rendering. 2231 Weight int64 `json:"weight,omitempty,string"` 2232 // Widgets: The display widgets arranged horizontally in this row. 2233 Widgets []*Widget `json:"widgets,omitempty"` 2234 // ForceSendFields is a list of field names (e.g. "Weight") to unconditionally 2235 // include in API requests. By default, fields with empty or default values are 2236 // omitted from API requests. See 2237 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2238 // details. 2239 ForceSendFields []string `json:"-"` 2240 // NullFields is a list of field names (e.g. "Weight") to include in API 2241 // requests with the JSON null value. By default, fields with empty values are 2242 // omitted from API requests. See 2243 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2244 NullFields []string `json:"-"` 2245 } 2246 2247 func (s *Row) MarshalJSON() ([]byte, error) { 2248 type NoMethod Row 2249 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2250 } 2251 2252 // RowLayout: A simplified layout that divides the available space into rows 2253 // and arranges a set of widgets horizontally in each row. 2254 type RowLayout struct { 2255 // Rows: The rows of content to display. 2256 Rows []*Row `json:"rows,omitempty"` 2257 // ForceSendFields is a list of field names (e.g. "Rows") to unconditionally 2258 // include in API requests. By default, fields with empty or default values are 2259 // omitted from API requests. See 2260 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2261 // details. 2262 ForceSendFields []string `json:"-"` 2263 // NullFields is a list of field names (e.g. "Rows") to include in API requests 2264 // with the JSON null value. By default, fields with empty values are omitted 2265 // from API requests. See 2266 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2267 NullFields []string `json:"-"` 2268 } 2269 2270 func (s *RowLayout) MarshalJSON() ([]byte, error) { 2271 type NoMethod RowLayout 2272 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2273 } 2274 2275 // Scorecard: A widget showing the latest value of a metric, and how this value 2276 // relates to one or more thresholds. 2277 type Scorecard struct { 2278 // BlankView: Will cause the Scorecard to show only the value, with no 2279 // indicator to its value relative to its thresholds. 2280 BlankView *Empty `json:"blankView,omitempty"` 2281 // GaugeView: Will cause the scorecard to show a gauge chart. 2282 GaugeView *GaugeView `json:"gaugeView,omitempty"` 2283 // SparkChartView: Will cause the scorecard to show a spark chart. 2284 SparkChartView *SparkChartView `json:"sparkChartView,omitempty"` 2285 // Thresholds: The thresholds used to determine the state of the scorecard 2286 // given the time series' current value. For an actual value x, the scorecard 2287 // is in a danger state if x is less than or equal to a danger threshold that 2288 // triggers below, or greater than or equal to a danger threshold that triggers 2289 // above. Similarly, if x is above/below a warning threshold that triggers 2290 // above/below, then the scorecard is in a warning state - unless x also puts 2291 // it in a danger state. (Danger trumps warning.)As an example, consider a 2292 // scorecard with the following four thresholds: { value: 90, category: 2293 // 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: 2294 // 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 2295 // 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal 2296 // to 10 would put the scorecard in a DANGER state, values greater than 10 but 2297 // less than or equal to 20 a WARNING state, values strictly between 20 and 70 2298 // an OK state, values greater than or equal to 70 but less than 90 a WARNING 2299 // state, and values greater than or equal to 90 a DANGER state. 2300 Thresholds []*Threshold `json:"thresholds,omitempty"` 2301 // TimeSeriesQuery: Required. Fields for querying time series data from the 2302 // Stackdriver metrics API. 2303 TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` 2304 // ForceSendFields is a list of field names (e.g. "BlankView") to 2305 // unconditionally include in API requests. By default, fields with empty or 2306 // default values are omitted from API requests. See 2307 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2308 // details. 2309 ForceSendFields []string `json:"-"` 2310 // NullFields is a list of field names (e.g. "BlankView") to include in API 2311 // requests with the JSON null value. By default, fields with empty values are 2312 // omitted from API requests. See 2313 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2314 NullFields []string `json:"-"` 2315 } 2316 2317 func (s *Scorecard) MarshalJSON() ([]byte, error) { 2318 type NoMethod Scorecard 2319 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2320 } 2321 2322 // SectionHeader: A widget that defines a new section header. Sections populate 2323 // a table of contents and allow easier navigation of long-form content. 2324 type SectionHeader struct { 2325 // DividerBelow: Whether to insert a divider below the section in the table of 2326 // contents 2327 DividerBelow bool `json:"dividerBelow,omitempty"` 2328 // Subtitle: The subtitle of the section 2329 Subtitle string `json:"subtitle,omitempty"` 2330 // ForceSendFields is a list of field names (e.g. "DividerBelow") to 2331 // unconditionally include in API requests. By default, fields with empty or 2332 // default values are omitted from API requests. See 2333 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2334 // details. 2335 ForceSendFields []string `json:"-"` 2336 // NullFields is a list of field names (e.g. "DividerBelow") to include in API 2337 // requests with the JSON null value. By default, fields with empty values are 2338 // omitted from API requests. See 2339 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2340 NullFields []string `json:"-"` 2341 } 2342 2343 func (s *SectionHeader) MarshalJSON() ([]byte, error) { 2344 type NoMethod SectionHeader 2345 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2346 } 2347 2348 // SingleViewGroup: A widget that groups the other widgets by using a dropdown 2349 // menu. All widgets that are within the area spanned by the grouping widget 2350 // are considered member widgets. 2351 type SingleViewGroup struct { 2352 } 2353 2354 // SourceContext: SourceContext represents information about the source of a 2355 // protobuf element, like the file in which it is defined. 2356 type SourceContext struct { 2357 // FileName: The path-qualified name of the .proto file that contained the 2358 // associated protobuf element. For example: 2359 // "google/protobuf/source_context.proto". 2360 FileName string `json:"fileName,omitempty"` 2361 // ForceSendFields is a list of field names (e.g. "FileName") to 2362 // unconditionally include in API requests. By default, fields with empty or 2363 // default values are omitted from API requests. See 2364 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2365 // details. 2366 ForceSendFields []string `json:"-"` 2367 // NullFields is a list of field names (e.g. "FileName") to include in API 2368 // requests with the JSON null value. By default, fields with empty values are 2369 // omitted from API requests. See 2370 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2371 NullFields []string `json:"-"` 2372 } 2373 2374 func (s *SourceContext) MarshalJSON() ([]byte, error) { 2375 type NoMethod SourceContext 2376 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2377 } 2378 2379 // SpanContext: The context of a span. This is attached to an Exemplar in 2380 // Distribution values during aggregation.It contains the name of a span with 2381 // format: projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] 2382 type SpanContext struct { 2383 // SpanName: The resource name of the span. The format is: 2384 // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] [TRACE_ID] 2385 // is a unique identifier for a trace within a project; it is a 32-character 2386 // hexadecimal encoding of a 16-byte array.[SPAN_ID] is a unique identifier for 2387 // a span within a trace; it is a 16-character hexadecimal encoding of an 2388 // 8-byte array. 2389 SpanName string `json:"spanName,omitempty"` 2390 // ForceSendFields is a list of field names (e.g. "SpanName") to 2391 // unconditionally include in API requests. By default, fields with empty or 2392 // default values are omitted from API requests. See 2393 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2394 // details. 2395 ForceSendFields []string `json:"-"` 2396 // NullFields is a list of field names (e.g. "SpanName") to include in API 2397 // requests with the JSON null value. By default, fields with empty values are 2398 // omitted from API requests. See 2399 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2400 NullFields []string `json:"-"` 2401 } 2402 2403 func (s *SpanContext) MarshalJSON() ([]byte, error) { 2404 type NoMethod SpanContext 2405 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2406 } 2407 2408 // SparkChartView: A sparkChart is a small chart suitable for inclusion in a 2409 // table-cell or inline in text. This message contains the configuration for a 2410 // sparkChart to show up on a Scorecard, showing recent trends of the 2411 // scorecard's timeseries. 2412 type SparkChartView struct { 2413 // MinAlignmentPeriod: The lower bound on data point frequency in the chart 2414 // implemented by specifying the minimum alignment period to use in a time 2415 // series query. For example, if the data is published once every 10 minutes it 2416 // would not make sense to fetch and align data at one minute intervals. This 2417 // field is optional and exists only as a hint. 2418 MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` 2419 // SparkChartType: Required. The type of sparkchart to show in this chartView. 2420 // 2421 // Possible values: 2422 // "SPARK_CHART_TYPE_UNSPECIFIED" - Not allowed in well-formed requests. 2423 // "SPARK_LINE" - The sparkline will be rendered as a small line chart. 2424 // "SPARK_BAR" - The sparkbar will be rendered as a small bar chart. 2425 SparkChartType string `json:"sparkChartType,omitempty"` 2426 // ForceSendFields is a list of field names (e.g. "MinAlignmentPeriod") to 2427 // unconditionally include in API requests. By default, fields with empty or 2428 // default values are omitted from API requests. See 2429 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2430 // details. 2431 ForceSendFields []string `json:"-"` 2432 // NullFields is a list of field names (e.g. "MinAlignmentPeriod") to include 2433 // in API requests with the JSON null value. By default, fields with empty 2434 // values are omitted from API requests. See 2435 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2436 NullFields []string `json:"-"` 2437 } 2438 2439 func (s *SparkChartView) MarshalJSON() ([]byte, error) { 2440 type NoMethod SparkChartView 2441 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2442 } 2443 2444 // StatisticalTimeSeriesFilter: A filter that ranks streams based on their 2445 // statistical relation to other streams in a request. Note: This field is 2446 // deprecated and completely ignored by the API. 2447 type StatisticalTimeSeriesFilter struct { 2448 // NumTimeSeries: How many time series to output. 2449 NumTimeSeries int64 `json:"numTimeSeries,omitempty"` 2450 // RankingMethod: rankingMethod is applied to a set of time series, and then 2451 // the produced value for each individual time series is used to compare a 2452 // given time series to others. These are methods that cannot be applied 2453 // stream-by-stream, but rather require the full context of a request to 2454 // evaluate time series. 2455 // 2456 // Possible values: 2457 // "METHOD_UNSPECIFIED" - Not allowed in well-formed requests. 2458 // "METHOD_CLUSTER_OUTLIER" - Compute the outlier score of each stream. 2459 RankingMethod string `json:"rankingMethod,omitempty"` 2460 // ForceSendFields is a list of field names (e.g. "NumTimeSeries") to 2461 // unconditionally include in API requests. By default, fields with empty or 2462 // default values are omitted from API requests. See 2463 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2464 // details. 2465 ForceSendFields []string `json:"-"` 2466 // NullFields is a list of field names (e.g. "NumTimeSeries") to include in API 2467 // requests with the JSON null value. By default, fields with empty values are 2468 // omitted from API requests. See 2469 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2470 NullFields []string `json:"-"` 2471 } 2472 2473 func (s *StatisticalTimeSeriesFilter) MarshalJSON() ([]byte, error) { 2474 type NoMethod StatisticalTimeSeriesFilter 2475 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2476 } 2477 2478 // Status: The Status type defines a logical error model that is suitable for 2479 // different programming environments, including REST APIs and RPC APIs. It is 2480 // used by gRPC (https://github.com/grpc). Each Status message contains three 2481 // pieces of data: error code, error message, and error details.You can find 2482 // out more about this error model and how to work with it in the API Design 2483 // Guide (https://cloud.google.com/apis/design/errors). 2484 type Status struct { 2485 // Code: The status code, which should be an enum value of google.rpc.Code. 2486 Code int64 `json:"code,omitempty"` 2487 // Details: A list of messages that carry the error details. There is a common 2488 // set of message types for APIs to use. 2489 Details []googleapi.RawMessage `json:"details,omitempty"` 2490 // Message: A developer-facing error message, which should be in English. Any 2491 // user-facing error message should be localized and sent in the 2492 // google.rpc.Status.details field, or localized by the client. 2493 Message string `json:"message,omitempty"` 2494 // ForceSendFields is a list of field names (e.g. "Code") to unconditionally 2495 // include in API requests. By default, fields with empty or default values are 2496 // omitted from API requests. See 2497 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2498 // details. 2499 ForceSendFields []string `json:"-"` 2500 // NullFields is a list of field names (e.g. "Code") to include in API requests 2501 // with the JSON null value. By default, fields with empty values are omitted 2502 // from API requests. See 2503 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2504 NullFields []string `json:"-"` 2505 } 2506 2507 func (s *Status) MarshalJSON() ([]byte, error) { 2508 type NoMethod Status 2509 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2510 } 2511 2512 // TableDataSet: Groups a time series query definition with table options. 2513 type TableDataSet struct { 2514 // MinAlignmentPeriod: Optional. The lower bound on data point frequency for 2515 // this data set, implemented by specifying the minimum alignment period to use 2516 // in a time series query For example, if the data is published once every 10 2517 // minutes, the min_alignment_period should be at least 10 minutes. It would 2518 // not make sense to fetch and align data at one minute intervals. 2519 MinAlignmentPeriod string `json:"minAlignmentPeriod,omitempty"` 2520 // TableDisplayOptions: Optional. Table display options for configuring how the 2521 // table is rendered. 2522 TableDisplayOptions *TableDisplayOptions `json:"tableDisplayOptions,omitempty"` 2523 // TableTemplate: Optional. A template string for naming TimeSeries in the 2524 // resulting data set. This should be a string with interpolations of the form 2525 // ${label_name}, which will resolve to the label's value i.e. 2526 // "${resource.labels.project_id}." 2527 TableTemplate string `json:"tableTemplate,omitempty"` 2528 // TimeSeriesQuery: Required. Fields for querying time series data from the 2529 // Stackdriver metrics API. 2530 TimeSeriesQuery *TimeSeriesQuery `json:"timeSeriesQuery,omitempty"` 2531 // ForceSendFields is a list of field names (e.g. "MinAlignmentPeriod") to 2532 // unconditionally include in API requests. By default, fields with empty or 2533 // default values are omitted from API requests. See 2534 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2535 // details. 2536 ForceSendFields []string `json:"-"` 2537 // NullFields is a list of field names (e.g. "MinAlignmentPeriod") to include 2538 // in API requests with the JSON null value. By default, fields with empty 2539 // values are omitted from API requests. See 2540 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2541 NullFields []string `json:"-"` 2542 } 2543 2544 func (s *TableDataSet) MarshalJSON() ([]byte, error) { 2545 type NoMethod TableDataSet 2546 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2547 } 2548 2549 // TableDisplayOptions: Table display options that can be reused. 2550 type TableDisplayOptions struct { 2551 // ShownColumns: Optional. This field is unused and has been replaced by 2552 // TimeSeriesTable.column_settings 2553 ShownColumns []string `json:"shownColumns,omitempty"` 2554 // ForceSendFields is a list of field names (e.g. "ShownColumns") to 2555 // unconditionally include in API requests. By default, fields with empty or 2556 // default values are omitted from API requests. See 2557 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2558 // details. 2559 ForceSendFields []string `json:"-"` 2560 // NullFields is a list of field names (e.g. "ShownColumns") to include in API 2561 // requests with the JSON null value. By default, fields with empty values are 2562 // omitted from API requests. See 2563 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2564 NullFields []string `json:"-"` 2565 } 2566 2567 func (s *TableDisplayOptions) MarshalJSON() ([]byte, error) { 2568 type NoMethod TableDisplayOptions 2569 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2570 } 2571 2572 // Text: A widget that displays textual content. 2573 type Text struct { 2574 // Content: The text content to be displayed. 2575 Content string `json:"content,omitempty"` 2576 // Format: How the text content is formatted. 2577 // 2578 // Possible values: 2579 // "FORMAT_UNSPECIFIED" - Format is unspecified. Defaults to MARKDOWN. 2580 // "MARKDOWN" - The text contains Markdown formatting. 2581 // "RAW" - The text contains no special formatting. 2582 Format string `json:"format,omitempty"` 2583 // Style: How the text is styled 2584 Style *TextStyle `json:"style,omitempty"` 2585 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 2586 // include in API requests. By default, fields with empty or default values are 2587 // omitted from API requests. See 2588 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2589 // details. 2590 ForceSendFields []string `json:"-"` 2591 // NullFields is a list of field names (e.g. "Content") to include in API 2592 // requests with the JSON null value. By default, fields with empty values are 2593 // omitted from API requests. See 2594 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2595 NullFields []string `json:"-"` 2596 } 2597 2598 func (s *Text) MarshalJSON() ([]byte, error) { 2599 type NoMethod Text 2600 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2601 } 2602 2603 // TextStyle: Properties that determine how the title and content are styled 2604 type TextStyle struct { 2605 // BackgroundColor: The background color as a hex string. "#RRGGBB" or "#RGB" 2606 BackgroundColor string `json:"backgroundColor,omitempty"` 2607 // FontSize: Font sizes for both the title and content. The title will still be 2608 // larger relative to the content. 2609 // 2610 // Possible values: 2611 // "FONT_SIZE_UNSPECIFIED" - No font size specified, will default to FS_LARGE 2612 // "FS_EXTRA_SMALL" - Extra small font size 2613 // "FS_SMALL" - Small font size 2614 // "FS_MEDIUM" - Medium font size 2615 // "FS_LARGE" - Large font size 2616 // "FS_EXTRA_LARGE" - Extra large font size 2617 FontSize string `json:"fontSize,omitempty"` 2618 // HorizontalAlignment: The horizontal alignment of both the title and content 2619 // 2620 // Possible values: 2621 // "HORIZONTAL_ALIGNMENT_UNSPECIFIED" - No horizontal alignment specified, 2622 // will default to H_LEFT 2623 // "H_LEFT" - Left-align 2624 // "H_CENTER" - Center-align 2625 // "H_RIGHT" - Right-align 2626 HorizontalAlignment string `json:"horizontalAlignment,omitempty"` 2627 // Padding: The amount of padding around the widget 2628 // 2629 // Possible values: 2630 // "PADDING_SIZE_UNSPECIFIED" - No padding size specified, will default to 2631 // P_EXTRA_SMALL 2632 // "P_EXTRA_SMALL" - Extra small padding 2633 // "P_SMALL" - Small padding 2634 // "P_MEDIUM" - Medium padding 2635 // "P_LARGE" - Large padding 2636 // "P_EXTRA_LARGE" - Extra large padding 2637 Padding string `json:"padding,omitempty"` 2638 // PointerLocation: The pointer location for this widget (also sometimes called 2639 // a "tail") 2640 // 2641 // Possible values: 2642 // "POINTER_LOCATION_UNSPECIFIED" - No visual pointer 2643 // "PL_TOP" - Placed in the middle of the top of the widget 2644 // "PL_RIGHT" - Placed in the middle of the right side of the widget 2645 // "PL_BOTTOM" - Placed in the middle of the bottom of the widget 2646 // "PL_LEFT" - Placed in the middle of the left side of the widget 2647 // "PL_TOP_LEFT" - Placed on the left side of the top of the widget 2648 // "PL_TOP_RIGHT" - Placed on the right side of the top of the widget 2649 // "PL_RIGHT_TOP" - Placed on the top of the right side of the widget 2650 // "PL_RIGHT_BOTTOM" - Placed on the bottom of the right side of the widget 2651 // "PL_BOTTOM_RIGHT" - Placed on the right side of the bottom of the widget 2652 // "PL_BOTTOM_LEFT" - Placed on the left side of the bottom of the widget 2653 // "PL_LEFT_BOTTOM" - Placed on the bottom of the left side of the widget 2654 // "PL_LEFT_TOP" - Placed on the top of the left side of the widget 2655 PointerLocation string `json:"pointerLocation,omitempty"` 2656 // TextColor: The text color as a hex string. "#RRGGBB" or "#RGB" 2657 TextColor string `json:"textColor,omitempty"` 2658 // VerticalAlignment: The vertical alignment of both the title and content 2659 // 2660 // Possible values: 2661 // "VERTICAL_ALIGNMENT_UNSPECIFIED" - No vertical alignment specified, will 2662 // default to V_TOP 2663 // "V_TOP" - Top-align 2664 // "V_CENTER" - Center-align 2665 // "V_BOTTOM" - Bottom-align 2666 VerticalAlignment string `json:"verticalAlignment,omitempty"` 2667 // ForceSendFields is a list of field names (e.g. "BackgroundColor") to 2668 // unconditionally include in API requests. By default, fields with empty or 2669 // default values are omitted from API requests. See 2670 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2671 // details. 2672 ForceSendFields []string `json:"-"` 2673 // NullFields is a list of field names (e.g. "BackgroundColor") to include in 2674 // API requests with the JSON null value. By default, fields with empty values 2675 // are omitted from API requests. See 2676 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2677 NullFields []string `json:"-"` 2678 } 2679 2680 func (s *TextStyle) MarshalJSON() ([]byte, error) { 2681 type NoMethod TextStyle 2682 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2683 } 2684 2685 // Threshold: Defines a threshold for categorizing time series values. 2686 type Threshold struct { 2687 // Color: The state color for this threshold. Color is not allowed in a 2688 // XyChart. 2689 // 2690 // Possible values: 2691 // "COLOR_UNSPECIFIED" - Color is unspecified. Not allowed in well-formed 2692 // requests. 2693 // "YELLOW" - Crossing the threshold is "concerning" behavior. 2694 // "RED" - Crossing the threshold is "emergency" behavior. 2695 Color string `json:"color,omitempty"` 2696 // Direction: The direction for the current threshold. Direction is not allowed 2697 // in a XyChart. 2698 // 2699 // Possible values: 2700 // "DIRECTION_UNSPECIFIED" - Not allowed in well-formed requests. 2701 // "ABOVE" - The threshold will be considered crossed if the actual value is 2702 // above the threshold value. 2703 // "BELOW" - The threshold will be considered crossed if the actual value is 2704 // below the threshold value. 2705 Direction string `json:"direction,omitempty"` 2706 // Label: A label for the threshold. 2707 Label string `json:"label,omitempty"` 2708 // TargetAxis: The target axis to use for plotting the threshold. Target axis 2709 // is not allowed in a Scorecard. 2710 // 2711 // Possible values: 2712 // "TARGET_AXIS_UNSPECIFIED" - The target axis was not specified. Defaults to 2713 // Y1. 2714 // "Y1" - The y_axis (the right axis of chart). 2715 // "Y2" - The y2_axis (the left axis of chart). 2716 TargetAxis string `json:"targetAxis,omitempty"` 2717 // Value: The value of the threshold. The value should be defined in the native 2718 // scale of the metric. 2719 Value float64 `json:"value,omitempty"` 2720 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 2721 // include in API requests. By default, fields with empty or default values are 2722 // omitted from API requests. See 2723 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2724 // details. 2725 ForceSendFields []string `json:"-"` 2726 // NullFields is a list of field names (e.g. "Color") to include in API 2727 // requests with the JSON null value. By default, fields with empty values are 2728 // omitted from API requests. See 2729 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2730 NullFields []string `json:"-"` 2731 } 2732 2733 func (s *Threshold) MarshalJSON() ([]byte, error) { 2734 type NoMethod Threshold 2735 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2736 } 2737 2738 func (s *Threshold) UnmarshalJSON(data []byte) error { 2739 type NoMethod Threshold 2740 var s1 struct { 2741 Value gensupport.JSONFloat64 `json:"value"` 2742 *NoMethod 2743 } 2744 s1.NoMethod = (*NoMethod)(s) 2745 if err := json.Unmarshal(data, &s1); err != nil { 2746 return err 2747 } 2748 s.Value = float64(s1.Value) 2749 return nil 2750 } 2751 2752 // Tile: A single tile in the mosaic. The placement and size of the tile are 2753 // configurable. 2754 type Tile struct { 2755 // Height: The height of the tile, measured in grid blocks. Tiles must have a 2756 // minimum height of 1. 2757 Height int64 `json:"height,omitempty"` 2758 // Widget: The informational widget contained in the tile. For example an 2759 // XyChart. 2760 Widget *Widget `json:"widget,omitempty"` 2761 // Width: The width of the tile, measured in grid blocks. Tiles must have a 2762 // minimum width of 1. 2763 Width int64 `json:"width,omitempty"` 2764 // XPos: The zero-indexed position of the tile in grid blocks relative to the 2765 // left edge of the grid. Tiles must be contained within the specified number 2766 // of columns. x_pos cannot be negative. 2767 XPos int64 `json:"xPos,omitempty"` 2768 // YPos: The zero-indexed position of the tile in grid blocks relative to the 2769 // top edge of the grid. y_pos cannot be negative. 2770 YPos int64 `json:"yPos,omitempty"` 2771 // ForceSendFields is a list of field names (e.g. "Height") to unconditionally 2772 // include in API requests. By default, fields with empty or default values are 2773 // omitted from API requests. See 2774 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2775 // details. 2776 ForceSendFields []string `json:"-"` 2777 // NullFields is a list of field names (e.g. "Height") to include in API 2778 // requests with the JSON null value. By default, fields with empty values are 2779 // omitted from API requests. See 2780 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2781 NullFields []string `json:"-"` 2782 } 2783 2784 func (s *Tile) MarshalJSON() ([]byte, error) { 2785 type NoMethod Tile 2786 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2787 } 2788 2789 // TimeSeriesFilter: A filter that defines a subset of time series data that is 2790 // displayed in a widget. Time series data is fetched using the ListTimeSeries 2791 // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list) 2792 // method. 2793 type TimeSeriesFilter struct { 2794 // Aggregation: By default, the raw time series data is returned. Use this 2795 // field to combine multiple time series for different views of the data. 2796 Aggregation *Aggregation `json:"aggregation,omitempty"` 2797 // Filter: Required. The monitoring filter 2798 // (https://cloud.google.com/monitoring/api/v3/filters) that identifies the 2799 // metric types, resources, and projects to query. 2800 Filter string `json:"filter,omitempty"` 2801 // PickTimeSeriesFilter: Ranking based time series filter. 2802 PickTimeSeriesFilter *PickTimeSeriesFilter `json:"pickTimeSeriesFilter,omitempty"` 2803 // SecondaryAggregation: Apply a second aggregation after aggregation is 2804 // applied. 2805 SecondaryAggregation *Aggregation `json:"secondaryAggregation,omitempty"` 2806 // StatisticalTimeSeriesFilter: Statistics based time series filter. Note: This 2807 // field is deprecated and completely ignored by the API. 2808 StatisticalTimeSeriesFilter *StatisticalTimeSeriesFilter `json:"statisticalTimeSeriesFilter,omitempty"` 2809 // ForceSendFields is a list of field names (e.g. "Aggregation") to 2810 // unconditionally include in API requests. By default, fields with empty or 2811 // default values are omitted from API requests. See 2812 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2813 // details. 2814 ForceSendFields []string `json:"-"` 2815 // NullFields is a list of field names (e.g. "Aggregation") to include in API 2816 // requests with the JSON null value. By default, fields with empty values are 2817 // omitted from API requests. See 2818 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2819 NullFields []string `json:"-"` 2820 } 2821 2822 func (s *TimeSeriesFilter) MarshalJSON() ([]byte, error) { 2823 type NoMethod TimeSeriesFilter 2824 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2825 } 2826 2827 // TimeSeriesFilterRatio: A pair of time series filters that define a ratio 2828 // computation. The output time series is the pair-wise division of each 2829 // aligned element from the numerator and denominator time series. 2830 type TimeSeriesFilterRatio struct { 2831 // Denominator: The denominator of the ratio. 2832 Denominator *RatioPart `json:"denominator,omitempty"` 2833 // Numerator: The numerator of the ratio. 2834 Numerator *RatioPart `json:"numerator,omitempty"` 2835 // PickTimeSeriesFilter: Ranking based time series filter. 2836 PickTimeSeriesFilter *PickTimeSeriesFilter `json:"pickTimeSeriesFilter,omitempty"` 2837 // SecondaryAggregation: Apply a second aggregation after the ratio is 2838 // computed. 2839 SecondaryAggregation *Aggregation `json:"secondaryAggregation,omitempty"` 2840 // StatisticalTimeSeriesFilter: Statistics based time series filter. Note: This 2841 // field is deprecated and completely ignored by the API. 2842 StatisticalTimeSeriesFilter *StatisticalTimeSeriesFilter `json:"statisticalTimeSeriesFilter,omitempty"` 2843 // ForceSendFields is a list of field names (e.g. "Denominator") to 2844 // unconditionally include in API requests. By default, fields with empty or 2845 // default values are omitted from API requests. See 2846 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2847 // details. 2848 ForceSendFields []string `json:"-"` 2849 // NullFields is a list of field names (e.g. "Denominator") to include in API 2850 // requests with the JSON null value. By default, fields with empty values are 2851 // omitted from API requests. See 2852 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2853 NullFields []string `json:"-"` 2854 } 2855 2856 func (s *TimeSeriesFilterRatio) MarshalJSON() ([]byte, error) { 2857 type NoMethod TimeSeriesFilterRatio 2858 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2859 } 2860 2861 // TimeSeriesQuery: TimeSeriesQuery collects the set of supported methods for 2862 // querying time series data from the Stackdriver metrics API. 2863 type TimeSeriesQuery struct { 2864 // OpsAnalyticsQuery: Preview: A query used to fetch a time series, category 2865 // series, or numeric series with SQL. This is a preview feature and may be 2866 // subject to change before final release. 2867 OpsAnalyticsQuery *OpsAnalyticsQuery `json:"opsAnalyticsQuery,omitempty"` 2868 // OutputFullDuration: Optional. If set, Cloud Monitoring will treat the full 2869 // query duration as the alignment period so that there will be only 1 output 2870 // value.*Note: This could override the configured alignment period except for 2871 // the cases where a series of data points are expected, like - XyChart - 2872 // Scorecard's spark chart 2873 OutputFullDuration bool `json:"outputFullDuration,omitempty"` 2874 // PrometheusQuery: A query used to fetch time series with PromQL. 2875 PrometheusQuery string `json:"prometheusQuery,omitempty"` 2876 // TimeSeriesFilter: Filter parameters to fetch time series. 2877 TimeSeriesFilter *TimeSeriesFilter `json:"timeSeriesFilter,omitempty"` 2878 // TimeSeriesFilterRatio: Parameters to fetch a ratio between two time series 2879 // filters. 2880 TimeSeriesFilterRatio *TimeSeriesFilterRatio `json:"timeSeriesFilterRatio,omitempty"` 2881 // TimeSeriesQueryLanguage: A query used to fetch time series with MQL. 2882 TimeSeriesQueryLanguage string `json:"timeSeriesQueryLanguage,omitempty"` 2883 // UnitOverride: The unit of data contained in fetched time series. If 2884 // non-empty, this unit will override any unit that accompanies fetched data. 2885 // The format is the same as the unit 2886 // (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) 2887 // field in MetricDescriptor. 2888 UnitOverride string `json:"unitOverride,omitempty"` 2889 // ForceSendFields is a list of field names (e.g. "OpsAnalyticsQuery") to 2890 // unconditionally include in API requests. By default, fields with empty or 2891 // default values are omitted from API requests. See 2892 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2893 // details. 2894 ForceSendFields []string `json:"-"` 2895 // NullFields is a list of field names (e.g. "OpsAnalyticsQuery") to include in 2896 // API requests with the JSON null value. By default, fields with empty values 2897 // are omitted from API requests. See 2898 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2899 NullFields []string `json:"-"` 2900 } 2901 2902 func (s *TimeSeriesQuery) MarshalJSON() ([]byte, error) { 2903 type NoMethod TimeSeriesQuery 2904 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2905 } 2906 2907 // TimeSeriesTable: A table that displays time series data. 2908 type TimeSeriesTable struct { 2909 // ColumnSettings: Optional. The list of the persistent column settings for the 2910 // table. 2911 ColumnSettings []*ColumnSettings `json:"columnSettings,omitempty"` 2912 // DataSets: Required. The data displayed in this table. 2913 DataSets []*TableDataSet `json:"dataSets,omitempty"` 2914 // MetricVisualization: Optional. Store rendering strategy 2915 // 2916 // Possible values: 2917 // "METRIC_VISUALIZATION_UNSPECIFIED" - Unspecified state 2918 // "NUMBER" - Default text rendering 2919 // "BAR" - Horizontal bar rendering 2920 MetricVisualization string `json:"metricVisualization,omitempty"` 2921 // ForceSendFields is a list of field names (e.g. "ColumnSettings") to 2922 // unconditionally include in API requests. By default, fields with empty or 2923 // default values are omitted from API requests. See 2924 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2925 // details. 2926 ForceSendFields []string `json:"-"` 2927 // NullFields is a list of field names (e.g. "ColumnSettings") to include in 2928 // API requests with the JSON null value. By default, fields with empty values 2929 // are omitted from API requests. See 2930 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2931 NullFields []string `json:"-"` 2932 } 2933 2934 func (s *TimeSeriesTable) MarshalJSON() ([]byte, error) { 2935 type NoMethod TimeSeriesTable 2936 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2937 } 2938 2939 // Type: A protocol buffer message type. 2940 type Type struct { 2941 // Edition: The source edition string, only valid when syntax is 2942 // SYNTAX_EDITIONS. 2943 Edition string `json:"edition,omitempty"` 2944 // Fields: The list of fields. 2945 Fields []*Field `json:"fields,omitempty"` 2946 // Name: The fully qualified message name. 2947 Name string `json:"name,omitempty"` 2948 // Oneofs: The list of types appearing in oneof definitions in this type. 2949 Oneofs []string `json:"oneofs,omitempty"` 2950 // Options: The protocol buffer options. 2951 Options []*Option `json:"options,omitempty"` 2952 // SourceContext: The source context. 2953 SourceContext *SourceContext `json:"sourceContext,omitempty"` 2954 // Syntax: The source syntax. 2955 // 2956 // Possible values: 2957 // "SYNTAX_PROTO2" - Syntax proto2. 2958 // "SYNTAX_PROTO3" - Syntax proto3. 2959 // "SYNTAX_EDITIONS" - Syntax editions. 2960 Syntax string `json:"syntax,omitempty"` 2961 // ForceSendFields is a list of field names (e.g. "Edition") to unconditionally 2962 // include in API requests. By default, fields with empty or default values are 2963 // omitted from API requests. See 2964 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2965 // details. 2966 ForceSendFields []string `json:"-"` 2967 // NullFields is a list of field names (e.g. "Edition") to include in API 2968 // requests with the JSON null value. By default, fields with empty values are 2969 // omitted from API requests. See 2970 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2971 NullFields []string `json:"-"` 2972 } 2973 2974 func (s *Type) MarshalJSON() ([]byte, error) { 2975 type NoMethod Type 2976 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2977 } 2978 2979 // Widget: Widget contains a single dashboard component and configuration of 2980 // how to present the component in the dashboard. 2981 type Widget struct { 2982 // AlertChart: A chart of alert policy data. 2983 AlertChart *AlertChart `json:"alertChart,omitempty"` 2984 // Blank: A blank space. 2985 Blank *Empty `json:"blank,omitempty"` 2986 // CollapsibleGroup: A widget that groups the other widgets. All widgets that 2987 // are within the area spanned by the grouping widget are considered member 2988 // widgets. 2989 CollapsibleGroup *CollapsibleGroup `json:"collapsibleGroup,omitempty"` 2990 // ErrorReportingPanel: A widget that displays a list of error groups. 2991 ErrorReportingPanel *ErrorReportingPanel `json:"errorReportingPanel,omitempty"` 2992 // Id: Optional. The widget id. Ids may be made up of alphanumerics, dashes and 2993 // underscores. Widget ids are optional. 2994 Id string `json:"id,omitempty"` 2995 // IncidentList: A widget that shows list of incidents. 2996 IncidentList *IncidentList `json:"incidentList,omitempty"` 2997 // LogsPanel: A widget that shows a stream of logs. 2998 LogsPanel *LogsPanel `json:"logsPanel,omitempty"` 2999 // PieChart: A widget that displays timeseries data as a pie chart. 3000 PieChart *PieChart `json:"pieChart,omitempty"` 3001 // Scorecard: A scorecard summarizing time series data. 3002 Scorecard *Scorecard `json:"scorecard,omitempty"` 3003 // SectionHeader: A widget that defines a section header for easier navigation 3004 // of the dashboard. 3005 SectionHeader *SectionHeader `json:"sectionHeader,omitempty"` 3006 // SingleViewGroup: A widget that groups the other widgets by using a dropdown 3007 // menu. 3008 SingleViewGroup *SingleViewGroup `json:"singleViewGroup,omitempty"` 3009 // Text: A raw string or markdown displaying textual content. 3010 Text *Text `json:"text,omitempty"` 3011 // TimeSeriesTable: A widget that displays time series data in a tabular 3012 // format. 3013 TimeSeriesTable *TimeSeriesTable `json:"timeSeriesTable,omitempty"` 3014 // Title: Optional. The title of the widget. 3015 Title string `json:"title,omitempty"` 3016 // XyChart: A chart of time series data. 3017 XyChart *XyChart `json:"xyChart,omitempty"` 3018 // ForceSendFields is a list of field names (e.g. "AlertChart") to 3019 // unconditionally include in API requests. By default, fields with empty or 3020 // default values are omitted from API requests. See 3021 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3022 // details. 3023 ForceSendFields []string `json:"-"` 3024 // NullFields is a list of field names (e.g. "AlertChart") to include in API 3025 // requests with the JSON null value. By default, fields with empty values are 3026 // omitted from API requests. See 3027 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3028 NullFields []string `json:"-"` 3029 } 3030 3031 func (s *Widget) MarshalJSON() ([]byte, error) { 3032 type NoMethod Widget 3033 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3034 } 3035 3036 // XyChart: A chart that displays data on a 2D (X and Y axes) plane. 3037 type XyChart struct { 3038 // ChartOptions: Display options for the chart. 3039 ChartOptions *ChartOptions `json:"chartOptions,omitempty"` 3040 // DataSets: Required. The data displayed in this chart. 3041 DataSets []*DataSet `json:"dataSets,omitempty"` 3042 // Thresholds: Threshold lines drawn horizontally across the chart. 3043 Thresholds []*Threshold `json:"thresholds,omitempty"` 3044 // TimeshiftDuration: The duration used to display a comparison chart. A 3045 // comparison chart simultaneously shows values from two similar-length time 3046 // periods (e.g., week-over-week metrics). The duration must be positive, and 3047 // it can only be applied to charts with data sets of LINE plot type. 3048 TimeshiftDuration string `json:"timeshiftDuration,omitempty"` 3049 // XAxis: The properties applied to the x-axis. 3050 XAxis *Axis `json:"xAxis,omitempty"` 3051 // Y2Axis: The properties applied to the y2-axis. 3052 Y2Axis *Axis `json:"y2Axis,omitempty"` 3053 // YAxis: The properties applied to the y-axis. 3054 YAxis *Axis `json:"yAxis,omitempty"` 3055 // ForceSendFields is a list of field names (e.g. "ChartOptions") to 3056 // unconditionally include in API requests. By default, fields with empty or 3057 // default values are omitted from API requests. See 3058 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3059 // details. 3060 ForceSendFields []string `json:"-"` 3061 // NullFields is a list of field names (e.g. "ChartOptions") to include in API 3062 // requests with the JSON null value. By default, fields with empty values are 3063 // omitted from API requests. See 3064 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3065 NullFields []string `json:"-"` 3066 } 3067 3068 func (s *XyChart) MarshalJSON() ([]byte, error) { 3069 type NoMethod XyChart 3070 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3071 } 3072 3073 type LocationsGlobalMetricsScopesGetCall struct { 3074 s *Service 3075 name string 3076 urlParams_ gensupport.URLParams 3077 ifNoneMatch_ string 3078 ctx_ context.Context 3079 header_ http.Header 3080 } 3081 3082 // Get: Returns a specific Metrics Scope, including the list of projects 3083 // monitored by the specified Metrics Scope. 3084 // 3085 // - name: The resource name of the Metrics Scope. Example: 3086 // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}. 3087 func (r *LocationsGlobalMetricsScopesService) Get(name string) *LocationsGlobalMetricsScopesGetCall { 3088 c := &LocationsGlobalMetricsScopesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3089 c.name = name 3090 return c 3091 } 3092 3093 // Fields allows partial responses to be retrieved. See 3094 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3095 // details. 3096 func (c *LocationsGlobalMetricsScopesGetCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesGetCall { 3097 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3098 return c 3099 } 3100 3101 // IfNoneMatch sets an optional parameter which makes the operation fail if the 3102 // object's ETag matches the given value. This is useful for getting updates 3103 // only after the object has changed since the last request. 3104 func (c *LocationsGlobalMetricsScopesGetCall) IfNoneMatch(entityTag string) *LocationsGlobalMetricsScopesGetCall { 3105 c.ifNoneMatch_ = entityTag 3106 return c 3107 } 3108 3109 // Context sets the context to be used in this call's Do method. 3110 func (c *LocationsGlobalMetricsScopesGetCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesGetCall { 3111 c.ctx_ = ctx 3112 return c 3113 } 3114 3115 // Header returns a http.Header that can be modified by the caller to add 3116 // headers to the request. 3117 func (c *LocationsGlobalMetricsScopesGetCall) Header() http.Header { 3118 if c.header_ == nil { 3119 c.header_ = make(http.Header) 3120 } 3121 return c.header_ 3122 } 3123 3124 func (c *LocationsGlobalMetricsScopesGetCall) doRequest(alt string) (*http.Response, error) { 3125 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3126 if c.ifNoneMatch_ != "" { 3127 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3128 } 3129 var body io.Reader = nil 3130 c.urlParams_.Set("alt", alt) 3131 c.urlParams_.Set("prettyPrint", "false") 3132 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 3133 urls += "?" + c.urlParams_.Encode() 3134 req, err := http.NewRequest("GET", urls, body) 3135 if err != nil { 3136 return nil, err 3137 } 3138 req.Header = reqHeaders 3139 googleapi.Expand(req.URL, map[string]string{ 3140 "name": c.name, 3141 }) 3142 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3143 } 3144 3145 // Do executes the "monitoring.locations.global.metricsScopes.get" call. 3146 // Any non-2xx status code is an error. Response headers are in either 3147 // *MetricsScope.ServerResponse.Header or (if a response was returned at all) 3148 // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3149 // whether the returned error was because http.StatusNotModified was returned. 3150 func (c *LocationsGlobalMetricsScopesGetCall) Do(opts ...googleapi.CallOption) (*MetricsScope, error) { 3151 gensupport.SetOptions(c.urlParams_, opts...) 3152 res, err := c.doRequest("json") 3153 if res != nil && res.StatusCode == http.StatusNotModified { 3154 if res.Body != nil { 3155 res.Body.Close() 3156 } 3157 return nil, gensupport.WrapError(&googleapi.Error{ 3158 Code: res.StatusCode, 3159 Header: res.Header, 3160 }) 3161 } 3162 if err != nil { 3163 return nil, err 3164 } 3165 defer googleapi.CloseBody(res) 3166 if err := googleapi.CheckResponse(res); err != nil { 3167 return nil, gensupport.WrapError(err) 3168 } 3169 ret := &MetricsScope{ 3170 ServerResponse: googleapi.ServerResponse{ 3171 Header: res.Header, 3172 HTTPStatusCode: res.StatusCode, 3173 }, 3174 } 3175 target := &ret 3176 if err := gensupport.DecodeResponse(target, res); err != nil { 3177 return nil, err 3178 } 3179 return ret, nil 3180 } 3181 3182 type LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall struct { 3183 s *Service 3184 urlParams_ gensupport.URLParams 3185 ifNoneMatch_ string 3186 ctx_ context.Context 3187 header_ http.Header 3188 } 3189 3190 // ListMetricsScopesByMonitoredProject: Returns a list of every Metrics Scope 3191 // that a specific MonitoredProject has been added to. The metrics scope 3192 // representing the specified monitored project will always be the first entry 3193 // in the response. 3194 func (r *LocationsGlobalMetricsScopesService) ListMetricsScopesByMonitoredProject() *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 3195 c := &LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3196 return c 3197 } 3198 3199 // MonitoredResourceContainer sets the optional parameter 3200 // "monitoredResourceContainer": Required. The resource name of the Monitored 3201 // Project being requested. Example: projects/{MONITORED_PROJECT_ID_OR_NUMBER} 3202 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) MonitoredResourceContainer(monitoredResourceContainer string) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 3203 c.urlParams_.Set("monitoredResourceContainer", monitoredResourceContainer) 3204 return c 3205 } 3206 3207 // Fields allows partial responses to be retrieved. See 3208 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3209 // details. 3210 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 3211 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3212 return c 3213 } 3214 3215 // IfNoneMatch sets an optional parameter which makes the operation fail if the 3216 // object's ETag matches the given value. This is useful for getting updates 3217 // only after the object has changed since the last request. 3218 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) IfNoneMatch(entityTag string) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 3219 c.ifNoneMatch_ = entityTag 3220 return c 3221 } 3222 3223 // Context sets the context to be used in this call's Do method. 3224 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall { 3225 c.ctx_ = ctx 3226 return c 3227 } 3228 3229 // Header returns a http.Header that can be modified by the caller to add 3230 // headers to the request. 3231 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Header() http.Header { 3232 if c.header_ == nil { 3233 c.header_ = make(http.Header) 3234 } 3235 return c.header_ 3236 } 3237 3238 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) doRequest(alt string) (*http.Response, error) { 3239 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3240 if c.ifNoneMatch_ != "" { 3241 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3242 } 3243 var body io.Reader = nil 3244 c.urlParams_.Set("alt", alt) 3245 c.urlParams_.Set("prettyPrint", "false") 3246 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/locations/global/metricsScopes:listMetricsScopesByMonitoredProject") 3247 urls += "?" + c.urlParams_.Encode() 3248 req, err := http.NewRequest("GET", urls, body) 3249 if err != nil { 3250 return nil, err 3251 } 3252 req.Header = reqHeaders 3253 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3254 } 3255 3256 // Do executes the "monitoring.locations.global.metricsScopes.listMetricsScopesByMonitoredProject" call. 3257 // Any non-2xx status code is an error. Response headers are in either 3258 // *ListMetricsScopesByMonitoredProjectResponse.ServerResponse.Header or (if a 3259 // response was returned at all) in error.(*googleapi.Error).Header. Use 3260 // googleapi.IsNotModified to check whether the returned error was because 3261 // http.StatusNotModified was returned. 3262 func (c *LocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectCall) Do(opts ...googleapi.CallOption) (*ListMetricsScopesByMonitoredProjectResponse, error) { 3263 gensupport.SetOptions(c.urlParams_, opts...) 3264 res, err := c.doRequest("json") 3265 if res != nil && res.StatusCode == http.StatusNotModified { 3266 if res.Body != nil { 3267 res.Body.Close() 3268 } 3269 return nil, gensupport.WrapError(&googleapi.Error{ 3270 Code: res.StatusCode, 3271 Header: res.Header, 3272 }) 3273 } 3274 if err != nil { 3275 return nil, err 3276 } 3277 defer googleapi.CloseBody(res) 3278 if err := googleapi.CheckResponse(res); err != nil { 3279 return nil, gensupport.WrapError(err) 3280 } 3281 ret := &ListMetricsScopesByMonitoredProjectResponse{ 3282 ServerResponse: googleapi.ServerResponse{ 3283 Header: res.Header, 3284 HTTPStatusCode: res.StatusCode, 3285 }, 3286 } 3287 target := &ret 3288 if err := gensupport.DecodeResponse(target, res); err != nil { 3289 return nil, err 3290 } 3291 return ret, nil 3292 } 3293 3294 type LocationsGlobalMetricsScopesProjectsCreateCall struct { 3295 s *Service 3296 parent string 3297 monitoredproject *MonitoredProject 3298 urlParams_ gensupport.URLParams 3299 ctx_ context.Context 3300 header_ http.Header 3301 } 3302 3303 // Create: Adds a MonitoredProject with the given project ID to the specified 3304 // Metrics Scope. 3305 // 3306 // - parent: The resource name of the existing Metrics Scope that will monitor 3307 // this project. Example: 3308 // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}. 3309 func (r *LocationsGlobalMetricsScopesProjectsService) Create(parent string, monitoredproject *MonitoredProject) *LocationsGlobalMetricsScopesProjectsCreateCall { 3310 c := &LocationsGlobalMetricsScopesProjectsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3311 c.parent = parent 3312 c.monitoredproject = monitoredproject 3313 return c 3314 } 3315 3316 // Fields allows partial responses to be retrieved. See 3317 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3318 // details. 3319 func (c *LocationsGlobalMetricsScopesProjectsCreateCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesProjectsCreateCall { 3320 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3321 return c 3322 } 3323 3324 // Context sets the context to be used in this call's Do method. 3325 func (c *LocationsGlobalMetricsScopesProjectsCreateCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesProjectsCreateCall { 3326 c.ctx_ = ctx 3327 return c 3328 } 3329 3330 // Header returns a http.Header that can be modified by the caller to add 3331 // headers to the request. 3332 func (c *LocationsGlobalMetricsScopesProjectsCreateCall) Header() http.Header { 3333 if c.header_ == nil { 3334 c.header_ = make(http.Header) 3335 } 3336 return c.header_ 3337 } 3338 3339 func (c *LocationsGlobalMetricsScopesProjectsCreateCall) doRequest(alt string) (*http.Response, error) { 3340 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 3341 var body io.Reader = nil 3342 body, err := googleapi.WithoutDataWrapper.JSONReader(c.monitoredproject) 3343 if err != nil { 3344 return nil, err 3345 } 3346 c.urlParams_.Set("alt", alt) 3347 c.urlParams_.Set("prettyPrint", "false") 3348 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/projects") 3349 urls += "?" + c.urlParams_.Encode() 3350 req, err := http.NewRequest("POST", urls, body) 3351 if err != nil { 3352 return nil, err 3353 } 3354 req.Header = reqHeaders 3355 googleapi.Expand(req.URL, map[string]string{ 3356 "parent": c.parent, 3357 }) 3358 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3359 } 3360 3361 // Do executes the "monitoring.locations.global.metricsScopes.projects.create" call. 3362 // Any non-2xx status code is an error. Response headers are in either 3363 // *Operation.ServerResponse.Header or (if a response was returned at all) in 3364 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3365 // whether the returned error was because http.StatusNotModified was returned. 3366 func (c *LocationsGlobalMetricsScopesProjectsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 3367 gensupport.SetOptions(c.urlParams_, opts...) 3368 res, err := c.doRequest("json") 3369 if res != nil && res.StatusCode == http.StatusNotModified { 3370 if res.Body != nil { 3371 res.Body.Close() 3372 } 3373 return nil, gensupport.WrapError(&googleapi.Error{ 3374 Code: res.StatusCode, 3375 Header: res.Header, 3376 }) 3377 } 3378 if err != nil { 3379 return nil, err 3380 } 3381 defer googleapi.CloseBody(res) 3382 if err := googleapi.CheckResponse(res); err != nil { 3383 return nil, gensupport.WrapError(err) 3384 } 3385 ret := &Operation{ 3386 ServerResponse: googleapi.ServerResponse{ 3387 Header: res.Header, 3388 HTTPStatusCode: res.StatusCode, 3389 }, 3390 } 3391 target := &ret 3392 if err := gensupport.DecodeResponse(target, res); err != nil { 3393 return nil, err 3394 } 3395 return ret, nil 3396 } 3397 3398 type LocationsGlobalMetricsScopesProjectsDeleteCall struct { 3399 s *Service 3400 name string 3401 urlParams_ gensupport.URLParams 3402 ctx_ context.Context 3403 header_ http.Header 3404 } 3405 3406 // Delete: Deletes a MonitoredProject from the specified Metrics Scope. 3407 // 3408 // - name: The resource name of the MonitoredProject. Example: 3409 // locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MON 3410 // ITORED_PROJECT_ID_OR_NUMBER}Authorization requires the following Google 3411 // IAM (https://cloud.google.com/iam) permissions on both the Metrics Scope 3412 // and on the MonitoredProject: monitoring.metricsScopes.link. 3413 func (r *LocationsGlobalMetricsScopesProjectsService) Delete(name string) *LocationsGlobalMetricsScopesProjectsDeleteCall { 3414 c := &LocationsGlobalMetricsScopesProjectsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3415 c.name = name 3416 return c 3417 } 3418 3419 // Fields allows partial responses to be retrieved. See 3420 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3421 // details. 3422 func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) Fields(s ...googleapi.Field) *LocationsGlobalMetricsScopesProjectsDeleteCall { 3423 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3424 return c 3425 } 3426 3427 // Context sets the context to be used in this call's Do method. 3428 func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) Context(ctx context.Context) *LocationsGlobalMetricsScopesProjectsDeleteCall { 3429 c.ctx_ = ctx 3430 return c 3431 } 3432 3433 // Header returns a http.Header that can be modified by the caller to add 3434 // headers to the request. 3435 func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) Header() http.Header { 3436 if c.header_ == nil { 3437 c.header_ = make(http.Header) 3438 } 3439 return c.header_ 3440 } 3441 3442 func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) doRequest(alt string) (*http.Response, error) { 3443 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3444 var body io.Reader = nil 3445 c.urlParams_.Set("alt", alt) 3446 c.urlParams_.Set("prettyPrint", "false") 3447 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 3448 urls += "?" + c.urlParams_.Encode() 3449 req, err := http.NewRequest("DELETE", urls, body) 3450 if err != nil { 3451 return nil, err 3452 } 3453 req.Header = reqHeaders 3454 googleapi.Expand(req.URL, map[string]string{ 3455 "name": c.name, 3456 }) 3457 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3458 } 3459 3460 // Do executes the "monitoring.locations.global.metricsScopes.projects.delete" call. 3461 // Any non-2xx status code is an error. Response headers are in either 3462 // *Operation.ServerResponse.Header or (if a response was returned at all) in 3463 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3464 // whether the returned error was because http.StatusNotModified was returned. 3465 func (c *LocationsGlobalMetricsScopesProjectsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 3466 gensupport.SetOptions(c.urlParams_, opts...) 3467 res, err := c.doRequest("json") 3468 if res != nil && res.StatusCode == http.StatusNotModified { 3469 if res.Body != nil { 3470 res.Body.Close() 3471 } 3472 return nil, gensupport.WrapError(&googleapi.Error{ 3473 Code: res.StatusCode, 3474 Header: res.Header, 3475 }) 3476 } 3477 if err != nil { 3478 return nil, err 3479 } 3480 defer googleapi.CloseBody(res) 3481 if err := googleapi.CheckResponse(res); err != nil { 3482 return nil, gensupport.WrapError(err) 3483 } 3484 ret := &Operation{ 3485 ServerResponse: googleapi.ServerResponse{ 3486 Header: res.Header, 3487 HTTPStatusCode: res.StatusCode, 3488 }, 3489 } 3490 target := &ret 3491 if err := gensupport.DecodeResponse(target, res); err != nil { 3492 return nil, err 3493 } 3494 return ret, nil 3495 } 3496 3497 type OperationsGetCall struct { 3498 s *Service 3499 name string 3500 urlParams_ gensupport.URLParams 3501 ifNoneMatch_ string 3502 ctx_ context.Context 3503 header_ http.Header 3504 } 3505 3506 // Get: Gets the latest state of a long-running operation. Clients can use this 3507 // method to poll the operation result at intervals as recommended by the API 3508 // service. 3509 // 3510 // - name: The name of the operation resource. 3511 func (r *OperationsService) Get(name string) *OperationsGetCall { 3512 c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3513 c.name = name 3514 return c 3515 } 3516 3517 // Fields allows partial responses to be retrieved. See 3518 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3519 // details. 3520 func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { 3521 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3522 return c 3523 } 3524 3525 // IfNoneMatch sets an optional parameter which makes the operation fail if the 3526 // object's ETag matches the given value. This is useful for getting updates 3527 // only after the object has changed since the last request. 3528 func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { 3529 c.ifNoneMatch_ = entityTag 3530 return c 3531 } 3532 3533 // Context sets the context to be used in this call's Do method. 3534 func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { 3535 c.ctx_ = ctx 3536 return c 3537 } 3538 3539 // Header returns a http.Header that can be modified by the caller to add 3540 // headers to the request. 3541 func (c *OperationsGetCall) Header() http.Header { 3542 if c.header_ == nil { 3543 c.header_ = make(http.Header) 3544 } 3545 return c.header_ 3546 } 3547 3548 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { 3549 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3550 if c.ifNoneMatch_ != "" { 3551 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3552 } 3553 var body io.Reader = nil 3554 c.urlParams_.Set("alt", alt) 3555 c.urlParams_.Set("prettyPrint", "false") 3556 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 3557 urls += "?" + c.urlParams_.Encode() 3558 req, err := http.NewRequest("GET", urls, body) 3559 if err != nil { 3560 return nil, err 3561 } 3562 req.Header = reqHeaders 3563 googleapi.Expand(req.URL, map[string]string{ 3564 "name": c.name, 3565 }) 3566 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3567 } 3568 3569 // Do executes the "monitoring.operations.get" call. 3570 // Any non-2xx status code is an error. Response headers are in either 3571 // *Operation.ServerResponse.Header or (if a response was returned at all) in 3572 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3573 // whether the returned error was because http.StatusNotModified was returned. 3574 func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 3575 gensupport.SetOptions(c.urlParams_, opts...) 3576 res, err := c.doRequest("json") 3577 if res != nil && res.StatusCode == http.StatusNotModified { 3578 if res.Body != nil { 3579 res.Body.Close() 3580 } 3581 return nil, gensupport.WrapError(&googleapi.Error{ 3582 Code: res.StatusCode, 3583 Header: res.Header, 3584 }) 3585 } 3586 if err != nil { 3587 return nil, err 3588 } 3589 defer googleapi.CloseBody(res) 3590 if err := googleapi.CheckResponse(res); err != nil { 3591 return nil, gensupport.WrapError(err) 3592 } 3593 ret := &Operation{ 3594 ServerResponse: googleapi.ServerResponse{ 3595 Header: res.Header, 3596 HTTPStatusCode: res.StatusCode, 3597 }, 3598 } 3599 target := &ret 3600 if err := gensupport.DecodeResponse(target, res); err != nil { 3601 return nil, err 3602 } 3603 return ret, nil 3604 } 3605 3606 type ProjectsDashboardsCreateCall struct { 3607 s *Service 3608 parent string 3609 dashboard *Dashboard 3610 urlParams_ gensupport.URLParams 3611 ctx_ context.Context 3612 header_ http.Header 3613 } 3614 3615 // Create: Creates a new custom dashboard. For examples on how you can use this 3616 // API to create dashboards, see Managing dashboards by API 3617 // (https://cloud.google.com/monitoring/dashboards/api-dashboard). This method 3618 // requires the monitoring.dashboards.create permission on the specified 3619 // project. For more information about permissions, see Cloud Identity and 3620 // Access Management (https://cloud.google.com/iam). 3621 // 3622 // - parent: The project on which to execute the request. The format is: 3623 // projects/[PROJECT_ID_OR_NUMBER] The [PROJECT_ID_OR_NUMBER] must match the 3624 // dashboard resource name. 3625 func (r *ProjectsDashboardsService) Create(parent string, dashboard *Dashboard) *ProjectsDashboardsCreateCall { 3626 c := &ProjectsDashboardsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3627 c.parent = parent 3628 c.dashboard = dashboard 3629 return c 3630 } 3631 3632 // ValidateOnly sets the optional parameter "validateOnly": If set, validate 3633 // the request and preview the review, but do not actually save it. 3634 func (c *ProjectsDashboardsCreateCall) ValidateOnly(validateOnly bool) *ProjectsDashboardsCreateCall { 3635 c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) 3636 return c 3637 } 3638 3639 // Fields allows partial responses to be retrieved. See 3640 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3641 // details. 3642 func (c *ProjectsDashboardsCreateCall) Fields(s ...googleapi.Field) *ProjectsDashboardsCreateCall { 3643 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3644 return c 3645 } 3646 3647 // Context sets the context to be used in this call's Do method. 3648 func (c *ProjectsDashboardsCreateCall) Context(ctx context.Context) *ProjectsDashboardsCreateCall { 3649 c.ctx_ = ctx 3650 return c 3651 } 3652 3653 // Header returns a http.Header that can be modified by the caller to add 3654 // headers to the request. 3655 func (c *ProjectsDashboardsCreateCall) Header() http.Header { 3656 if c.header_ == nil { 3657 c.header_ = make(http.Header) 3658 } 3659 return c.header_ 3660 } 3661 3662 func (c *ProjectsDashboardsCreateCall) doRequest(alt string) (*http.Response, error) { 3663 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 3664 var body io.Reader = nil 3665 body, err := googleapi.WithoutDataWrapper.JSONReader(c.dashboard) 3666 if err != nil { 3667 return nil, err 3668 } 3669 c.urlParams_.Set("alt", alt) 3670 c.urlParams_.Set("prettyPrint", "false") 3671 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dashboards") 3672 urls += "?" + c.urlParams_.Encode() 3673 req, err := http.NewRequest("POST", urls, body) 3674 if err != nil { 3675 return nil, err 3676 } 3677 req.Header = reqHeaders 3678 googleapi.Expand(req.URL, map[string]string{ 3679 "parent": c.parent, 3680 }) 3681 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3682 } 3683 3684 // Do executes the "monitoring.projects.dashboards.create" call. 3685 // Any non-2xx status code is an error. Response headers are in either 3686 // *Dashboard.ServerResponse.Header or (if a response was returned at all) in 3687 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3688 // whether the returned error was because http.StatusNotModified was returned. 3689 func (c *ProjectsDashboardsCreateCall) Do(opts ...googleapi.CallOption) (*Dashboard, error) { 3690 gensupport.SetOptions(c.urlParams_, opts...) 3691 res, err := c.doRequest("json") 3692 if res != nil && res.StatusCode == http.StatusNotModified { 3693 if res.Body != nil { 3694 res.Body.Close() 3695 } 3696 return nil, gensupport.WrapError(&googleapi.Error{ 3697 Code: res.StatusCode, 3698 Header: res.Header, 3699 }) 3700 } 3701 if err != nil { 3702 return nil, err 3703 } 3704 defer googleapi.CloseBody(res) 3705 if err := googleapi.CheckResponse(res); err != nil { 3706 return nil, gensupport.WrapError(err) 3707 } 3708 ret := &Dashboard{ 3709 ServerResponse: googleapi.ServerResponse{ 3710 Header: res.Header, 3711 HTTPStatusCode: res.StatusCode, 3712 }, 3713 } 3714 target := &ret 3715 if err := gensupport.DecodeResponse(target, res); err != nil { 3716 return nil, err 3717 } 3718 return ret, nil 3719 } 3720 3721 type ProjectsDashboardsDeleteCall struct { 3722 s *Service 3723 name string 3724 urlParams_ gensupport.URLParams 3725 ctx_ context.Context 3726 header_ http.Header 3727 } 3728 3729 // Delete: Deletes an existing custom dashboard.This method requires the 3730 // monitoring.dashboards.delete permission on the specified dashboard. For more 3731 // information, see Cloud Identity and Access Management 3732 // (https://cloud.google.com/iam). 3733 // 3734 // - name: The resource name of the Dashboard. The format is: 3735 // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]. 3736 func (r *ProjectsDashboardsService) Delete(name string) *ProjectsDashboardsDeleteCall { 3737 c := &ProjectsDashboardsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3738 c.name = name 3739 return c 3740 } 3741 3742 // Fields allows partial responses to be retrieved. See 3743 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3744 // details. 3745 func (c *ProjectsDashboardsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDashboardsDeleteCall { 3746 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3747 return c 3748 } 3749 3750 // Context sets the context to be used in this call's Do method. 3751 func (c *ProjectsDashboardsDeleteCall) Context(ctx context.Context) *ProjectsDashboardsDeleteCall { 3752 c.ctx_ = ctx 3753 return c 3754 } 3755 3756 // Header returns a http.Header that can be modified by the caller to add 3757 // headers to the request. 3758 func (c *ProjectsDashboardsDeleteCall) Header() http.Header { 3759 if c.header_ == nil { 3760 c.header_ = make(http.Header) 3761 } 3762 return c.header_ 3763 } 3764 3765 func (c *ProjectsDashboardsDeleteCall) doRequest(alt string) (*http.Response, error) { 3766 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3767 var body io.Reader = nil 3768 c.urlParams_.Set("alt", alt) 3769 c.urlParams_.Set("prettyPrint", "false") 3770 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 3771 urls += "?" + c.urlParams_.Encode() 3772 req, err := http.NewRequest("DELETE", urls, body) 3773 if err != nil { 3774 return nil, err 3775 } 3776 req.Header = reqHeaders 3777 googleapi.Expand(req.URL, map[string]string{ 3778 "name": c.name, 3779 }) 3780 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3781 } 3782 3783 // Do executes the "monitoring.projects.dashboards.delete" call. 3784 // Any non-2xx status code is an error. Response headers are in either 3785 // *Empty.ServerResponse.Header or (if a response was returned at all) in 3786 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3787 // whether the returned error was because http.StatusNotModified was returned. 3788 func (c *ProjectsDashboardsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { 3789 gensupport.SetOptions(c.urlParams_, opts...) 3790 res, err := c.doRequest("json") 3791 if res != nil && res.StatusCode == http.StatusNotModified { 3792 if res.Body != nil { 3793 res.Body.Close() 3794 } 3795 return nil, gensupport.WrapError(&googleapi.Error{ 3796 Code: res.StatusCode, 3797 Header: res.Header, 3798 }) 3799 } 3800 if err != nil { 3801 return nil, err 3802 } 3803 defer googleapi.CloseBody(res) 3804 if err := googleapi.CheckResponse(res); err != nil { 3805 return nil, gensupport.WrapError(err) 3806 } 3807 ret := &Empty{ 3808 ServerResponse: googleapi.ServerResponse{ 3809 Header: res.Header, 3810 HTTPStatusCode: res.StatusCode, 3811 }, 3812 } 3813 target := &ret 3814 if err := gensupport.DecodeResponse(target, res); err != nil { 3815 return nil, err 3816 } 3817 return ret, nil 3818 } 3819 3820 type ProjectsDashboardsGetCall struct { 3821 s *Service 3822 name string 3823 urlParams_ gensupport.URLParams 3824 ifNoneMatch_ string 3825 ctx_ context.Context 3826 header_ http.Header 3827 } 3828 3829 // Get: Fetches a specific dashboard.This method requires the 3830 // monitoring.dashboards.get permission on the specified dashboard. For more 3831 // information, see Cloud Identity and Access Management 3832 // (https://cloud.google.com/iam). 3833 // 3834 // - name: The resource name of the Dashboard. The format is one of: 3835 // dashboards/[DASHBOARD_ID] (for system dashboards) 3836 // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID] (for custom 3837 // dashboards). 3838 func (r *ProjectsDashboardsService) Get(name string) *ProjectsDashboardsGetCall { 3839 c := &ProjectsDashboardsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3840 c.name = name 3841 return c 3842 } 3843 3844 // Fields allows partial responses to be retrieved. See 3845 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3846 // details. 3847 func (c *ProjectsDashboardsGetCall) Fields(s ...googleapi.Field) *ProjectsDashboardsGetCall { 3848 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3849 return c 3850 } 3851 3852 // IfNoneMatch sets an optional parameter which makes the operation fail if the 3853 // object's ETag matches the given value. This is useful for getting updates 3854 // only after the object has changed since the last request. 3855 func (c *ProjectsDashboardsGetCall) IfNoneMatch(entityTag string) *ProjectsDashboardsGetCall { 3856 c.ifNoneMatch_ = entityTag 3857 return c 3858 } 3859 3860 // Context sets the context to be used in this call's Do method. 3861 func (c *ProjectsDashboardsGetCall) Context(ctx context.Context) *ProjectsDashboardsGetCall { 3862 c.ctx_ = ctx 3863 return c 3864 } 3865 3866 // Header returns a http.Header that can be modified by the caller to add 3867 // headers to the request. 3868 func (c *ProjectsDashboardsGetCall) Header() http.Header { 3869 if c.header_ == nil { 3870 c.header_ = make(http.Header) 3871 } 3872 return c.header_ 3873 } 3874 3875 func (c *ProjectsDashboardsGetCall) doRequest(alt string) (*http.Response, error) { 3876 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 3877 if c.ifNoneMatch_ != "" { 3878 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3879 } 3880 var body io.Reader = nil 3881 c.urlParams_.Set("alt", alt) 3882 c.urlParams_.Set("prettyPrint", "false") 3883 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 3884 urls += "?" + c.urlParams_.Encode() 3885 req, err := http.NewRequest("GET", urls, body) 3886 if err != nil { 3887 return nil, err 3888 } 3889 req.Header = reqHeaders 3890 googleapi.Expand(req.URL, map[string]string{ 3891 "name": c.name, 3892 }) 3893 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3894 } 3895 3896 // Do executes the "monitoring.projects.dashboards.get" call. 3897 // Any non-2xx status code is an error. Response headers are in either 3898 // *Dashboard.ServerResponse.Header or (if a response was returned at all) in 3899 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 3900 // whether the returned error was because http.StatusNotModified was returned. 3901 func (c *ProjectsDashboardsGetCall) Do(opts ...googleapi.CallOption) (*Dashboard, error) { 3902 gensupport.SetOptions(c.urlParams_, opts...) 3903 res, err := c.doRequest("json") 3904 if res != nil && res.StatusCode == http.StatusNotModified { 3905 if res.Body != nil { 3906 res.Body.Close() 3907 } 3908 return nil, gensupport.WrapError(&googleapi.Error{ 3909 Code: res.StatusCode, 3910 Header: res.Header, 3911 }) 3912 } 3913 if err != nil { 3914 return nil, err 3915 } 3916 defer googleapi.CloseBody(res) 3917 if err := googleapi.CheckResponse(res); err != nil { 3918 return nil, gensupport.WrapError(err) 3919 } 3920 ret := &Dashboard{ 3921 ServerResponse: googleapi.ServerResponse{ 3922 Header: res.Header, 3923 HTTPStatusCode: res.StatusCode, 3924 }, 3925 } 3926 target := &ret 3927 if err := gensupport.DecodeResponse(target, res); err != nil { 3928 return nil, err 3929 } 3930 return ret, nil 3931 } 3932 3933 type ProjectsDashboardsListCall struct { 3934 s *Service 3935 parent string 3936 urlParams_ gensupport.URLParams 3937 ifNoneMatch_ string 3938 ctx_ context.Context 3939 header_ http.Header 3940 } 3941 3942 // List: Lists the existing dashboards.This method requires the 3943 // monitoring.dashboards.list permission on the specified project. For more 3944 // information, see Cloud Identity and Access Management 3945 // (https://cloud.google.com/iam). 3946 // 3947 // - parent: The scope of the dashboards to list. The format is: 3948 // projects/[PROJECT_ID_OR_NUMBER]. 3949 func (r *ProjectsDashboardsService) List(parent string) *ProjectsDashboardsListCall { 3950 c := &ProjectsDashboardsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3951 c.parent = parent 3952 return c 3953 } 3954 3955 // PageSize sets the optional parameter "pageSize": A positive number that is 3956 // the maximum number of results to return. If unspecified, a default of 1000 3957 // is used. 3958 func (c *ProjectsDashboardsListCall) PageSize(pageSize int64) *ProjectsDashboardsListCall { 3959 c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) 3960 return c 3961 } 3962 3963 // PageToken sets the optional parameter "pageToken": If this field is not 3964 // empty then it must contain the nextPageToken value returned by a previous 3965 // call to this method. Using this field causes the method to return additional 3966 // results from the previous method call. 3967 func (c *ProjectsDashboardsListCall) PageToken(pageToken string) *ProjectsDashboardsListCall { 3968 c.urlParams_.Set("pageToken", pageToken) 3969 return c 3970 } 3971 3972 // Fields allows partial responses to be retrieved. See 3973 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 3974 // details. 3975 func (c *ProjectsDashboardsListCall) Fields(s ...googleapi.Field) *ProjectsDashboardsListCall { 3976 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3977 return c 3978 } 3979 3980 // IfNoneMatch sets an optional parameter which makes the operation fail if the 3981 // object's ETag matches the given value. This is useful for getting updates 3982 // only after the object has changed since the last request. 3983 func (c *ProjectsDashboardsListCall) IfNoneMatch(entityTag string) *ProjectsDashboardsListCall { 3984 c.ifNoneMatch_ = entityTag 3985 return c 3986 } 3987 3988 // Context sets the context to be used in this call's Do method. 3989 func (c *ProjectsDashboardsListCall) Context(ctx context.Context) *ProjectsDashboardsListCall { 3990 c.ctx_ = ctx 3991 return c 3992 } 3993 3994 // Header returns a http.Header that can be modified by the caller to add 3995 // headers to the request. 3996 func (c *ProjectsDashboardsListCall) Header() http.Header { 3997 if c.header_ == nil { 3998 c.header_ = make(http.Header) 3999 } 4000 return c.header_ 4001 } 4002 4003 func (c *ProjectsDashboardsListCall) doRequest(alt string) (*http.Response, error) { 4004 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 4005 if c.ifNoneMatch_ != "" { 4006 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4007 } 4008 var body io.Reader = nil 4009 c.urlParams_.Set("alt", alt) 4010 c.urlParams_.Set("prettyPrint", "false") 4011 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/dashboards") 4012 urls += "?" + c.urlParams_.Encode() 4013 req, err := http.NewRequest("GET", urls, body) 4014 if err != nil { 4015 return nil, err 4016 } 4017 req.Header = reqHeaders 4018 googleapi.Expand(req.URL, map[string]string{ 4019 "parent": c.parent, 4020 }) 4021 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4022 } 4023 4024 // Do executes the "monitoring.projects.dashboards.list" call. 4025 // Any non-2xx status code is an error. Response headers are in either 4026 // *ListDashboardsResponse.ServerResponse.Header or (if a response was returned 4027 // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to 4028 // check whether the returned error was because http.StatusNotModified was 4029 // returned. 4030 func (c *ProjectsDashboardsListCall) Do(opts ...googleapi.CallOption) (*ListDashboardsResponse, error) { 4031 gensupport.SetOptions(c.urlParams_, opts...) 4032 res, err := c.doRequest("json") 4033 if res != nil && res.StatusCode == http.StatusNotModified { 4034 if res.Body != nil { 4035 res.Body.Close() 4036 } 4037 return nil, gensupport.WrapError(&googleapi.Error{ 4038 Code: res.StatusCode, 4039 Header: res.Header, 4040 }) 4041 } 4042 if err != nil { 4043 return nil, err 4044 } 4045 defer googleapi.CloseBody(res) 4046 if err := googleapi.CheckResponse(res); err != nil { 4047 return nil, gensupport.WrapError(err) 4048 } 4049 ret := &ListDashboardsResponse{ 4050 ServerResponse: googleapi.ServerResponse{ 4051 Header: res.Header, 4052 HTTPStatusCode: res.StatusCode, 4053 }, 4054 } 4055 target := &ret 4056 if err := gensupport.DecodeResponse(target, res); err != nil { 4057 return nil, err 4058 } 4059 return ret, nil 4060 } 4061 4062 // Pages invokes f for each page of results. 4063 // A non-nil error returned from f will halt the iteration. 4064 // The provided context supersedes any context provided to the Context method. 4065 func (c *ProjectsDashboardsListCall) Pages(ctx context.Context, f func(*ListDashboardsResponse) error) error { 4066 c.ctx_ = ctx 4067 defer c.PageToken(c.urlParams_.Get("pageToken")) 4068 for { 4069 x, err := c.Do() 4070 if err != nil { 4071 return err 4072 } 4073 if err := f(x); err != nil { 4074 return err 4075 } 4076 if x.NextPageToken == "" { 4077 return nil 4078 } 4079 c.PageToken(x.NextPageToken) 4080 } 4081 } 4082 4083 type ProjectsDashboardsPatchCall struct { 4084 s *Service 4085 name string 4086 dashboard *Dashboard 4087 urlParams_ gensupport.URLParams 4088 ctx_ context.Context 4089 header_ http.Header 4090 } 4091 4092 // Patch: Replaces an existing custom dashboard with a new definition.This 4093 // method requires the monitoring.dashboards.update permission on the specified 4094 // dashboard. For more information, see Cloud Identity and Access Management 4095 // (https://cloud.google.com/iam). 4096 // 4097 // - name: Identifier. The resource name of the dashboard. 4098 func (r *ProjectsDashboardsService) Patch(name string, dashboard *Dashboard) *ProjectsDashboardsPatchCall { 4099 c := &ProjectsDashboardsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4100 c.name = name 4101 c.dashboard = dashboard 4102 return c 4103 } 4104 4105 // ValidateOnly sets the optional parameter "validateOnly": If set, validate 4106 // the request and preview the review, but do not actually save it. 4107 func (c *ProjectsDashboardsPatchCall) ValidateOnly(validateOnly bool) *ProjectsDashboardsPatchCall { 4108 c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) 4109 return c 4110 } 4111 4112 // Fields allows partial responses to be retrieved. See 4113 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4114 // details. 4115 func (c *ProjectsDashboardsPatchCall) Fields(s ...googleapi.Field) *ProjectsDashboardsPatchCall { 4116 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4117 return c 4118 } 4119 4120 // Context sets the context to be used in this call's Do method. 4121 func (c *ProjectsDashboardsPatchCall) Context(ctx context.Context) *ProjectsDashboardsPatchCall { 4122 c.ctx_ = ctx 4123 return c 4124 } 4125 4126 // Header returns a http.Header that can be modified by the caller to add 4127 // headers to the request. 4128 func (c *ProjectsDashboardsPatchCall) Header() http.Header { 4129 if c.header_ == nil { 4130 c.header_ = make(http.Header) 4131 } 4132 return c.header_ 4133 } 4134 4135 func (c *ProjectsDashboardsPatchCall) doRequest(alt string) (*http.Response, error) { 4136 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4137 var body io.Reader = nil 4138 body, err := googleapi.WithoutDataWrapper.JSONReader(c.dashboard) 4139 if err != nil { 4140 return nil, err 4141 } 4142 c.urlParams_.Set("alt", alt) 4143 c.urlParams_.Set("prettyPrint", "false") 4144 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") 4145 urls += "?" + c.urlParams_.Encode() 4146 req, err := http.NewRequest("PATCH", urls, body) 4147 if err != nil { 4148 return nil, err 4149 } 4150 req.Header = reqHeaders 4151 googleapi.Expand(req.URL, map[string]string{ 4152 "name": c.name, 4153 }) 4154 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4155 } 4156 4157 // Do executes the "monitoring.projects.dashboards.patch" call. 4158 // Any non-2xx status code is an error. Response headers are in either 4159 // *Dashboard.ServerResponse.Header or (if a response was returned at all) in 4160 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4161 // whether the returned error was because http.StatusNotModified was returned. 4162 func (c *ProjectsDashboardsPatchCall) Do(opts ...googleapi.CallOption) (*Dashboard, error) { 4163 gensupport.SetOptions(c.urlParams_, opts...) 4164 res, err := c.doRequest("json") 4165 if res != nil && res.StatusCode == http.StatusNotModified { 4166 if res.Body != nil { 4167 res.Body.Close() 4168 } 4169 return nil, gensupport.WrapError(&googleapi.Error{ 4170 Code: res.StatusCode, 4171 Header: res.Header, 4172 }) 4173 } 4174 if err != nil { 4175 return nil, err 4176 } 4177 defer googleapi.CloseBody(res) 4178 if err := googleapi.CheckResponse(res); err != nil { 4179 return nil, gensupport.WrapError(err) 4180 } 4181 ret := &Dashboard{ 4182 ServerResponse: googleapi.ServerResponse{ 4183 Header: res.Header, 4184 HTTPStatusCode: res.StatusCode, 4185 }, 4186 } 4187 target := &ret 4188 if err := gensupport.DecodeResponse(target, res); err != nil { 4189 return nil, err 4190 } 4191 return ret, nil 4192 } 4193 4194 type ProjectsLocationPrometheusApiV1LabelsCall struct { 4195 s *Service 4196 name string 4197 location string 4198 querylabelsrequest *QueryLabelsRequest 4199 urlParams_ gensupport.URLParams 4200 ctx_ context.Context 4201 header_ http.Header 4202 } 4203 4204 // Labels: Lists labels for metrics. 4205 // 4206 // - location: Location of the resource information. Has to be "global" now. 4207 // - name: The workspace on which to execute the request. It is not part of the 4208 // open source API but used as a request path prefix to distinguish different 4209 // virtual Prometheus instances of Google Prometheus Engine. The format is: 4210 // projects/PROJECT_ID_OR_NUMBER. 4211 func (r *ProjectsLocationPrometheusApiV1Service) Labels(name string, location string, querylabelsrequest *QueryLabelsRequest) *ProjectsLocationPrometheusApiV1LabelsCall { 4212 c := &ProjectsLocationPrometheusApiV1LabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4213 c.name = name 4214 c.location = location 4215 c.querylabelsrequest = querylabelsrequest 4216 return c 4217 } 4218 4219 // Fields allows partial responses to be retrieved. See 4220 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4221 // details. 4222 func (c *ProjectsLocationPrometheusApiV1LabelsCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1LabelsCall { 4223 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4224 return c 4225 } 4226 4227 // Context sets the context to be used in this call's Do method. 4228 func (c *ProjectsLocationPrometheusApiV1LabelsCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1LabelsCall { 4229 c.ctx_ = ctx 4230 return c 4231 } 4232 4233 // Header returns a http.Header that can be modified by the caller to add 4234 // headers to the request. 4235 func (c *ProjectsLocationPrometheusApiV1LabelsCall) Header() http.Header { 4236 if c.header_ == nil { 4237 c.header_ = make(http.Header) 4238 } 4239 return c.header_ 4240 } 4241 4242 func (c *ProjectsLocationPrometheusApiV1LabelsCall) doRequest(alt string) (*http.Response, error) { 4243 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4244 var body io.Reader = nil 4245 body, err := googleapi.WithoutDataWrapper.JSONReader(c.querylabelsrequest) 4246 if err != nil { 4247 return nil, err 4248 } 4249 c.urlParams_.Set("alt", alt) 4250 c.urlParams_.Set("prettyPrint", "false") 4251 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/labels") 4252 urls += "?" + c.urlParams_.Encode() 4253 req, err := http.NewRequest("POST", urls, body) 4254 if err != nil { 4255 return nil, err 4256 } 4257 req.Header = reqHeaders 4258 googleapi.Expand(req.URL, map[string]string{ 4259 "name": c.name, 4260 "location": c.location, 4261 }) 4262 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4263 } 4264 4265 // Do executes the "monitoring.projects.location.prometheus.api.v1.labels" call. 4266 // Any non-2xx status code is an error. Response headers are in either 4267 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4268 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4269 // whether the returned error was because http.StatusNotModified was returned. 4270 func (c *ProjectsLocationPrometheusApiV1LabelsCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4271 gensupport.SetOptions(c.urlParams_, opts...) 4272 res, err := c.doRequest("json") 4273 if res != nil && res.StatusCode == http.StatusNotModified { 4274 if res.Body != nil { 4275 res.Body.Close() 4276 } 4277 return nil, gensupport.WrapError(&googleapi.Error{ 4278 Code: res.StatusCode, 4279 Header: res.Header, 4280 }) 4281 } 4282 if err != nil { 4283 return nil, err 4284 } 4285 defer googleapi.CloseBody(res) 4286 if err := googleapi.CheckResponse(res); err != nil { 4287 return nil, gensupport.WrapError(err) 4288 } 4289 ret := &HttpBody{ 4290 ServerResponse: googleapi.ServerResponse{ 4291 Header: res.Header, 4292 HTTPStatusCode: res.StatusCode, 4293 }, 4294 } 4295 target := &ret 4296 if err := gensupport.DecodeResponse(target, res); err != nil { 4297 return nil, err 4298 } 4299 return ret, nil 4300 } 4301 4302 type ProjectsLocationPrometheusApiV1QueryCall struct { 4303 s *Service 4304 name string 4305 location string 4306 queryinstantrequest *QueryInstantRequest 4307 urlParams_ gensupport.URLParams 4308 ctx_ context.Context 4309 header_ http.Header 4310 } 4311 4312 // Query: Evaluate a PromQL query at a single point in time. 4313 // 4314 // - location: Location of the resource information. Has to be "global" now. 4315 // - name: The project on which to execute the request. Data associcated with 4316 // the project's workspace stored under the The format is: 4317 // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path 4318 // prefix to distinguish different virtual Prometheus instances of Google 4319 // Prometheus Engine. 4320 func (r *ProjectsLocationPrometheusApiV1Service) Query(name string, location string, queryinstantrequest *QueryInstantRequest) *ProjectsLocationPrometheusApiV1QueryCall { 4321 c := &ProjectsLocationPrometheusApiV1QueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4322 c.name = name 4323 c.location = location 4324 c.queryinstantrequest = queryinstantrequest 4325 return c 4326 } 4327 4328 // Fields allows partial responses to be retrieved. See 4329 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4330 // details. 4331 func (c *ProjectsLocationPrometheusApiV1QueryCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryCall { 4332 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4333 return c 4334 } 4335 4336 // Context sets the context to be used in this call's Do method. 4337 func (c *ProjectsLocationPrometheusApiV1QueryCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryCall { 4338 c.ctx_ = ctx 4339 return c 4340 } 4341 4342 // Header returns a http.Header that can be modified by the caller to add 4343 // headers to the request. 4344 func (c *ProjectsLocationPrometheusApiV1QueryCall) Header() http.Header { 4345 if c.header_ == nil { 4346 c.header_ = make(http.Header) 4347 } 4348 return c.header_ 4349 } 4350 4351 func (c *ProjectsLocationPrometheusApiV1QueryCall) doRequest(alt string) (*http.Response, error) { 4352 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4353 var body io.Reader = nil 4354 body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryinstantrequest) 4355 if err != nil { 4356 return nil, err 4357 } 4358 c.urlParams_.Set("alt", alt) 4359 c.urlParams_.Set("prettyPrint", "false") 4360 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/query") 4361 urls += "?" + c.urlParams_.Encode() 4362 req, err := http.NewRequest("POST", urls, body) 4363 if err != nil { 4364 return nil, err 4365 } 4366 req.Header = reqHeaders 4367 googleapi.Expand(req.URL, map[string]string{ 4368 "name": c.name, 4369 "location": c.location, 4370 }) 4371 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4372 } 4373 4374 // Do executes the "monitoring.projects.location.prometheus.api.v1.query" call. 4375 // Any non-2xx status code is an error. Response headers are in either 4376 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4377 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4378 // whether the returned error was because http.StatusNotModified was returned. 4379 func (c *ProjectsLocationPrometheusApiV1QueryCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4380 gensupport.SetOptions(c.urlParams_, opts...) 4381 res, err := c.doRequest("json") 4382 if res != nil && res.StatusCode == http.StatusNotModified { 4383 if res.Body != nil { 4384 res.Body.Close() 4385 } 4386 return nil, gensupport.WrapError(&googleapi.Error{ 4387 Code: res.StatusCode, 4388 Header: res.Header, 4389 }) 4390 } 4391 if err != nil { 4392 return nil, err 4393 } 4394 defer googleapi.CloseBody(res) 4395 if err := googleapi.CheckResponse(res); err != nil { 4396 return nil, gensupport.WrapError(err) 4397 } 4398 ret := &HttpBody{ 4399 ServerResponse: googleapi.ServerResponse{ 4400 Header: res.Header, 4401 HTTPStatusCode: res.StatusCode, 4402 }, 4403 } 4404 target := &ret 4405 if err := gensupport.DecodeResponse(target, res); err != nil { 4406 return nil, err 4407 } 4408 return ret, nil 4409 } 4410 4411 type ProjectsLocationPrometheusApiV1QueryExemplarsCall struct { 4412 s *Service 4413 name string 4414 location string 4415 queryexemplarsrequest *QueryExemplarsRequest 4416 urlParams_ gensupport.URLParams 4417 ctx_ context.Context 4418 header_ http.Header 4419 } 4420 4421 // QueryExemplars: Lists exemplars relevant to a given PromQL query, 4422 // 4423 // - location: Location of the resource information. Has to be "global" now. 4424 // - name: The project on which to execute the request. Data associcated with 4425 // the project's workspace stored under the The format is: 4426 // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path 4427 // prefix to distinguish different virtual Prometheus instances of Google 4428 // Prometheus Engine. 4429 func (r *ProjectsLocationPrometheusApiV1Service) QueryExemplars(name string, location string, queryexemplarsrequest *QueryExemplarsRequest) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { 4430 c := &ProjectsLocationPrometheusApiV1QueryExemplarsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4431 c.name = name 4432 c.location = location 4433 c.queryexemplarsrequest = queryexemplarsrequest 4434 return c 4435 } 4436 4437 // Fields allows partial responses to be retrieved. See 4438 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4439 // details. 4440 func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { 4441 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4442 return c 4443 } 4444 4445 // Context sets the context to be used in this call's Do method. 4446 func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryExemplarsCall { 4447 c.ctx_ = ctx 4448 return c 4449 } 4450 4451 // Header returns a http.Header that can be modified by the caller to add 4452 // headers to the request. 4453 func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Header() http.Header { 4454 if c.header_ == nil { 4455 c.header_ = make(http.Header) 4456 } 4457 return c.header_ 4458 } 4459 4460 func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) doRequest(alt string) (*http.Response, error) { 4461 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4462 var body io.Reader = nil 4463 body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryexemplarsrequest) 4464 if err != nil { 4465 return nil, err 4466 } 4467 c.urlParams_.Set("alt", alt) 4468 c.urlParams_.Set("prettyPrint", "false") 4469 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/query_exemplars") 4470 urls += "?" + c.urlParams_.Encode() 4471 req, err := http.NewRequest("POST", urls, body) 4472 if err != nil { 4473 return nil, err 4474 } 4475 req.Header = reqHeaders 4476 googleapi.Expand(req.URL, map[string]string{ 4477 "name": c.name, 4478 "location": c.location, 4479 }) 4480 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4481 } 4482 4483 // Do executes the "monitoring.projects.location.prometheus.api.v1.query_exemplars" call. 4484 // Any non-2xx status code is an error. Response headers are in either 4485 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4486 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4487 // whether the returned error was because http.StatusNotModified was returned. 4488 func (c *ProjectsLocationPrometheusApiV1QueryExemplarsCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4489 gensupport.SetOptions(c.urlParams_, opts...) 4490 res, err := c.doRequest("json") 4491 if res != nil && res.StatusCode == http.StatusNotModified { 4492 if res.Body != nil { 4493 res.Body.Close() 4494 } 4495 return nil, gensupport.WrapError(&googleapi.Error{ 4496 Code: res.StatusCode, 4497 Header: res.Header, 4498 }) 4499 } 4500 if err != nil { 4501 return nil, err 4502 } 4503 defer googleapi.CloseBody(res) 4504 if err := googleapi.CheckResponse(res); err != nil { 4505 return nil, gensupport.WrapError(err) 4506 } 4507 ret := &HttpBody{ 4508 ServerResponse: googleapi.ServerResponse{ 4509 Header: res.Header, 4510 HTTPStatusCode: res.StatusCode, 4511 }, 4512 } 4513 target := &ret 4514 if err := gensupport.DecodeResponse(target, res); err != nil { 4515 return nil, err 4516 } 4517 return ret, nil 4518 } 4519 4520 type ProjectsLocationPrometheusApiV1QueryRangeCall struct { 4521 s *Service 4522 name string 4523 location string 4524 queryrangerequest *QueryRangeRequest 4525 urlParams_ gensupport.URLParams 4526 ctx_ context.Context 4527 header_ http.Header 4528 } 4529 4530 // QueryRange: Evaluate a PromQL query with start, end time range. 4531 // 4532 // - location: Location of the resource information. Has to be "global" now. 4533 // - name: The project on which to execute the request. Data associcated with 4534 // the project's workspace stored under the The format is: 4535 // projects/PROJECT_ID_OR_NUMBER. Open source API but used as a request path 4536 // prefix to distinguish different virtual Prometheus instances of Google 4537 // Prometheus Engine. 4538 func (r *ProjectsLocationPrometheusApiV1Service) QueryRange(name string, location string, queryrangerequest *QueryRangeRequest) *ProjectsLocationPrometheusApiV1QueryRangeCall { 4539 c := &ProjectsLocationPrometheusApiV1QueryRangeCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4540 c.name = name 4541 c.location = location 4542 c.queryrangerequest = queryrangerequest 4543 return c 4544 } 4545 4546 // Fields allows partial responses to be retrieved. See 4547 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4548 // details. 4549 func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1QueryRangeCall { 4550 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4551 return c 4552 } 4553 4554 // Context sets the context to be used in this call's Do method. 4555 func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1QueryRangeCall { 4556 c.ctx_ = ctx 4557 return c 4558 } 4559 4560 // Header returns a http.Header that can be modified by the caller to add 4561 // headers to the request. 4562 func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) Header() http.Header { 4563 if c.header_ == nil { 4564 c.header_ = make(http.Header) 4565 } 4566 return c.header_ 4567 } 4568 4569 func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) doRequest(alt string) (*http.Response, error) { 4570 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4571 var body io.Reader = nil 4572 body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryrangerequest) 4573 if err != nil { 4574 return nil, err 4575 } 4576 c.urlParams_.Set("alt", alt) 4577 c.urlParams_.Set("prettyPrint", "false") 4578 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/query_range") 4579 urls += "?" + c.urlParams_.Encode() 4580 req, err := http.NewRequest("POST", urls, body) 4581 if err != nil { 4582 return nil, err 4583 } 4584 req.Header = reqHeaders 4585 googleapi.Expand(req.URL, map[string]string{ 4586 "name": c.name, 4587 "location": c.location, 4588 }) 4589 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4590 } 4591 4592 // Do executes the "monitoring.projects.location.prometheus.api.v1.query_range" call. 4593 // Any non-2xx status code is an error. Response headers are in either 4594 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4595 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4596 // whether the returned error was because http.StatusNotModified was returned. 4597 func (c *ProjectsLocationPrometheusApiV1QueryRangeCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4598 gensupport.SetOptions(c.urlParams_, opts...) 4599 res, err := c.doRequest("json") 4600 if res != nil && res.StatusCode == http.StatusNotModified { 4601 if res.Body != nil { 4602 res.Body.Close() 4603 } 4604 return nil, gensupport.WrapError(&googleapi.Error{ 4605 Code: res.StatusCode, 4606 Header: res.Header, 4607 }) 4608 } 4609 if err != nil { 4610 return nil, err 4611 } 4612 defer googleapi.CloseBody(res) 4613 if err := googleapi.CheckResponse(res); err != nil { 4614 return nil, gensupport.WrapError(err) 4615 } 4616 ret := &HttpBody{ 4617 ServerResponse: googleapi.ServerResponse{ 4618 Header: res.Header, 4619 HTTPStatusCode: res.StatusCode, 4620 }, 4621 } 4622 target := &ret 4623 if err := gensupport.DecodeResponse(target, res); err != nil { 4624 return nil, err 4625 } 4626 return ret, nil 4627 } 4628 4629 type ProjectsLocationPrometheusApiV1SeriesCall struct { 4630 s *Service 4631 name string 4632 location string 4633 queryseriesrequest *QuerySeriesRequest 4634 urlParams_ gensupport.URLParams 4635 ctx_ context.Context 4636 header_ http.Header 4637 } 4638 4639 // Series: Lists metadata for metrics. 4640 // 4641 // - location: Location of the resource information. Has to be "global" for 4642 // now. 4643 // - name: The workspace on which to execute the request. It is not part of the 4644 // open source API but used as a request path prefix to distinguish different 4645 // virtual Prometheus instances of Google Prometheus Engine. The format is: 4646 // projects/PROJECT_ID_OR_NUMBER. 4647 func (r *ProjectsLocationPrometheusApiV1Service) Series(name string, location string, queryseriesrequest *QuerySeriesRequest) *ProjectsLocationPrometheusApiV1SeriesCall { 4648 c := &ProjectsLocationPrometheusApiV1SeriesCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4649 c.name = name 4650 c.location = location 4651 c.queryseriesrequest = queryseriesrequest 4652 return c 4653 } 4654 4655 // Fields allows partial responses to be retrieved. See 4656 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4657 // details. 4658 func (c *ProjectsLocationPrometheusApiV1SeriesCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1SeriesCall { 4659 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4660 return c 4661 } 4662 4663 // Context sets the context to be used in this call's Do method. 4664 func (c *ProjectsLocationPrometheusApiV1SeriesCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1SeriesCall { 4665 c.ctx_ = ctx 4666 return c 4667 } 4668 4669 // Header returns a http.Header that can be modified by the caller to add 4670 // headers to the request. 4671 func (c *ProjectsLocationPrometheusApiV1SeriesCall) Header() http.Header { 4672 if c.header_ == nil { 4673 c.header_ = make(http.Header) 4674 } 4675 return c.header_ 4676 } 4677 4678 func (c *ProjectsLocationPrometheusApiV1SeriesCall) doRequest(alt string) (*http.Response, error) { 4679 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 4680 var body io.Reader = nil 4681 body, err := googleapi.WithoutDataWrapper.JSONReader(c.queryseriesrequest) 4682 if err != nil { 4683 return nil, err 4684 } 4685 c.urlParams_.Set("alt", alt) 4686 c.urlParams_.Set("prettyPrint", "false") 4687 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/series") 4688 urls += "?" + c.urlParams_.Encode() 4689 req, err := http.NewRequest("POST", urls, body) 4690 if err != nil { 4691 return nil, err 4692 } 4693 req.Header = reqHeaders 4694 googleapi.Expand(req.URL, map[string]string{ 4695 "name": c.name, 4696 "location": c.location, 4697 }) 4698 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4699 } 4700 4701 // Do executes the "monitoring.projects.location.prometheus.api.v1.series" call. 4702 // Any non-2xx status code is an error. Response headers are in either 4703 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4704 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4705 // whether the returned error was because http.StatusNotModified was returned. 4706 func (c *ProjectsLocationPrometheusApiV1SeriesCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4707 gensupport.SetOptions(c.urlParams_, opts...) 4708 res, err := c.doRequest("json") 4709 if res != nil && res.StatusCode == http.StatusNotModified { 4710 if res.Body != nil { 4711 res.Body.Close() 4712 } 4713 return nil, gensupport.WrapError(&googleapi.Error{ 4714 Code: res.StatusCode, 4715 Header: res.Header, 4716 }) 4717 } 4718 if err != nil { 4719 return nil, err 4720 } 4721 defer googleapi.CloseBody(res) 4722 if err := googleapi.CheckResponse(res); err != nil { 4723 return nil, gensupport.WrapError(err) 4724 } 4725 ret := &HttpBody{ 4726 ServerResponse: googleapi.ServerResponse{ 4727 Header: res.Header, 4728 HTTPStatusCode: res.StatusCode, 4729 }, 4730 } 4731 target := &ret 4732 if err := gensupport.DecodeResponse(target, res); err != nil { 4733 return nil, err 4734 } 4735 return ret, nil 4736 } 4737 4738 type ProjectsLocationPrometheusApiV1LabelValuesCall struct { 4739 s *Service 4740 name string 4741 location string 4742 label string 4743 urlParams_ gensupport.URLParams 4744 ifNoneMatch_ string 4745 ctx_ context.Context 4746 header_ http.Header 4747 } 4748 4749 // Values: Lists possible values for a given label name. 4750 // 4751 // - label: The label name for which values are queried. 4752 // - location: Location of the resource information. Has to be "global" now. 4753 // - name: The workspace on which to execute the request. It is not part of the 4754 // open source API but used as a request path prefix to distinguish different 4755 // virtual Prometheus instances of Google Prometheus Engine. The format is: 4756 // projects/PROJECT_ID_OR_NUMBER. 4757 func (r *ProjectsLocationPrometheusApiV1LabelService) Values(name string, location string, label string) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4758 c := &ProjectsLocationPrometheusApiV1LabelValuesCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4759 c.name = name 4760 c.location = location 4761 c.label = label 4762 return c 4763 } 4764 4765 // End sets the optional parameter "end": The end time to evaluate the query 4766 // for. Either floating point UNIX seconds or RFC3339 formatted timestamp. 4767 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) End(end string) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4768 c.urlParams_.Set("end", end) 4769 return c 4770 } 4771 4772 // Match sets the optional parameter "match": A list of matchers encoded in the 4773 // Prometheus label matcher format to constrain the values to series that 4774 // satisfy them. 4775 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Match(match string) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4776 c.urlParams_.Set("match", match) 4777 return c 4778 } 4779 4780 // Start sets the optional parameter "start": The start time to evaluate the 4781 // query for. Either floating point UNIX seconds or RFC3339 formatted 4782 // timestamp. 4783 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Start(start string) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4784 c.urlParams_.Set("start", start) 4785 return c 4786 } 4787 4788 // Fields allows partial responses to be retrieved. See 4789 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4790 // details. 4791 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4792 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4793 return c 4794 } 4795 4796 // IfNoneMatch sets an optional parameter which makes the operation fail if the 4797 // object's ETag matches the given value. This is useful for getting updates 4798 // only after the object has changed since the last request. 4799 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) IfNoneMatch(entityTag string) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4800 c.ifNoneMatch_ = entityTag 4801 return c 4802 } 4803 4804 // Context sets the context to be used in this call's Do method. 4805 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1LabelValuesCall { 4806 c.ctx_ = ctx 4807 return c 4808 } 4809 4810 // Header returns a http.Header that can be modified by the caller to add 4811 // headers to the request. 4812 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Header() http.Header { 4813 if c.header_ == nil { 4814 c.header_ = make(http.Header) 4815 } 4816 return c.header_ 4817 } 4818 4819 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) doRequest(alt string) (*http.Response, error) { 4820 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 4821 if c.ifNoneMatch_ != "" { 4822 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4823 } 4824 var body io.Reader = nil 4825 c.urlParams_.Set("alt", alt) 4826 c.urlParams_.Set("prettyPrint", "false") 4827 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/label/{label}/values") 4828 urls += "?" + c.urlParams_.Encode() 4829 req, err := http.NewRequest("GET", urls, body) 4830 if err != nil { 4831 return nil, err 4832 } 4833 req.Header = reqHeaders 4834 googleapi.Expand(req.URL, map[string]string{ 4835 "name": c.name, 4836 "location": c.location, 4837 "label": c.label, 4838 }) 4839 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4840 } 4841 4842 // Do executes the "monitoring.projects.location.prometheus.api.v1.label.values" call. 4843 // Any non-2xx status code is an error. Response headers are in either 4844 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4845 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4846 // whether the returned error was because http.StatusNotModified was returned. 4847 func (c *ProjectsLocationPrometheusApiV1LabelValuesCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4848 gensupport.SetOptions(c.urlParams_, opts...) 4849 res, err := c.doRequest("json") 4850 if res != nil && res.StatusCode == http.StatusNotModified { 4851 if res.Body != nil { 4852 res.Body.Close() 4853 } 4854 return nil, gensupport.WrapError(&googleapi.Error{ 4855 Code: res.StatusCode, 4856 Header: res.Header, 4857 }) 4858 } 4859 if err != nil { 4860 return nil, err 4861 } 4862 defer googleapi.CloseBody(res) 4863 if err := googleapi.CheckResponse(res); err != nil { 4864 return nil, gensupport.WrapError(err) 4865 } 4866 ret := &HttpBody{ 4867 ServerResponse: googleapi.ServerResponse{ 4868 Header: res.Header, 4869 HTTPStatusCode: res.StatusCode, 4870 }, 4871 } 4872 target := &ret 4873 if err := gensupport.DecodeResponse(target, res); err != nil { 4874 return nil, err 4875 } 4876 return ret, nil 4877 } 4878 4879 type ProjectsLocationPrometheusApiV1MetadataListCall struct { 4880 s *Service 4881 name string 4882 location string 4883 urlParams_ gensupport.URLParams 4884 ifNoneMatch_ string 4885 ctx_ context.Context 4886 header_ http.Header 4887 } 4888 4889 // List: Lists metadata for metrics. 4890 // 4891 // - location: Location of the resource information. Has to be "global" for 4892 // now. 4893 // - name: The workspace on which to execute the request. It is not part of the 4894 // open source API but used as a request path prefix to distinguish different 4895 // virtual Prometheus instances of Google Prometheus Engine. The format is: 4896 // projects/PROJECT_ID_OR_NUMBER. 4897 func (r *ProjectsLocationPrometheusApiV1MetadataService) List(name string, location string) *ProjectsLocationPrometheusApiV1MetadataListCall { 4898 c := &ProjectsLocationPrometheusApiV1MetadataListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 4899 c.name = name 4900 c.location = location 4901 return c 4902 } 4903 4904 // Limit sets the optional parameter "limit": Maximum number of metrics to 4905 // return. 4906 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Limit(limit int64) *ProjectsLocationPrometheusApiV1MetadataListCall { 4907 c.urlParams_.Set("limit", fmt.Sprint(limit)) 4908 return c 4909 } 4910 4911 // Metric sets the optional parameter "metric": The metric name for which to 4912 // query metadata. If unset, all metric metadata is returned. 4913 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Metric(metric string) *ProjectsLocationPrometheusApiV1MetadataListCall { 4914 c.urlParams_.Set("metric", metric) 4915 return c 4916 } 4917 4918 // Fields allows partial responses to be retrieved. See 4919 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 4920 // details. 4921 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Fields(s ...googleapi.Field) *ProjectsLocationPrometheusApiV1MetadataListCall { 4922 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 4923 return c 4924 } 4925 4926 // IfNoneMatch sets an optional parameter which makes the operation fail if the 4927 // object's ETag matches the given value. This is useful for getting updates 4928 // only after the object has changed since the last request. 4929 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) IfNoneMatch(entityTag string) *ProjectsLocationPrometheusApiV1MetadataListCall { 4930 c.ifNoneMatch_ = entityTag 4931 return c 4932 } 4933 4934 // Context sets the context to be used in this call's Do method. 4935 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Context(ctx context.Context) *ProjectsLocationPrometheusApiV1MetadataListCall { 4936 c.ctx_ = ctx 4937 return c 4938 } 4939 4940 // Header returns a http.Header that can be modified by the caller to add 4941 // headers to the request. 4942 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Header() http.Header { 4943 if c.header_ == nil { 4944 c.header_ = make(http.Header) 4945 } 4946 return c.header_ 4947 } 4948 4949 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) doRequest(alt string) (*http.Response, error) { 4950 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) 4951 if c.ifNoneMatch_ != "" { 4952 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4953 } 4954 var body io.Reader = nil 4955 c.urlParams_.Set("alt", alt) 4956 c.urlParams_.Set("prettyPrint", "false") 4957 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/location/{location}/prometheus/api/v1/metadata") 4958 urls += "?" + c.urlParams_.Encode() 4959 req, err := http.NewRequest("GET", urls, body) 4960 if err != nil { 4961 return nil, err 4962 } 4963 req.Header = reqHeaders 4964 googleapi.Expand(req.URL, map[string]string{ 4965 "name": c.name, 4966 "location": c.location, 4967 }) 4968 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4969 } 4970 4971 // Do executes the "monitoring.projects.location.prometheus.api.v1.metadata.list" call. 4972 // Any non-2xx status code is an error. Response headers are in either 4973 // *HttpBody.ServerResponse.Header or (if a response was returned at all) in 4974 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 4975 // whether the returned error was because http.StatusNotModified was returned. 4976 func (c *ProjectsLocationPrometheusApiV1MetadataListCall) Do(opts ...googleapi.CallOption) (*HttpBody, error) { 4977 gensupport.SetOptions(c.urlParams_, opts...) 4978 res, err := c.doRequest("json") 4979 if res != nil && res.StatusCode == http.StatusNotModified { 4980 if res.Body != nil { 4981 res.Body.Close() 4982 } 4983 return nil, gensupport.WrapError(&googleapi.Error{ 4984 Code: res.StatusCode, 4985 Header: res.Header, 4986 }) 4987 } 4988 if err != nil { 4989 return nil, err 4990 } 4991 defer googleapi.CloseBody(res) 4992 if err := googleapi.CheckResponse(res); err != nil { 4993 return nil, gensupport.WrapError(err) 4994 } 4995 ret := &HttpBody{ 4996 ServerResponse: googleapi.ServerResponse{ 4997 Header: res.Header, 4998 HTTPStatusCode: res.StatusCode, 4999 }, 5000 } 5001 target := &ret 5002 if err := gensupport.DecodeResponse(target, res); err != nil { 5003 return nil, err 5004 } 5005 return ret, nil 5006 } 5007