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.servicehealth.logging.v1; 18 19import "google/protobuf/timestamp.proto"; 20 21option go_package = "cloud.google.com/go/servicehealth/logging/apiv1/loggingpb;loggingpb"; 22option java_multiple_files = true; 23option java_outer_classname = "EventLogProto"; 24option java_package = "com.google.cloud.servicehealth.logging.v1"; 25 26// Message describing the payload of service health logs. 27message EventLog { 28 // The category of the event. This enum lists all possible categories of 29 // event. 30 enum EventCategory { 31 // Unspecified category. 32 EVENT_CATEGORY_UNSPECIFIED = 0; 33 34 // Event category for service outage or degradation. 35 INCIDENT = 2; 36 } 37 38 // The state of the event. This enum lists all possible states of event. 39 enum State { 40 // Unspecified state 41 STATE_UNSPECIFIED = 0; 42 43 // Event is actively affecting a Google Cloud service and will continue to 44 // receive updates. 45 ACTIVE = 1; 46 47 // Event is no longer affecting the Google Cloud service or has been merged 48 // with another event. 49 CLOSED = 2; 50 } 51 52 // The detailed state of the event. This enum lists all possible detail states 53 // of event. 54 enum DetailedState { 55 // Unspecified detail state. 56 DETAILED_STATE_UNSPECIFIED = 0; 57 58 // Google engineers are actively investigating the event to determine the 59 // impact. 60 EMERGING = 1; 61 62 // The event is confirmed and impacting at least one Google Cloud service. 63 // Ongoing status updates will be provided until it is resolved. 64 CONFIRMED = 2; 65 66 // The event is no longer affecting any Google Cloud service, and there will 67 // be no further updates. 68 RESOLVED = 3; 69 70 // Event was merged into a parent event. All further updates will be 71 // published to the parent only. The `parent_event` field contains the name 72 // of the parent. 73 MERGED = 4; 74 } 75 76 // Communicates why a given event is deemed relevant in the context of a given 77 // project. This enum lists all possible detailed states of relevance. 78 enum Relevance { 79 // Unspecified relevance. 80 RELEVANCE_UNSPECIFIED = 0; 81 82 // The relevance of the event to the project is unknown. 83 UNKNOWN = 2; 84 85 // The event does not impact the project. 86 NOT_IMPACTED = 6; 87 88 // We determined that the event is linked to a product that is used by 89 // the project, but we have no information (either positive 90 // or negative) whether the project is affected. 91 PARTIALLY_RELATED = 7; 92 93 // The event has a connection to your project and it may be impacted 94 RELATED = 8; 95 96 // The event is impacting your project 97 IMPACTED = 9; 98 } 99 100 // Brief description for the event. 101 string title = 1; 102 103 // Free-form, human-readable description. 104 string description = 2; 105 106 // Identifies the category of the event. 107 EventCategory category = 3; 108 109 // The current state of the event. 110 State state = 4; 111 112 // The current detailed state of the event. 113 DetailedState detailed_state = 14; 114 115 // Google Cloud products known to be affected by the event, in JSON serialized 116 // format. List of all supported [Google Cloud 117 // products](../resources/products-locations.md). 118 // 119 // Example: "`['Google Cloud SQL', 'Cloud Compute Engine']`". 120 string impacted_products = 15; 121 122 // Locations known to be impacted by the event, in JSON serialized format. See 123 // possible [values](products-locations.md), which are subject to where the 124 // service is running. 125 // 126 // Example: "`['us-central1', 'us-west1']`". 127 string impacted_locations = 6; 128 129 // Communicates why a given event is deemed relevant in the context of a given 130 // project. 131 Relevance relevance = 7; 132 133 // When `detailed_state`=`MERGED`, `parent_event` contains the name of the 134 // parent event. All further updates will be published to the parent event. 135 string parent_event = 8; 136 137 // The time when the event was last modified. 138 google.protobuf.Timestamp update_time = 10; 139 140 // The start time of the event, if applicable. 141 google.protobuf.Timestamp start_time = 11; 142 143 // The end time of the event, if applicable. 144 google.protobuf.Timestamp end_time = 12; 145 146 // Incident-only field. The time when the next update can be expected. 147 google.protobuf.Timestamp next_update_time = 13; 148} 149