194 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
		
		
			
		
	
	
			194 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
|  | // 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;
 | ||
|  | }
 |