Checks whether an instance configuration is valid. Must be free of side-effects.
{
"Properties": {}
}
Parameters:
Properties
: A JSON object representing the Instance. The schema is defined by the Instance plugin in use.
{
"OK": true
}
Fields:
OK
: Whether the operation succeeded.
Provisions a new instance.
{
"Spec": {
"Properties": {},
"Tags": {"tag_key": "tag_value"},
"Init": "",
"LogicalID": "logical_id",
"Attachments": [{"ID": "attachment_id", "Type": "block-device"}]
}
}
Parameters:
Spec
: an Instance Spec.
{
"ID": "instance_id"
}
Fields:
ID
: An instance ID.
Permanently destroys an instance.
{
"Instance": "instance_id",
"Context" : {
"Reason" : "rolling_update"
}
}
Parameters:
Instance
: An instance ID.Context
: An instance Context.
{
"OK": true
}
Fields:
OK
: Whether the operation succeeded.
Labels an instance. The plugin should add or update the labels given.
{
"Instance": "instance_id",
"Labels" : {
"label1" : "value1",
"label2" : "value2",
"label3" : "value3"
}
}
Parameters:
Instance
: An instance ID.Labels
: A map of labels or instance tags.
{
"OK": true
}
Fields:
OK
: Whether the operation succeeded.
Fetches details about Instances.
{
"Tags": {"tag_key": "tag_value"},
"Properties" : true
}
Parameters:
Tags
: Instance tags to match. If multiple tags are specified, only Instances matching all tags are returned.Properties
: Boolean to indicate whether the client requests additional details via theDescription.Properties
field.
{
"Descriptions": [
{
"ID": "instance_id",
"LogicalID": "logical_id",
"Tags": {"tag_key": "tag_value"},
"Properties" : { "some_status" : "ok", "some_state" : 10 }
}
]
}
Fields:
Descriptions
: An array of matching Instance Descriptions