You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
8.9 KiB
193 lines
8.9 KiB
// Copyright 2021 Google LLC |
|
// |
|
// Licensed under the Apache License, Version 2.0 (the "License"); |
|
// you may not use this file except in compliance with the License. |
|
// You may obtain a copy of the License at |
|
// |
|
// http://www.apache.org/licenses/LICENSE-2.0 |
|
// |
|
// Unless required by applicable law or agreed to in writing, software |
|
// distributed under the License is distributed on an "AS IS" BASIS, |
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
// See the License for the specific language governing permissions and |
|
// limitations under the License. |
|
|
|
syntax = "proto3"; |
|
|
|
package google.monitoring.v3; |
|
|
|
import "google/api/label.proto"; |
|
import "google/api/launch_stage.proto"; |
|
import "google/api/resource.proto"; |
|
import "google/monitoring/v3/common.proto"; |
|
import "google/monitoring/v3/mutation_record.proto"; |
|
import "google/protobuf/wrappers.proto"; |
|
|
|
option csharp_namespace = "Google.Cloud.Monitoring.V3"; |
|
option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring"; |
|
option java_multiple_files = true; |
|
option java_outer_classname = "NotificationProto"; |
|
option java_package = "com.google.monitoring.v3"; |
|
option php_namespace = "Google\\Cloud\\Monitoring\\V3"; |
|
option ruby_package = "Google::Cloud::Monitoring::V3"; |
|
|
|
// A description of a notification channel. The descriptor includes |
|
// the properties of the channel and the set of labels or fields that |
|
// must be specified to configure channels of a given type. |
|
message NotificationChannelDescriptor { |
|
option (google.api.resource) = { |
|
type: "monitoring.googleapis.com/NotificationChannelDescriptor" |
|
pattern: "projects/{project}/notificationChannelDescriptors/{channel_descriptor}" |
|
pattern: "organizations/{organization}/notificationChannelDescriptors/{channel_descriptor}" |
|
pattern: "folders/{folder}/notificationChannelDescriptors/{channel_descriptor}" |
|
pattern: "*" |
|
}; |
|
|
|
// The full REST resource name for this descriptor. The format is: |
|
// |
|
// projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[TYPE] |
|
// |
|
// In the above, `[TYPE]` is the value of the `type` field. |
|
string name = 6; |
|
|
|
// The type of notification channel, such as "email" and "sms". To view the |
|
// full list of channels, see |
|
// [Channel |
|
// descriptors](https://cloud.google.com/monitoring/alerts/using-channels-api#ncd). |
|
// Notification channel types are globally unique. |
|
string type = 1; |
|
|
|
// A human-readable name for the notification channel type. This |
|
// form of the name is suitable for a user interface. |
|
string display_name = 2; |
|
|
|
// A human-readable description of the notification channel |
|
// type. The description may include a description of the properties |
|
// of the channel and pointers to external documentation. |
|
string description = 3; |
|
|
|
// The set of labels that must be defined to identify a particular |
|
// channel of the corresponding type. Each label includes a |
|
// description for how that field should be populated. |
|
repeated google.api.LabelDescriptor labels = 4; |
|
|
|
// The tiers that support this notification channel; the project service tier |
|
// must be one of the supported_tiers. |
|
repeated ServiceTier supported_tiers = 5 [deprecated = true]; |
|
|
|
// The product launch stage for channels of this type. |
|
google.api.LaunchStage launch_stage = 7; |
|
} |
|
|
|
// A `NotificationChannel` is a medium through which an alert is |
|
// delivered when a policy violation is detected. Examples of channels |
|
// include email, SMS, and third-party messaging applications. Fields |
|
// containing sensitive information like authentication tokens or |
|
// contact info are only partially populated on retrieval. |
|
message NotificationChannel { |
|
option (google.api.resource) = { |
|
type: "monitoring.googleapis.com/NotificationChannel" |
|
pattern: "projects/{project}/notificationChannels/{notification_channel}" |
|
pattern: "organizations/{organization}/notificationChannels/{notification_channel}" |
|
pattern: "folders/{folder}/notificationChannels/{notification_channel}" |
|
pattern: "*" |
|
}; |
|
|
|
// Indicates whether the channel has been verified or not. It is illegal |
|
// to specify this field in a |
|
// [`CreateNotificationChannel`][google.monitoring.v3.NotificationChannelService.CreateNotificationChannel] |
|
// or an |
|
// [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel] |
|
// operation. |
|
enum VerificationStatus { |
|
// Sentinel value used to indicate that the state is unknown, omitted, or |
|
// is not applicable (as in the case of channels that neither support |
|
// nor require verification in order to function). |
|
VERIFICATION_STATUS_UNSPECIFIED = 0; |
|
|
|
// The channel has yet to be verified and requires verification to function. |
|
// Note that this state also applies to the case where the verification |
|
// process has been initiated by sending a verification code but where |
|
// the verification code has not been submitted to complete the process. |
|
UNVERIFIED = 1; |
|
|
|
// It has been proven that notifications can be received on this |
|
// notification channel and that someone on the project has access |
|
// to messages that are delivered to that channel. |
|
VERIFIED = 2; |
|
} |
|
|
|
// The type of the notification channel. This field matches the |
|
// value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type] field. |
|
string type = 1; |
|
|
|
// The full REST resource name for this channel. The format is: |
|
// |
|
// projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] |
|
// |
|
// The `[CHANNEL_ID]` is automatically assigned by the server on creation. |
|
string name = 6; |
|
|
|
// An optional human-readable name for this notification channel. It is |
|
// recommended that you specify a non-empty and unique name in order to |
|
// make it easier to identify the channels in your project, though this is |
|
// not enforced. The display name is limited to 512 Unicode characters. |
|
string display_name = 3; |
|
|
|
// An optional human-readable description of this notification channel. This |
|
// description may provide additional details, beyond the display |
|
// name, for the channel. This may not exceed 1024 Unicode characters. |
|
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. |
|
map<string, string> labels = 5; |
|
|
|
// User-supplied key/value data that does not need to conform to |
|
// the corresponding `NotificationChannelDescriptor`'s schema, unlike |
|
// the `labels` field. This field is intended to be used for organizing |
|
// and identifying the `NotificationChannel` objects. |
|
// |
|
// The field can contain up to 64 entries. Each key and value is limited to |
|
// 63 Unicode characters or 128 bytes, whichever is smaller. Labels and |
|
// values can contain only lowercase letters, numerals, underscores, and |
|
// dashes. Keys must begin with a letter. |
|
map<string, string> user_labels = 8; |
|
|
|
// Indicates whether this channel has been verified or not. On a |
|
// [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels] |
|
// or |
|
// [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel] |
|
// operation, this field is expected to be populated. |
|
// |
|
// If the value is `UNVERIFIED`, then it indicates that the channel is |
|
// non-functioning (it both requires verification and lacks verification); |
|
// otherwise, it is assumed that the channel works. |
|
// |
|
// If the channel is neither `VERIFIED` nor `UNVERIFIED`, it implies that |
|
// the channel is of a type that does not require verification or that |
|
// this specific channel has been exempted from verification because it was |
|
// created prior to verification being required for channels of this type. |
|
// |
|
// This field cannot be modified using a standard |
|
// [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel] |
|
// operation. To change the value of this field, you must call |
|
// [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel]. |
|
VerificationStatus verification_status = 9; |
|
|
|
// Whether notifications are forwarded to the described channel. This makes |
|
// it possible to disable delivery of notifications to a particular channel |
|
// without removing the channel from all alerting policies that reference |
|
// the channel. This is a more convenient approach when the change is |
|
// temporary and you want to receive notifications from the same set |
|
// of alerting policies on the channel at some point in the future. |
|
google.protobuf.BoolValue enabled = 11; |
|
|
|
// Record of the creation of this channel. |
|
MutationRecord creation_record = 12; |
|
|
|
// Records of the modification of this channel. |
|
repeated MutationRecord mutation_records = 13; |
|
}
|
|
|