protobuf/mesos/v1/quota/quota.proto (62 lines of code) (raw):

// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto2"; import "mesos/v1/mesos.proto"; package mesos.v1.quota; option java_package = "org.apache.mesos.v1.quota"; option java_outer_classname = "Protos"; /** * `QuotaInfo` describes the guaranteed resource allocation that a role * may rely on (i.e. minimum share a role is entitled to receive). * * As for now, `QuotaInfo` is an internal message used by the master and * therefore does not require versioning. However, in the future we may * want to expose it in the Framework API, which will render it being * external facing. */ // TODO(joerg84): Add limits, i.e. upper bounds of resources that a // role is allowed to use. message QuotaInfo { // Quota is granted per role and not per framework, similar to // dynamic reservations. optional string role = 1; // Principal which set the quota. Currently only operators can set quotas. optional string principal = 2; // The guarantee that these resources are allocatable for the above role. // NOTE: `guarantee.role` should not specify any role except '*', // because quota does not reserve specific resources. repeated Resource guarantee = 3; } /** * `QuotaRequest` provides a schema for set quota JSON requests. */ message QuotaRequest { // Disables the capacity heuristic check if set to `true`. optional bool force = 1 [default = false]; // The role for which to set quota. optional string role = 2; // The requested guarantee that these resources will be allocatable for // the above role. repeated Resource guarantee = 3; } /** * `QuotaStatus` describes the internal representation for the /quota/status * response. */ message QuotaStatus { // Quotas which are currently set, i.e. known to the master. repeated QuotaInfo infos = 1; }