mirror of
https://github.com/open-cluster-management-io/ocm.git
synced 2026-05-16 22:27:34 +00:00
105 lines
4.0 KiB
Protocol Buffer
Generated
105 lines
4.0 KiB
Protocol Buffer
Generated
|
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
|
|
|
syntax = 'proto2';
|
|
|
|
package github.com.openshift.api.quota.v1;
|
|
|
|
import "k8s.io/api/core/v1/generated.proto";
|
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
|
|
|
// Package-wide variables from generator "generated".
|
|
option go_package = "v1";
|
|
|
|
// AppliedClusterResourceQuota mirrors ClusterResourceQuota at a project scope, for projection
|
|
// into a project. It allows a project-admin to know which ClusterResourceQuotas are applied to
|
|
// his project and their associated usage.
|
|
message AppliedClusterResourceQuota {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
|
|
|
// Spec defines the desired quota
|
|
optional ClusterResourceQuotaSpec spec = 2;
|
|
|
|
// Status defines the actual enforced quota and its current usage
|
|
optional ClusterResourceQuotaStatus status = 3;
|
|
}
|
|
|
|
// AppliedClusterResourceQuotaList is a collection of AppliedClusterResourceQuotas
|
|
message AppliedClusterResourceQuotaList {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
|
|
|
// Items is a list of AppliedClusterResourceQuota
|
|
repeated AppliedClusterResourceQuota items = 2;
|
|
}
|
|
|
|
// ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to
|
|
// synthetic ResourceQuota object to allow quota evaluation re-use.
|
|
message ClusterResourceQuota {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
|
|
|
// Spec defines the desired quota
|
|
optional ClusterResourceQuotaSpec spec = 2;
|
|
|
|
// Status defines the actual enforced quota and its current usage
|
|
optional ClusterResourceQuotaStatus status = 3;
|
|
}
|
|
|
|
// ClusterResourceQuotaList is a collection of ClusterResourceQuotas
|
|
message ClusterResourceQuotaList {
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
|
|
|
// Items is a list of ClusterResourceQuotas
|
|
repeated ClusterResourceQuota items = 2;
|
|
}
|
|
|
|
// ClusterResourceQuotaSelector is used to select projects. At least one of LabelSelector or AnnotationSelector
|
|
// must present. If only one is present, it is the only selection criteria. If both are specified,
|
|
// the project must match both restrictions.
|
|
message ClusterResourceQuotaSelector {
|
|
// LabelSelector is used to select projects by label.
|
|
// +optional
|
|
// +nullable
|
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labels = 1;
|
|
|
|
// AnnotationSelector is used to select projects by annotation.
|
|
// +optional
|
|
// +nullable
|
|
map<string, string> annotations = 2;
|
|
}
|
|
|
|
// ClusterResourceQuotaSpec defines the desired quota restrictions
|
|
message ClusterResourceQuotaSpec {
|
|
// Selector is the selector used to match projects.
|
|
// It should only select active projects on the scale of dozens (though it can select
|
|
// many more less active projects). These projects will contend on object creation through
|
|
// this resource.
|
|
optional ClusterResourceQuotaSelector selector = 1;
|
|
|
|
// Quota defines the desired quota
|
|
optional k8s.io.api.core.v1.ResourceQuotaSpec quota = 2;
|
|
}
|
|
|
|
// ClusterResourceQuotaStatus defines the actual enforced quota and its current usage
|
|
message ClusterResourceQuotaStatus {
|
|
// Total defines the actual enforced quota and its current usage across all projects
|
|
optional k8s.io.api.core.v1.ResourceQuotaStatus total = 1;
|
|
|
|
// Namespaces slices the usage by project. This division allows for quick resolution of
|
|
// deletion reconciliation inside of a single project without requiring a recalculation
|
|
// across all projects. This can be used to pull the deltas for a given project.
|
|
// +optional
|
|
// +nullable
|
|
repeated ResourceQuotaStatusByNamespace namespaces = 2;
|
|
}
|
|
|
|
// ResourceQuotaStatusByNamespace gives status for a particular project
|
|
message ResourceQuotaStatusByNamespace {
|
|
// Namespace the project this status applies to
|
|
optional string namespace = 1;
|
|
|
|
// Status indicates how many resources have been consumed by this project
|
|
optional k8s.io.api.core.v1.ResourceQuotaStatus status = 2;
|
|
}
|
|
|