Skip to content

Latest commit

 

History

History
73 lines (49 loc) · 2.43 KB

types.md

File metadata and controls

73 lines (49 loc) · 2.43 KB

API types and common fields

Allocation

The method and details for allocating a group. Groups are homogeneous (cattle) when the Size field is set, or nearly-homogeneous (pets) when the LogicalIDs field is set.

Groups using LogicalIDs will converge towards maintaining a number of Instances matching the number of LogicalIDs, where each Instance is uniquely assigned a logical ID. The ID will be present in the LogicalID field of the Instance Description and Spec. Logical IDs are useful for behavior such as managing a pool of Attachments for state attached to instances.

Fields:

  • Size: An integer, the number of instances to maintain in the Group.
  • LogicalIDs: An array of strings, the logical identifeirs to maintain in the group.

Group ID

A globally-unique string identifier for an Group.

Group Description

Fields:

Group Spec

The declared specification of a Group.

Fields:

  • ID: Group ID
  • Properties: A JSON object representing the Group. The schema is defined by the Group plugin in use.

Instance Attachment

An external entity associated with an Instance. The meaning of an Attachment is defined by the Instance plugin.

Fields:

  • ID: A unique identifier for the Attachment
  • Type: An identifier for the kind of attachment.

Instance Description

The description of an existing Instance.

Fields:

Instance ID

A globally-unique string identifier for an Instance.

Instance Spec

The declared specification of an Instance.

Fields:

  • Properties: A JSON object representing the Instance to create. The schema is defined by the Instance plugin in use.
  • Tags: Instance Tags
  • Init: a shell script to run when the instance boots.
  • LogicalID: Logical ID
  • Attachments: an array Attachments

Instance Tags

A key (string) to value (string) mapping of attributes to include on an instance. Tags are useful for user-defined Instance grouping and metadata.

Logical ID

A possibly-reused logical identifier for an Instance.