// This file is generated by rust-protobuf 3.3.0. Do not edit
// .proto file is parsed by protoc --rust-out=...
// @generated

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]

//! Generated file from `shared/sp_shared.proto`

/// Generated files are compatible only with the same version
/// of protobuf runtime.
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_3_0;

///  KVAction is a shared type that is used for protos.KVCommand and protos.KVStep.
///  Note that only a subset of actions are used for protos.KVCommand (CREATE,
///  UPDATE, DELETE, DELETE_ALL) while protos.KVStep uses most of them.
///
///  protolint:disable:next ENUM_FIELD_NAMES_PREFIX
#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
// @@protoc_insertion_point(enum:protos.shared.KVAction)
pub enum KVAction {
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_UNSET)
    KV_ACTION_UNSET = 0,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_GET)
    KV_ACTION_GET = 1,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_CREATE)
    KV_ACTION_CREATE = 2,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_UPDATE)
    KV_ACTION_UPDATE = 3,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_EXISTS)
    KV_ACTION_EXISTS = 4,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_DELETE)
    KV_ACTION_DELETE = 5,
    // @@protoc_insertion_point(enum_value:protos.shared.KVAction.KV_ACTION_DELETE_ALL)
    KV_ACTION_DELETE_ALL = 6,
}

impl ::protobuf::Enum for KVAction {
    const NAME: &'static str = "KVAction";

    fn value(&self) -> i32 {
        *self as i32
    }

    fn from_i32(value: i32) -> ::std::option::Option<KVAction> {
        match value {
            0 => ::std::option::Option::Some(KVAction::KV_ACTION_UNSET),
            1 => ::std::option::Option::Some(KVAction::KV_ACTION_GET),
            2 => ::std::option::Option::Some(KVAction::KV_ACTION_CREATE),
            3 => ::std::option::Option::Some(KVAction::KV_ACTION_UPDATE),
            4 => ::std::option::Option::Some(KVAction::KV_ACTION_EXISTS),
            5 => ::std::option::Option::Some(KVAction::KV_ACTION_DELETE),
            6 => ::std::option::Option::Some(KVAction::KV_ACTION_DELETE_ALL),
            _ => ::std::option::Option::None
        }
    }

    fn from_str(str: &str) -> ::std::option::Option<KVAction> {
        match str {
            "KV_ACTION_UNSET" => ::std::option::Option::Some(KVAction::KV_ACTION_UNSET),
            "KV_ACTION_GET" => ::std::option::Option::Some(KVAction::KV_ACTION_GET),
            "KV_ACTION_CREATE" => ::std::option::Option::Some(KVAction::KV_ACTION_CREATE),
            "KV_ACTION_UPDATE" => ::std::option::Option::Some(KVAction::KV_ACTION_UPDATE),
            "KV_ACTION_EXISTS" => ::std::option::Option::Some(KVAction::KV_ACTION_EXISTS),
            "KV_ACTION_DELETE" => ::std::option::Option::Some(KVAction::KV_ACTION_DELETE),
            "KV_ACTION_DELETE_ALL" => ::std::option::Option::Some(KVAction::KV_ACTION_DELETE_ALL),
            _ => ::std::option::Option::None
        }
    }

    const VALUES: &'static [KVAction] = &[
        KVAction::KV_ACTION_UNSET,
        KVAction::KV_ACTION_GET,
        KVAction::KV_ACTION_CREATE,
        KVAction::KV_ACTION_UPDATE,
        KVAction::KV_ACTION_EXISTS,
        KVAction::KV_ACTION_DELETE,
        KVAction::KV_ACTION_DELETE_ALL,
    ];
}

impl ::protobuf::EnumFull for KVAction {
    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
        descriptor.get(|| file_descriptor().enum_by_package_relative_name("KVAction").unwrap()).clone()
    }

    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
        let index = *self as usize;
        Self::enum_descriptor().value_by_index(index)
    }
}

impl ::std::default::Default for KVAction {
    fn default() -> Self {
        KVAction::KV_ACTION_UNSET
    }
}

impl KVAction {
    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<KVAction>("KVAction")
    }
}

static file_descriptor_proto_data: &'static [u8] = b"\
    \n\x16shared/sp_shared.proto\x12\rprotos.shared*\xa4\x01\n\x08KVAction\
    \x12\x13\n\x0fKV_ACTION_UNSET\x10\0\x12\x11\n\rKV_ACTION_GET\x10\x01\x12\
    \x14\n\x10KV_ACTION_CREATE\x10\x02\x12\x14\n\x10KV_ACTION_UPDATE\x10\x03\
    \x12\x14\n\x10KV_ACTION_EXISTS\x10\x04\x12\x14\n\x10KV_ACTION_DELETE\x10\
    \x05\x12\x18\n\x14KV_ACTION_DELETE_ALL\x10\x06B4Z2github.com/streamdal/p\
    rotos/build/go/protos/sharedJ\xc8\x05\n\x06\x12\x04\x01\0\x14\x01\nT\n\
    \x01\x0c\x12\x03\x01\0\x12\x1aJ\x20This\x20has\x20to\x20be\x20a\x20separ\
    ate\x20pkg\x20to\x20avoid\x20circular\x20import\x20problems\x20with\x20G\
    o.\n\n\x08\n\x01\x02\x12\x03\x03\0\x16\n\x08\n\x01\x08\x12\x03\x05\0I\n\
    \t\n\x02\x08\x0b\x12\x03\x05\0I\n\x9d\x02\n\x02\x05\0\x12\x04\x0c\0\x14\
    \x01\x1a\x90\x02\x20KVAction\x20is\x20a\x20shared\x20type\x20that\x20is\
    \x20used\x20for\x20protos.KVCommand\x20and\x20protos.KVStep.\n\x20Note\
    \x20that\x20only\x20a\x20subset\x20of\x20actions\x20are\x20used\x20for\
    \x20protos.KVCommand\x20(CREATE,\n\x20UPDATE,\x20DELETE,\x20DELETE_ALL)\
    \x20while\x20protos.KVStep\x20uses\x20most\x20of\x20them.\n\n\x20protoli\
    nt:disable:next\x20ENUM_FIELD_NAMES_PREFIX\n\n\n\n\x03\x05\0\x01\x12\x03\
    \x0c\x05\r\n\x0b\n\x04\x05\0\x02\0\x12\x03\r\x02\x16\n\x0c\n\x05\x05\0\
    \x02\0\x01\x12\x03\r\x02\x11\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\r\x14\
    \x15\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x0e\x02\x14\n\x0c\n\x05\x05\0\x02\
    \x01\x01\x12\x03\x0e\x02\x0f\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x0e\
    \x12\x13\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x0f\x02\x17\n\x0c\n\x05\x05\0\
    \x02\x02\x01\x12\x03\x0f\x02\x12\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\
    \x0f\x15\x16\n\x0b\n\x04\x05\0\x02\x03\x12\x03\x10\x02\x17\n\x0c\n\x05\
    \x05\0\x02\x03\x01\x12\x03\x10\x02\x12\n\x0c\n\x05\x05\0\x02\x03\x02\x12\
    \x03\x10\x15\x16\n\x0b\n\x04\x05\0\x02\x04\x12\x03\x11\x02\x17\n\x0c\n\
    \x05\x05\0\x02\x04\x01\x12\x03\x11\x02\x12\n\x0c\n\x05\x05\0\x02\x04\x02\
    \x12\x03\x11\x15\x16\n\x0b\n\x04\x05\0\x02\x05\x12\x03\x12\x02\x17\n\x0c\
    \n\x05\x05\0\x02\x05\x01\x12\x03\x12\x02\x12\n\x0c\n\x05\x05\0\x02\x05\
    \x02\x12\x03\x12\x15\x16\n\x0b\n\x04\x05\0\x02\x06\x12\x03\x13\x02\x1b\n\
    \x0c\n\x05\x05\0\x02\x06\x01\x12\x03\x13\x02\x16\n\x0c\n\x05\x05\0\x02\
    \x06\x02\x12\x03\x13\x19\x1ab\x06proto3\
";

/// `FileDescriptorProto` object which was a source for this generated file
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
    file_descriptor_proto_lazy.get(|| {
        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
    })
}

/// `FileDescriptor` object which allows dynamic access to files
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
    file_descriptor.get(|| {
        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
            let mut deps = ::std::vec::Vec::with_capacity(0);
            let mut messages = ::std::vec::Vec::with_capacity(0);
            let mut enums = ::std::vec::Vec::with_capacity(1);
            enums.push(KVAction::generated_enum_descriptor_data());
            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
                file_descriptor_proto(),
                deps,
                messages,
                enums,
            )
        });
        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
    })
}
