Tateru Machine Service API
The Tateru Machine Service is a repository of machine metadata and manager routing information.
Version: 0.0.7
Apache 2.0
http://www.apache.org/licenses/LICENSE-2.0.html
Access
[ Jump to Models ]
Table of Contents
Up
post /v1/machines/{uuid}/boot-installer
makes a machine boot into the Tateru installer environment (bootInstaller)
Calling this action will cause a machine to boot into the Tateru installer
environment, possibly by reconfiguring bootup order and doing a network boot.
Path parameters
uuid (required)
Path Parameter — The machine UUID to boot the installer on
Consumes
This API call consumes the following media types via the request header:
Request body
Responses
200
the request succeeded
404
the requested machine was not found
409
the requested machine is already subject to another operation
500
the request failed
Up
get /v1/machines/{uuid}
fetch a known machine (fetchMachine)
Returns one specific active machine object.
Path parameters
uuid (required)
Path Parameter — The machine UUID to fetch
Return type
Example data
Content-Type: application/json
{
"serialNumber" : "XYZ1234",
"installerAddress" : "2001:db8::1234",
"managedBy" : "http://tateru-vsphere.corp.local:7707/",
"name" : "VMLNX01",
"assetTag" : "00203",
"uuid" : "d290f1ee-6c54-4b01-90e6-d701748f0851",
"sshPorts" : {
"installer" : 22
}
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
list of machine objects
Machine
404
the requested machine was not found
Up
post /v1/machines/{uuid}/installer-callback
send an installation callback to notify Tateru that an installer has booted (installerCallback)
When the Tateru installation software has booted it will call this endpoint to provide inventory
and address to be reached at. It will be provided with an SSH public key to allow as response.
Path parameters
uuid (required)
Path Parameter — The machine UUID the installer is running on
Consumes
This API call consumes the following media types via the request header:
Request body
Return type
Example data
Content-Type: application/json
{
"ssh_pub_key" : "ssh-ed25519 AAA[..]AAV user@laptop"
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
the request succeeded
CallbackResponse
404
the requested machine was not found
Up
get /v1/machines/{uuid}
fetch a known machine (fetchMachine)
Returns one specific active machine object.
Path parameters
uuid (required)
Path Parameter — The machine UUID to fetch
Return type
Example data
Content-Type: application/json
{
"serialNumber" : "XYZ1234",
"installerAddress" : "2001:db8::1234",
"managedBy" : "http://tateru-vsphere.corp.local:7707/",
"name" : "VMLNX01",
"assetTag" : "00203",
"uuid" : "d290f1ee-6c54-4b01-90e6-d701748f0851",
"sshPorts" : {
"installer" : 22
}
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
list of machine objects
Machine
404
the requested machine was not found
fetches all known machines (fetchMachines)
Returns all currently active machine objects.
Query parameters
alias (optional)
Query Parameter — Filter on known aliases for machines (e.g. name)
Return type
Example data
Content-Type: application/json
[ {
"serialNumber" : "XYZ1234",
"installerAddress" : "2001:db8::1234",
"managedBy" : "http://tateru-vsphere.corp.local:7707/",
"name" : "VMLNX01",
"assetTag" : "00203",
"uuid" : "d290f1ee-6c54-4b01-90e6-d701748f0851",
"sshPorts" : {
"installer" : 22
}
}, {
"serialNumber" : "XYZ1234",
"installerAddress" : "2001:db8::1234",
"managedBy" : "http://tateru-vsphere.corp.local:7707/",
"name" : "VMLNX01",
"assetTag" : "00203",
"uuid" : "d290f1ee-6c54-4b01-90e6-d701748f0851",
"sshPorts" : {
"installer" : 22
}
} ]
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
list of machine objects
[ Jump to Methods ]
Table of Contents
BootInstallerRequest
CallbackRequest
CallbackResponse
Machine
SSHPorts
nonce
String An arbitary string that is used to offer idempotency.
example: d290f1ff-6c54-4b01-90e6-d723748f0851
ssh_pub_key
String The SSH public key to allow SSH access to the installer environment
example: ssh-ed25519 AAA[..]AAV user@laptop
serialNumber (optional)
example: XYZ1234
assetTag (optional)
example: 00203
sshPorts
ssh_pub_key
example: ssh-ed25519 AAA[..]AAV user@laptop
uuid
example: d290f1ee-6c54-4b01-90e6-d701748f0851
serialNumber (optional)
example: XYZ1234
assetTag (optional)
example: 00203
name (optional)
example: VMLNX01
managedBy (optional)
String URL of the manager that is the source of this machine record
example: http://tateru-vsphere.corp.local:7707/
installerAddress (optional)
String Address of the installer if known (populated by installer-callback)
example: 2001:db8::1234
sshPorts (optional)