xref: /aosp_15_r20/external/googleapis/google/monitoring/v3/snooze.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.monitoring.v3;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/monitoring/v3/common.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Monitoring.V3";
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/monitoring/apiv3/v2/monitoringpb;monitoringpb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SnoozeProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.monitoring.v3";
28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Monitoring\\V3";
29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Monitoring::V3";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker// A `Snooze` will prevent any alerts from being opened, and close any that
32*d5c09012SAndroid Build Coastguard Worker// are already open. The `Snooze` will work on alerts that match the
33*d5c09012SAndroid Build Coastguard Worker// criteria defined in the `Snooze`. The `Snooze` will be active from
34*d5c09012SAndroid Build Coastguard Worker// `interval.start_time` through `interval.end_time`.
35*d5c09012SAndroid Build Coastguard Workermessage Snooze {
36*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
37*d5c09012SAndroid Build Coastguard Worker    type: "monitoring.googleapis.com/Snooze"
38*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/snoozes/{snooze}"
39*d5c09012SAndroid Build Coastguard Worker  };
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // Criteria specific to the `AlertPolicy`s that this `Snooze` applies to. The
42*d5c09012SAndroid Build Coastguard Worker  // `Snooze` will suppress alerts that come from one of the `AlertPolicy`s
43*d5c09012SAndroid Build Coastguard Worker  // whose names are supplied.
44*d5c09012SAndroid Build Coastguard Worker  message Criteria {
45*d5c09012SAndroid Build Coastguard Worker    // The specific `AlertPolicy` names for the alert that should be snoozed.
46*d5c09012SAndroid Build Coastguard Worker    // The format is:
47*d5c09012SAndroid Build Coastguard Worker    //
48*d5c09012SAndroid Build Coastguard Worker    //     projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]
49*d5c09012SAndroid Build Coastguard Worker    //
50*d5c09012SAndroid Build Coastguard Worker    // There is a limit of 16 policies per snooze. This limit is checked during
51*d5c09012SAndroid Build Coastguard Worker    // snooze creation.
52*d5c09012SAndroid Build Coastguard Worker    repeated string policies = 1 [(google.api.resource_reference) = {
53*d5c09012SAndroid Build Coastguard Worker      type: "monitoring.googleapis.com/AlertPolicy"
54*d5c09012SAndroid Build Coastguard Worker    }];
55*d5c09012SAndroid Build Coastguard Worker  }
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Snooze`. The format is:
58*d5c09012SAndroid Build Coastguard Worker  //
59*d5c09012SAndroid Build Coastguard Worker  //     projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID]
60*d5c09012SAndroid Build Coastguard Worker  //
61*d5c09012SAndroid Build Coastguard Worker  // The ID of the `Snooze` will be generated by the system.
62*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
63*d5c09012SAndroid Build Coastguard Worker
64*d5c09012SAndroid Build Coastguard Worker  // Required. This defines the criteria for applying the `Snooze`. See
65*d5c09012SAndroid Build Coastguard Worker  // `Criteria` for more information.
66*d5c09012SAndroid Build Coastguard Worker  Criteria criteria = 3 [(google.api.field_behavior) = REQUIRED];
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker  // Required. The `Snooze` will be active from `interval.start_time` through
69*d5c09012SAndroid Build Coastguard Worker  // `interval.end_time`.
70*d5c09012SAndroid Build Coastguard Worker  // `interval.start_time` cannot be in the past. There is a 15 second clock
71*d5c09012SAndroid Build Coastguard Worker  // skew to account for the time it takes for a request to reach the API from
72*d5c09012SAndroid Build Coastguard Worker  // the UI.
73*d5c09012SAndroid Build Coastguard Worker  TimeInterval interval = 4 [(google.api.field_behavior) = REQUIRED];
74*d5c09012SAndroid Build Coastguard Worker
75*d5c09012SAndroid Build Coastguard Worker  // Required. A display name for the `Snooze`. This can be, at most, 512
76*d5c09012SAndroid Build Coastguard Worker  // unicode characters.
77*d5c09012SAndroid Build Coastguard Worker  string display_name = 5 [(google.api.field_behavior) = REQUIRED];
78*d5c09012SAndroid Build Coastguard Worker}
79