xref: /aosp_15_r20/external/googleapis/google/api/config_change.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.api;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/configchange;configchange";
20*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
21*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ConfigChangeProto";
22*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api";
23*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GAPI";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Worker// Output generated from semantically comparing two versions of a service
26*d5c09012SAndroid Build Coastguard Worker// configuration.
27*d5c09012SAndroid Build Coastguard Worker//
28*d5c09012SAndroid Build Coastguard Worker// Includes detailed information about a field that have changed with
29*d5c09012SAndroid Build Coastguard Worker// applicable advice about potential consequences for the change, such as
30*d5c09012SAndroid Build Coastguard Worker// backwards-incompatibility.
31*d5c09012SAndroid Build Coastguard Workermessage ConfigChange {
32*d5c09012SAndroid Build Coastguard Worker  // Object hierarchy path to the change, with levels separated by a '.'
33*d5c09012SAndroid Build Coastguard Worker  // character. For repeated fields, an applicable unique identifier field is
34*d5c09012SAndroid Build Coastguard Worker  // used for the index (usually selector, name, or id). For maps, the term
35*d5c09012SAndroid Build Coastguard Worker  // 'key' is used. If the field has no unique identifier, the numeric index
36*d5c09012SAndroid Build Coastguard Worker  // is used.
37*d5c09012SAndroid Build Coastguard Worker  // Examples:
38*d5c09012SAndroid Build Coastguard Worker  // - visibility.rules[selector=="google.LibraryService.ListBooks"].restriction
39*d5c09012SAndroid Build Coastguard Worker  // - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
40*d5c09012SAndroid Build Coastguard Worker  // - logging.producer_destinations[0]
41*d5c09012SAndroid Build Coastguard Worker  string element = 1;
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // Value of the changed object in the old Service configuration,
44*d5c09012SAndroid Build Coastguard Worker  // in JSON format. This field will not be populated if ChangeType == ADDED.
45*d5c09012SAndroid Build Coastguard Worker  string old_value = 2;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // Value of the changed object in the new Service configuration,
48*d5c09012SAndroid Build Coastguard Worker  // in JSON format. This field will not be populated if ChangeType == REMOVED.
49*d5c09012SAndroid Build Coastguard Worker  string new_value = 3;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker  // The type for this change, either ADDED, REMOVED, or MODIFIED.
52*d5c09012SAndroid Build Coastguard Worker  ChangeType change_type = 4;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // Collection of advice provided for this change, useful for determining the
55*d5c09012SAndroid Build Coastguard Worker  // possible impact of this change.
56*d5c09012SAndroid Build Coastguard Worker  repeated Advice advices = 5;
57*d5c09012SAndroid Build Coastguard Worker}
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker// Generated advice about this change, used for providing more
60*d5c09012SAndroid Build Coastguard Worker// information about how a change will affect the existing service.
61*d5c09012SAndroid Build Coastguard Workermessage Advice {
62*d5c09012SAndroid Build Coastguard Worker  // Useful description for why this advice was applied and what actions should
63*d5c09012SAndroid Build Coastguard Worker  // be taken to mitigate any implied risks.
64*d5c09012SAndroid Build Coastguard Worker  string description = 2;
65*d5c09012SAndroid Build Coastguard Worker}
66*d5c09012SAndroid Build Coastguard Worker
67*d5c09012SAndroid Build Coastguard Worker// Classifies set of possible modifications to an object in the service
68*d5c09012SAndroid Build Coastguard Worker// configuration.
69*d5c09012SAndroid Build Coastguard Workerenum ChangeType {
70*d5c09012SAndroid Build Coastguard Worker  // No value was provided.
71*d5c09012SAndroid Build Coastguard Worker  CHANGE_TYPE_UNSPECIFIED = 0;
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker  // The changed object exists in the 'new' service configuration, but not
74*d5c09012SAndroid Build Coastguard Worker  // in the 'old' service configuration.
75*d5c09012SAndroid Build Coastguard Worker  ADDED = 1;
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // The changed object exists in the 'old' service configuration, but not
78*d5c09012SAndroid Build Coastguard Worker  // in the 'new' service configuration.
79*d5c09012SAndroid Build Coastguard Worker  REMOVED = 2;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker  // The changed object exists in both service configurations, but its value
82*d5c09012SAndroid Build Coastguard Worker  // is different.
83*d5c09012SAndroid Build Coastguard Worker  MODIFIED = 3;
84*d5c09012SAndroid Build Coastguard Worker}
85