#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkConfig {
#[prost(string, tag = "1")]
pub network: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip_allocation: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Version {
#[prost(string, tag = "1")]
pub version_number: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub default_version: bool,
#[prost(string, repeated, tag = "3")]
pub available_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "version::Type", tag = "4")]
pub r#type: i32,
}
pub mod version {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Type {
Unspecified = 0,
Preview = 1,
GeneralAvailability = 2,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TYPE_UNSPECIFIED",
Self::Preview => "TYPE_PREVIEW",
Self::GeneralAvailability => "TYPE_GENERAL_AVAILABILITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"TYPE_PREVIEW" => Some(Self::Preview),
"TYPE_GENERAL_AVAILABILITY" => Some(Self::GeneralAvailability),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Accelerator {
#[prost(enumeration = "accelerator::AcceleratorType", tag = "1")]
pub accelerator_type: i32,
#[prost(enumeration = "accelerator::State", tag = "2")]
pub state: i32,
}
pub mod accelerator {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum AcceleratorType {
Unspecified = 0,
Cdc = 1,
Healthcare = 2,
CcaiInsights = 3,
}
impl AcceleratorType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ACCELERATOR_TYPE_UNSPECIFIED",
Self::Cdc => "CDC",
Self::Healthcare => "HEALTHCARE",
Self::CcaiInsights => "CCAI_INSIGHTS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACCELERATOR_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"CDC" => Some(Self::Cdc),
"HEALTHCARE" => Some(Self::Healthcare),
"CCAI_INSIGHTS" => Some(Self::CcaiInsights),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Enabled = 1,
Disabled = 2,
Unknown = 3,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Enabled => "ENABLED",
Self::Disabled => "DISABLED",
Self::Unknown => "UNKNOWN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"ENABLED" => Some(Self::Enabled),
"DISABLED" => Some(Self::Disabled),
"UNKNOWN" => Some(Self::Unknown),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CryptoKeyConfig {
#[prost(string, tag = "1")]
pub key_reference: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Instance {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(enumeration = "instance::Type", tag = "3")]
pub r#type: i32,
#[prost(bool, tag = "4")]
pub enable_stackdriver_logging: bool,
#[prost(bool, tag = "5")]
pub enable_stackdriver_monitoring: bool,
#[prost(bool, tag = "6")]
pub private_instance: bool,
#[prost(message, optional, tag = "7")]
pub network_config: ::core::option::Option<NetworkConfig>,
#[prost(map = "string, string", tag = "8")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "9")]
pub options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "10")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(enumeration = "instance::State", tag = "12")]
pub state: i32,
#[prost(string, tag = "13")]
pub state_message: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub service_endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub zone: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub service_account: ::prost::alloc::string::String,
#[prost(string, tag = "18")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "19")]
pub available_version: ::prost::alloc::vec::Vec<Version>,
#[prost(string, tag = "20")]
pub api_endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "21")]
pub gcs_bucket: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "22")]
pub accelerators: ::prost::alloc::vec::Vec<Accelerator>,
#[prost(string, tag = "23")]
pub p4_service_account: ::prost::alloc::string::String,
#[prost(string, tag = "24")]
pub tenant_project_id: ::prost::alloc::string::String,
#[prost(string, tag = "25")]
pub dataproc_service_account: ::prost::alloc::string::String,
#[prost(bool, tag = "27")]
pub enable_rbac: bool,
#[prost(message, optional, tag = "28")]
pub crypto_key_config: ::core::option::Option<CryptoKeyConfig>,
#[prost(enumeration = "instance::DisabledReason", repeated, tag = "29")]
pub disabled_reason: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "30")]
pub event_publish_config: ::core::option::Option<EventPublishConfig>,
#[prost(bool, tag = "31")]
pub enable_zone_separation: bool,
}
pub mod instance {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Type {
Unspecified = 0,
Basic = 1,
Enterprise = 2,
Developer = 3,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TYPE_UNSPECIFIED",
Self::Basic => "BASIC",
Self::Enterprise => "ENTERPRISE",
Self::Developer => "DEVELOPER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"BASIC" => Some(Self::Basic),
"ENTERPRISE" => Some(Self::Enterprise),
"DEVELOPER" => Some(Self::Developer),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Creating = 1,
Active = 2,
Failed = 3,
Deleting = 4,
Upgrading = 5,
Restarting = 6,
Updating = 7,
AutoUpdating = 8,
AutoUpgrading = 9,
Disabled = 10,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Creating => "CREATING",
Self::Active => "ACTIVE",
Self::Failed => "FAILED",
Self::Deleting => "DELETING",
Self::Upgrading => "UPGRADING",
Self::Restarting => "RESTARTING",
Self::Updating => "UPDATING",
Self::AutoUpdating => "AUTO_UPDATING",
Self::AutoUpgrading => "AUTO_UPGRADING",
Self::Disabled => "DISABLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"CREATING" => Some(Self::Creating),
"ACTIVE" => Some(Self::Active),
"FAILED" => Some(Self::Failed),
"DELETING" => Some(Self::Deleting),
"UPGRADING" => Some(Self::Upgrading),
"RESTARTING" => Some(Self::Restarting),
"UPDATING" => Some(Self::Updating),
"AUTO_UPDATING" => Some(Self::AutoUpdating),
"AUTO_UPGRADING" => Some(Self::AutoUpgrading),
"DISABLED" => Some(Self::Disabled),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum DisabledReason {
Unspecified = 0,
KmsKeyIssue = 1,
}
impl DisabledReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DISABLED_REASON_UNSPECIFIED",
Self::KmsKeyIssue => "KMS_KEY_ISSUE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DISABLED_REASON_UNSPECIFIED" => Some(Self::Unspecified),
"KMS_KEY_ISSUE" => Some(Self::KmsKeyIssue),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventPublishConfig {
#[prost(bool, tag = "1")]
pub enabled: bool,
#[prost(string, tag = "2")]
pub topic: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DnsPeering {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub domain: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub target_project: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub target_network: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InstanceEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Instance>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DnsPeeringEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<DnsPeering>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InstanceCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<InstanceEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InstanceDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<InstanceEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InstanceUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<InstanceEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DnsPeeringCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DnsPeeringEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DnsPeeringDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DnsPeeringEventData>,
}