package mesos

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

message ACL

mesos.proto:577

* ACLs used for authorization.

(message has no fields)

message ACL.Entity

mesos.proto:583

Entity is used to describe a subject(s) or an object(s) of an ACL. NOTE: To allow everyone access to an Entity set its type to 'ANY'. To deny access to an Entity set its type to 'NONE'.

Used in: HTTPGet, HTTPPut, ReceiveOffers, RunTasks

enum ACL.Entity.Type

mesos.proto:584

Used in: Entity

message ACL.HTTPGet

mesos.proto:610

Used in: ACLs

message ACL.HTTPPut

mesos.proto:620

Used in: ACLs

message ACL.ReceiveOffers

mesos.proto:602

Used in: ACLs

message ACL.RunTasks

mesos.proto:594

ACLs.

Used in: ACLs

message ACLs

mesos.proto:651

Collection of ACL. Each authorization request is evaluated against the ACLs in the order they are defined. For simplicity, the ACLs for a given action are not aggregated even when they have the same subjects or objects. The first ACL that matches the request determines whether that request should be permitted or not. An ACL matches iff both the subjects (e.g., clients, principals) and the objects (e.g., urls, users, roles) of the ACL match the request. If none of the ACLs match the request, the 'permissive' field determines whether the request should be permitted or not. TODO(vinod): Do aggregation of ACLs when possible.

message Attribute

mesos.proto:345

* 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: Offer, SlaveInfo

message CommandInfo

mesos.proto:196

* 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: ExecutorInfo, TaskInfo

message CommandInfo.ContainerInfo

mesos.proto:212

Describes a container. Not all containerizers currently implement ContainerInfo, so it is possible that a launched task will fail due to supplying this attribute. NOTE: The containerizer API is currently in an early beta or even alpha state. Some details, like the exact semantics of an "image" or "options" are not yet hardened. TODO(tillt): Describe the exact scheme and semantics of "image" and "options".

Used in: CommandInfo

message CommandInfo.URI

mesos.proto:197

Used in: CommandInfo

message ContainerID

mesos.proto:91

* A slave generated ID to distinguish a container. The ID must be unique between any active or completed containers on the slave. In particular, containers for different runs of the same (framework, executor) pair must be unique.

Used in: containerizer.Containers, containerizer.Destroy, containerizer.Launch, containerizer.Update, containerizer.Usage, containerizer.Wait

message Credential

mesos.proto:568

* Credential used for authentication. NOTE: The 'principal' is used for authenticating the framework or slave with the master. This is different from 'FrameworkInfo.user' which is used to determine the user under which the framework's executors/tasks are run.

message Environment

mesos.proto:533

* Describes a collection of environment variables. This is used with CommandInfo in order to set environment variables before running a command.

Used in: CommandInfo

message Environment.Variable

mesos.proto:534

Used in: Environment

message ExecutorID

mesos.proto:80

* A framework generated ID to distinguish an executor. Only one executor with the same ID can be active on the same slave at a time.

Used in: ExecutorInfo, Offer, ResourceUsage

message ExecutorInfo

mesos.proto:246

* Describes information about an executor. The 'data' field can be used to pass arbitrary bytes to an executor.

Used in: TaskInfo, containerizer.Launch

message Filters

mesos.proto:517

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

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, Offer, ResourceUsage

message FrameworkInfo

mesos.proto:119

* Describes a framework. The user field is used to determine the Unix user that an executor/task should be launched as. If the user field is set to an empty string Mesos will automagically set it to the current user. Note that the ID is only available after a framework has registered, however, it is included here in order to facilitate scheduler failover (i.e., if it is set then the MesosSchedulerDriver expects the scheduler is performing failover). The amount of time that the master will wait for the scheduler to failover before removing the framework is specified by failover_timeout. If checkpoint is set, framework pid, executor pids and status updates are checkpointed to disk by the slaves. Checkpointing allows a restarted slave to reconnect with old executors and recover status updates, at the cost of disk I/O. The role field is used to group frameworks for allocation decisions, depending on the allocation policy being used. If the hostname field is set to an empty string Mesos will automagically set it to the current hostname. The principal field should match the credential the framework uses in authentication. This field is used for framework API rate exporting and limiting and should be set even if authentication is not enabled if these features are desired.

message HealthCheck

mesos.proto:137

* Describes a health check for a task or executor (or any arbitrary process/command). A "strategy" is picked by specifying one of the optional fields, currently only 'http' is supported. Specifying more than one strategy is an error.

Used in: CommandInfo

message HealthCheck.HTTP

mesos.proto:139

Describes an HTTP health check.

Used in: HealthCheck

message MasterInfo

mesos.proto:269

* 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.

message Offer

mesos.proto:453

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

message OfferID

mesos.proto:49

* A unique ID assigned to an offer.

Used in: Offer

message Parameter

mesos.proto:546

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

Used in: Parameters

message Parameters

mesos.proto:555

* Collection of Parameter.

message Request

mesos.proto:443

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

message Resource

mesos.proto:364

* Describes a resource on a machine. 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. TODO(benh): Add better support for "expected" resources (e.g., cpus, memory, disk, network).

Used in: ExecutorInfo, Offer, Request, SlaveInfo, TaskInfo, containerizer.Update

message ResourceStatistics

mesos.proto:377

A snapshot of resource usage statistics.

Used in: ResourceUsage

message ResourceUsage

mesos.proto:417

* Describes a snapshot of the resource usage for an executor. TODO(bmahler): Note that we want to be sending this information to the master, and subsequently to the relevant scheduler. So this proto is designed to be easy for the scheduler to use, this is why we provide the slave id, executor info / task info.

message SlaveID

mesos.proto:59

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

Used in: Offer, Request, ResourceUsage, SlaveInfo, TaskInfo, TaskStatus, containerizer.Launch

message SlaveInfo

mesos.proto:285

* Describes a slave. Note that the 'id' field is only available after a slave is registered with the master, and is made available here to facilitate re-registration. If checkpoint is set, the slave is checkpointing its own information and potentially frameworks' information (if a framework has checkpointing enabled).

enum Status

mesos.proto:29

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

message TaskID

mesos.proto:70

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

Used in: ResourceUsage, TaskInfo, TaskStatus

message TaskInfo

mesos.proto:471

* 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: containerizer.Launch

enum TaskState

mesos.proto:489

* 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: TaskStatus

message TaskStatus

mesos.proto:503

* Describes the current status of a task.

message Value

mesos.proto:303

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

message Value.Range

mesos.proto:315

Used in: Ranges

message Value.Ranges

mesos.proto:320

Used in: Attribute, Resource, Value

message Value.Scalar

mesos.proto:311

Used in: Attribute, Resource, Value

message Value.Set

mesos.proto:324

Used in: Attribute, Resource, Value

message Value.Text

mesos.proto:328

Used in: Attribute, Value

enum Value.Type

mesos.proto:304

Used in: Attribute, Resource, Value