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.Propertiesfield.
{
"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