1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
// 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 {
// Standard object's metadata.
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 {
// Standard object's metadata.
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 {
// Standard object's metadata.
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 {
// Standard object's metadata.
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;
}
|