Synchronize new proto/yaml changes.

PiperOrigin-RevId: 268243295
This commit is contained in:
Google APIs 2019-09-10 09:36:49 -07:00 committed by Copybara-Service
parent 9cba3647fc
commit b4b182552f
17 changed files with 716 additions and 161 deletions

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,11 +17,11 @@ syntax = "proto3";
package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/monitoring/v3/common.proto";
import "google/monitoring/v3/mutation_record.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
import "google/rpc/status.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -325,6 +325,10 @@ message AlertPolicy {
// a field projection has been specified that strips it out.
google.protobuf.BoolValue enabled = 17;
// Read-only description of how the alert policy is invalid. OK if the alert
// policy is valid. If not OK, the alert policy will not generate incidents.
google.rpc.Status validity = 18;
// Identifies the notification channels to which notifications should be sent
// when incidents are opened or closed or when new violations occur on
// an already opened incident. Each element of this array corresponds to

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -21,6 +21,7 @@ import "google/api/annotations.proto";
import "google/monitoring/v3/alert.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/api/client.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -39,9 +40,14 @@ option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// which can be reached by clicking the "Monitoring" tab in
// [Cloud Console](https://console.cloud.google.com/).
service AlertPolicyService {
option (google.api.default_host) = "monitoring.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/monitoring,"
"https://www.googleapis.com/auth/monitoring.read";
// Lists the existing alerting policies for the project.
rpc ListAlertPolicies(ListAlertPoliciesRequest)
returns (ListAlertPoliciesResponse) {
rpc ListAlertPolicies(ListAlertPoliciesRequest) returns (ListAlertPoliciesResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/alertPolicies"
};
@ -63,8 +69,7 @@ service AlertPolicyService {
}
// Deletes an alerting policy.
rpc DeleteAlertPolicy(DeleteAlertPolicyRequest)
returns (google.protobuf.Empty) {
rpc DeleteAlertPolicy(DeleteAlertPolicyRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v3/{name=projects/*/alertPolicies/*}"
};

View File

@ -0,0 +1,34 @@
common:
api_name: monitoring
api_version: v3
organization_name: google-cloud
proto_deps:
- name: google-common-protos
src_proto_paths:
- .
service_yaml: monitoring.yaml
gapic_yaml: monitoring_gapic.yaml
artifacts:
- name: gapic_config
type: GAPIC_CONFIG
- name: java_gapic
type: GAPIC
language: JAVA
- name: python_gapic
type: GAPIC
language: PYTHON
- name: nodejs_gapic
type: GAPIC
language: NODEJS
- name: php_gapic
type: GAPIC
language: PHP
- name: go_gapic
type: GAPIC
language: GO
- name: ruby_gapic
type: GAPIC
language: RUBY
- name: csharp_gapic
type: GAPIC
language: CSHARP

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,7 +17,6 @@ syntax = "proto3";
package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/api/distribution.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
@ -52,9 +51,23 @@ message TypedValue {
}
}
// A time interval extending just after a start time through an end time.
// If the start time is the same as the end time, then the interval
// represents a single point in time.
// A closed time interval. It extends from the start time to the end time, and includes both: `[startTime, endTime]`. Valid time intervals depend on the [`MetricKind`](/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. In no case can the end time be earlier than the start time.
//
// * For a `GAUGE` metric, the `startTime` value is technically optional; if
// no value is specified, the start time defaults to the value of the
// end time, and the interval represents a single point in time. Such an
// interval is valid only for `GAUGE` metrics, which are point-in-time
// measurements.
//
// * For `DELTA` and `CUMULATIVE` metrics, the start time must be earlier
// than the end time.
//
// * In all cases, the start time of the next interval must be
// at least a microsecond after the end time of the previous interval.
// Because the interval is closed, if the start time of a new interval
// is the same as the end time of the previous interval, data written
// at the new start time could overwrite data written at the previous
// end time.
message TimeInterval {
// Required. The end of the time interval.
google.protobuf.Timestamp end_time = 2;

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,12 +17,7 @@ syntax = "proto3";
package google.monitoring.v3;
import "google/api/annotations.proto";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
option java_multiple_files = true;
option java_outer_classname = "DroppedLabelsProto";
option java_package = "com.google.monitoring.v3";
// A set of (label, value) pairs which were dropped during aggregation, attached
// to google.api.Distribution.Exemplars in google.api.Distribution values during

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -22,6 +22,7 @@ import "google/api/monitored_resource.proto";
import "google/monitoring/v3/common.proto";
import "google/monitoring/v3/group.proto";
import "google/protobuf/empty.proto";
import "google/api/client.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -43,6 +44,12 @@ option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// updated automatically as monitored resources are added and removed
// from the infrastructure.
service GroupService {
option (google.api.default_host) = "monitoring.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/monitoring,"
"https://www.googleapis.com/auth/monitoring.read";
// Lists the existing groups.
rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
option (google.api.http) = {
@ -82,8 +89,7 @@ service GroupService {
}
// Lists the monitored resources that are members of a group.
rpc ListGroupMembers(ListGroupMembersRequest)
returns (ListGroupMembersResponse) {
rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*/groups/*}/members"
};
@ -170,11 +176,17 @@ message UpdateGroupRequest {
bool validate_only = 3;
}
// The `DeleteGroup` request. You can only delete a group if it has no children.
// The `DeleteGroup` request. The default behavior is to be able to delete a
// single group without any descendants.
message DeleteGroupRequest {
// The group to delete. The format is
// `"projects/{project_id_or_number}/groups/{group_id}"`.
string name = 3;
// If this field is true, then the request means to delete a group with all
// its descendants. Otherwise, the request means to delete a group only when
// it has no descendants. The default value is false.
bool recursive = 4;
}
// The `ListGroupMembers` request.

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,7 +17,7 @@ syntax = "proto3";
package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/api/distribution.proto";
import "google/api/label.proto";
import "google/api/metric.proto";
import "google/api/monitored_resource.proto";

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -20,11 +20,13 @@ package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/api/metric.proto";
import "google/api/monitored_resource.proto";
import "google/monitoring/v3/alert.proto";
import "google/monitoring/v3/common.proto";
import "google/monitoring/v3/metric.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/rpc/status.proto";
import "google/api/client.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -36,37 +38,36 @@ option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// Manages metric descriptors, monitored resource descriptors, and
// time series data.
service MetricService {
// Lists monitored resource descriptors that match a filter. This method does
// not require a Stackdriver account.
rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest)
returns (ListMonitoredResourceDescriptorsResponse) {
option (google.api.default_host) = "monitoring.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/monitoring,"
"https://www.googleapis.com/auth/monitoring.read,"
"https://www.googleapis.com/auth/monitoring.write";
// Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/monitoredResourceDescriptors"
};
}
// Gets a single monitored resource descriptor. This method does not require a
// Stackdriver account.
rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest)
returns (google.api.MonitoredResourceDescriptor) {
// Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (google.api.MonitoredResourceDescriptor) {
option (google.api.http) = {
get: "/v3/{name=projects/*/monitoredResourceDescriptors/*}"
};
}
// Lists metric descriptors that match a filter. This method does not require
// a Stackdriver account.
rpc ListMetricDescriptors(ListMetricDescriptorsRequest)
returns (ListMetricDescriptorsResponse) {
// Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/metricDescriptors"
};
}
// Gets a single metric descriptor. This method does not require a Stackdriver
// account.
rpc GetMetricDescriptor(GetMetricDescriptorRequest)
returns (google.api.MetricDescriptor) {
// Gets a single metric descriptor. This method does not require a Stackdriver account.
rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
option (google.api.http) = {
get: "/v3/{name=projects/*/metricDescriptors/**}"
};
@ -75,8 +76,7 @@ service MetricService {
// Creates a new metric descriptor.
// User-created metric descriptors define
// [custom metrics](/monitoring/custom-metrics).
rpc CreateMetricDescriptor(CreateMetricDescriptorRequest)
returns (google.api.MetricDescriptor) {
rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
option (google.api.http) = {
post: "/v3/{name=projects/*}/metricDescriptors"
body: "metric_descriptor"
@ -85,15 +85,13 @@ service MetricService {
// Deletes a metric descriptor. Only user-created
// [custom metrics](/monitoring/custom-metrics) can be deleted.
rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest)
returns (google.protobuf.Empty) {
rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v3/{name=projects/*/metricDescriptors/**}"
};
}
// Lists time series that match a filter. This method does not require a
// Stackdriver account.
// Lists time series that match a filter. This method does not require a Stackdriver account.
rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/timeSeries"
@ -104,8 +102,7 @@ service MetricService {
// The response is empty if all time series in the request were written.
// If any time series could not be written, a corresponding failure message is
// included in the error response.
rpc CreateTimeSeries(CreateTimeSeriesRequest)
returns (google.protobuf.Empty) {
rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v3/{name=projects/*}/timeSeries"
body: "*"
@ -247,7 +244,7 @@ message ListTimeSeriesRequest {
// example:
//
// metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
// metric.label.instance_name = "my-instance-name"
// metric.labels.instance_name = "my-instance-name"
string filter = 2;
// The time interval for which results should be returned. Only time series
@ -306,6 +303,8 @@ message CreateTimeSeriesRequest {
// point must be more recent than any other point in its time series. Each
// `TimeSeries` value must fully specify a unique time series by supplying
// all label values for the metric and the monitored resource.
//
// The maximum number of `TimeSeries` objects per `Create` request is 200.
repeated TimeSeries time_series = 2;
}

View File

@ -0,0 +1,158 @@
type: google.api.Service
config_version: 3
name: monitoring.googleapis.com
title: Stackdriver Monitoring API
apis:
- name: google.monitoring.v3.AlertPolicyService
- name: google.monitoring.v3.GroupService
- name: google.monitoring.v3.MetricService
- name: google.monitoring.v3.NotificationChannelService
- name: google.monitoring.v3.UptimeCheckService
types:
- name: google.monitoring.v3.DroppedLabels
- name: google.monitoring.v3.SpanContext
documentation:
summary: |-
Manages your Stackdriver Monitoring data and configurations. Most projects
must be associated with a Stackdriver account, with a few exceptions as
noted on the individual method pages. The table entries below are
presented in alphabetical order, not in order of common use. For
explanations of the concepts found in the table entries, read the
[Stackdriver Monitoring documentation](/monitoring/docs).
backend:
rules:
- selector: 'google.monitoring.v3.AlertPolicyService.*'
deadline: 30.0
- selector: 'google.monitoring.v3.GroupService.*'
deadline: 30.0
- selector: 'google.monitoring.v3.MetricService.*'
deadline: 30.0
- selector: google.monitoring.v3.MetricService.CreateTimeSeries
deadline: 12.0
- selector: 'google.monitoring.v3.NotificationChannelService.*'
deadline: 30.0
authentication:
rules:
- selector: 'google.monitoring.v3.AlertPolicyService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.AlertPolicyService.GetAlertPolicy
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.AlertPolicyService.ListAlertPolicies
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: 'google.monitoring.v3.GroupService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.GroupService.CreateGroup
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.GroupService.DeleteGroup
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.GroupService.UpdateGroup
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: 'google.monitoring.v3.MetricService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read,
https://www.googleapis.com/auth/monitoring.write
- selector: google.monitoring.v3.MetricService.CreateMetricDescriptor
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.write
- selector: google.monitoring.v3.MetricService.CreateTimeSeries
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.write
- selector: google.monitoring.v3.MetricService.DeleteMetricDescriptor
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.MetricService.ListTimeSeries
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: 'google.monitoring.v3.NotificationChannelService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.NotificationChannelService.GetNotificationChannel
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.NotificationChannelService.GetNotificationChannelDescriptor
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.NotificationChannelService.ListNotificationChannelDescriptors
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.NotificationChannelService.ListNotificationChannels
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: 'google.monitoring.v3.UptimeCheckService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring,
https://www.googleapis.com/auth/monitoring.read
- selector: google.monitoring.v3.UptimeCheckService.CreateUptimeCheckConfig
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.UptimeCheckService.DeleteUptimeCheckConfig
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring
- selector: google.monitoring.v3.UptimeCheckService.UpdateUptimeCheckConfig
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/monitoring

View File

@ -1,5 +1,6 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
# The settings of generated code in a specific language.
language_settings:
java:
package_name: com.google.cloud.monitoring.v3
@ -19,8 +20,20 @@ language_settings:
nodejs:
package_name: monitoring.v3
domain_layer_location: google-cloud
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.monitoring.v3.AlertPolicyService
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
entity_name: project
@ -29,13 +42,15 @@ interfaces:
entity_name: alert_policy
- name_pattern: projects/{project}/alertPolicies/{alert_policy}/conditions/{condition}
entity_name: alert_policy_condition
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
@ -45,6 +60,51 @@ interfaces:
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: ListAlertPolicies
flattening:
@ -121,20 +181,33 @@ interfaces:
alert_policy.name: alert_policy
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
# The fully qualified name of the API interface.
- name: google.monitoring.v3.GroupService
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
entity_name: project
# C#: Already GA, do not use common resource name for 'project'
- name_pattern: projects/{project}/groups/{group}
entity_name: group
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
@ -144,9 +217,57 @@ interfaces:
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: ListGroups
# Removing flattening until we figure out how to deal with oneof
flattening:
groups:
- parameters:
- name
required_fields:
- name
page_streaming:
@ -236,7 +357,18 @@ interfaces:
name: group
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
# The fully qualified name of the API interface.
- name: google.monitoring.v3.MetricService
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
smoke_test:
method: ListMonitoredResourceDescriptors
init_fields:
@ -249,13 +381,15 @@ interfaces:
entity_name: metric_descriptor
- name_pattern: projects/{project}/monitoredResourceDescriptors/{monitored_resource_descriptor}
entity_name: monitored_resource_descriptor
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
@ -265,6 +399,51 @@ interfaces:
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: ListMonitoredResourceDescriptors
flattening:
@ -402,21 +581,33 @@ interfaces:
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: google.monitoring.v3.NotificationChannelService
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
entity_name: project
# C#: Already GA, do not use common resource name for 'project'
- name_pattern: projects/{project}/notificationChannels/{notification_channel}
entity_name: notification_channel
- name_pattern: projects/{project}/notificationChannelDescriptors/{channel_descriptor}
- name_pattern: projects/{project}/notificationChannelDescriptors/{notification_channel_descriptor}
entity_name: notification_channel_descriptor
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
@ -426,6 +617,51 @@ interfaces:
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: ListNotificationChannelDescriptors
flattening:
@ -538,8 +774,8 @@ interfaces:
- name: SendNotificationChannelVerificationCode
flattening:
groups:
- parameters:
- name
- parameters:
- name
required_fields:
- name
retry_codes_name: non_idempotent
@ -550,8 +786,8 @@ interfaces:
- name: GetNotificationChannelVerificationCode
flattening:
groups:
- parameters:
- name
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
@ -562,9 +798,9 @@ interfaces:
- name: VerifyNotificationChannel
flattening:
groups:
- parameters:
- name
- code
- parameters:
- name
- code
required_fields:
- name
- code
@ -573,20 +809,33 @@ interfaces:
field_name_patterns:
name: notification_channel
timeout_millis: 60000
# The fully qualified name of the API interface.
- name: google.monitoring.v3.UptimeCheckService
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
entity_name: project
# C#: Already GA, do not use common resource name for 'project'
- name_pattern: projects/{project}/uptimeCheckConfigs/{uptime_check_config}
entity_name: uptime_check_config
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- UNAVAILABLE
- name: non_idempotent
retry_codes: []
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
@ -596,6 +845,51 @@ interfaces:
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
#
# name - The simple name of the method.
#
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce method
# overloads which allow a client to directly pass request message fields as
# method parameters. This information may or may not be used, depending on
# the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request message.
#
# required_fields - Fields that are always required for a request to be
# valid.
#
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a paging
# list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It defines
# which fields match the paging pattern in the request. The request consists
# of a page_size_field and a token_field. The page_size_field is the name of
# the optional field specifying the maximum number of elements to be
# returned in the response. The token_field is the name of the field in the
# request containing the page token.
# The response specifies response information of the list method. It defines
# which fields match the paging pattern in the response. The response
# consists of a token_field and a resources_field. The token_field is the
# name of the field in the response containing the next page token. The
# resources_field is the name of the field in the response containing the
# list of resources belonging to the page.
#
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
#
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
#
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
#
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: ListUptimeCheckConfigs
flattening:
@ -679,6 +973,7 @@ interfaces:
retry_codes_name: idempotent
retry_params_name: default
timeout_millis: 60000
resource_name_generation:
- message_name: Group
field_entity_map:

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,7 +17,6 @@ syntax = "proto3";
package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/api/label.proto";
import "google/monitoring/v3/common.proto";
import "google/protobuf/wrappers.proto";
@ -94,9 +93,7 @@ message NotificationChannel {
}
// The type of the notification channel. This field matches the
// value of the
// [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type]
// field.
// value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type] field.
string type = 1;
// The full REST resource name for this channel. The syntax is:
@ -114,13 +111,13 @@ message NotificationChannel {
// An optional human-readable description of this notification channel. This
// description may provide additional details, beyond the display
// name, for the channel. This may not exceeed 1024 Unicode characters.
// name, for the channel. This may not exceed 1024 Unicode characters.
string description = 4;
// Configuration fields that define the channel and its behavior. The
// permissible and required labels are specified in the
// [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels]
// of the `NotificationChannelDescriptor` corresponding to the `type` field.
// [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels] of the
// `NotificationChannelDescriptor` corresponding to the `type` field.
map<string, string> labels = 5;
// User-supplied key/value data that does not need to conform to

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@ import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/api/client.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -34,11 +35,15 @@ option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// The Notification Channel API provides access to configuration that
// controls how messages related to incidents are sent.
service NotificationChannelService {
option (google.api.default_host) = "monitoring.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/monitoring,"
"https://www.googleapis.com/auth/monitoring.read";
// Lists the descriptors for supported channel types. The use of descriptors
// makes it possible for new channel types to be dynamically added.
rpc ListNotificationChannelDescriptors(
ListNotificationChannelDescriptorsRequest)
returns (ListNotificationChannelDescriptorsResponse) {
rpc ListNotificationChannelDescriptors(ListNotificationChannelDescriptorsRequest) returns (ListNotificationChannelDescriptorsResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/notificationChannelDescriptors"
};
@ -46,16 +51,14 @@ service NotificationChannelService {
// Gets a single channel descriptor. The descriptor indicates which fields
// are expected / permitted for a notification channel of the given type.
rpc GetNotificationChannelDescriptor(GetNotificationChannelDescriptorRequest)
returns (NotificationChannelDescriptor) {
rpc GetNotificationChannelDescriptor(GetNotificationChannelDescriptorRequest) returns (NotificationChannelDescriptor) {
option (google.api.http) = {
get: "/v3/{name=projects/*/notificationChannelDescriptors/*}"
};
}
// Lists the notification channels that have been created for the project.
rpc ListNotificationChannels(ListNotificationChannelsRequest)
returns (ListNotificationChannelsResponse) {
rpc ListNotificationChannels(ListNotificationChannelsRequest) returns (ListNotificationChannelsResponse) {
option (google.api.http) = {
get: "/v3/{name=projects/*}/notificationChannels"
};
@ -66,8 +69,7 @@ service NotificationChannelService {
// response may truncate or omit passwords, API keys, or other private key
// matter and thus the response may not be 100% identical to the information
// that was supplied in the call to the create method.
rpc GetNotificationChannel(GetNotificationChannelRequest)
returns (NotificationChannel) {
rpc GetNotificationChannel(GetNotificationChannelRequest) returns (NotificationChannel) {
option (google.api.http) = {
get: "/v3/{name=projects/*/notificationChannels/*}"
};
@ -75,8 +77,7 @@ service NotificationChannelService {
// Creates a new notification channel, representing a single notification
// endpoint such as an email address, SMS number, or PagerDuty service.
rpc CreateNotificationChannel(CreateNotificationChannelRequest)
returns (NotificationChannel) {
rpc CreateNotificationChannel(CreateNotificationChannelRequest) returns (NotificationChannel) {
option (google.api.http) = {
post: "/v3/{name=projects/*}/notificationChannels"
body: "notification_channel"
@ -85,8 +86,7 @@ service NotificationChannelService {
// Updates a notification channel. Fields not specified in the field mask
// remain unchanged.
rpc UpdateNotificationChannel(UpdateNotificationChannelRequest)
returns (NotificationChannel) {
rpc UpdateNotificationChannel(UpdateNotificationChannelRequest) returns (NotificationChannel) {
option (google.api.http) = {
patch: "/v3/{notification_channel.name=projects/*/notificationChannels/*}"
body: "notification_channel"
@ -94,8 +94,7 @@ service NotificationChannelService {
}
// Deletes a notification channel.
rpc DeleteNotificationChannel(DeleteNotificationChannelRequest)
returns (google.protobuf.Empty) {
rpc DeleteNotificationChannel(DeleteNotificationChannelRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v3/{name=projects/*/notificationChannels/*}"
};
@ -103,9 +102,7 @@ service NotificationChannelService {
// Causes a verification code to be delivered to the channel. The code
// can then be supplied in `VerifyNotificationChannel` to verify the channel.
rpc SendNotificationChannelVerificationCode(
SendNotificationChannelVerificationCodeRequest)
returns (google.protobuf.Empty) {
rpc SendNotificationChannelVerificationCode(SendNotificationChannelVerificationCodeRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v3/{name=projects/*/notificationChannels/*}:sendVerificationCode"
body: "*"
@ -133,9 +130,7 @@ service NotificationChannelService {
// have a shorter expiration (e.g. codes such as "G-123456") whereas
// GetVerificationCode() will typically return a much longer, websafe base
// 64 encoded string that has a longer expiration time.
rpc GetNotificationChannelVerificationCode(
GetNotificationChannelVerificationCodeRequest)
returns (GetNotificationChannelVerificationCodeResponse) {
rpc GetNotificationChannelVerificationCode(GetNotificationChannelVerificationCodeRequest) returns (GetNotificationChannelVerificationCodeResponse) {
option (google.api.http) = {
post: "/v3/{name=projects/*/notificationChannels/*}:getVerificationCode"
body: "*"
@ -145,8 +140,7 @@ service NotificationChannelService {
// Verifies a `NotificationChannel` by proving receipt of the code
// delivered to the channel as a result of calling
// `SendNotificationChannelVerificationCode`.
rpc VerifyNotificationChannel(VerifyNotificationChannelRequest)
returns (NotificationChannel) {
rpc VerifyNotificationChannel(VerifyNotificationChannelRequest) returns (NotificationChannel) {
option (google.api.http) = {
post: "/v3/{name=projects/*/notificationChannels/*}:verify"
body: "*"

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -27,12 +27,52 @@ option java_outer_classname = "UptimeProto";
option java_package = "com.google.monitoring.v3";
option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// The regions from which an uptime check can be run.
enum UptimeCheckRegion {
// Default value if no region is specified. Will result in uptime checks
// running from all regions.
REGION_UNSPECIFIED = 0;
// Allows checks to run from locations within the United States of America.
USA = 1;
// Allows checks to run from locations within the continent of Europe.
EUROPE = 2;
// Allows checks to run from locations within the continent of South
// America.
SOUTH_AMERICA = 3;
// Allows checks to run from locations within the Asia Pacific area (ex:
// Singapore).
ASIA_PACIFIC = 4;
}
// An internal checker allows uptime checks to run on private/internal GCP
// resources.
message InternalChecker {
option deprecated = true;
// Operational states for an internal checker.
enum State {
// An internal checker should never be in the unspecified state.
UNSPECIFIED = 0;
// The checker is being created, provisioned, and configured. A checker in
// this state can be returned by ListInternalCheckers or GetInternalChecker,
// as well as by examining the longrunning.Operation that created it.
CREATING = 1;
// The checker is running and available for use. A checker in this state
// can be returned by ListInternalCheckers or GetInternalChecker as well
// as by examining the longrunning.Operation that created it.
// If a checker is being torn down, it is neither visible nor usable, so
// there is no "deleting" or "down" state.
RUNNING = 2;
}
// A unique resource name for this InternalChecker. The format is:
//
//
// `projects/[PROJECT_ID]/internalCheckers/[INTERNAL_CHECKER_ID]`.
//
// PROJECT_ID is the stackdriver workspace project for the
@ -55,6 +95,26 @@ message InternalChecker {
// The GCP project_id where the internal checker lives. Not necessary
// the same as the workspace project.
string peer_project_id = 6;
// The current operational state of the internal checker.
State state = 7;
}
// The supported resource types that can be used as values of
// `group_resource.resource_type`.
// `INSTANCE` includes `gce_instance` and `aws_ec2_instance` resource types.
// The resource types `gae_app` and `uptime_url` are not valid here because
// group checks on App Engine modules and URLs are not allowed.
enum GroupResourceType {
// Default value (not valid).
RESOURCE_TYPE_UNSPECIFIED = 0;
// A group of instances from Google Cloud Platform (GCP) or
// Amazon Web Services (AWS).
INSTANCE = 1;
// A group of Amazon ELB load balancers.
AWS_ELB_LOAD_BALANCER = 2;
}
// This message configures which resources and services to monitor for
@ -89,7 +149,8 @@ message UptimeCheckConfig {
// The path to the page to run the check against. Will be combined with the
// host (specified within the MonitoredResource) and port to construct the
// full URL. Optional (defaults to "/").
// full URL. Optional (defaults to "/"). If the provided path does not
// begin with "/", it will be prepended automatically.
string path = 2;
// The port to the page to run the check against. Will be combined with host
@ -118,6 +179,11 @@ message UptimeCheckConfig {
// cause the first to be overwritten by the second.
// The maximum number of headers allowed is 100.
map<string, string> headers = 6;
// Boolean specifying whether to validate SSL certificates.
// Only applies to uptime_url checks. If use_ssl is false, setting this to
// true has no effect.
bool validate_ssl = 7;
}
// Information required for a TCP uptime check request.
@ -131,8 +197,33 @@ message UptimeCheckConfig {
// Used to perform string matching. It allows substring and regular
// expressions, together with their negations.
message ContentMatcher {
// Options to perform content matching.
enum ContentMatcherOption {
// No content macher option specified. Treated as CONTAINS_STRING.
CONTENT_MATCHER_OPTION_UNSPECIFIED = 0;
// Allows checking substring matching.
// Default value for previous versions without option.
CONTAINS_STRING = 1;
// Allows checking negation of substring matching (doesn't contain the
// substring).
NOT_CONTAINS_STRING = 2;
// Allows checking regular expression matching.
MATCHES_REGEX = 3;
// Allows checking negation of regular expression matching.
NOT_MATCHES_REGEX = 4;
}
// String or regex content to match (max 1024 bytes)
string content = 1;
// The matcher representing content match options which the check will run
// with. If the field is not specified (in previous versions), the option is
// set to be CONTAINS_STRING which performs content substring matching.
ContentMatcherOption matcher = 2;
}
// A unique resource name for this UptimeCheckConfig. The format is:
@ -179,7 +270,7 @@ message UptimeCheckConfig {
// How often, in seconds, the uptime check is performed.
// Currently, the only supported values are `60s` (1 minute), `300s`
// (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional,
// defaults to `300s`.
// defaults to `60s`.
google.protobuf.Duration period = 7;
// The maximum amount of time to wait for the request to complete (must be
@ -201,16 +292,10 @@ message UptimeCheckConfig {
// regions.
repeated UptimeCheckRegion selected_regions = 10;
// If this is true, then checks are made only from the 'internal_checkers'.
// If it is false, then checks are made only from the 'selected_regions'.
// It is an error to provide 'selected_regions' when is_internal is true,
// or to provide 'internal_checkers' when is_internal is false.
bool is_internal = 15;
// The internal checkers that this check will egress from. If `is_internal` is
// true and this list is empty, the check will egress from all the
// InternalCheckers configured for the project that owns this CheckConfig.
repeated InternalChecker internal_checkers = 14;
repeated InternalChecker internal_checkers = 14 [deprecated = true];
}
// Contains the region, location, and list of IP
@ -231,41 +316,3 @@ message UptimeCheckIp {
// interpreting this field in either IPv4 or IPv6 format.
string ip_address = 3;
}
// The regions from which an uptime check can be run.
enum UptimeCheckRegion {
// Default value if no region is specified. Will result in uptime checks
// running from all regions.
REGION_UNSPECIFIED = 0;
// Allows checks to run from locations within the United States of America.
USA = 1;
// Allows checks to run from locations within the continent of Europe.
EUROPE = 2;
// Allows checks to run from locations within the continent of South
// America.
SOUTH_AMERICA = 3;
// Allows checks to run from locations within the Asia Pacific area (ex:
// Singapore).
ASIA_PACIFIC = 4;
}
// The supported resource types that can be used as values of
// `group_resource.resource_type`.
// `INSTANCE` includes `gce_instance` and `aws_ec2_instance` resource types.
// The resource types `gae_app` and `uptime_url` are not valid here because
// group checks on App Engine modules and URLs are not allowed.
enum GroupResourceType {
// Default value (not valid).
RESOURCE_TYPE_UNSPECIFIED = 0;
// A group of instances from Google Cloud Platform (GCP) or
// Amazon Web Services (AWS).
INSTANCE = 1;
// A group of Amazon ELB load balancers.
AWS_ELB_LOAD_BALANCER = 2;
}

View File

@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -19,8 +19,10 @@ package google.monitoring.v3;
import "google/api/annotations.proto";
import "google/monitoring/v3/uptime.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/api/client.proto";
option csharp_namespace = "Google.Cloud.Monitoring.V3";
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
@ -38,26 +40,29 @@ option php_namespace = "Google\\Cloud\\Monitoring\\V3";
// clicking on "Monitoring" on the left-hand side to navigate to Stackdriver,
// and then clicking on "Uptime".
service UptimeCheckService {
option (google.api.default_host) = "monitoring.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform,"
"https://www.googleapis.com/auth/monitoring,"
"https://www.googleapis.com/auth/monitoring.read";
// Lists the existing valid uptime check configurations for the project,
// leaving out any invalid configurations.
rpc ListUptimeCheckConfigs(ListUptimeCheckConfigsRequest)
returns (ListUptimeCheckConfigsResponse) {
rpc ListUptimeCheckConfigs(ListUptimeCheckConfigsRequest) returns (ListUptimeCheckConfigsResponse) {
option (google.api.http) = {
get: "/v3/{parent=projects/*}/uptimeCheckConfigs"
};
}
// Gets a single uptime check configuration.
rpc GetUptimeCheckConfig(GetUptimeCheckConfigRequest)
returns (UptimeCheckConfig) {
rpc GetUptimeCheckConfig(GetUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
option (google.api.http) = {
get: "/v3/{name=projects/*/uptimeCheckConfigs/*}"
};
}
// Creates a new uptime check configuration.
rpc CreateUptimeCheckConfig(CreateUptimeCheckConfigRequest)
returns (UptimeCheckConfig) {
rpc CreateUptimeCheckConfig(CreateUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
option (google.api.http) = {
post: "/v3/{parent=projects/*}/uptimeCheckConfigs"
body: "uptime_check_config"
@ -68,8 +73,7 @@ service UptimeCheckService {
// configuration with a new one or replace only certain fields in the current
// configuration by specifying the fields to be updated via `"updateMask"`.
// Returns the updated configuration.
rpc UpdateUptimeCheckConfig(UpdateUptimeCheckConfigRequest)
returns (UptimeCheckConfig) {
rpc UpdateUptimeCheckConfig(UpdateUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
option (google.api.http) = {
patch: "/v3/{uptime_check_config.name=projects/*/uptimeCheckConfigs/*}"
body: "uptime_check_config"
@ -79,16 +83,14 @@ service UptimeCheckService {
// Deletes an uptime check configuration. Note that this method will fail
// if the uptime check configuration is referenced by an alert policy or
// other dependent configs that would be rendered invalid by the deletion.
rpc DeleteUptimeCheckConfig(DeleteUptimeCheckConfigRequest)
returns (google.protobuf.Empty) {
rpc DeleteUptimeCheckConfig(DeleteUptimeCheckConfigRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v3/{name=projects/*/uptimeCheckConfigs/*}"
};
}
// Returns the list of IPs that checkers run from
rpc ListUptimeCheckIps(ListUptimeCheckIpsRequest)
returns (ListUptimeCheckIpsResponse) {
rpc ListUptimeCheckIps(ListUptimeCheckIpsRequest) returns (ListUptimeCheckIpsResponse) {
option (google.api.http) = {
get: "/v3/uptimeCheckIps"
};