• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/protobuf/timestamp.proto";
22
23option csharp_namespace = "Google.Cloud.ServiceHealth.V1";
24option go_package = "cloud.google.com/go/servicehealth/apiv1/servicehealthpb;servicehealthpb";
25option java_multiple_files = true;
26option java_outer_classname = "EventResourcesProto";
27option java_package = "com.google.cloud.servicehealth.v1";
28option php_namespace = "Google\\Cloud\\ServiceHealth\\V1";
29option ruby_package = "Google::Cloud::ServiceHealth::V1";
30option (google.api.resource_definition) = {
31  type: "servicehealth.googleapis.com/OrganizationLocation"
32  pattern: "organizations/{organization}/locations/{location}"
33};
34
35// Represents service health events that may affect Google Cloud products.
36// Event resource is a read-only view and does not allow any modifications. All
37// fields are output only.
38message Event {
39  option (google.api.resource) = {
40    type: "servicehealth.googleapis.com/Event"
41    pattern: "projects/{project}/locations/{location}/events/{event}"
42    plural: "events"
43    singular: "event"
44  };
45
46  // The category of the event. This enum lists all possible categories of
47  // event.
48  enum EventCategory {
49    // Unspecified category.
50    EVENT_CATEGORY_UNSPECIFIED = 0;
51
52    // Event category for service outage or degradation.
53    INCIDENT = 2;
54  }
55
56  // The detailed category of an event. Contains all possible states for all
57  // event categories.
58  enum DetailedCategory {
59    // Unspecified detailed category.
60    DETAILED_CATEGORY_UNSPECIFIED = 0;
61
62    // Indicates an event with category INCIDENT has a confirmed impact to at
63    // least one Google Cloud product.
64    CONFIRMED_INCIDENT = 1;
65
66    // Indicates an event with category INCIDENT is under investigation to
67    // determine if it has a confirmed impact on any Google Cloud products.
68    EMERGING_INCIDENT = 2;
69  }
70
71  // The state of the event. This enum lists all possible states of event.
72  enum State {
73    // Unspecified state.
74    STATE_UNSPECIFIED = 0;
75
76    // Event is actively affecting a Google Cloud product and will continue to
77    // receive updates.
78    ACTIVE = 1;
79
80    // Event is no longer affecting the Google Cloud product or has been merged
81    // with another event.
82    CLOSED = 2;
83  }
84
85  // The detailed state of the incident. This enum lists all possible detailed
86  // states of an incident.
87  enum DetailedState {
88    // Unspecified detail state.
89    DETAILED_STATE_UNSPECIFIED = 0;
90
91    // Google engineers are actively investigating the event to determine the
92    // impact.
93    EMERGING = 1;
94
95    // The incident is confirmed and impacting at least one Google Cloud
96    // product. Ongoing status updates will be provided until it is resolved.
97    CONFIRMED = 2;
98
99    // The incident is no longer affecting any Google Cloud product, and there
100    // will be no further updates.
101    RESOLVED = 3;
102
103    // The incident was merged into a parent incident. All further updates will
104    // be published to the parent only. The `parent_event` field contains the
105    // name of the parent.
106    MERGED = 4;
107
108    // The incident was automatically closed because of the following reasons:
109    //
110    //  * The impact of the incident could not be confirmed.
111    //  * The incident was intermittent or resolved itself.
112    //
113    //  The incident does not have a resolution because no action or
114    //  investigation happened. If it is intermittent, the incident may reopen.
115    AUTO_CLOSED = 9;
116
117    // Upon investigation, Google engineers concluded that the incident is not
118    // affecting a Google Cloud product. This state can change if the incident
119    // is reviewed again.
120    FALSE_POSITIVE = 10;
121  }
122
123  // Communicates why a given incident is deemed relevant in the context of a
124  // given project. This enum lists all possible detailed states of relevance.
125  enum Relevance {
126    // Unspecified relevance.
127    RELEVANCE_UNSPECIFIED = 0;
128
129    // The relevance of the incident to the project is unknown.
130    UNKNOWN = 2;
131
132    // The incident does not impact the project.
133    NOT_IMPACTED = 6;
134
135    // The incident is associated with a Google Cloud product your project uses,
136    // but the incident may not be impacting your project. For example, the
137    // incident may be impacting a Google Cloud product that your project uses,
138    // but in a location that your project does not use.
139    PARTIALLY_RELATED = 7;
140
141    // The incident has a direct connection with your project and impacts a
142    // Google Cloud product in a location your project uses.
143    RELATED = 8;
144
145    // The incident is verified to be impacting your project.
146    IMPACTED = 9;
147  }
148
149  // Output only. Identifier. Name of the event. Unique name of the event in
150  // this scope including project and location using the form
151  // `projects/{project_id}/locations/{location}/events/{event_id}`.
152  string name = 1 [
153    (google.api.field_behavior) = OUTPUT_ONLY,
154    (google.api.field_behavior) = IDENTIFIER
155  ];
156
157  // Output only. Brief description for the event.
158  string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
159
160  // Output only. Free-form, human-readable description.
161  string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
162
163  // Output only. The category of the event.
164  EventCategory category = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
165
166  // Output only. The detailed category of the event.
167  DetailedCategory detailed_category = 21
168      [(google.api.field_behavior) = OUTPUT_ONLY];
169
170  // Output only. The current state of the event.
171  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
172
173  // Output only. The current detailed state of the incident.
174  DetailedState detailed_state = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
175
176  // Google Cloud products and locations impacted by the event.
177  repeated EventImpact event_impacts = 20;
178
179  // Output only. Communicates why a given event is deemed relevant in the
180  // context of a given project.
181  Relevance relevance = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
182
183  // Output only. Event updates are correspondence from Google.
184  repeated EventUpdate updates = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
185
186  // Output only. When `detailed_state`=`MERGED`, `parent_event` contains the
187  // name of the parent event. All further updates will be published to the
188  // parent event.
189  string parent_event = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
190
191  // Output only. The time when the event was last modified.
192  google.protobuf.Timestamp update_time = 12
193      [(google.api.field_behavior) = OUTPUT_ONLY];
194
195  // Output only. The start time of the event, if applicable.
196  google.protobuf.Timestamp start_time = 13
197      [(google.api.field_behavior) = OUTPUT_ONLY];
198
199  // Output only. The end time of the event, if applicable.
200  google.protobuf.Timestamp end_time = 14
201      [(google.api.field_behavior) = OUTPUT_ONLY];
202
203  // Output only. The time when the next update can be expected.
204  google.protobuf.Timestamp next_update_time = 15
205      [(google.api.field_behavior) = OUTPUT_ONLY];
206}
207
208// Represents service health events that may affect Google Cloud products used
209// across the organization. It is a read-only view and does not allow any
210// modifications.
211message OrganizationEvent {
212  option (google.api.resource) = {
213    type: "servicehealth.googleapis.com/OrganizationEvent"
214    pattern: "organizations/{organization}/locations/{location}/organizationEvents/{event}"
215    plural: "organizationEvents"
216    singular: "organizationEvent"
217  };
218
219  // The category of the event. This enum lists all possible categories of
220  // event.
221  enum EventCategory {
222    // Unspecified category.
223    EVENT_CATEGORY_UNSPECIFIED = 0;
224
225    // Event category for service outage or degradation.
226    INCIDENT = 2;
227  }
228
229  // The detailed category of an event. Contains all possible states for all
230  // event categories.
231  enum DetailedCategory {
232    // Unspecified detailed category.
233    DETAILED_CATEGORY_UNSPECIFIED = 0;
234
235    // Indicates an event with category INCIDENT has a confirmed impact to at
236    // least one Google Cloud product.
237    CONFIRMED_INCIDENT = 1;
238
239    // Indicates an event with category INCIDENT is under investigation to
240    // determine if it has a confirmed impact on any Google Cloud products.
241    EMERGING_INCIDENT = 2;
242  }
243
244  // The state of the organization event. This enum lists all possible states of
245  // event.
246  enum State {
247    // Unspecified state.
248    STATE_UNSPECIFIED = 0;
249
250    // Event is actively affecting a Google Cloud product and will continue to
251    // receive updates.
252    ACTIVE = 1;
253
254    // Event is no longer affecting the Google Cloud product or has been merged
255    // with another event.
256    CLOSED = 2;
257  }
258
259  // The detailed state of the incident. This enum lists all possible detailed
260  // states of an incident.
261  enum DetailedState {
262    // Unspecified detail state.
263    DETAILED_STATE_UNSPECIFIED = 0;
264
265    // Google engineers are actively investigating the incident to determine the
266    // impact.
267    EMERGING = 1;
268
269    // The incident is confirmed and impacting at least one Google Cloud
270    // product. Ongoing status updates will be provided until it is resolved.
271    CONFIRMED = 2;
272
273    // The incident is no longer affecting any Google Cloud product, and there
274    // will be no further updates.
275    RESOLVED = 3;
276
277    // The incident was merged into a parent event. All further updates will be
278    // published to the parent only. The `parent_event` contains the name of the
279    // parent.
280    MERGED = 4;
281
282    // The incident was automatically closed because of the following reasons:
283    //
284    //  * The impact of the incident could not be confirmed.
285    //  * The incident was intermittent or resolved itself.
286    //
287    //  The incident does not have a resolution because no action or
288    //  investigation happened. If it is intermittent, the incident may reopen.
289    AUTO_CLOSED = 9;
290
291    // Upon investigation, Google engineers concluded that the incident is not
292    // affecting a Google Cloud product. This state can change if the incident
293    // is reviewed again.
294    FALSE_POSITIVE = 10;
295  }
296
297  // Output only. Identifier. Name of the event. Unique name of the event in
298  // this scope including organization ID and location using the form
299  // `organizations/{organization_id}/locations/{location}/organizationEvents/{event_id}`.
300  //
301  // `organization_id` - see [Getting your organization resource
302  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).<br>
303  // `location` - The location to get the service health events from.<br>
304  // `event_id` - Organization event ID to retrieve.
305  string name = 1 [
306    (google.api.field_behavior) = OUTPUT_ONLY,
307    (google.api.field_behavior) = IDENTIFIER
308  ];
309
310  // Output only. Brief description for the event.
311  string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
312
313  // Output only. Free-form, human-readable description.
314  string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
315
316  // Output only. The category of the event.
317  EventCategory category = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
318
319  // Output only. The detailed category of the event.
320  DetailedCategory detailed_category = 17
321      [(google.api.field_behavior) = OUTPUT_ONLY];
322
323  // Output only. The current state of the event.
324  State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
325
326  // Output only. The current detailed state of the incident.
327  DetailedState detailed_state = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
328
329  // Output only. Represents the Google Cloud products and locations impacted by
330  // the event.
331  repeated EventImpact event_impacts = 15
332      [(google.api.field_behavior) = OUTPUT_ONLY];
333
334  // Output only. Incident-only field. Event updates are correspondence from
335  // Google.
336  repeated EventUpdate updates = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
337
338  // Output only. When `detailed_state`=`MERGED`, `parent_event` contains the
339  // name of the parent event. All further updates will be published to the
340  // parent event.
341  string parent_event = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
342
343  // Output only. The time the update was posted.
344  google.protobuf.Timestamp update_time = 11
345      [(google.api.field_behavior) = OUTPUT_ONLY];
346
347  // Output only. The start time of the event, if applicable.
348  google.protobuf.Timestamp start_time = 12
349      [(google.api.field_behavior) = OUTPUT_ONLY];
350
351  // Output only. The end time of the event, if applicable.
352  google.protobuf.Timestamp end_time = 13
353      [(google.api.field_behavior) = OUTPUT_ONLY];
354
355  // Output only. Incident-only field. The time when the next update can be
356  // expected.
357  google.protobuf.Timestamp next_update_time = 14
358      [(google.api.field_behavior) = OUTPUT_ONLY];
359}
360
361// Records an update made to the event.
362message EventUpdate {
363  // Output only. The time the update was posted.
364  google.protobuf.Timestamp update_time = 1
365      [(google.api.field_behavior) = OUTPUT_ONLY];
366
367  // Output only. Brief title for the event.
368  string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
369
370  // Output only. Free-form, human-readable description.
371  string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
372
373  // Output only. Symptoms of the event, if available.
374  string symptom = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
375
376  // Output only. Workaround steps to remediate the event impact, if available.
377  string workaround = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
378}
379
380// Represents the locations impacted by the event.
381message Location {
382  // Location impacted by the event. Example: `"us-central1"`
383  string location_name = 1;
384}
385
386// Represents the Google Cloud product impacted by the event.
387message Product {
388  // Google Cloud product impacted by the event. Example: `"Google Cloud SQL"`
389  string product_name = 1;
390}
391
392// Represents the Google Cloud products and locations impacted by the event.
393message EventImpact {
394  // Google Cloud product impacted by the event.
395  Product product = 1;
396
397  // Location impacted by the event.
398  Location location = 2;
399}
400
401// Represents impact to assets at organizational level. It is a read-only view
402// and does not allow any modifications.
403message OrganizationImpact {
404  option (google.api.resource) = {
405    type: "servicehealth.googleapis.com/OrganizationImpact"
406    pattern: "organizations/{organization}/locations/{location}/organizationImpacts/{organization_impact}"
407    plural: "organizationImpacts"
408    singular: "organizationImpact"
409  };
410
411  // Output only. Identifier. Unique name of the organization impact in this
412  // scope including organization and location using the form
413  // `organizations/{organization_id}/locations/{location}/organizationImpacts/{organization_impact_id}`.
414  //
415  // `organization_id` - ID (number) of the organization that contains the
416  // event. To get your `organization_id`, see
417  // [Getting your organization resource
418  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).<br>
419  // `organization_impact_id` - ID of the [OrganizationImpact
420  // resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact).
421  string name = 1 [
422    (google.api.field_behavior) = OUTPUT_ONLY,
423    (google.api.field_behavior) = IDENTIFIER
424  ];
425
426  // Output only. A list of event names impacting the asset.
427  repeated string events = 2 [
428    (google.api.field_behavior) = OUTPUT_ONLY,
429    (google.api.resource_reference) = {
430      type: "servicehealth.googleapis.com/Event"
431    }
432  ];
433
434  // Output only. Google Cloud asset possibly impacted by the specified events.
435  Asset asset = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
436
437  // Output only. The time when the affected project was last modified.
438  google.protobuf.Timestamp update_time = 4
439      [(google.api.field_behavior) = OUTPUT_ONLY];
440}
441
442// Represents the asset impacted by the events.
443message Asset {
444  // Output only. Full name of the resource as defined in
445  // [Resource
446  // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name).
447  string asset_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
448
449  // Output only. Type of the asset. Example:
450  // `"cloudresourcemanager.googleapis.com/Project"`
451  string asset_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
452}
453
454message ListEventsRequest {
455  // Required. Parent value using the form
456  // `projects/{project_id}/locations/{location}/events`.
457  //
458  // `project_id` - ID of the project for which to list service health
459  // events.
460  // `location` - The location to get the service health events from.
461  // To retrieve service health events of category = INCIDENT, use `location` =
462  // `global`.
463  string parent = 1 [
464    (google.api.field_behavior) = REQUIRED,
465    (google.api.resource_reference) = {
466      child_type: "servicehealth.googleapis.com/Event"
467    }
468  ];
469
470  // Optional. The maximum number of events that should be returned.  Acceptable
471  // values are 1 to 100, inclusive. (The default value is 10.) If more results
472  // are available, the service returns a next_page_token that you can use to
473  // get the next page of results in subsequent list requests. The service may
474  // return fewer events than the requested page_size.
475  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
476
477  // Optional. A token identifying a page of results the server should return.
478  // Provide Page token returned by a previous `ListEvents` call to retrieve the
479  // next page of results. When paginating, all other parameters provided to
480  // `ListEvents` must match the call that provided the page token.
481  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
482
483  // Optional. A filter expression that filters resources listed in the
484  // response. The expression takes the following forms: <br>
485  // *   field=value for `category` and `state`<br>
486  // *   field &lt;, >, &lt;=, or >= value for `update_time` <br>
487  // Examples: `category=INCIDENT`, `update_time>=2000-01-01T11:30:00-04:00`
488  // <br>
489  //
490  // Multiple filter queries are separated by spaces. Example:
491  // `category=INCIDENT state=ACTIVE`.
492  //
493  // By default, each expression is an AND expression. However, you can include
494  // AND and OR expressions explicitly.
495  //
496  // Filter is supported for the following fields: `category`, `state`,
497  // `update_time`
498  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
499
500  // Optional. Event fields to include in response.
501  EventView view = 6 [(google.api.field_behavior) = OPTIONAL];
502}
503
504message ListEventsResponse {
505  // Output only. List of events.
506  repeated Event events = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
507
508  // Output only. The continuation token, used to page through large result
509  // sets. Provide this value in a subsequent request as page_token to retrieve
510  // the next page.
511  //
512  // If this field is not present, there are no subsequent results.
513  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
514
515  // Output only. Locations that could not be reached.
516  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
517}
518
519// Message for getting an event
520message GetEventRequest {
521  // Required. Unique name of the event in this scope including project
522  // and location using the form
523  // `projects/{project_id}/locations/{location}/events/{event_id}`.
524  //
525  // `project_id` - Project ID of the project that contains the event. <br>
526  // `location` - The location to get the service health events from. <br>
527  // `event_id` - Event ID to retrieve.
528  string name = 1 [
529    (google.api.field_behavior) = REQUIRED,
530    (google.api.resource_reference) = {
531      type: "servicehealth.googleapis.com/Event"
532    }
533  ];
534}
535
536message ListOrganizationEventsRequest {
537  // Required. Parent value using the form
538  // `organizations/{organization_id}/locations/{location}/organizationEvents`.
539  //
540  // `organization_id` - ID (number) of the project that contains the event. To
541  // get your `organization_id`, see
542  // [Getting your organization resource
543  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).<br>
544  // `location` - The location to get the service health events from. To
545  // retrieve service health events of category = INCIDENT, use `location` =
546  // `global`.
547  string parent = 1 [
548    (google.api.field_behavior) = REQUIRED,
549    (google.api.resource_reference) = {
550      child_type: "servicehealth.googleapis.com/OrganizationEvent"
551    }
552  ];
553
554  // Optional. The maximum number of events that should be returned.  Acceptable
555  // values are `1` to `100`, inclusive. (The default value is `10`.) If more
556  // results are available, the service returns a `next_page_token` that you can
557  // use to get the next page of results in subsequent list requests. The
558  // service may return fewer events than the requested `page_size`.
559  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
560
561  // Optional. A token identifying a page of results the server should return.
562  //
563  // Provide Page token returned by a previous `ListOrganizationEvents` call to
564  // retrieve the next page of results.
565  //
566  // When paginating, all other parameters provided to
567  // `ListOrganizationEvents` must match the call that provided the page token.
568  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
569
570  // Optional. A filter expression that filters resources listed in the
571  // response. The expression takes the following forms:
572  //
573  // *   field=value for `category` and `state`
574  // *   field &lt;, >, &lt;=, or >= value for `update_time`
575  //
576  // Examples: `category=INCIDENT`, `update_time>=2000-01-01T11:30:00-04:00`
577  //
578  // Multiple filter queries are space-separated. Example:
579  // `category=INCIDENT state=ACTIVE`.
580  //
581  // By default, each expression is an AND expression. However, you can include
582  // AND and OR expressions explicitly.
583  //
584  // Filter is supported for the following fields: `category`, `state`,
585  // `update_time`
586  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
587
588  // Optional. OrganizationEvent fields to include in response.
589  OrganizationEventView view = 6 [(google.api.field_behavior) = OPTIONAL];
590}
591
592message ListOrganizationEventsResponse {
593  // Output only. List of organization events affecting an organization.
594  repeated OrganizationEvent organization_events = 1
595      [(google.api.field_behavior) = OUTPUT_ONLY];
596
597  // Output only. The continuation token, used to page through large result
598  // sets. Provide this value in a subsequent request as `page_token` to
599  // retrieve the next page.
600  //
601  // If this field is not present, there are no subsequent results.
602  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
603
604  // Output only. Locations that could not be reached.
605  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
606}
607
608message GetOrganizationEventRequest {
609  // Required. Unique name of the event in this scope including organization and
610  // event ID using the form
611  // `organizations/{organization_id}/locations/locations/global/organizationEvents/{event_id}`.
612  //
613  // `organization_id` - ID (number) of the project that contains the event. To
614  // get your `organization_id`, see
615  // [Getting your organization resource
616  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).<br>
617  // `event_id` - Organization event ID to retrieve.
618  string name = 1 [
619    (google.api.field_behavior) = REQUIRED,
620    (google.api.resource_reference) = {
621      type: "servicehealth.googleapis.com/OrganizationEvent"
622    }
623  ];
624}
625
626// Message for requesting list of OrganizationImpacts
627message ListOrganizationImpactsRequest {
628  // Required. Parent value using the form
629  // `organizations/{organization_id}/locations/{location}/organizationImpacts`.
630  //
631  // `organization_id` - ID (number) of the project that contains the event. To
632  // get your `organization_id`, see
633  // [Getting your organization resource
634  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
635  string parent = 1 [
636    (google.api.field_behavior) = REQUIRED,
637    (google.api.resource_reference) = {
638      child_type: "servicehealth.googleapis.com/OrganizationImpact"
639    }
640  ];
641
642  // Optional. The maximum number of events that should be returned. Acceptable
643  // values are `1` to `100`, inclusive. The default value is `10`.
644  //
645  //  If more results are available, the service returns a
646  // `next_page_token` that can be used to get the next page of results in
647  // subsequent list requests. The service may return fewer
648  // [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact)
649  // than the requested `page_size`.
650  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
651
652  // Optional. A token identifying a page of results the server should return.
653  //
654  // Provide `page_token` returned by a previous `ListOrganizationImpacts` call
655  // to retrieve the next page of results.
656  //
657  // When paginating, all other parameters provided to `ListOrganizationImpacts`
658  // must match the call that provided the page token.
659  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
660
661  // Optional. A filter expression that filters resources listed in the
662  // response. The expression is in the form of `field:value` for checking if a
663  // repeated field contains a value.
664  //
665  // Example:
666  // `events:organizations%2F{organization_id}%2Flocations%2Fglobal%2ForganizationEvents%2Fevent-id`
667  //
668  // To get your `{organization_id}`, see
669  // [Getting your organization resource
670  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
671  //
672  // Multiple filter queries are separated by spaces.
673  //
674  // By default, each expression is an AND expression. However, you can include
675  // AND and OR expressions explicitly.
676  // Filter is supported for the following fields: `events`.
677  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
678}
679
680message ListOrganizationImpactsResponse {
681  // Output only. List of
682  // [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact)
683  // for an organization affected by service health events.
684  repeated OrganizationImpact organization_impacts = 1
685      [(google.api.field_behavior) = OUTPUT_ONLY];
686
687  // Output only. The continuation token, used to page through large result
688  // sets. Provide this value in a subsequent request as `page_token` to
689  // retrieve the next page.
690  //
691  // If this field is not present, there are no subsequent results.
692  string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
693
694  // Output only. Locations that could not be reached.
695  repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
696}
697
698message GetOrganizationImpactRequest {
699  // Required. Name of the resource using the form
700  // `organizations/{organization_id}/locations/global/organizationImpacts/{organization_impact_id}`.
701  //
702  // `organization_id` - ID (number) of the organization that contains the
703  // event. To get your `organization_id`, see
704  // [Getting your organization resource
705  // ID](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).<br>
706  // `organization_impact_id` - ID of the [OrganizationImpact
707  // resource](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact).
708  string name = 1 [
709    (google.api.field_behavior) = REQUIRED,
710    (google.api.resource_reference) = {
711      type: "servicehealth.googleapis.com/OrganizationImpact"
712    }
713  ];
714}
715
716// The event fields to include in ListEvents API response. This enum lists all
717// possible event views.
718enum EventView {
719  // Unspecified event view. Default to `EVENT_VIEW_BASIC`.
720  EVENT_VIEW_UNSPECIFIED = 0;
721
722  // Includes all fields except `updates`. This view is the default for
723  // ListEvents API.
724  EVENT_VIEW_BASIC = 1;
725
726  // Includes all event fields.
727  EVENT_VIEW_FULL = 2;
728}
729
730// The organization event fields to include in ListOrganizationEvents API
731// response. This enum lists all possible organization event views.
732enum OrganizationEventView {
733  // Unspecified event view. Default to `ORGANIZATION_EVENT_VIEW_BASIC`.
734  ORGANIZATION_EVENT_VIEW_UNSPECIFIED = 0;
735
736  // Includes all organization event fields except `updates`. This view is the
737  // default for ListOrganizationEvents API.
738  ORGANIZATION_EVENT_VIEW_BASIC = 1;
739
740  // Includes all organization event fields.
741  ORGANIZATION_EVENT_VIEW_FULL = 2;
742}
743