85 lines
3.1 KiB
Protocol Buffer
85 lines
3.1 KiB
Protocol Buffer
|
// Copyright 2023 Google LLC
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
|
||
|
syntax = "proto3";
|
||
|
|
||
|
package google.api;
|
||
|
|
||
|
option go_package = "google.golang.org/genproto/googleapis/api/configchange;configchange";
|
||
|
option java_multiple_files = true;
|
||
|
option java_outer_classname = "ConfigChangeProto";
|
||
|
option java_package = "com.google.api";
|
||
|
option objc_class_prefix = "GAPI";
|
||
|
|
||
|
// Output generated from semantically comparing two versions of a service
|
||
|
// configuration.
|
||
|
//
|
||
|
// Includes detailed information about a field that have changed with
|
||
|
// applicable advice about potential consequences for the change, such as
|
||
|
// backwards-incompatibility.
|
||
|
message ConfigChange {
|
||
|
// Object hierarchy path to the change, with levels separated by a '.'
|
||
|
// character. For repeated fields, an applicable unique identifier field is
|
||
|
// used for the index (usually selector, name, or id). For maps, the term
|
||
|
// 'key' is used. If the field has no unique identifier, the numeric index
|
||
|
// is used.
|
||
|
// Examples:
|
||
|
// - visibility.rules[selector=="google.LibraryService.ListBooks"].restriction
|
||
|
// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
|
||
|
// - logging.producer_destinations[0]
|
||
|
string element = 1;
|
||
|
|
||
|
// Value of the changed object in the old Service configuration,
|
||
|
// in JSON format. This field will not be populated if ChangeType == ADDED.
|
||
|
string old_value = 2;
|
||
|
|
||
|
// Value of the changed object in the new Service configuration,
|
||
|
// in JSON format. This field will not be populated if ChangeType == REMOVED.
|
||
|
string new_value = 3;
|
||
|
|
||
|
// The type for this change, either ADDED, REMOVED, or MODIFIED.
|
||
|
ChangeType change_type = 4;
|
||
|
|
||
|
// Collection of advice provided for this change, useful for determining the
|
||
|
// possible impact of this change.
|
||
|
repeated Advice advices = 5;
|
||
|
}
|
||
|
|
||
|
// Generated advice about this change, used for providing more
|
||
|
// information about how a change will affect the existing service.
|
||
|
message Advice {
|
||
|
// Useful description for why this advice was applied and what actions should
|
||
|
// be taken to mitigate any implied risks.
|
||
|
string description = 2;
|
||
|
}
|
||
|
|
||
|
// Classifies set of possible modifications to an object in the service
|
||
|
// configuration.
|
||
|
enum ChangeType {
|
||
|
// No value was provided.
|
||
|
CHANGE_TYPE_UNSPECIFIED = 0;
|
||
|
|
||
|
// The changed object exists in the 'new' service configuration, but not
|
||
|
// in the 'old' service configuration.
|
||
|
ADDED = 1;
|
||
|
|
||
|
// The changed object exists in the 'old' service configuration, but not
|
||
|
// in the 'new' service configuration.
|
||
|
REMOVED = 2;
|
||
|
|
||
|
// The changed object exists in both service configurations, but its value
|
||
|
// is different.
|
||
|
MODIFIED = 3;
|
||
|
}
|