diff options
Diffstat (limited to 'third_party/googleapis/google/monitoring/v3/notification.proto')
| -rw-r--r-- | third_party/googleapis/google/monitoring/v3/notification.proto | 193 | 
1 files changed, 193 insertions, 0 deletions
diff --git a/third_party/googleapis/google/monitoring/v3/notification.proto b/third_party/googleapis/google/monitoring/v3/notification.proto new file mode 100644 index 0000000..74ea3a1 --- /dev/null +++ b/third_party/googleapis/google/monitoring/v3/notification.proto @@ -0,0 +1,193 @@ +// 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; +}  | 
