#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AllocationResult {
#[prost(message, optional, tag = "1")]
pub devices: ::core::option::Option<DeviceAllocationResult>,
#[prost(message, optional, tag = "3")]
pub node_selector: ::core::option::Option<super::super::core::v1::NodeSelector>,
#[prost(string, optional, tag = "4")]
pub controller: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BasicDevice {
#[prost(btree_map = "string, message", tag = "1")]
pub attributes: ::prost::alloc::collections::BTreeMap<::prost::alloc::string::String, DeviceAttribute>,
#[prost(btree_map = "string, message", tag = "2")]
pub capacity: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
super::super::super::apimachinery::pkg::api::resource::Quantity,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CelDeviceSelector {
#[prost(string, optional, tag = "1")]
pub expression: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Device {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub basic: ::core::option::Option<BasicDevice>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceAllocationConfiguration {
#[prost(string, optional, tag = "1")]
pub source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub device_configuration: ::core::option::Option<DeviceConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceAllocationResult {
#[prost(message, repeated, tag = "1")]
pub results: ::prost::alloc::vec::Vec<DeviceRequestAllocationResult>,
#[prost(message, repeated, tag = "2")]
pub config: ::prost::alloc::vec::Vec<DeviceAllocationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceAttribute {
#[prost(int64, optional, tag = "2")]
pub int: ::core::option::Option<i64>,
#[prost(bool, optional, tag = "3")]
pub bool: ::core::option::Option<bool>,
#[prost(string, optional, tag = "4")]
pub string: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClaim {
#[prost(message, repeated, tag = "1")]
pub requests: ::prost::alloc::vec::Vec<DeviceRequest>,
#[prost(message, repeated, tag = "2")]
pub constraints: ::prost::alloc::vec::Vec<DeviceConstraint>,
#[prost(message, repeated, tag = "3")]
pub config: ::prost::alloc::vec::Vec<DeviceClaimConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClaimConfiguration {
#[prost(string, repeated, tag = "1")]
pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub device_configuration: ::core::option::Option<DeviceConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClass {
#[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<DeviceClassSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClassConfiguration {
#[prost(message, optional, tag = "1")]
pub device_configuration: ::core::option::Option<DeviceConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClassList {
#[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<DeviceClass>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceClassSpec {
#[prost(message, repeated, tag = "1")]
pub selectors: ::prost::alloc::vec::Vec<DeviceSelector>,
#[prost(message, repeated, tag = "2")]
pub config: ::prost::alloc::vec::Vec<DeviceClassConfiguration>,
#[prost(message, optional, tag = "3")]
pub suitable_nodes: ::core::option::Option<super::super::core::v1::NodeSelector>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceConfiguration {
#[prost(message, optional, tag = "1")]
pub opaque: ::core::option::Option<OpaqueDeviceConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceConstraint {
#[prost(string, repeated, tag = "1")]
pub requests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub match_attribute: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceRequest {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub device_class_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "3")]
pub selectors: ::prost::alloc::vec::Vec<DeviceSelector>,
#[prost(string, optional, tag = "4")]
pub allocation_mode: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag = "5")]
pub count: ::core::option::Option<i64>,
#[prost(bool, optional, tag = "6")]
pub admin_access: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceRequestAllocationResult {
#[prost(string, optional, tag = "1")]
pub request: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub driver: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub pool: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub device: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeviceSelector {
#[prost(message, optional, tag = "1")]
pub cel: ::core::option::Option<CelDeviceSelector>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpaqueDeviceConfiguration {
#[prost(string, optional, tag = "1")]
pub driver: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub parameters: ::core::option::Option<super::super::super::apimachinery::pkg::runtime::RawExtension>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodSchedulingContext {
#[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<PodSchedulingContextSpec>,
#[prost(message, optional, tag = "3")]
pub status: ::core::option::Option<PodSchedulingContextStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodSchedulingContextList {
#[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<PodSchedulingContext>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodSchedulingContextSpec {
#[prost(string, optional, tag = "1")]
pub selected_node: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub potential_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PodSchedulingContextStatus {
#[prost(message, repeated, tag = "1")]
pub resource_claims: ::prost::alloc::vec::Vec<ResourceClaimSchedulingStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaim {
#[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<ResourceClaimSpec>,
#[prost(message, optional, tag = "3")]
pub status: ::core::option::Option<ResourceClaimStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimConsumerReference {
#[prost(string, optional, tag = "1")]
pub api_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub resource: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub uid: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimList {
#[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<ResourceClaim>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimSchedulingStatus {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub unsuitable_nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimSpec {
#[prost(message, optional, tag = "1")]
pub devices: ::core::option::Option<DeviceClaim>,
#[prost(string, optional, tag = "2")]
pub controller: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimStatus {
#[prost(message, optional, tag = "1")]
pub allocation: ::core::option::Option<AllocationResult>,
#[prost(message, repeated, tag = "2")]
pub reserved_for: ::prost::alloc::vec::Vec<ResourceClaimConsumerReference>,
#[prost(bool, optional, tag = "3")]
pub deallocation_requested: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimTemplate {
#[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<ResourceClaimTemplateSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimTemplateList {
#[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<ResourceClaimTemplate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceClaimTemplateSpec {
#[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<ResourceClaimSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourcePool {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag = "2")]
pub generation: ::core::option::Option<i64>,
#[prost(int64, optional, tag = "3")]
pub resource_slice_count: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceSlice {
#[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<ResourceSliceSpec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceSliceList {
#[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<ResourceSlice>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceSliceSpec {
#[prost(string, optional, tag = "1")]
pub driver: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "2")]
pub pool: ::core::option::Option<ResourcePool>,
#[prost(string, optional, tag = "3")]
pub node_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub node_selector: ::core::option::Option<super::super::core::v1::NodeSelector>,
#[prost(bool, optional, tag = "5")]
pub all_nodes: ::core::option::Option<bool>,
#[prost(message, repeated, tag = "6")]
pub devices: ::prost::alloc::vec::Vec<Device>,
}
impl crate::Resource for DeviceClass {
const API_VERSION: &'static str = "resource.k8s.io/v1alpha3";
const GROUP: &'static str = "resource.k8s.io";
const VERSION: &'static str = "v1alpha3";
const KIND: &'static str = "DeviceClass";
const URL_PATH_SEGMENT: &'static str = "deviceclasses";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for DeviceClass {
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 DeviceClass {
type Spec = crate::api::resource::v1alpha3::DeviceClassSpec;
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 PodSchedulingContext {
const API_VERSION: &'static str = "resource.k8s.io/v1alpha3";
const GROUP: &'static str = "resource.k8s.io";
const VERSION: &'static str = "v1alpha3";
const KIND: &'static str = "PodSchedulingContext";
const URL_PATH_SEGMENT: &'static str = "podschedulingcontexts";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for PodSchedulingContext {
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 PodSchedulingContext {
type Spec = crate::api::resource::v1alpha3::PodSchedulingContextSpec;
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 PodSchedulingContext {
type Status = crate::api::resource::v1alpha3::PodSchedulingContextStatus;
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()
}
}
impl crate::Resource for ResourceClaim {
const API_VERSION: &'static str = "resource.k8s.io/v1alpha3";
const GROUP: &'static str = "resource.k8s.io";
const VERSION: &'static str = "v1alpha3";
const KIND: &'static str = "ResourceClaim";
const URL_PATH_SEGMENT: &'static str = "resourceclaims";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for ResourceClaim {
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 ResourceClaim {
type Spec = crate::api::resource::v1alpha3::ResourceClaimSpec;
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 ResourceClaim {
type Status = crate::api::resource::v1alpha3::ResourceClaimStatus;
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()
}
}
impl crate::Resource for ResourceClaimTemplate {
const API_VERSION: &'static str = "resource.k8s.io/v1alpha3";
const GROUP: &'static str = "resource.k8s.io";
const VERSION: &'static str = "v1alpha3";
const KIND: &'static str = "ResourceClaimTemplate";
const URL_PATH_SEGMENT: &'static str = "resourceclaimtemplates";
type Scope = crate::NamespaceResourceScope;
}
impl crate::Metadata for ResourceClaimTemplate {
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 ResourceClaimTemplate {
type Spec = crate::api::resource::v1alpha3::ResourceClaimTemplateSpec;
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 ResourceSlice {
const API_VERSION: &'static str = "resource.k8s.io/v1alpha3";
const GROUP: &'static str = "resource.k8s.io";
const VERSION: &'static str = "v1alpha3";
const KIND: &'static str = "ResourceSlice";
const URL_PATH_SEGMENT: &'static str = "resourceslices";
type Scope = crate::ClusterResourceScope;
}
impl crate::Metadata for ResourceSlice {
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 ResourceSlice {
type Spec = crate::api::resource::v1alpha3::ResourceSliceSpec;
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()
}
}