1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.essentialcontacts.v1; 18 19option csharp_namespace = "Google.Cloud.EssentialContacts.V1"; 20option go_package = "cloud.google.com/go/essentialcontacts/apiv1/essentialcontactspb;essentialcontactspb"; 21option java_multiple_files = true; 22option java_outer_classname = "EnumsProto"; 23option java_package = "com.google.cloud.essentialcontacts.v1"; 24option php_namespace = "Google\\Cloud\\EssentialContacts\\V1"; 25option ruby_package = "Google::Cloud::EssentialContacts::V1"; 26 27// The notification categories that an essential contact can be subscribed to. 28// Each notification will be categorized by the sender into one of the following 29// categories. All contacts that are subscribed to that category will receive 30// the notification. 31enum NotificationCategory { 32 // Notification category is unrecognized or unspecified. 33 NOTIFICATION_CATEGORY_UNSPECIFIED = 0; 34 35 // All notifications related to the resource, including notifications 36 // pertaining to categories added in the future. 37 ALL = 2; 38 39 // Notifications related to imminent account suspension. 40 SUSPENSION = 3; 41 42 // Notifications related to security/privacy incidents, notifications, and 43 // vulnerabilities. 44 SECURITY = 5; 45 46 // Notifications related to technical events and issues such as outages, 47 // errors, or bugs. 48 TECHNICAL = 6; 49 50 // Notifications related to billing and payments notifications, price updates, 51 // errors, or credits. 52 BILLING = 7; 53 54 // Notifications related to enforcement actions, regulatory compliance, or 55 // government notices. 56 LEGAL = 8; 57 58 // Notifications related to new versions, product terms updates, or 59 // deprecations. 60 PRODUCT_UPDATES = 9; 61 62 // Child category of TECHNICAL. If assigned, technical incident notifications 63 // will go to these contacts instead of TECHNICAL. 64 TECHNICAL_INCIDENTS = 10; 65} 66 67// A contact's validation state indicates whether or not it is the correct 68// contact to be receiving notifications for a particular resource. 69enum ValidationState { 70 // The validation state is unknown or unspecified. 71 VALIDATION_STATE_UNSPECIFIED = 0; 72 73 // The contact is marked as valid. This is usually done manually by the 74 // contact admin. All new contacts begin in the valid state. 75 VALID = 1; 76 77 // The contact is considered invalid. This may become the state if the 78 // contact's email is found to be unreachable. 79 INVALID = 2; 80} 81