/// **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh /// Hub Controller. #[derive(Clone, PartialEq, ::prost::Message)] pub struct FeatureState { /// Output only. Results of running Service Mesh analyzers. #[prost(message, repeated, tag = "1")] pub analysis_messages: ::prost::alloc::vec::Vec, } /// **Service Mesh**: State for a single Membership, as analyzed by the Service /// Mesh Hub Controller. #[derive(Clone, PartialEq, ::prost::Message)] pub struct MembershipState { /// Output only. Results of running Service Mesh analyzers. #[prost(message, repeated, tag = "1")] pub analysis_messages: ::prost::alloc::vec::Vec, } /// AnalysisMessageBase describes some common information that is /// needed for all messages. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AnalysisMessageBase { /// Represents the specific type of a message. #[prost(message, optional, tag = "1")] pub r#type: ::core::option::Option, /// Represents how severe a message is. #[prost(enumeration = "analysis_message_base::Level", tag = "2")] pub level: i32, /// A url pointing to the Service Mesh or Istio documentation for this specific /// error type. #[prost(string, tag = "3")] pub documentation_url: ::prost::alloc::string::String, } /// Nested message and enum types in `AnalysisMessageBase`. pub mod analysis_message_base { /// 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 #[derive(Clone, PartialEq, ::prost::Message)] pub struct 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.) #[prost(string, tag = "1")] pub display_name: ::prost::alloc::string::String, /// 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.) #[prost(string, tag = "2")] pub code: ::prost::alloc::string::String, } /// 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 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum Level { /// Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN. 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, } } /// 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. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AnalysisMessage { /// Details common to all types of Istio and ServiceMesh analysis messages. #[prost(message, optional, tag = "1")] pub message_base: ::core::option::Option, /// A human readable description of what the error means. It is suitable for /// non-internationalize display purposes. #[prost(string, tag = "2")] pub description: ::prost::alloc::string::String, /// 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 #[prost(string, repeated, tag = "3")] pub resource_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, /// A UI can combine these args with a template (based on message_base.type) /// to produce an internationalized message. #[prost(message, optional, tag = "4")] pub args: ::core::option::Option<::prost_types::Struct>, }