googapis 0.6.0

This library generated from Google API using tonic-build.
/// **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<AnalysisMessage>,
}
/// **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<AnalysisMessage>,
}
/// 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<analysis_message_base::Type>,
    /// 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<AnalysisMessageBase>,
    /// 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>,
}