123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- // Copyright 2021 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.cloud.gkehub.servicemesh.v1alpha;
- import "google/api/field_behavior.proto";
- import "google/protobuf/struct.proto";
- import "google/api/annotations.proto";
- option csharp_namespace = "Google.Cloud.GkeHub.ServiceMesh.V1Alpha";
- option go_package = "google.golang.org/genproto/googleapis/cloud/gkehub/servicemesh/v1alpha;servicemesh";
- option java_multiple_files = true;
- option java_outer_classname = "ServiceMeshProto";
- option java_package = "com.google.cloud.gkehub.servicemesh.v1alpha";
- option php_namespace = "Google\\Cloud\\GkeHub\\ServiceMesh\\V1alpha";
- option ruby_package = "Google::Cloud::GkeHub::ServiceMesh::V1alpha";
- // **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh
- // Hub Controller.
- message FeatureState {
- // Output only. Results of running Service Mesh analyzers.
- repeated AnalysisMessage analysis_messages = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // **Service Mesh**: State for a single Membership, as analyzed by the Service
- // Mesh Hub Controller.
- message MembershipState {
- // Output only. Results of running Service Mesh analyzers.
- repeated AnalysisMessage analysis_messages = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // AnalysisMessageBase describes some common information that is
- // needed for all messages.
- message AnalysisMessageBase {
- // A unique identifier for the type of message. Display_name is intended to be
- // human-readable, code is intended to be machine readable. There should be a
- // one-to-one mapping between display_name and code. (i.e. do not re-use
- // display_names or codes between message types.)
- // See istio.analysis.v1alpha1.AnalysisMessageBase.Type
- message Type {
- // A human-readable name for the message type. e.g. "InternalError",
- // "PodMissingProxy". This should be the same for all messages of the same
- // type. (This corresponds to the `name` field in open-source Istio.)
- string display_name = 1;
- // A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended
- // to uniquely identify the message type. (e.g. "IST0001" is mapped to the
- // "InternalError" message type.)
- string code = 2;
- }
- // The values here are chosen so that more severe messages get sorted higher,
- // as well as leaving space in between to add more later
- // See istio.analysis.v1alpha1.AnalysisMessageBase.Level
- enum Level {
- // Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.
- LEVEL_UNSPECIFIED = 0;
- // ERROR represents a misconfiguration that must be fixed.
- ERROR = 3;
- // WARNING represents a misconfiguration that should be fixed.
- WARNING = 8;
- // INFO represents an informational finding.
- INFO = 12;
- }
- // Represents the specific type of a message.
- Type type = 1;
- // Represents how severe a message is.
- Level level = 2;
- // A url pointing to the Service Mesh or Istio documentation for this specific
- // error type.
- string documentation_url = 3;
- }
- // AnalysisMessage is a single message produced by an analyzer, and
- // it used to communicate to the end user about the state of their Service
- // Mesh configuration.
- message AnalysisMessage {
- // Details common to all types of Istio and ServiceMesh analysis messages.
- AnalysisMessageBase message_base = 1;
- // A human readable description of what the error means. It is suitable for
- // non-internationalize display purposes.
- string description = 2;
- // A list of strings specifying the resource identifiers that were the cause
- // of message generation.
- // A "path" here may be:
- // * MEMBERSHIP_ID if the cause is a specific member cluster
- // * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource
- // in a cluster
- repeated string resource_paths = 3;
- // A UI can combine these args with a template (based on message_base.type)
- // to produce an internationalized message.
- google.protobuf.Struct args = 4;
- }
|