#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryPipeline {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "5")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "6")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub condition: ::core::option::Option<PipelineCondition>,
#[prost(string, tag = "10")]
pub etag: ::prost::alloc::string::String,
#[prost(bool, tag = "12")]
pub suspended: bool,
#[prost(oneof = "delivery_pipeline::Pipeline", tags = "8")]
pub pipeline: ::core::option::Option<delivery_pipeline::Pipeline>,
}
pub mod delivery_pipeline {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Pipeline {
#[prost(message, tag = "8")]
SerialPipeline(super::SerialPipeline),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SerialPipeline {
#[prost(message, repeated, tag = "1")]
pub stages: ::prost::alloc::vec::Vec<Stage>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Stage {
#[prost(string, tag = "1")]
pub target_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub profiles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub strategy: ::core::option::Option<Strategy>,
#[prost(message, repeated, tag = "6")]
pub deploy_parameters: ::prost::alloc::vec::Vec<DeployParameters>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployParameters {
#[prost(map = "string, string", tag = "1")]
pub values: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "2")]
pub match_target_labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Strategy {
#[prost(oneof = "strategy::DeploymentStrategy", tags = "1, 2")]
pub deployment_strategy: ::core::option::Option<strategy::DeploymentStrategy>,
}
pub mod strategy {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum DeploymentStrategy {
#[prost(message, tag = "1")]
Standard(super::Standard),
#[prost(message, tag = "2")]
Canary(super::Canary),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Predeploy {
#[prost(string, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Postdeploy {
#[prost(string, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Standard {
#[prost(bool, tag = "1")]
pub verify: bool,
#[prost(message, optional, tag = "2")]
pub predeploy: ::core::option::Option<Predeploy>,
#[prost(message, optional, tag = "3")]
pub postdeploy: ::core::option::Option<Postdeploy>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Canary {
#[prost(message, optional, tag = "1")]
pub runtime_config: ::core::option::Option<RuntimeConfig>,
#[prost(oneof = "canary::Mode", tags = "2, 3")]
pub mode: ::core::option::Option<canary::Mode>,
}
pub mod canary {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Mode {
#[prost(message, tag = "2")]
CanaryDeployment(super::CanaryDeployment),
#[prost(message, tag = "3")]
CustomCanaryDeployment(super::CustomCanaryDeployment),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CanaryDeployment {
#[prost(int32, repeated, tag = "1")]
pub percentages: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, tag = "2")]
pub verify: bool,
#[prost(message, optional, tag = "3")]
pub predeploy: ::core::option::Option<Predeploy>,
#[prost(message, optional, tag = "4")]
pub postdeploy: ::core::option::Option<Postdeploy>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomCanaryDeployment {
#[prost(message, repeated, tag = "1")]
pub phase_configs: ::prost::alloc::vec::Vec<custom_canary_deployment::PhaseConfig>,
}
pub mod custom_canary_deployment {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PhaseConfig {
#[prost(string, tag = "1")]
pub phase_id: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub percentage: i32,
#[prost(string, repeated, tag = "3")]
pub profiles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub verify: bool,
#[prost(message, optional, tag = "5")]
pub predeploy: ::core::option::Option<super::Predeploy>,
#[prost(message, optional, tag = "6")]
pub postdeploy: ::core::option::Option<super::Postdeploy>,
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KubernetesConfig {
#[prost(oneof = "kubernetes_config::ServiceDefinition", tags = "1, 2")]
pub service_definition: ::core::option::Option<kubernetes_config::ServiceDefinition>,
}
pub mod kubernetes_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GatewayServiceMesh {
#[prost(string, tag = "1")]
pub http_route: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub service: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub deployment: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub route_update_wait_time: ::core::option::Option<::pbjson_types::Duration>,
#[prost(message, optional, tag = "5")]
pub stable_cutback_duration: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceNetworking {
#[prost(string, tag = "1")]
pub service: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub deployment: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub disable_pod_overprovisioning: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ServiceDefinition {
#[prost(message, tag = "1")]
GatewayServiceMesh(GatewayServiceMesh),
#[prost(message, tag = "2")]
ServiceNetworking(ServiceNetworking),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CloudRunConfig {
#[prost(bool, tag = "1")]
pub automatic_traffic_control: bool,
#[prost(string, repeated, tag = "2")]
pub canary_revision_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub prior_revision_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub stable_revision_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RuntimeConfig {
#[prost(oneof = "runtime_config::RuntimeConfig", tags = "1, 2")]
pub runtime_config: ::core::option::Option<runtime_config::RuntimeConfig>,
}
pub mod runtime_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum RuntimeConfig {
#[prost(message, tag = "1")]
Kubernetes(super::KubernetesConfig),
#[prost(message, tag = "2")]
CloudRun(super::CloudRunConfig),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PipelineReadyCondition {
#[prost(bool, tag = "3")]
pub status: bool,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetsPresentCondition {
#[prost(bool, tag = "1")]
pub status: bool,
#[prost(string, repeated, tag = "2")]
pub missing_targets: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetsTypeCondition {
#[prost(bool, tag = "1")]
pub status: bool,
#[prost(string, tag = "2")]
pub error_details: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PipelineCondition {
#[prost(message, optional, tag = "1")]
pub pipeline_ready_condition: ::core::option::Option<PipelineReadyCondition>,
#[prost(message, optional, tag = "3")]
pub targets_present_condition: ::core::option::Option<TargetsPresentCondition>,
#[prost(message, optional, tag = "4")]
pub targets_type_condition: ::core::option::Option<TargetsTypeCondition>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Target {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub target_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub description: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "5")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "6")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, tag = "13")]
pub require_approval: bool,
#[prost(message, optional, tag = "8")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "9")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "12")]
pub etag: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "16")]
pub execution_configs: ::prost::alloc::vec::Vec<ExecutionConfig>,
#[prost(map = "string, string", tag = "20")]
pub deploy_parameters: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(oneof = "target::DeploymentTarget", tags = "15, 17, 18, 19, 21")]
pub deployment_target: ::core::option::Option<target::DeploymentTarget>,
}
pub mod target {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum DeploymentTarget {
#[prost(message, tag = "15")]
Gke(super::GkeCluster),
#[prost(message, tag = "17")]
AnthosCluster(super::AnthosCluster),
#[prost(message, tag = "18")]
Run(super::CloudRunLocation),
#[prost(message, tag = "19")]
MultiTarget(super::MultiTarget),
#[prost(message, tag = "21")]
CustomTarget(super::CustomTarget),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecutionConfig {
#[prost(
enumeration = "execution_config::ExecutionEnvironmentUsage",
repeated,
tag = "1"
)]
pub usages: ::prost::alloc::vec::Vec<i32>,
#[prost(string, tag = "4")]
pub worker_pool: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub service_account: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub artifact_storage: ::prost::alloc::string::String,
#[prost(message, optional, tag = "7")]
pub execution_timeout: ::core::option::Option<::pbjson_types::Duration>,
#[prost(oneof = "execution_config::ExecutionEnvironment", tags = "2, 3")]
pub execution_environment: ::core::option::Option<
execution_config::ExecutionEnvironment,
>,
}
pub mod execution_config {
#[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 ExecutionEnvironmentUsage {
Unspecified = 0,
Render = 1,
Deploy = 2,
Verify = 3,
Predeploy = 4,
Postdeploy = 5,
}
impl ExecutionEnvironmentUsage {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED",
Self::Render => "RENDER",
Self::Deploy => "DEPLOY",
Self::Verify => "VERIFY",
Self::Predeploy => "PREDEPLOY",
Self::Postdeploy => "POSTDEPLOY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED" => Some(Self::Unspecified),
"RENDER" => Some(Self::Render),
"DEPLOY" => Some(Self::Deploy),
"VERIFY" => Some(Self::Verify),
"PREDEPLOY" => Some(Self::Predeploy),
"POSTDEPLOY" => Some(Self::Postdeploy),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ExecutionEnvironment {
#[prost(message, tag = "2")]
DefaultPool(super::DefaultPool),
#[prost(message, tag = "3")]
PrivatePool(super::PrivatePool),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DefaultPool {
#[prost(string, tag = "1")]
pub service_account: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub artifact_storage: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivatePool {
#[prost(string, tag = "1")]
pub worker_pool: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub service_account: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub artifact_storage: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GkeCluster {
#[prost(string, tag = "1")]
pub cluster: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub internal_ip: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnthosCluster {
#[prost(string, tag = "1")]
pub membership: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CloudRunLocation {
#[prost(string, tag = "1")]
pub location: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiTarget {
#[prost(string, repeated, tag = "1")]
pub target_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTarget {
#[prost(string, tag = "1")]
pub custom_target_type: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub custom_target_type_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub description: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "5")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "6")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "7")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "9")]
pub etag: ::prost::alloc::string::String,
#[prost(oneof = "custom_target_type::Definition", tags = "10")]
pub definition: ::core::option::Option<custom_target_type::Definition>,
}
pub mod custom_target_type {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Definition {
#[prost(message, tag = "10")]
CustomActions(super::CustomTargetSkaffoldActions),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetSkaffoldActions {
#[prost(string, tag = "1")]
pub render_action: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub deploy_action: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub include_skaffold_modules: ::prost::alloc::vec::Vec<SkaffoldModules>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkaffoldModules {
#[prost(string, repeated, tag = "1")]
pub configs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(oneof = "skaffold_modules::Source", tags = "2, 3")]
pub source: ::core::option::Option<skaffold_modules::Source>,
}
pub mod skaffold_modules {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkaffoldGitSource {
#[prost(string, tag = "1")]
pub repo: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub r#ref: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkaffoldGcsSource {
#[prost(string, tag = "1")]
pub source: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "2")]
Git(SkaffoldGitSource),
#[prost(message, tag = "3")]
GoogleCloudStorage(SkaffoldGcsSource),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetAttribute {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Release {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "5")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(bool, tag = "23")]
pub abandoned: bool,
#[prost(message, optional, tag = "6")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub render_start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub render_end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "17")]
pub skaffold_config_uri: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub skaffold_config_path: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "10")]
pub build_artifacts: ::prost::alloc::vec::Vec<BuildArtifact>,
#[prost(message, optional, tag = "11")]
pub delivery_pipeline_snapshot: ::core::option::Option<DeliveryPipeline>,
#[prost(message, repeated, tag = "12")]
pub target_snapshots: ::prost::alloc::vec::Vec<Target>,
#[prost(message, repeated, tag = "27")]
pub custom_target_type_snapshots: ::prost::alloc::vec::Vec<CustomTargetType>,
#[prost(enumeration = "release::RenderState", tag = "13")]
pub render_state: i32,
#[prost(string, tag = "16")]
pub etag: ::prost::alloc::string::String,
#[prost(string, tag = "19")]
pub skaffold_version: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "20")]
pub target_artifacts: ::std::collections::HashMap<
::prost::alloc::string::String,
TargetArtifact,
>,
#[prost(map = "string, message", tag = "22")]
pub target_renders: ::std::collections::HashMap<
::prost::alloc::string::String,
release::TargetRender,
>,
#[prost(message, optional, tag = "24")]
pub condition: ::core::option::Option<release::ReleaseCondition>,
#[prost(map = "string, string", tag = "25")]
pub deploy_parameters: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
pub mod release {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetRender {
#[prost(string, tag = "1")]
pub rendering_build: ::prost::alloc::string::String,
#[prost(enumeration = "target_render::TargetRenderState", tag = "2")]
pub rendering_state: i32,
#[prost(message, optional, tag = "6")]
pub metadata: ::core::option::Option<super::RenderMetadata>,
#[prost(enumeration = "target_render::FailureCause", tag = "4")]
pub failure_cause: i32,
#[prost(string, tag = "5")]
pub failure_message: ::prost::alloc::string::String,
}
pub mod target_render {
#[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 TargetRenderState {
Unspecified = 0,
Succeeded = 1,
Failed = 2,
InProgress = 3,
}
impl TargetRenderState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TARGET_RENDER_STATE_UNSPECIFIED",
Self::Succeeded => "SUCCEEDED",
Self::Failed => "FAILED",
Self::InProgress => "IN_PROGRESS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TARGET_RENDER_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"SUCCEEDED" => Some(Self::Succeeded),
"FAILED" => Some(Self::Failed),
"IN_PROGRESS" => Some(Self::InProgress),
_ => 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 FailureCause {
Unspecified = 0,
CloudBuildUnavailable = 1,
ExecutionFailed = 2,
CloudBuildRequestFailed = 3,
VerificationConfigNotFound = 4,
CustomActionNotFound = 5,
DeploymentStrategyNotSupported = 6,
RenderFeatureNotSupported = 7,
}
impl FailureCause {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FAILURE_CAUSE_UNSPECIFIED",
Self::CloudBuildUnavailable => "CLOUD_BUILD_UNAVAILABLE",
Self::ExecutionFailed => "EXECUTION_FAILED",
Self::CloudBuildRequestFailed => "CLOUD_BUILD_REQUEST_FAILED",
Self::VerificationConfigNotFound => "VERIFICATION_CONFIG_NOT_FOUND",
Self::CustomActionNotFound => "CUSTOM_ACTION_NOT_FOUND",
Self::DeploymentStrategyNotSupported => {
"DEPLOYMENT_STRATEGY_NOT_SUPPORTED"
}
Self::RenderFeatureNotSupported => "RENDER_FEATURE_NOT_SUPPORTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FAILURE_CAUSE_UNSPECIFIED" => Some(Self::Unspecified),
"CLOUD_BUILD_UNAVAILABLE" => Some(Self::CloudBuildUnavailable),
"EXECUTION_FAILED" => Some(Self::ExecutionFailed),
"CLOUD_BUILD_REQUEST_FAILED" => Some(Self::CloudBuildRequestFailed),
"VERIFICATION_CONFIG_NOT_FOUND" => {
Some(Self::VerificationConfigNotFound)
}
"CUSTOM_ACTION_NOT_FOUND" => Some(Self::CustomActionNotFound),
"DEPLOYMENT_STRATEGY_NOT_SUPPORTED" => {
Some(Self::DeploymentStrategyNotSupported)
}
"RENDER_FEATURE_NOT_SUPPORTED" => {
Some(Self::RenderFeatureNotSupported)
}
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReleaseReadyCondition {
#[prost(bool, tag = "1")]
pub status: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SkaffoldSupportedCondition {
#[prost(bool, tag = "1")]
pub status: bool,
#[prost(enumeration = "super::SkaffoldSupportState", tag = "2")]
pub skaffold_support_state: i32,
#[prost(message, optional, tag = "3")]
pub maintenance_mode_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub support_expiration_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReleaseCondition {
#[prost(message, optional, tag = "1")]
pub release_ready_condition: ::core::option::Option<ReleaseReadyCondition>,
#[prost(message, optional, tag = "2")]
pub skaffold_supported_condition: ::core::option::Option<
SkaffoldSupportedCondition,
>,
}
#[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 RenderState {
Unspecified = 0,
Succeeded = 1,
Failed = 2,
InProgress = 3,
}
impl RenderState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RENDER_STATE_UNSPECIFIED",
Self::Succeeded => "SUCCEEDED",
Self::Failed => "FAILED",
Self::InProgress => "IN_PROGRESS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RENDER_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"SUCCEEDED" => Some(Self::Succeeded),
"FAILED" => Some(Self::Failed),
"IN_PROGRESS" => Some(Self::InProgress),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuildArtifact {
#[prost(string, tag = "3")]
pub image: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub tag: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetArtifact {
#[prost(string, tag = "2")]
pub skaffold_config_path: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub manifest_path: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "5")]
pub phase_artifacts: ::std::collections::HashMap<
::prost::alloc::string::String,
target_artifact::PhaseArtifact,
>,
#[prost(oneof = "target_artifact::Uri", tags = "4")]
pub uri: ::core::option::Option<target_artifact::Uri>,
}
pub mod target_artifact {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PhaseArtifact {
#[prost(string, tag = "1")]
pub skaffold_config_path: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub manifest_path: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub job_manifests_path: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Uri {
#[prost(string, tag = "4")]
ArtifactUri(::prost::alloc::string::String),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CloudRunRenderMetadata {
#[prost(string, tag = "1")]
pub service: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RenderMetadata {
#[prost(message, optional, tag = "1")]
pub cloud_run: ::core::option::Option<CloudRunRenderMetadata>,
#[prost(message, optional, tag = "2")]
pub custom: ::core::option::Option<CustomMetadata>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Rollout {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "5")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "6")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub approve_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "8")]
pub enqueue_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "9")]
pub deploy_start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "10")]
pub deploy_end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "18")]
pub target_id: ::prost::alloc::string::String,
#[prost(enumeration = "rollout::ApprovalState", tag = "12")]
pub approval_state: i32,
#[prost(enumeration = "rollout::State", tag = "13")]
pub state: i32,
#[prost(string, tag = "14")]
pub failure_reason: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub deploying_build: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub etag: ::prost::alloc::string::String,
#[prost(enumeration = "rollout::FailureCause", tag = "19")]
pub deploy_failure_cause: i32,
#[prost(message, repeated, tag = "23")]
pub phases: ::prost::alloc::vec::Vec<Phase>,
#[prost(message, optional, tag = "24")]
pub metadata: ::core::option::Option<Metadata>,
#[prost(string, tag = "25")]
pub controller_rollout: ::prost::alloc::string::String,
#[prost(string, tag = "26")]
pub rollback_of_rollout: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "27")]
pub rolled_back_by_rollouts: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
}
pub mod rollout {
#[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 ApprovalState {
Unspecified = 0,
NeedsApproval = 1,
DoesNotNeedApproval = 2,
Approved = 3,
Rejected = 4,
}
impl ApprovalState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "APPROVAL_STATE_UNSPECIFIED",
Self::NeedsApproval => "NEEDS_APPROVAL",
Self::DoesNotNeedApproval => "DOES_NOT_NEED_APPROVAL",
Self::Approved => "APPROVED",
Self::Rejected => "REJECTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"APPROVAL_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"NEEDS_APPROVAL" => Some(Self::NeedsApproval),
"DOES_NOT_NEED_APPROVAL" => Some(Self::DoesNotNeedApproval),
"APPROVED" => Some(Self::Approved),
"REJECTED" => Some(Self::Rejected),
_ => 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,
Succeeded = 1,
Failed = 2,
InProgress = 3,
PendingApproval = 4,
ApprovalRejected = 5,
Pending = 6,
PendingRelease = 7,
Cancelling = 8,
Cancelled = 9,
Halted = 10,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Succeeded => "SUCCEEDED",
Self::Failed => "FAILED",
Self::InProgress => "IN_PROGRESS",
Self::PendingApproval => "PENDING_APPROVAL",
Self::ApprovalRejected => "APPROVAL_REJECTED",
Self::Pending => "PENDING",
Self::PendingRelease => "PENDING_RELEASE",
Self::Cancelling => "CANCELLING",
Self::Cancelled => "CANCELLED",
Self::Halted => "HALTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"SUCCEEDED" => Some(Self::Succeeded),
"FAILED" => Some(Self::Failed),
"IN_PROGRESS" => Some(Self::InProgress),
"PENDING_APPROVAL" => Some(Self::PendingApproval),
"APPROVAL_REJECTED" => Some(Self::ApprovalRejected),
"PENDING" => Some(Self::Pending),
"PENDING_RELEASE" => Some(Self::PendingRelease),
"CANCELLING" => Some(Self::Cancelling),
"CANCELLED" => Some(Self::Cancelled),
"HALTED" => Some(Self::Halted),
_ => 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 FailureCause {
Unspecified = 0,
CloudBuildUnavailable = 1,
ExecutionFailed = 2,
DeadlineExceeded = 3,
ReleaseFailed = 4,
ReleaseAbandoned = 5,
VerificationConfigNotFound = 6,
CloudBuildRequestFailed = 7,
OperationFeatureNotSupported = 8,
}
impl FailureCause {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FAILURE_CAUSE_UNSPECIFIED",
Self::CloudBuildUnavailable => "CLOUD_BUILD_UNAVAILABLE",
Self::ExecutionFailed => "EXECUTION_FAILED",
Self::DeadlineExceeded => "DEADLINE_EXCEEDED",
Self::ReleaseFailed => "RELEASE_FAILED",
Self::ReleaseAbandoned => "RELEASE_ABANDONED",
Self::VerificationConfigNotFound => "VERIFICATION_CONFIG_NOT_FOUND",
Self::CloudBuildRequestFailed => "CLOUD_BUILD_REQUEST_FAILED",
Self::OperationFeatureNotSupported => "OPERATION_FEATURE_NOT_SUPPORTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FAILURE_CAUSE_UNSPECIFIED" => Some(Self::Unspecified),
"CLOUD_BUILD_UNAVAILABLE" => Some(Self::CloudBuildUnavailable),
"EXECUTION_FAILED" => Some(Self::ExecutionFailed),
"DEADLINE_EXCEEDED" => Some(Self::DeadlineExceeded),
"RELEASE_FAILED" => Some(Self::ReleaseFailed),
"RELEASE_ABANDONED" => Some(Self::ReleaseAbandoned),
"VERIFICATION_CONFIG_NOT_FOUND" => Some(Self::VerificationConfigNotFound),
"CLOUD_BUILD_REQUEST_FAILED" => Some(Self::CloudBuildRequestFailed),
"OPERATION_FEATURE_NOT_SUPPORTED" => {
Some(Self::OperationFeatureNotSupported)
}
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metadata {
#[prost(message, optional, tag = "1")]
pub cloud_run: ::core::option::Option<CloudRunMetadata>,
#[prost(message, optional, tag = "2")]
pub automation: ::core::option::Option<AutomationRolloutMetadata>,
#[prost(message, optional, tag = "3")]
pub custom: ::core::option::Option<CustomMetadata>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CloudRunMetadata {
#[prost(string, tag = "1")]
pub service: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub service_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub revision: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub job: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationRolloutMetadata {
#[prost(string, tag = "1")]
pub promote_automation_run: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub advance_automation_runs: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
#[prost(string, repeated, tag = "3")]
pub repair_automation_runs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub current_repair_automation_run: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomMetadata {
#[prost(map = "string, string", tag = "1")]
pub values: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phase {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "phase::State", tag = "3")]
pub state: i32,
#[prost(string, tag = "6")]
pub skip_message: ::prost::alloc::string::String,
#[prost(oneof = "phase::Jobs", tags = "4, 5")]
pub jobs: ::core::option::Option<phase::Jobs>,
}
pub mod phase {
#[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,
Pending = 1,
InProgress = 2,
Succeeded = 3,
Failed = 4,
Aborted = 5,
Skipped = 6,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Pending => "PENDING",
Self::InProgress => "IN_PROGRESS",
Self::Succeeded => "SUCCEEDED",
Self::Failed => "FAILED",
Self::Aborted => "ABORTED",
Self::Skipped => "SKIPPED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"PENDING" => Some(Self::Pending),
"IN_PROGRESS" => Some(Self::InProgress),
"SUCCEEDED" => Some(Self::Succeeded),
"FAILED" => Some(Self::Failed),
"ABORTED" => Some(Self::Aborted),
"SKIPPED" => Some(Self::Skipped),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Jobs {
#[prost(message, tag = "4")]
DeploymentJobs(super::DeploymentJobs),
#[prost(message, tag = "5")]
ChildRolloutJobs(super::ChildRolloutJobs),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeploymentJobs {
#[prost(message, optional, tag = "1")]
pub deploy_job: ::core::option::Option<Job>,
#[prost(message, optional, tag = "2")]
pub verify_job: ::core::option::Option<Job>,
#[prost(message, optional, tag = "3")]
pub predeploy_job: ::core::option::Option<Job>,
#[prost(message, optional, tag = "4")]
pub postdeploy_job: ::core::option::Option<Job>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChildRolloutJobs {
#[prost(message, repeated, tag = "1")]
pub create_rollout_jobs: ::prost::alloc::vec::Vec<Job>,
#[prost(message, repeated, tag = "2")]
pub advance_rollout_jobs: ::prost::alloc::vec::Vec<Job>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Job {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "job::State", tag = "2")]
pub state: i32,
#[prost(string, tag = "8")]
pub skip_message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub job_run: ::prost::alloc::string::String,
#[prost(oneof = "job::JobType", tags = "4, 5, 9, 10, 6, 7")]
pub job_type: ::core::option::Option<job::JobType>,
}
pub mod job {
#[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,
Pending = 1,
Disabled = 2,
InProgress = 3,
Succeeded = 4,
Failed = 5,
Aborted = 6,
Skipped = 7,
Ignored = 8,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Pending => "PENDING",
Self::Disabled => "DISABLED",
Self::InProgress => "IN_PROGRESS",
Self::Succeeded => "SUCCEEDED",
Self::Failed => "FAILED",
Self::Aborted => "ABORTED",
Self::Skipped => "SKIPPED",
Self::Ignored => "IGNORED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"PENDING" => Some(Self::Pending),
"DISABLED" => Some(Self::Disabled),
"IN_PROGRESS" => Some(Self::InProgress),
"SUCCEEDED" => Some(Self::Succeeded),
"FAILED" => Some(Self::Failed),
"ABORTED" => Some(Self::Aborted),
"SKIPPED" => Some(Self::Skipped),
"IGNORED" => Some(Self::Ignored),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum JobType {
#[prost(message, tag = "4")]
DeployJob(super::DeployJob),
#[prost(message, tag = "5")]
VerifyJob(super::VerifyJob),
#[prost(message, tag = "9")]
PredeployJob(super::PredeployJob),
#[prost(message, tag = "10")]
PostdeployJob(super::PostdeployJob),
#[prost(message, tag = "6")]
CreateChildRolloutJob(super::CreateChildRolloutJob),
#[prost(message, tag = "7")]
AdvanceChildRolloutJob(super::AdvanceChildRolloutJob),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployJob {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VerifyJob {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PredeployJob {
#[prost(string, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostdeployJob {
#[prost(string, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CreateChildRolloutJob {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AdvanceChildRolloutJob {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Automation {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub uid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "5")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "6")]
pub annotations: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "7")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "8")]
pub etag: ::prost::alloc::string::String,
#[prost(bool, tag = "9")]
pub suspended: bool,
#[prost(string, tag = "10")]
pub service_account: ::prost::alloc::string::String,
#[prost(message, optional, tag = "11")]
pub selector: ::core::option::Option<AutomationResourceSelector>,
#[prost(message, repeated, tag = "14")]
pub rules: ::prost::alloc::vec::Vec<AutomationRule>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationResourceSelector {
#[prost(message, repeated, tag = "1")]
pub targets: ::prost::alloc::vec::Vec<TargetAttribute>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationRule {
#[prost(oneof = "automation_rule::Rule", tags = "1, 2, 3")]
pub rule: ::core::option::Option<automation_rule::Rule>,
}
pub mod automation_rule {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Rule {
#[prost(message, tag = "1")]
PromoteReleaseRule(super::PromoteReleaseRule),
#[prost(message, tag = "2")]
AdvanceRolloutRule(super::AdvanceRolloutRule),
#[prost(message, tag = "3")]
RepairRolloutRule(super::RepairRolloutRule),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteReleaseRule {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub wait: ::core::option::Option<::pbjson_types::Duration>,
#[prost(string, tag = "7")]
pub destination_target_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub condition: ::core::option::Option<AutomationRuleCondition>,
#[prost(string, tag = "8")]
pub destination_phase: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdvanceRolloutRule {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "6")]
pub source_phases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub wait: ::core::option::Option<::pbjson_types::Duration>,
#[prost(message, optional, tag = "5")]
pub condition: ::core::option::Option<AutomationRuleCondition>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RepairRolloutRule {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub source_phases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub jobs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub repair_modes: ::prost::alloc::vec::Vec<RepairMode>,
#[prost(message, optional, tag = "6")]
pub condition: ::core::option::Option<AutomationRuleCondition>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RepairMode {
#[prost(oneof = "repair_mode::Mode", tags = "1, 2")]
pub mode: ::core::option::Option<repair_mode::Mode>,
}
pub mod repair_mode {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Mode {
#[prost(message, tag = "1")]
Retry(super::Retry),
#[prost(message, tag = "2")]
Rollback(super::Rollback),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Retry {
#[prost(int64, tag = "1")]
pub attempts: i64,
#[prost(message, optional, tag = "2")]
pub wait: ::core::option::Option<::pbjson_types::Duration>,
#[prost(enumeration = "BackoffMode", tag = "3")]
pub backoff_mode: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Rollback {
#[prost(string, tag = "1")]
pub destination_phase: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationRuleCondition {
#[prost(message, optional, tag = "1")]
pub targets_present_condition: ::core::option::Option<TargetsPresentCondition>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryPipelineEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<DeliveryPipeline>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Target>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetTypeEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<CustomTargetType>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReleaseEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Release>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RolloutEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Rollout>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Automation>,
}
#[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 SkaffoldSupportState {
Unspecified = 0,
Supported = 1,
MaintenanceMode = 2,
Unsupported = 3,
}
impl SkaffoldSupportState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SKAFFOLD_SUPPORT_STATE_UNSPECIFIED",
Self::Supported => "SKAFFOLD_SUPPORT_STATE_SUPPORTED",
Self::MaintenanceMode => "SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE",
Self::Unsupported => "SKAFFOLD_SUPPORT_STATE_UNSUPPORTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SKAFFOLD_SUPPORT_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"SKAFFOLD_SUPPORT_STATE_SUPPORTED" => Some(Self::Supported),
"SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE" => Some(Self::MaintenanceMode),
"SKAFFOLD_SUPPORT_STATE_UNSUPPORTED" => Some(Self::Unsupported),
_ => 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 BackoffMode {
Unspecified = 0,
Linear = 1,
Exponential = 2,
}
impl BackoffMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "BACKOFF_MODE_UNSPECIFIED",
Self::Linear => "BACKOFF_MODE_LINEAR",
Self::Exponential => "BACKOFF_MODE_EXPONENTIAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BACKOFF_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"BACKOFF_MODE_LINEAR" => Some(Self::Linear),
"BACKOFF_MODE_EXPONENTIAL" => Some(Self::Exponential),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryPipelineCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DeliveryPipelineEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryPipelineUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DeliveryPipelineEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryPipelineDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<DeliveryPipelineEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<TargetEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<TargetEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TargetDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<TargetEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetTypeCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<CustomTargetTypeEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetTypeUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<CustomTargetTypeEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomTargetTypeDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<CustomTargetTypeEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReleaseCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<ReleaseEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RolloutCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<RolloutEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<AutomationEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<AutomationEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutomationDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<AutomationEventData>,
}