package mesos.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Address

mesos.proto:137

* A network address. TODO(bmahler): Use this more widely.

Used in: MasterInfo, URL

message AgentID

mesos.proto:59

* A unique ID assigned to an agent. Currently, an agent gets a new ID whenever it (re)registers with Mesos. Framework writers shouldn't assume any binding between an agent ID and and a hostname.

Used in: AgentInfo, InverseOffer, Offer, Operation, OperationStatus, Request, Task, TaskInfo, TaskStatus, master.Call.CreateVolumes, master.Call.DestroyVolumes, master.Call.GrowVolume, master.Call.MarkAgentGone, master.Call.ReserveResources, master.Call.ShrinkVolume, master.Call.UnreserveResources, master.Event.AgentRemoved, master.Response.GetExecutors.Executor, scheduler.Call.Acknowledge, scheduler.Call.AcknowledgeOperationStatus, scheduler.Call.Kill, scheduler.Call.Message, scheduler.Call.Reconcile.Task, scheduler.Call.ReconcileOperations.Operation, scheduler.Call.Shutdown, scheduler.Event.Failure, scheduler.Event.Message, peloton.api.v0.task.RuntimeInfo, peloton.api.v1alpha.pod.PodStatus, peloton.private.hostmgr.hostsvc.ExecutorOnAgent, peloton.private.hostmgr.hostsvc.HostInfo, peloton.private.hostmgr.hostsvc.HostOffer, peloton.private.hostmgr.hostsvc.LaunchTasksRequest, peloton.private.resmgr.Placement

message AgentInfo

mesos.proto:915

* Describes an agent. Note that the 'id' field is only available after an agent is registered with the master, and is made available here to facilitate re-registration.

Used in: agent.Response.GetAgent, executor.Event.Subscribed, master.Response.GetAgents, master.Response.GetAgents.Agent

message AgentInfo.Capability

mesos.proto:933

Used in: master.Response.GetAgents.Agent

enum AgentInfo.Capability.Type

mesos.proto:934

Used in: Capability

message Attribute

mesos.proto:1157

* Describes an attribute that can be set on a machine. For now, attributes and resources share the same "value" type, but this may change in the future and attributes may only be string based.

Used in: AgentInfo, Offer, ResourceProviderInfo, peloton.private.hostmgr.hostsvc.HostInfo, peloton.private.hostmgr.hostsvc.HostOffer

message CSIPluginContainerInfo

mesos.proto:1010

* Describes the container configuration to run a CSI plugin component.

Used in: CSIPluginInfo

enum CSIPluginContainerInfo.Service

mesos.proto:1011

Used in: CSIPluginContainerInfo

message CSIPluginInfo

mesos.proto:1027

* Describes a CSI plugin.

Used in: ResourceProviderInfo.Storage

message CapabilityInfo

mesos.proto:3092

* Encapsulation of `Capabilities` supported by Linux. Reference: http://linux.die.net/man/7/capabilities.

Used in: LinuxInfo

enum CapabilityInfo.Capability

mesos.proto:3098

We start the actual values at an offset(1000) because Protobuf 2 uses the first value as the default one. Separating the default value from the real first value helps to disambiguate them. This is especially valuable for backward compatibility. See: MESOS-4997.

Used in: CapabilityInfo

message CgroupInfo

mesos.proto:3333

* Linux control group (cgroup) information.

Used in: ContainerStatus

message CgroupInfo.Blkio

mesos.proto:3335

Configuration of a blkio cgroup subsystem.

(message has no fields)

message CgroupInfo.Blkio.CFQ

mesos.proto:3352

(message has no fields)

message CgroupInfo.Blkio.CFQ.Statistics

mesos.proto:3353

Used in: Statistics

enum CgroupInfo.Blkio.Operation

mesos.proto:3336

Used in: Value

message CgroupInfo.Blkio.Statistics

mesos.proto:3393

Used in: ResourceStatistics

message CgroupInfo.Blkio.Throttling

mesos.proto:3379

(message has no fields)

message CgroupInfo.Blkio.Throttling.Statistics

mesos.proto:3380

Used in: Statistics

message CgroupInfo.Blkio.Value

mesos.proto:3347

Describes a stat value without the device descriptor part.

Used in: CFQ.Statistics, Throttling.Statistics

message CgroupInfo.NetCls

mesos.proto:3401

Configuration of a net_cls cgroup subsystem.

Used in: CgroupInfo

message CheckInfo

mesos.proto:422

* Describes a general non-interpreting non-killing check for a task or executor (or any arbitrary process/command). A type is picked by specifying one of the optional fields. Specifying more than one type is an error. NOTE: This API is subject to change and the related feature is experimental.

Used in: TaskInfo

message CheckInfo.Command

mesos.proto:436

Describes a command check. If applicable, enters mount and/or network namespaces of the task.

Used in: CheckInfo

message CheckInfo.Http

mesos.proto:443

Describes an HTTP check. Sends a GET request to http://<host>:port/path. Note that <host> is not configurable and is resolved automatically to 127.0.0.1.

Used in: CheckInfo

message CheckInfo.Tcp

mesos.proto:463

Describes a TCP check, i.e. based on establishing a TCP connection to the specified port. Note that <host> is not configurable and is resolved automatically to 127.0.0.1.

Used in: CheckInfo

enum CheckInfo.Type

mesos.proto:423

Used in: CheckInfo, CheckStatusInfo

message CheckStatusInfo

mesos.proto:2466

* Describes the status of a check. Type and the corresponding field, i.e., `command` or `http` must be set. If the result of the check is not available (e.g., the check timed out), these fields must contain empty messages, i.e., `exit_code` or `status_code` will be unset. NOTE: This API is subject to change and the related feature is experimental.

Used in: TaskStatus

message CheckStatusInfo.Command

mesos.proto:2467

Used in: CheckStatusInfo

message CheckStatusInfo.Http

mesos.proto:2474

Used in: CheckStatusInfo

message CheckStatusInfo.Tcp

mesos.proto:2479

Used in: CheckStatusInfo

message CommandInfo

mesos.proto:647

* Describes a command, executed via: '/bin/sh -c value'. Any URIs specified are fetched before executing the command. If the executable field for an uri is set, executable file permission is set on the downloaded file. Otherwise, if the downloaded file has a recognized archive extension (currently [compressed] tar and zip) it is extracted into the executor's working directory. This extraction can be disabled by setting `extract` to false. In addition, any environment variables are set before executing the command (so they can be used to "parameterize" your command).

Used in: CSIPluginContainerInfo, CheckInfo.Command, ExecutorInfo, HealthCheck, TaskInfo, agent.Call.LaunchContainer, agent.Call.LaunchNestedContainer, agent.Call.LaunchNestedContainerSession, peloton.api.v0.task.TaskConfig, peloton.api.v1alpha.pod.ContainerSpec

message CommandInfo.URI

mesos.proto:648

Used in: CommandInfo

message ContainerID

mesos.proto:92

* ID used to uniquely identify a container. If the `parent` is not specified, the ID is a UUID generated by the agent to uniquely identify the container of an executor run. If the `parent` field is specified, it represents a nested container.

Used in: ContainerStatus, ResourceUsage.Executor, agent.Call.AttachContainerInput, agent.Call.AttachContainerOutput, agent.Call.KillContainer, agent.Call.KillNestedContainer, agent.Call.LaunchContainer, agent.Call.LaunchNestedContainer, agent.Call.LaunchNestedContainerSession, agent.Call.RemoveContainer, agent.Call.RemoveNestedContainer, agent.Call.WaitContainer, agent.Call.WaitNestedContainer, agent.Response.GetContainers.Container, executor.Event.Subscribed

message ContainerInfo

mesos.proto:3236

* Describes a container configuration and allows extensible configurations for different container implementations. NOTE: `ContainerInfo` may be specified, e.g., by a task, even if no container image is provided. In this case neither `MesosInfo` nor `DockerInfo` is set, the required `type` must be `MESOS`. This is to address a case when a task without an image, e.g., a shell script with URIs, wants to use features originally designed for containers, for example custom network isolation via `NetworkInfo`.

Used in: CSIPluginContainerInfo, ExecutorInfo, Task, TaskInfo, agent.Call.LaunchContainer, agent.Call.LaunchNestedContainer, agent.Call.LaunchNestedContainerSession, peloton.api.v0.task.TaskConfig, peloton.api.v1alpha.pod.ContainerSpec

message ContainerInfo.DockerInfo

mesos.proto:3243

Used in: ContainerInfo

enum ContainerInfo.DockerInfo.Network

mesos.proto:3248

Network options.

Used in: DockerInfo

message ContainerInfo.DockerInfo.PortMapping

mesos.proto:3257

Used in: DockerInfo

message ContainerInfo.MesosInfo

mesos.proto:3283

Used in: ContainerInfo

enum ContainerInfo.Type

mesos.proto:3238

All container implementation types.

Used in: ContainerInfo

message ContainerStatus

mesos.proto:3316

* Container related information that is resolved during container setup. The information is sent back to the framework as part of the TaskStatus message.

Used in: TaskStatus, agent.Response.GetContainers.Container

message Credential

mesos.proto:2705

* Credential used in various places for authentication and authorization. NOTE: A 'principal' is different from 'FrameworkInfo.user'. The former is used for authentication and authorization while the latter is used to determine the default user under which the framework's executors/tasks are run.

Used in: Credentials, Image.Docker

message Credentials

mesos.proto:2716

* Credentials used for framework authentication, HTTP authentication (where the common 'username' and 'password' are captured as 'principal' and 'secret' respectively), etc.

message Device

mesos.proto:3582

* Describes information about a device.

Used in: DeviceAccess

message Device.Number

mesos.proto:3583

Used in: CgroupInfo.Blkio.CFQ.Statistics, CgroupInfo.Blkio.Throttling.Statistics, Device

message DeviceAccess

mesos.proto:3596

* Describes a device whitelist entry that expose from host to container.

Used in: DeviceWhitelist

message DeviceAccess.Access

mesos.proto:3597

Used in: DeviceAccess

message DeviceWhitelist

mesos.proto:3607

message DiscoveryInfo

mesos.proto:3478

* Service discovery information. The visibility field restricts discovery within a framework (FRAMEWORK), within a Mesos cluster (CLUSTER), or places no restrictions (EXTERNAL). Each port in the ports field also has an optional visibility field. If visibility is specified for a port, it overrides the default service-wide DiscoveryInfo.visibility for that port. The environment, location, and version fields provide first class support for common attributes used to differentiate between similar services. The environment may receive values such as PROD/QA/DEV, the location field may receive values like EAST-US/WEST-US/EUROPE/AMEA, and the version field may receive values like v2.0/v0.9. The exact use of these fields is up to each service discovery system.

Used in: ExecutorInfo, Task, TaskInfo

enum DiscoveryInfo.Visibility

mesos.proto:3479

Used in: DiscoveryInfo, Port

message DiskStatistics

mesos.proto:1642

Used in: ResourceStatistics

message DomainInfo

mesos.proto:829

* Describes a domain. A domain is a collection of hosts that have similar characteristics. Mesos currently only supports "fault domains", which identify groups of hosts with similar failure characteristics. Frameworks can generally assume that network links between hosts in the same fault domain have lower latency, higher bandwidth, and better availability than network links between hosts in different domains. Schedulers may prefer to place network-intensive workloads in the same domain, as this may improve performance. Conversely, a single failure that affects a host in a domain may be more likely to affect other hosts in the same domain; hence, schedulers may prefer to place workloads that require high availability in multiple domains. (For example, all the hosts in a single rack might lose power or network connectivity simultaneously.) There are two kinds of fault domains: regions and zones. Regions offer the highest degree of fault isolation, but network latency between regions is typically high (typically >50 ms). Zones offer a modest degree of fault isolation along with reasonably low network latency (typically <10 ms). The mapping from fault domains to physical infrastructure is up to the operator to configure. In cloud environments, regions and zones can be mapped to the "region" and "availability zone" concepts exposed by most cloud providers, respectively. In on-premise deployments, regions and zones can be mapped to data centers and racks, respectively. Both masters and agents can be configured with domains. Frameworks can compare the domains of two hosts to determine if the hosts are in the same zone, in different zones in the same region, or in different regions. Note that all masters in a given Mesos cluster must be in the same region.

Used in: AgentInfo, MasterInfo, Offer

message DomainInfo.FaultDomain

mesos.proto:830

Used in: DomainInfo

message DomainInfo.FaultDomain.RegionInfo

mesos.proto:831

Used in: FaultDomain

message DomainInfo.FaultDomain.ZoneInfo

mesos.proto:835

Used in: FaultDomain

message DurationInfo

mesos.proto:127

* Represents duration in nanoseconds.

Used in: ExecutorInfo, KillPolicy, TaskInfo, Unavailability, agent.Call.GetMetrics, agent.Call.SetLoggingLevel, agent.ProcessIO.Control.Heartbeat, master.Call.GetMetrics, master.Call.SetLoggingLevel

message Environment

mesos.proto:2653

* Describes a collection of environment variables. This is used with CommandInfo in order to set environment variables before running a command. The contents of each variable may be specified as a string or a Secret; only one of `value` and `secret` must be set.

Used in: CommandInfo

message Environment.Variable

mesos.proto:2654

Used in: Environment

enum Environment.Variable.Type

mesos.proto:2657

Used in: Variable

message ExecutorID

mesos.proto:81

* A framework-generated ID to distinguish an executor. Only one executor with the same ID can be active on the same agent at a time. However, reusing executor IDs is discouraged.

Used in: ExecutorInfo, Offer, Task, TaskStatus, agent.Response.GetContainers.Container, executor.Call, scheduler.Call.Message, scheduler.Call.Shutdown, scheduler.Event.Failure, scheduler.Event.Message, peloton.private.hostmgr.hostsvc.ExecutorOnAgent

message ExecutorInfo

mesos.proto:709

* Describes information about an executor.

Used in: Offer.Operation.LaunchGroup, ResourceUsage.Executor, TaskInfo, agent.Response.GetExecutors.Executor, executor.Event.Subscribed, master.Response.GetExecutors.Executor, peloton.api.v0.task.TaskConfig, peloton.api.v1alpha.pod.ContainerSpec

enum ExecutorInfo.Type

mesos.proto:710

Used in: ExecutorInfo

message FileInfo

mesos.proto:3554

* Describes a File.

Used in: agent.Response.ListFiles, master.Response.ListFiles

message Filters

mesos.proto:2631

* Describes possible filters that can be applied to unused resources (see SchedulerDriver::launchTasks) to influence the allocator.

Used in: scheduler.Call.Accept, scheduler.Call.AcceptInverseOffers, scheduler.Call.Decline, scheduler.Call.DeclineInverseOffers

message Flag

mesos.proto:3524

* Flag consists of a name and optionally its value.

Used in: agent.Response.GetFlags, master.Response.GetFlags

message FrameworkID

mesos.proto:41

* A unique ID assigned to a framework. A framework can reuse this ID in order to do failover (see MesosSchedulerDriver).

Used in: ExecutorInfo, FrameworkInfo, InverseOffer, Offer, Operation, Role, Task, agent.Response.GetContainers.Container, allocator.InverseOfferStatus, executor.Call, master.Call.Teardown, master.Event.TaskUpdated, resource_provider.Call.UpdateOperationStatus, resource_provider.Event.ApplyOperation, scheduler.Call, scheduler.Event.Subscribed

message FrameworkInfo

mesos.proto:226

* Describes a framework.

Used in: agent.Response.GetFrameworks.Framework, executor.Event.Subscribed, master.Event.FrameworkRemoved, master.Response.GetFrameworks, master.Response.GetFrameworks.Framework, scheduler.Call.Subscribe

message FrameworkInfo.Capability

mesos.proto:294

Used in: FrameworkInfo

enum FrameworkInfo.Capability.Type

mesos.proto:295

Used in: Capability

message HealthCheck

mesos.proto:504

* Describes a health check for a task or executor (or any arbitrary process/command). A type is picked by specifying one of the optional fields. Specifying more than one type is an error.

Used in: TaskInfo

message HealthCheck.HTTPCheckInfo

mesos.proto:517

Describes an HTTP health check. Sends a GET request to scheme://<host>:port/path. Note that <host> is not configurable and is resolved automatically, in most cases to 127.0.0.1. Default executors treat return codes between 200 and 399 as success; custom executors may employ a different strategy, e.g. leveraging the `statuses` field.

Used in: HealthCheck

message HealthCheck.TCPCheckInfo

mesos.proto:554

Describes a TCP health check, i.e. based on establishing a TCP connection to the specified port.

Used in: HealthCheck

enum HealthCheck.Type

mesos.proto:505

Used in: HealthCheck

message IcmpStatistics

mesos.proto:1572

Used in: SNMPStatistics

message Image

mesos.proto:2816

* Describe an image used by tasks or executors. Note that it's only for tasks or executors launched by MesosContainerizer currently.

Used in: ContainerInfo.MesosInfo, Volume, agent.Call.PruneImages

message Image.Appc

mesos.proto:2824

Protobuf for specifying an Appc container image. See: https://github.com/appc/spec/blob/master/spec/aci.md

Used in: Image

message Image.Docker

mesos.proto:2838

Used in: Image

enum Image.Type

mesos.proto:2817

Used in: Image

message InverseOffer

mesos.proto:2081

* A request to return some resources occupied by a framework.

Used in: master.Response.GetFrameworks.Framework, scheduler.Event.InverseOffers

message IpStatistics

mesos.proto:1549

Used in: SNMPStatistics

message KillPolicy

mesos.proto:623

* Describes a kill policy for a task. Currently does not express different policies (e.g. hitting HTTP endpoints), only controls how long to wait between graceful and forcible task kill: graceful kill --------------> forcible kill grace_period Kill policies are best-effort, because machine failures / forcible terminations may occur. NOTE: For executor-less command-based tasks, the kill is performed via sending a signal to the task process: SIGTERM for the graceful kill and SIGKILL for the forcible kill. For the docker executor-less tasks the grace period is passed to 'docker stop --time'.

Used in: TaskInfo, executor.Event.Kill, scheduler.Call.Kill

message Label

mesos.proto:3425

* Key, value pair used to store free form user-data.

Used in: Labels

message Labels

mesos.proto:3417

* Collection of labels. Labels should not contain duplicate key-value pairs.

Used in: DiscoveryInfo, ExecutorInfo, FrameworkInfo, Image.Appc, NetworkInfo, Port, Resource.DiskInfo.Source, Resource.ReservationInfo, ResourceUsage.Executor.Task, Task, TaskInfo, TaskStatus, peloton.private.hostmgr.hostsvc.OfferOperation, peloton.private.resmgr.Task

message LinuxInfo

mesos.proto:3148

* Encapsulation for Linux specific configuration. E.g, capabilities, limits etc.

Used in: ContainerInfo

message MachineID

mesos.proto:182

* Represents a single machine, which may hold one or more agents. NOTE: In order to match an agent to a machine, both the `hostname` and `ip` must match the values advertised by the agent to the master. Hostname is not case-sensitive.

Used in: MachineInfo, maintenance.ClusterStatus, maintenance.ClusterStatus.DrainingMachine, maintenance.Window, master.Call.StartMaintenance, master.Call.StopMaintenance

message MachineInfo

mesos.proto:192

* Holds information about a single machine, its `mode`, and any other relevant information which may affect the behavior of the machine.

enum MachineInfo.Mode

mesos.proto:195

Describes the several states that a machine can be in. A `Mode` applies to a machine and to all associated agents on the machine.

Used in: MachineInfo

message MasterInfo

mesos.proto:852

* Describes a master. This will probably have more fields in the future which might be used, for example, to link a framework webui to a master webui.

Used in: master.Response.GetMaster, scheduler.Event.Subscribed

message MasterInfo.Capability

mesos.proto:888

Used in: MasterInfo

enum MasterInfo.Capability.Type

mesos.proto:889

Used in: Capability

message Metric

mesos.proto:3545

* Metric consists of a name and optionally its value.

Used in: agent.Response.GetMetrics, master.Response.GetMetrics

message MountPropagation

mesos.proto:2879

* Describes how the mount will be propagated for a volume. See the following doc for more details about mount propagation: https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt

Used in: Volume.Source.HostPath

enum MountPropagation.Mode

mesos.proto:2880

Used in: MountPropagation

message NetworkInfo

mesos.proto:3022

* Describes a network request from a framework as well as network resolution provided by Mesos. A framework may request the network isolator on the Agent to isolate the container in a network namespace and create a virtual network interface. The `NetworkInfo` message describes the properties of that virtual interface, including the IP addresses and network isolation policy (network group membership). The NetworkInfo message is not interpreted by the Master or Agent and is intended to be used by Agent and Master modules implementing network isolation. If the modules are missing, the message is simply ignored. In future, the task launch will fail if there is no module providing the network isolation capabilities (MESOS-3390). An executor, Agent, or an Agent module may append NetworkInfos inside TaskStatus::container_status to provide information such as the container IP address and isolation groups.

Used in: ContainerInfo, ContainerStatus

message NetworkInfo.IPAddress

mesos.proto:3035

Specifies a request for an IP address, or reports the assigned container IP address. Users can request an automatically assigned IP (for example, via an IPAM service) or a specific IP by adding a NetworkInfo to the ContainerInfo for a task. On a request, specifying neither `protocol` nor `ip_address` means that any available address may be assigned.

Used in: NetworkInfo

message NetworkInfo.PortMapping

mesos.proto:3077

Specifies a port mapping request for the task on this network.

Used in: NetworkInfo

enum NetworkInfo.Protocol

mesos.proto:3023

Used in: HealthCheck.HTTPCheckInfo, HealthCheck.TCPCheckInfo, IPAddress

message Offer

mesos.proto:1891

* Describes some resources available on an agent. An offer only contains resources from a single agent.

Used in: master.Response.GetFrameworks.Framework, scheduler.Event.Offers, peloton.api.v1alpha.host.HostSummary, peloton.private.hostmgr.hostsvc.GetOutstandingOffersResponse

message Offer.Operation

mesos.proto:1928

Defines an operation that can be performed against offers.

Used in: Operation, resource_provider.Event.ApplyOperation, scheduler.Call.Accept

message Offer.Operation.Create

mesos.proto:1969

Used in: Operation

message Offer.Operation.CreateDisk

mesos.proto:2017

Create a `MOUNT` or `BLOCK` disk resource backed by a CSI volume from a `RAW` disk resource. In the typical case where the `RAW` disk resource has a profile and no source ID, a new CSI volume will be provisioned by Mesos to back the returned `MOUNT` or `BLOCK` disk resource. However, the `RAW` disk resource can instead have no profile but a source ID, indicating that it is already backed by a CSI volume in one of the following scenarios: (1) The CSI volume is preprovisioned out-of-band. (2) The CSI volume is provisioned by Mesos, but Mesos has lost the corresponding `MOUNT` or `BLOCK` resource metadata. This could happen if there has been a change in the agent ID or resource provider ID where the volume belongs. In the above cases, Mesos won't provision a new CSI volume, but instead will simply return a `MOUNT` or `BLOCK` disk resource backed by the same CSI volume, with the profile specified in this call. NOTE: For the time being, this API is subject to change and the related feature is experimental.

Used in: Operation

message Offer.Operation.Destroy

mesos.proto:1973

Used in: Operation

message Offer.Operation.DestroyDisk

mesos.proto:2051

Destroy a disk resource backed by a CSI volume. In the typical case where the CSI plugin of the volume supports volume deprovisioning and the disk resource is a `MOUNT` or `BLOCK` disk with a profile known to Mesos, the volume will be deprovisioned and a `RAW` disk resource with the same profile but no source ID will be returned. However, the following scenarios could lead to different outcomes: (1) If the CSI plugin supports volume deprovisioning but the profile of the disk resource is unknown to the disk profile adaptor, or the disk resource is a `RAW` disk with no profile but a source ID (see above for possible scenarios), the volume will be deprovisioned but no resource will be returned. (2) If the CSI plugin does not support volume deprovisioning, the volume won't be deprovisioned and a `RAW` disk resource with no profile but the same source ID will be returned. NOTE: For the time being, this API is subject to change and the related feature is experimental.

Used in: Operation

message Offer.Operation.GrowVolume

mesos.proto:1980

Grow a volume by an additional disk resource. NOTE: This is currently experimental and only for persistent volumes created on ROOT/PATH disk.

Used in: Operation

message Offer.Operation.Launch

mesos.proto:1944

TODO(vinod): Deprecate this in favor of `LaunchGroup` below.

Used in: Operation

message Offer.Operation.LaunchGroup

mesos.proto:1956

Unlike `Launch` above, all the tasks in a `task_group` are atomically delivered to an executor. `NetworkInfo` set on executor will be shared by all tasks in the task group. TODO(vinod): Any volumes set on executor could be used by a task by explicitly setting `Volume.source` in its resources.

Used in: Operation

message Offer.Operation.Reserve

mesos.proto:1961

Used in: Operation

message Offer.Operation.ShrinkVolume

mesos.proto:1988

Shrink a volume by the size specified in the `subtract` field. NOTE: This is currently experimental and only for persistent volumes created on ROOT/PATH disk.

Used in: Operation

enum Offer.Operation.Type

mesos.proto:1929

Used in: Operation

message Offer.Operation.Unreserve

mesos.proto:1965

Used in: Operation

message OfferID

mesos.proto:49

* A unique ID assigned to an offer.

Used in: InverseOffer, Offer, scheduler.Call.Accept, scheduler.Call.AcceptInverseOffers, scheduler.Call.Decline, scheduler.Call.DeclineInverseOffers, scheduler.Event.Rescind, scheduler.Event.RescindInverseOffer

message Operation

mesos.proto:2353

* Describes an operation, similar to `Offer.Operation`, with some additional information.

Used in: agent.Response.GetOperations, master.Response.GetOperations, resource_provider.Call.UpdateState

message OperationID

mesos.proto:111

* A framework-generated ID to distinguish an operation. The ID must be unique within the framework.

Used in: Offer.Operation, OperationStatus, scheduler.Call.AcknowledgeOperationStatus, scheduler.Call.ReconcileOperations.Operation

enum OperationState

mesos.proto:2372

* Describes possible operation states.

Used in: OperationStatus

message OperationStatus

mesos.proto:2425

* Describes the current status of an operation.

Used in: Operation, resource_provider.Call.UpdateOperationStatus, scheduler.Event.UpdateOperationStatus, scheduler.Response.ReconcileOperations

message Parameter

mesos.proto:2682

* A generic (key, value) pair used in various places for parameters.

Used in: ContainerInfo.DockerInfo, Parameters, URL

message Parameters

mesos.proto:2691

* Collection of Parameter.

Used in: Volume.Source.DockerVolume

message PerfStatistics

mesos.proto:1812

* Describes a sample of events from "perf stat". Only available on Linux. NOTE: Each optional field matches the name of a perf event (see "perf list") with the following changes: 1. Names are downcased. 2. Hyphens ('-') are replaced with underscores ('_'). 3. Events with alternate names use the name "perf stat" returns, e.g., for the event "cycles OR cpu-cycles" perf always returns cycles.

Used in: ResourceStatistics

message Port

mesos.proto:3434

* Named port used for service discovery.

Used in: Ports

message Ports

mesos.proto:3459

* Collection of ports.

Used in: DiscoveryInfo

message RLimitInfo

mesos.proto:3177

* Encapsulation for POSIX rlimits, see http://pubs.opengroup.org/onlinepubs/009695399/functions/getrlimit.html. Note that some types might only be defined for Linux. We use a custom prefix to avoid conflict with existing system macros (e.g., `RLIMIT_CPU` or `NOFILE`).

Used in: ContainerInfo

message RLimitInfo.RLimit

mesos.proto:3178

Used in: RLimitInfo

enum RLimitInfo.RLimit.Type

mesos.proto:3179

Used in: RLimit

message RateLimit

mesos.proto:2773

* Rate (queries per second, QPS) limit for messages from a framework to master. Strictly speaking they are the combined rate from all frameworks of the same principal.

Used in: RateLimits

message RateLimits

mesos.proto:2797

* Collection of RateLimit. Frameworks without rate limits defined here are not throttled unless 'aggregate_default_qps' is specified.

message Request

mesos.proto:1881

* Describes a request for resources that can be used by a framework to proactively influence the allocator. If 'agent_id' is provided then this request is assumed to only apply to resources on that agent.

Used in: scheduler.Call.Request

message Resource

mesos.proto:1180

* Describes a resource from a resource provider. The `name` field is a string like "cpus" or "mem" that indicates which kind of resource this is; the rest of the fields describe the properties of the resource. A resource can take on one of three types: scalar (double), a list of finite and discrete ranges (e.g., [1-10, 20-30]), or a set of items. A resource is described using the standard protocol buffer "union" trick. Note that "disk" and "mem" resources are scalar values expressed in megabytes. Fractional "cpus" values are allowed (e.g., "0.5"), which correspond to partial shares of a CPU.

Used in: AgentInfo, CSIPluginContainerInfo, ExecutorInfo, InverseOffer, Offer, Offer.Operation.Create, Offer.Operation.CreateDisk, Offer.Operation.Destroy, Offer.Operation.DestroyDisk, Offer.Operation.GrowVolume, Offer.Operation.Reserve, Offer.Operation.ShrinkVolume, Offer.Operation.Unreserve, OperationStatus, Request, ResourceUsage, ResourceUsage.Executor, ResourceUsage.Executor.Task, Role, Task, TaskInfo, TaskResourceLimitation, agent.Call.LaunchContainer, agent.Response.GetResourceProviders.ResourceProvider, master.Call.CreateVolumes, master.Call.DestroyVolumes, master.Call.GrowVolume, master.Call.ReserveResources, master.Call.ShrinkVolume, master.Call.UnreserveResources, master.Response.GetAgents.Agent, master.Response.GetAgents.Agent.ResourceProvider, master.Response.GetFrameworks.Framework, quota.QuotaInfo, quota.QuotaRequest, resource_provider.Call.UpdateState, resource_provider.Event.PublishResources, peloton.private.hostmgr.hostsvc.CreateVolumesRequest, peloton.private.hostmgr.hostsvc.DestroyVolumesRequest, peloton.private.hostmgr.hostsvc.GetHostsByQueryResponse.Host, peloton.private.hostmgr.hostsvc.HostInfo, peloton.private.hostmgr.hostsvc.HostOffer, peloton.private.hostmgr.hostsvc.OfferOperation.Reserve, peloton.private.hostmgr.hostsvc.ReserveResourcesRequest, peloton.private.hostmgr.hostsvc.UnreserveResourcesRequest, peloton.private.hostmgr.hostsvc.Volume

message Resource.AllocationInfo

mesos.proto:1203

This was initially introduced to support MULTI_ROLE capable frameworks. Frameworks that are not MULTI_ROLE capable can continue to assume that the offered resources are allocated to their role.

Used in: Offer, Resource

message Resource.DiskInfo

mesos.proto:1388

Used in: Resource

message Resource.DiskInfo.Persistence

mesos.proto:1397

Describes a persistent disk volume. A persistent disk volume will not be automatically garbage collected if the task/executor/agent terminates, but will be re-offered to the framework(s) belonging to the 'role'. NOTE: Currently, we do not allow persistent disk volumes without a reservation (i.e., 'role' cannot be '*').

Used in: DiskStatistics, DiskInfo

message Resource.DiskInfo.Source

mesos.proto:1429

Describes where a disk originates from.

Used in: DiskStatistics, DiskInfo

message Resource.DiskInfo.Source.Mount

mesos.proto:1449

A mounted file-system set up by the Agent administrator. This can only be used exclusively: a framework cannot accept a partial amount of this disk.

Used in: Source

message Resource.DiskInfo.Source.Path

mesos.proto:1440

A folder that can be located on a separate disk device. This can be shared and carved up as necessary between frameworks.

Used in: Source

enum Resource.DiskInfo.Source.Type

mesos.proto:1430

Used in: Offer.Operation.CreateDisk, Source

message Resource.ReservationInfo

mesos.proto:1319

Describes a reservation. A static reservation is set by the operator on the command-line and they are immutable without agent restart. A dynamic reservation is made by an operator via the '/reserve' HTTP endpoint or by a framework via the offer cycle by sending back an 'Offer::Operation::Reserve' message. NOTE: We currently do not allow frameworks with role "*" to make dynamic reservations.

Used in: Resource, ResourceProviderInfo

enum Resource.ReservationInfo.Type

mesos.proto:1329

Used in: ReservationInfo

message Resource.RevocableInfo

mesos.proto:1489

Used in: Resource

(message has no fields)

message Resource.SharedInfo

mesos.proto:1500

Allow the resource to be shared across tasks.

Used in: Resource

(message has no fields)

message ResourceProviderID

mesos.proto:102

* A unique ID assigned to a resource provider. Currently, a resource provider gets a new ID whenever it (re)registers with Mesos.

Used in: OperationStatus, Resource, ResourceProviderInfo, resource_provider.Call, resource_provider.Event.Subscribed, scheduler.Call.AcknowledgeOperationStatus, scheduler.Call.ReconcileOperations.Operation

message ResourceProviderInfo

mesos.proto:1063

* Describes a resource provider. Note that the 'id' field is only available after a resource provider is registered with the master, and is made available here to facilitate re-registration.

Used in: agent.Call.AddResourceProviderConfig, agent.Call.UpdateResourceProviderConfig, agent.Response.GetResourceProviders.ResourceProvider, master.Response.GetAgents.Agent.ResourceProvider, resource_provider.Call.Subscribe

message ResourceProviderInfo.Storage

mesos.proto:1095

Storage resource provider related information.

Used in: ResourceProviderInfo

message ResourceStatistics

mesos.proto:1653

* A snapshot of resource usage statistics.

Used in: ResourceUsage.Executor, agent.Response.GetContainers.Container

message ResourceUsage

mesos.proto:1766

* Describes a snapshot of the resource usage for executors.

message ResourceUsage.Executor

mesos.proto:1767

Used in: ResourceUsage

message ResourceUsage.Executor.Task

mesos.proto:1781

Used in: Executor

message Role

mesos.proto:3534

* Describes a Role. Roles can be used to specify that certain resources are reserved for the use of one or more frameworks.

Used in: master.Response.GetRoles

message SNMPStatistics

mesos.proto:1634

Used in: ResourceStatistics

message Secret

mesos.proto:2726

* Secret used to pass privileged information. It is designed to provide pass-by-value or pass-by-reference semantics, where the REFERENCE type can be used by custom modules which interact with a secure back-end.

Used in: Environment.Variable, Image.Docker, Volume.Source

message Secret.Reference

mesos.proto:2748

Can be used by modules to refer to a secret stored in a secure back-end. The `key` field is provided to permit reference to a single value within a secret containing arbitrary key-value pairs. For example, given a back-end secret store with a secret named "my-secret" containing the following key-value pairs: { "username": "my-user", "password": "my-password } the username could be referred to in a `Secret` by specifying "my-secret" for the `name` and "username" for the `key`.

Used in: Secret

enum Secret.Type

mesos.proto:2728

Used in: Secret

message Secret.Value

mesos.proto:2755

Used to pass the value of a secret.

Used in: Secret

enum Status

mesos.proto:29

* Status is used to indicate the state of the scheduler and executor driver after function calls.

message TTYInfo

mesos.proto:3215

* Describes the information about (pseudo) TTY that can be attached to a process running in a container.

Used in: ContainerInfo, agent.ProcessIO.Control

message TTYInfo.WindowSize

mesos.proto:3216

Used in: TTYInfo

message Task

mesos.proto:2227

* Describes a task, similar to `TaskInfo`. `Task` is used in some of the Mesos messages found below. `Task` is used instead of `TaskInfo` if: 1) we need additional IDs, such as a specific framework, executor, or agent; or 2) we do not need the additional data, such as the command run by the task or the health checks. These additional fields may be large and unnecessary for some Mesos messages. `Task` is generally constructed from a `TaskInfo`. See protobuf::createTask.

Used in: agent.Response.GetTasks, master.Event.TaskAdded, master.Response.GetTasks

message TaskGroupInfo

mesos.proto:2205

* Describes a group of tasks that belong to an executor. The executor will receive the task group in a single message to allow the group to be launched "atomically". NOTES: 1) `NetworkInfo` must not be set inside task's `ContainerInfo`. 2) `TaskInfo.executor` doesn't need to set. If set, it should match `LaunchGroup.executor`.

Used in: Offer.Operation.LaunchGroup, executor.Event.LaunchGroup

message TaskID

mesos.proto:71

* A framework-generated ID to distinguish a task. The ID must remain unique while the task is active. A framework can reuse an ID _only_ if the previous task with the same ID has reached a terminal state (e.g., TASK_FINISHED, TASK_KILLED, etc.). However, reusing task IDs is strongly discouraged (MESOS-2198).

Used in: ResourceUsage.Executor.Task, Task, TaskInfo, TaskStatus, executor.Event.Acknowledged, executor.Event.Kill, scheduler.Call.Acknowledge, scheduler.Call.Kill, scheduler.Call.Reconcile.Task, peloton.api.v0.task.PodEvent, peloton.api.v0.task.RuntimeInfo, peloton.private.hostmgr.hostsvc.GetHostsByQueryResponse.Host, peloton.private.hostmgr.hostsvc.GetTasksByHostStateResponse, peloton.private.hostmgr.hostsvc.InvalidTaskIDs, peloton.private.hostmgr.hostsvc.KillAndReserveTasksRequest.Entry, peloton.private.hostmgr.hostsvc.KillFailure, peloton.private.hostmgr.hostsvc.KillTasksRequest, peloton.private.hostmgr.hostsvc.LaunchableTask, peloton.private.resmgr.Placement.Task, peloton.private.resmgr.PreemptionCandidate, peloton.private.resmgr.Task, peloton.private.resmgr.UpdateTasksStateRequest.UpdateTaskStateEntry

message TaskInfo

mesos.proto:2136

* Describes a task. Passed from the scheduler all the way to an executor (see SchedulerDriver::launchTasks and Executor::launchTask). Either ExecutorInfo or CommandInfo should be set. A different executor can be used to launch this task, and subsequent tasks meant for the same executor can reuse the same ExecutorInfo struct.

Used in: Offer.Operation.Launch, TaskGroupInfo, executor.Call.Subscribe, executor.Event.Launch

message TaskResourceLimitation

mesos.proto:2332

* Describes a resource limitation that caused a task failure.

Used in: TaskStatus, agent.Response.WaitContainer, agent.Response.WaitNestedContainer

enum TaskState

mesos.proto:2266

* Describes possible task states. IMPORTANT: Mesos assumes tasks that enter terminal states (see below) imply the task is no longer running and thus clean up any thing associated with the task (ultimately offering any resources being consumed by that task to another task).

Used in: Task, TaskStatus, agent.Response.WaitContainer, agent.Response.WaitNestedContainer, master.Event.TaskUpdated

message TaskStatus

mesos.proto:2514

* Describes the current status of a task.

Used in: Task, executor.Call.Update, master.Event.TaskUpdated, scheduler.Event.Update, peloton.private.eventstream.Event

enum TaskStatus.Reason

mesos.proto:2524

Detailed reason for the task status update. Refer to docs/task-state-reasons.md for additional explanation.

Used in: TaskStatus, agent.Response.WaitContainer, agent.Response.WaitNestedContainer

enum TaskStatus.Source

mesos.proto:2516

Describes the source of the task status update.

Used in: TaskStatus

message TcpStatistics

mesos.proto:1603

Used in: SNMPStatistics

message TimeInfo

mesos.proto:119

* Represents time since the epoch, in nanoseconds.

Used in: FileInfo, TaskStatus, Unavailability, allocator.InverseOfferStatus, master.Response.GetAgents.Agent, master.Response.GetFrameworks.Framework

message TrafficControlStatistics

mesos.proto:1535

* When the network bandwidth caps are enabled and the container is over its limit, outbound packets may be either delayed or dropped completely either because it exceeds the maximum bandwidth allocation for a single container (the cap) or because the combined network traffic of multiple containers on the host exceeds the transmit capacity of the host (the share). We can report the following statistics for each of these conditions exported directly from the Linux Traffic Control Queueing Discipline. id : name of the limiter, e.g. 'tx_bw_cap' backlog : number of packets currently delayed bytes : total bytes seen drops : number of packets dropped in total overlimits : number of packets which exceeded allocation packets : total packets seen qlen : number of packets currently queued rate_bps : throughput in bytes/sec rate_pps : throughput in packets/sec requeues : number of times a packet has been delayed due to locking or device contention issues More information on the operation of Linux Traffic Control can be found at http://www.lartc.org/lartc.html.

Used in: ResourceStatistics

message URL

mesos.proto:149

* Represents a URL.

Used in: InverseOffer, Offer

message UUID

mesos.proto:2344

* Describes a UUID.

Used in: Operation, OperationStatus, resource_provider.Call.UpdateOperationStatus, resource_provider.Call.UpdatePublishResourcesStatus, resource_provider.Call.UpdateState, resource_provider.Event.AcknowledgeOperationStatus, resource_provider.Event.ApplyOperation, resource_provider.Event.PublishResources, resource_provider.Event.ReconcileOperations

message UdpStatistics

mesos.proto:1622

Used in: SNMPStatistics

message Unavailability

mesos.proto:163

* Represents an interval, from a given start time over a given duration. This interval pertains to an unavailability event, such as maintenance, and is not a generic interval.

Used in: InverseOffer, MachineInfo, Offer, maintenance.Window

message Value

mesos.proto:1107

* Describes an Attribute or Resource "value". A value is described using the standard protocol buffer "union" trick.

message Value.Range

mesos.proto:1127

Used in: Ranges

message Value.Ranges

mesos.proto:1132

Used in: Attribute, Resource, Value

message Value.Scalar

mesos.proto:1115

Used in: Attribute, Offer.Operation.ShrinkVolume, Resource, Value, master.Call.ShrinkVolume

message Value.Set

mesos.proto:1136

Used in: Attribute, Resource, Value

message Value.Text

mesos.proto:1140

Used in: Attribute, Value

enum Value.Type

mesos.proto:1108

Used in: Attribute, Resource, Value

message VersionInfo

mesos.proto:3510

* Version information of a component.

Used in: agent.Response.GetVersion, master.Response.GetVersion

message Volume

mesos.proto:2903

* Describes a volume mapping either from host to container or vice versa. Both paths can either refer to a directory or a file.

Used in: ContainerInfo, Resource.DiskInfo

enum Volume.Mode

mesos.proto:2904

Used in: Volume

message Volume.Source

mesos.proto:2930

Describes where a volume originates from.

Used in: Volume

message Volume.Source.DockerVolume

mesos.proto:2945

Used in: Source

message Volume.Source.HostPath

mesos.proto:2957

Absolute path pointing to a directory or file on the host.

Used in: Source

message Volume.Source.SandboxPath

mesos.proto:2967

Describe a path from a container's sandbox. The container can be the current container (SELF), or its parent container (PARENT). PARENT allows all child containers to share a volume from their parent container's sandbox. It'll be an error if the current container is a top level container.

Used in: Source

enum Volume.Source.SandboxPath.Type

mesos.proto:2968

Used in: SandboxPath

enum Volume.Source.Type

mesos.proto:2931

Used in: Source

message WeightInfo

mesos.proto:3499

* Named WeightInfo to indicate resource allocation priority between the different roles.

Used in: master.Call.UpdateWeights, master.Response.GetWeights