isos

POST

Generates an ISO from the requested ISO source.

Auth. Required

Yes

Roles Required

“admin” or “operations”

Response Type

undefined - ISO image as a streaming download

Request Structure

dhcp

A string that specifies whether the generated system image will use DHCP IP address leasing; one of:

yes

DHCP will be used, and other network configuration keys need not be present in the request (and are ignored if they are)

no

DHCP will not be used, and the desired network configuration must be specified manually in the request body

disk

An optional string that names the block device (under /dev/) used for the boot media, e.g. “sda”

domainName

The domain part of the system image’s Fully Qualified Domain Name (FQDN)

hostName

The host name part of the system image’s FQDN

interfaceMtu

A number that specifies the Maximum Transmission Unit (MTU) for the system image’s network interface card - the only valid values of which I’m aware are 1500 or 9000, and this should almost always just be 1500

interfaceName

An optional string naming the network interface to be used by the generated system image e.g. “bond0”, “eth0”, etc. If the special name “bond0” is used, an LACP binding configuration will be created and included in the system image

ip6Address

An optional string containing the IPv6 address of the generated system image

ip6Gateway

An optional string specifying the IPv6 address of the generated system image’s network gateway - this will be ignored if ipGateway is specified

ipAddress

An optional1 string containing the IP address of the generated system image

ipGateway

An optional1 string specifying the IP address of the generated system image’s network gateway

ipNetmask

An optional1 string specifying the subnet mask of the generated system image

osversionDir

The name of the directory containing the ISO source

See also

osversions

rootPass

The password used by the generated system image’s root user

#785 Request Example
POST /api/3.0/isos HTTP/1.1
Host: some.trafficops.host
User-Agent: curl/7.47.0
Accept: */*
Cookie: mojolicious=...
Content-Length: 334
Content-Type: application/json

{
    "osversionDir": "centos72",
    "hostName": "test",
    "domainName": "quest",
    "rootPass": "twelve",
    "dhcp": "no",
    "interfaceMtu": 1500,
    "ipAddress": "1.3.3.7",
    "ipNetmask": "255.255.255.255",
    "ipGateway": "8.0.0.8",
    "ip6Address": "1::3:3:7",
    "ip6Gateway": "8::8",
    "interfaceName": "eth0",
    "disk": "hda"
}
1(1,2,3)

This optional key is required if and only if dhcp is “no”.

Response Structure

ISO image as a streaming download.

#786 Response Example
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Set-Cookie, Cookie
Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Disposition: attachment; filename="test-centos72_centos72-netinstall.iso"
Content-Encoding: gzip
Content-Type: application/download
Date: Wed, 05 Feb 2020 21:59:15 GMT
Set-Cookie: mojolicious=...; Path=/; Expires=Wed, 05 Feb 2020 22:59:11 GMT; Max-Age=3600; HttpOnly
Transfer-Encoding: chunked
Whole-Content-sha512: sLSVQGrLCQ4hGQhv2reragQHWNi2aKMcz2c/HMAH45tLcZ1LenPyOzWRcRfHUNbV4PEEKOoiTfwE2HlA+WtRIQ==
X-Server-Name: traffic_ops_golang/