#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionItemBinary {
#[prost(enumeration = "extension_item_binary::BinaryType", tag = "1")]
pub r#type: i32,
#[prost(message, optional, tag = "2")]
pub data: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub file_name: ::core::option::Option<::prost::alloc::string::String>,
}
pub mod extension_item_binary {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum BinaryType {
PreviewImage = 0,
KibanaDashboardDefinition = 1,
GrafanaDashboardDefinition = 2,
EnrichmentCsv = 3,
CxCustomDashboardDefinition = 4,
}
impl BinaryType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PreviewImage => "PREVIEW_IMAGE",
Self::KibanaDashboardDefinition => "KIBANA_DASHBOARD_DEFINITION",
Self::GrafanaDashboardDefinition => "GRAFANA_DASHBOARD_DEFINITION",
Self::EnrichmentCsv => "ENRICHMENT_CSV",
Self::CxCustomDashboardDefinition => "CX_CUSTOM_DASHBOARD_DEFINITION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PREVIEW_IMAGE" => Some(Self::PreviewImage),
"KIBANA_DASHBOARD_DEFINITION" => Some(Self::KibanaDashboardDefinition),
"GRAFANA_DASHBOARD_DEFINITION" => Some(Self::GrafanaDashboardDefinition),
"ENRICHMENT_CSV" => Some(Self::EnrichmentCsv),
"CX_CUSTOM_DASHBOARD_DEFINITION" => {
Some(Self::CxCustomDashboardDefinition)
}
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionItem {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "TargetDomain", tag = "4")]
pub target_domain: i32,
#[prost(message, optional, tag = "5")]
pub data: ::core::option::Option<::prost_wkt_types::Struct>,
#[prost(message, repeated, tag = "6")]
pub binaries: ::prost::alloc::vec::Vec<ExtensionItemBinary>,
#[prost(message, optional, tag = "7")]
pub is_mandatory: ::core::option::Option<bool>,
#[prost(enumeration = "extension_item::PermissionResource", tag = "9")]
pub permission_resource: i32,
#[prost(message, optional, tag = "10")]
pub extended_internal_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "11")]
pub unique_id: ::core::option::Option<::prost::alloc::string::String>,
}
pub mod extension_item {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum PermissionResource {
Unknown = 0,
Action = 1,
Alert = 2,
CustomEnrichment = 3,
GeoEnrichment = 4,
SecurityEnrichment = 5,
ResourceCloudMetadataEnrichment = 6,
GrafanaDashboard = 7,
KibanaDashboard = 8,
ParsingRule = 9,
SavedView = 10,
CxCustomDashboard = 11,
MetricsRuleGroup = 12,
SpanEventsToMetrics = 13,
LogsEventsToMetrics = 14,
}
impl PermissionResource {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Action => "ACTION",
Self::Alert => "ALERT",
Self::CustomEnrichment => "CUSTOM_ENRICHMENT",
Self::GeoEnrichment => "GEO_ENRICHMENT",
Self::SecurityEnrichment => "SECURITY_ENRICHMENT",
Self::ResourceCloudMetadataEnrichment => {
"RESOURCE_CLOUD_METADATA_ENRICHMENT"
}
Self::GrafanaDashboard => "GRAFANA_DASHBOARD",
Self::KibanaDashboard => "KIBANA_DASHBOARD",
Self::ParsingRule => "PARSING_RULE",
Self::SavedView => "SAVED_VIEW",
Self::CxCustomDashboard => "CX_CUSTOM_DASHBOARD",
Self::MetricsRuleGroup => "METRICS_RULE_GROUP",
Self::SpanEventsToMetrics => "SPAN_EVENTS_TO_METRICS",
Self::LogsEventsToMetrics => "LOGS_EVENTS_TO_METRICS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"ACTION" => Some(Self::Action),
"ALERT" => Some(Self::Alert),
"CUSTOM_ENRICHMENT" => Some(Self::CustomEnrichment),
"GEO_ENRICHMENT" => Some(Self::GeoEnrichment),
"SECURITY_ENRICHMENT" => Some(Self::SecurityEnrichment),
"RESOURCE_CLOUD_METADATA_ENRICHMENT" => {
Some(Self::ResourceCloudMetadataEnrichment)
}
"GRAFANA_DASHBOARD" => Some(Self::GrafanaDashboard),
"KIBANA_DASHBOARD" => Some(Self::KibanaDashboard),
"PARSING_RULE" => Some(Self::ParsingRule),
"SAVED_VIEW" => Some(Self::SavedView),
"CX_CUSTOM_DASHBOARD" => Some(Self::CxCustomDashboard),
"METRICS_RULE_GROUP" => Some(Self::MetricsRuleGroup),
"SPAN_EVENTS_TO_METRICS" => Some(Self::SpanEventsToMetrics),
"LOGS_EVENTS_TO_METRICS" => Some(Self::LogsEventsToMetrics),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ItemCounts {
#[prost(message, optional, tag = "1")]
pub actions: ::core::option::Option<u32>,
#[prost(message, optional, tag = "2")]
pub alerts: ::core::option::Option<u32>,
#[prost(message, optional, tag = "3")]
pub custom_dashboards: ::core::option::Option<u32>,
#[prost(message, optional, tag = "4")]
pub enrichments: ::core::option::Option<u32>,
#[prost(message, optional, tag = "5")]
pub events_to_metrics: ::core::option::Option<u32>,
#[prost(message, optional, tag = "6")]
pub grafana_dashboards: ::core::option::Option<u32>,
#[prost(message, optional, tag = "7")]
pub kibana_dashboards: ::core::option::Option<u32>,
#[prost(message, optional, tag = "8")]
pub metrics_rule_group: ::core::option::Option<u32>,
#[prost(message, optional, tag = "9")]
pub parsing_rules: ::core::option::Option<u32>,
#[prost(message, optional, tag = "10")]
pub saved_views: ::core::option::Option<u32>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntegrationDetail {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub link: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionBinary {
#[prost(enumeration = "extension_binary::BinaryType", tag = "1")]
pub r#type: i32,
#[prost(message, optional, tag = "2")]
pub data: ::core::option::Option<::prost::alloc::string::String>,
}
pub mod extension_binary {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum BinaryType {
KibanaIndexPattern = 0,
}
impl BinaryType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::KibanaIndexPattern => "KIBANA_INDEX_PATTERN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"KIBANA_INDEX_PATTERN" => Some(Self::KibanaIndexPattern),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangelogEntry {
#[prost(message, optional, tag = "1")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub description_md: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deprecation {
#[prost(message, optional, tag = "1")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub replacement_extensions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionRevision {
#[prost(message, optional, tag = "1")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub excerpt: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub integration_details: ::prost::alloc::vec::Vec<IntegrationDetail>,
#[prost(message, repeated, tag = "6")]
pub items: ::prost::alloc::vec::Vec<ExtensionItem>,
#[prost(message, repeated, tag = "7")]
pub binaries: ::prost::alloc::vec::Vec<ExtensionBinary>,
#[prost(message, repeated, tag = "8")]
pub permission_denied_items: ::prost::alloc::vec::Vec<ExtensionItem>,
#[prost(message, optional, tag = "9")]
pub is_testing: ::core::option::Option<bool>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Extension {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub image: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub dark_mode_image: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub revisions: ::prost::alloc::vec::Vec<ExtensionRevision>,
#[prost(message, optional, tag = "6")]
pub is_hidden: ::core::option::Option<bool>,
#[prost(string, repeated, tag = "7")]
pub integrations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "8")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "9")]
pub permission_denied_revisions: ::prost::alloc::vec::Vec<ExtensionRevision>,
#[prost(message, repeated, tag = "10")]
pub changelog: ::prost::alloc::vec::Vec<ChangelogEntry>,
#[prost(message, optional, tag = "11")]
pub deprecation: ::core::option::Option<Deprecation>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionData {
#[prost(message, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub excerpt: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub image: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub dark_mode_image: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "7")]
pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "8")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "9")]
pub items: ::prost::alloc::vec::Vec<ExtensionItemData>,
#[prost(message, repeated, tag = "10")]
pub integration_details: ::prost::alloc::vec::Vec<IntegrationDetail>,
#[prost(message, optional, tag = "11")]
pub is_hidden: ::core::option::Option<bool>,
#[prost(message, repeated, tag = "12")]
pub binaries: ::prost::alloc::vec::Vec<ExtensionBinary>,
#[prost(string, repeated, tag = "13")]
pub integrations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "14")]
pub keywords: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "15")]
pub changelog: ::prost::alloc::vec::Vec<ChangelogEntry>,
#[prost(message, optional, tag = "16")]
pub deprecation: ::core::option::Option<Deprecation>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtensionItemData {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "TargetDomain", tag = "3")]
pub target_domain: i32,
#[prost(message, optional, tag = "4")]
pub data: ::core::option::Option<::prost_wkt_types::Struct>,
#[prost(message, repeated, tag = "5")]
pub binaries: ::prost::alloc::vec::Vec<ExtensionItemBinary>,
#[prost(message, optional, tag = "6")]
pub is_mandatory: ::core::option::Option<bool>,
#[prost(message, optional, tag = "7")]
pub internal_id: ::core::option::Option<i32>,
#[prost(message, optional, tag = "8")]
pub unique_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "extension_item::PermissionResource", tag = "9")]
pub permission_resource: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TargetDomain {
Action = 0,
Alert = 1,
Enrichment = 2,
GrafanaDashboard = 3,
KibanaDashboard = 4,
ParsingRule = 6,
SavedView = 7,
CxCustomDashboard = 8,
MetricsRuleGroup = 9,
EventsToMetrics = 10,
AlertV3 = 11,
}
impl TargetDomain {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Action => "ACTION",
Self::Alert => "ALERT",
Self::Enrichment => "ENRICHMENT",
Self::GrafanaDashboard => "GRAFANA_DASHBOARD",
Self::KibanaDashboard => "KIBANA_DASHBOARD",
Self::ParsingRule => "PARSING_RULE",
Self::SavedView => "SAVED_VIEW",
Self::CxCustomDashboard => "CX_CUSTOM_DASHBOARD",
Self::MetricsRuleGroup => "METRICS_RULE_GROUP",
Self::EventsToMetrics => "EVENTS_TO_METRICS",
Self::AlertV3 => "ALERT_V3",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACTION" => Some(Self::Action),
"ALERT" => Some(Self::Alert),
"ENRICHMENT" => Some(Self::Enrichment),
"GRAFANA_DASHBOARD" => Some(Self::GrafanaDashboard),
"KIBANA_DASHBOARD" => Some(Self::KibanaDashboard),
"PARSING_RULE" => Some(Self::ParsingRule),
"SAVED_VIEW" => Some(Self::SavedView),
"CX_CUSTOM_DASHBOARD" => Some(Self::CxCustomDashboard),
"METRICS_RULE_GROUP" => Some(Self::MetricsRuleGroup),
"EVENTS_TO_METRICS" => Some(Self::EventsToMetrics),
"ALERT_V3" => Some(Self::AlertV3),
_ => None,
}
}
}