Machines are created whenever Rancher uses docker-machine to create hosts in Rancher. Adding any type of host through the UI that is not the custom command option is calling docker-machine and a machine entry will be created as well as a host.
| Field | Type | Create | Update | Default | Notes |
|---|---|---|---|---|---|
| amazonec2Config | amazonec2Config | Optional | - | - | |
| authCertificateAuthority | string | Optional | - | - | |
| authKey | string | Optional | - | - | |
| azureConfig | azureConfig | Optional | - | - | |
| description | string | Optional | Yes | - | |
| digitaloceanConfig | digitaloceanConfig | Optional | - | - | |
| dockerVersion | string | Optional | - | - | |
| engineEnv | map[string] | Optional | - | - | |
| engineInsecureRegistry | array[string] | Optional | - | - | |
| engineInstallUrl | string | Optional | - | - | |
| engineLabel | map[string] | Optional | - | - | |
| engineOpt | map[string] | Optional | - | - | |
| engineRegistryMirror | array[string] | Optional | - | - | |
| engineStorageDriver | string | Optional | - | - | |
| exoscaleConfig | exoscaleConfig | Optional | - | - | |
| genericConfig | genericConfig | Optional | - | - | |
| googleConfig | googleConfig | Optional | - | - | |
| hypervConfig | hypervConfig | Optional | - | - | |
| labels | map[string] | Optional | - | - | A map of key value pairs to be used as labels for the machine |
| name | string | Yes | - | - | |
| openstackConfig | openstackConfig | Optional | - | - | |
| packetConfig | packetConfig | Optional | - | - | |
| rackspaceConfig | rackspaceConfig | Optional | - | - | |
| softlayerConfig | softlayerConfig | Optional | - | - | |
| ubiquityConfig | ubiquityConfig | Optional | - | - | |
| virtualboxConfig | virtualboxConfig | Optional | - | - | |
| vmwarefusionConfig | vmwarefusionConfig | Optional | - | - | |
| vmwarevcloudairConfig | vmwarevcloudairConfig | Optional | - | - | |
| vmwarevsphereConfig | vmwarevsphereConfig | Optional | - | - |
| Field | Type | Notes |
|---|---|---|
| driver | string | |
| externalId | string | |
| id | int | The unique identifier for the machine |
Please read more about the common resource fields. These fields are read only and applicable to almost every resource. We have segregated them from the list above.
CreatePOST: /v1/machines
curl -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"amazonec2Config": {
"accessKey": "string",
"ami": "string",
"deviceName": "string",
"iamInstanceProfile": "string",
"instanceType": "string",
"monitoring": false,
"privateAddressOnly": false,
"region": "string",
"requestSpotInstance": false,
"rootSize": "string",
"secretKey": "string",
"securityGroup": "string",
"sessionToken": "string",
"spotPrice": "string",
"sshKeypath": "string",
"sshUser": "string",
"subnetId": "string",
"tags": "string",
"useEbsOptimizedInstance": false,
"usePrivateAddress": false,
"volumeType": "string",
"vpcId": "string",
"zone": "string"
},
"authCertificateAuthority": "string",
"authKey": "string",
"azureConfig": {
"dockerPort": "string",
"dockerSwarmMasterPort": "string",
"image": "string",
"location": "string",
"password": "string",
"publishSettingsFile": "string",
"size": "string",
"sshPort": "string",
"subscriptionCert": "string",
"subscriptionId": "string",
"username": "string"
},
"description": "string",
"digitaloceanConfig": {
"accessToken": "string",
"backups": false,
"image": "string",
"ipv6": false,
"privateNetworking": false,
"region": "string",
"size": "string",
"sshPort": "string",
"sshUser": "string",
"userdata": "string"
},
"dockerVersion": "string",
"engineEnv": {
"key": "value-pairs"
},
"engineInsecureRegistry": [
"string1",
"...stringN"
],
"engineInstallUrl": "string",
"engineLabel": {
"key": "value-pairs"
},
"engineOpt": {
"key": "value-pairs"
},
"engineRegistryMirror": [
"string1",
"...stringN"
],
"engineStorageDriver": "string",
"exoscaleConfig": {
"apiKey": "string",
"apiSecretKey": "string",
"availabilityZone": "string",
"diskSize": "string",
"image": "string",
"instanceProfile": "string",
"securityGroup": [
"string1",
"...stringN"
],
"url": "string"
},
"genericConfig": {
"ipAddress": "string",
"sshKey": "string",
"sshPort": "string",
"sshUser": "string"
},
"googleConfig": {
"address": "string",
"diskSize": "string",
"diskType": "string",
"machineImage": "string",
"machineType": "string",
"preemptible": false,
"project": "string",
"scopes": "string",
"tags": "string",
"useExisting": false,
"useInternalIp": false,
"username": "string",
"zone": "string"
},
"hypervConfig": {
"boot2dockerUrl": "string",
"cpuCount": "string",
"diskSize": "string",
"memory": "string",
"virtualSwitch": "string"
},
"labels": {
"key": "value-pairs"
},
"name": "string",
"openstackConfig": {
"activeTimeout": "string",
"authUrl": "string",
"availabilityZone": "string",
"domainId": "string",
"domainName": "string",
"endpointType": "string",
"flavorId": "string",
"flavorName": "string",
"floatingipPool": "string",
"imageId": "string",
"imageName": "string",
"insecure": false,
"ipVersion": "string",
"keypairName": "string",
"netId": "string",
"netName": "string",
"novaNetwork": false,
"password": "string",
"privateKeyFile": "string",
"region": "string",
"secGroups": "string",
"sshPort": "string",
"sshUser": "string",
"tenantId": "string",
"tenantName": "string",
"username": "string"
},
"packetConfig": {
"apiKey": "string",
"billingCycle": "string",
"facilityCode": "string",
"os": "string",
"plan": "string",
"projectId": "string"
},
"rackspaceConfig": {
"apiKey": "string",
"dockerInstall": "string",
"endpointType": "string",
"flavorId": "string",
"imageId": "string",
"region": "string",
"sshPort": "string",
"sshUser": "string",
"username": "string"
},
"softlayerConfig": {
"apiEndpoint": "string",
"apiKey": "string",
"cpu": "string",
"diskSize": "string",
"domain": "string",
"hostname": "string",
"hourlyBilling": false,
"image": "string",
"localDisk": false,
"memory": "string",
"privateNetOnly": false,
"privateVlanId": "string",
"publicVlanId": "string",
"region": "string",
"user": "string"
},
"ubiquityConfig": {
"apiToken": "string",
"apiUsername": "string",
"clientId": "string",
"flavorId": "string",
"imageId": "string",
"zoneId": "string"
},
"virtualboxConfig": {
"boot2dockerUrl": "string",
"cpuCount": "string",
"diskSize": "string",
"dnsProxy": false,
"hostDnsResolver": false,
"hostonlyCidr": "string",
"hostonlyNicpromisc": "string",
"hostonlyNictype": "string",
"importBoot2dockerVm": "string",
"memory": "string",
"noShare": false,
"noVtxCheck": false
},
"vmwarefusionConfig": {},
"vmwarevcloudairConfig": {
"catalog": "string",
"catalogitem": "string",
"computeid": "string",
"cpuCount": "string",
"dockerPort": "string",
"edgegateway": "string",
"memorySize": "string",
"orgvdcnetwork": "string",
"password": "string",
"publicip": "string",
"sshPort": "string",
"username": "string",
"vdcid": "string"
},
"vmwarevsphereConfig": {
"boot2dockerUrl": "string",
"cpuCount": "string",
"datacenter": "string",
"datastore": "string",
"diskSize": "string",
"hostsystem": "string",
"memorySize": "string",
"network": "string",
"password": "string",
"pool": "string",
"username": "string",
"vcenter": "string",
"vcenterPort": "string"
}
}' 'http://${RANCHER_URL}:8080/v1/machines'
DeleteDELETE: /v1/machines/${ID}
curl -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" \
-X DELETE \
'http://${RANCHER_URL}:8080/v1/machines/${ID}'