#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSIDriver {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag = "2")]
pub spec: ::core::option::Option<CSIDriverSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSIDriverList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<CSIDriver>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSIDriverSpec {
#[prost(bool, optional, tag = "1")]
pub attach_required: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "2")]
pub pod_info_on_mount: ::core::option::Option<bool>,
#[prost(string, repeated, tag = "3")]
pub volume_lifecycle_modes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "4")]
pub storage_capacity: ::core::option::Option<bool>,
#[prost(string, optional, tag = "5")]
pub fs_group_policy: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "6")]
pub token_requests: ::prost::alloc::vec::Vec<TokenRequest>,
#[prost(bool, optional, tag = "7")]
pub requires_republish: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "8")]
pub se_linux_mount: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSINode {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag = "2")]
pub spec: ::core::option::Option<CSINodeSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSINodeDriver {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub node_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub topology_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub allocatable: ::core::option::Option<VolumeNodeResources>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSINodeList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<CSINode>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSINodeSpec {
#[prost(message, repeated, tag = "1")]
pub drivers: ::prost::alloc::vec::Vec<CSINodeDriver>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSIStorageCapacity {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag = "2")]
pub node_topology:
::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::LabelSelector>,
#[prost(string, optional, tag = "3")]
pub storage_class_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub capacity: ::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
#[prost(message, optional, tag = "5")]
pub maximum_volume_size:
::core::option::Option<super::super::super::apimachinery::pkg::api::resource::Quantity>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CSIStorageCapacityList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<CSIStorageCapacity>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StorageClass {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(string, optional, tag = "2")]
pub provisioner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(btree_map = "string, string", tag = "3")]
pub parameters:
::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub reclaim_policy: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub mount_options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "6")]
pub allow_volume_expansion: ::core::option::Option<bool>,
#[prost(string, optional, tag = "7")]
pub volume_binding_mode: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "8")]
pub allowed_topologies: ::prost::alloc::vec::Vec<super::super::core::v1::TopologySelectorTerm>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StorageClassList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<StorageClass>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenRequest {
#[prost(string, optional, tag = "1")]
pub audience: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag = "2")]
pub expiration_seconds: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeAttachment {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ObjectMeta>,
#[prost(message, optional, tag = "2")]
pub spec: ::core::option::Option<VolumeAttachmentSpec>,
#[prost(message, optional, tag = "3")]
pub status: ::core::option::Option<VolumeAttachmentStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeAttachmentList {
#[prost(message, optional, tag = "1")]
pub metadata: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::ListMeta>,
#[prost(message, repeated, tag = "2")]
pub items: ::prost::alloc::vec::Vec<VolumeAttachment>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeAttachmentSource {
#[prost(string, optional, tag = "1")]
pub persistent_volume_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub inline_volume_spec: ::core::option::Option<super::super::core::v1::PersistentVolumeSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeAttachmentSpec {
#[prost(string, optional, tag = "1")]
pub attacher: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub source: ::core::option::Option<VolumeAttachmentSource>,
#[prost(string, optional, tag = "3")]
pub node_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeAttachmentStatus {
#[prost(bool, optional, tag = "1")]
pub attached: ::core::option::Option<bool>,
#[prost(btree_map = "string, string", tag = "2")]
pub attachment_metadata:
::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub attach_error: ::core::option::Option<VolumeError>,
#[prost(message, optional, tag = "4")]
pub detach_error: ::core::option::Option<VolumeError>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeError {
#[prost(message, optional, tag = "1")]
pub time: ::core::option::Option<super::super::super::apimachinery::pkg::apis::meta::v1::Time>,
#[prost(string, optional, tag = "2")]
pub message: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VolumeNodeResources {
#[prost(int32, optional, tag = "1")]
pub count: ::core::option::Option<i32>,
}
impl crate::Resource for CSIDriver {
const API_VERSION: &'static str = "storage.k8s.io/v1";
const GROUP: &'static str = "storage.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "CSIDriver";
const URL_PATH_SEGMENT: &'static str = "csidrivers";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for CSIDriver {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for CSIDriver {
type Spec = crate::api::storage::v1::CSIDriverSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::Resource for CSINode {
const API_VERSION: &'static str = "storage.k8s.io/v1";
const GROUP: &'static str = "storage.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "CSINode";
const URL_PATH_SEGMENT: &'static str = "csinodes";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for CSINode {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for CSINode {
type Spec = crate::api::storage::v1::CSINodeSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::Resource for CSIStorageCapacity {
const API_VERSION: &'static str = "storage.k8s.io/v1";
const GROUP: &'static str = "storage.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "CSIStorageCapacity";
const URL_PATH_SEGMENT: &'static str = "csistoragecapacities";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for CSIStorageCapacity {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}
impl crate::Resource for StorageClass {
const API_VERSION: &'static str = "storage.k8s.io/v1";
const GROUP: &'static str = "storage.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "StorageClass";
const URL_PATH_SEGMENT: &'static str = "storageclasses";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for StorageClass {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}
impl crate::Resource for VolumeAttachment {
const API_VERSION: &'static str = "storage.k8s.io/v1";
const GROUP: &'static str = "storage.k8s.io";
const VERSION: &'static str = "v1";
const KIND: &'static str = "VolumeAttachment";
const URL_PATH_SEGMENT: &'static str = "volumeattachments";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for VolumeAttachment {
type Ty = crate::apimachinery::pkg::apis::meta::v1::ObjectMeta;
fn metadata(&self) -> Option<&<Self as crate::Metadata>::Ty> {
self.metadata.as_ref()
}
fn metadata_mut(&mut self) -> Option<&mut <Self as crate::Metadata>::Ty> {
self.metadata.as_mut()
}
}
impl crate::HasSpec for VolumeAttachment {
type Spec = crate::api::storage::v1::VolumeAttachmentSpec;
fn spec(&self) -> Option<&<Self as crate::HasSpec>::Spec> {
self.spec.as_ref()
}
fn spec_mut(&mut self) -> Option<&mut <Self as crate::HasSpec>::Spec> {
self.spec.as_mut()
}
}
impl crate::HasStatus for VolumeAttachment {
type Status = crate::api::storage::v1::VolumeAttachmentStatus;
fn status(&self) -> Option<&<Self as crate::HasStatus>::Status> {
self.status.as_ref()
}
fn status_mut(&mut self) -> Option<&mut <Self as crate::HasStatus>::Status> {
self.status.as_mut()
}
}