Foreman considers a domain and a DNS zone as the same thing. That is, if you are planning to manage a site where all the machines are of the form hostname.somewhere.com then the domain is somewhere.com. This allows Foreman to associate a puppet variable with a domain/site and automatically append this variable to all external node requests made by machines at that site.
GET /api/domains 200 { "total": 4, "subtotal": 1, "page": 1, "per_page": 20, "search": "location_id=373111740", "sort": { "by": null, "order": null }, "results": [ { "fullname": "somewhare that is never used", "created_at": "2024-02-22 15:54:00 UTC", "updated_at": "2024-02-22 15:54:00 UTC", "id": 759776763, "name": "unused.net", "dns_id": 113629430, "dns": { "name": "DNS Proxy", "id": 113629430, "url": "http://else.where:45671" } } ] }
Param name | Description |
---|---|
subnet_id
optional |
ID of subnet Validations:
|
location_id
optional |
Scope by locations Validations:
|
organization_id
optional |
Scope by organizations Validations:
|
search
optional |
filter results Validations:
|
order
optional |
Sort and order by a searchable field, e.g. '<field> DESC' Validations:
|
page
optional |
Page number, starting at 1 Validations:
|
per_page
optional |
Number of results per page to return, 'all' to return all results Validations:
|
Field name | Type | Possible values |
---|---|---|
fullname | string | |
id | integer | |
location | string | |
location_id | integer | |
name | string | |
organization | string | |
organization_id | integer | |
params | string |
GET /api/domains/759776764-example362-com 200 { "fullname": "example362.com", "created_at": "2024-02-22 15:54:02 UTC", "updated_at": "2024-02-22 15:54:02 UTC", "id": 759776764, "name": "example362.com", "dns_id": null, "dns": null, "subnets": [], "interfaces": [], "parameters": [ { "priority": 30, "created_at": "2024-02-22 15:54:02 UTC", "updated_at": "2024-02-22 15:54:02 UTC", "id": 767575239, "name": "parameter15", "parameter_type": "string", "associated_type": "domain", "hidden_value?": false, "value": "parameter value 15" } ], "locations": [ { "id": 255093256, "name": "Location 1", "title": "Location 1", "description": null } ], "organizations": [ { "id": 447626438, "name": "Organization 1", "title": "Organization 1", "description": null } ] }
Param name | Description |
---|---|
location_id
optional |
Set the current location context for the request Validations:
|
organization_id
optional |
Set the current organization context for the request Validations:
|
id
required |
Numerical ID or domain name Validations:
|
show_hidden_parameters
optional |
Display hidden parameter values Validations:
|
The fullname field is used for human readability in reports and other pages that refer to domains, and also available as an external node parameter
POST /api/domains { "domain": { "name": "doma.in", "dns_id": 281110243 } } 422 { "error": { "id": null, "errors": { "dns_id": [ "Invalid smart-proxy id" ] }, "full_messages": [ "Dns Invalid smart-proxy id" ] } }
Param name | Description |
---|---|
location_id
optional |
Set the current location context for the request Validations:
|
organization_id
optional |
Set the current organization context for the request Validations:
|
domain
required |
Validations:
|
domain[name]
required |
The full DNS domain name Validations:
|
domain[fullname]
optional , nil allowed |
Description of the domain Validations:
|
domain[dns_id]
optional , nil allowed |
DNS proxy ID to use within this domain Validations:
|
domain[domain_parameters_attributes]
optional , nil allowed |
Array of parameters (name, value) Validations:
|
domain[location_ids]
optional , nil allowed |
REPLACE locations with given ids Validations:
|
domain[organization_ids]
optional , nil allowed |
REPLACE organizations with given ids. Validations:
|
PUT /api/domains/22495316-mydomain-net { "domain": { "name": "domain.new" } } 200 { "fullname": null, "created_at": "2024-02-22 15:54:00 UTC", "updated_at": "2024-02-22 15:54:02 UTC", "id": 22495316, "name": "domain.new", "dns_id": 113629430, "dns": { "name": "DNS Proxy", "id": 113629430, "url": "http://else.where:45671" }, "subnets": [ { "id": 980190962, "name": "one", "description": null, "network_address": "2.3.4.0/24" } ], "interfaces": [], "parameters": [ { "priority": null, "created_at": "2024-02-22 15:54:00 UTC", "updated_at": "2024-02-22 15:54:00 UTC", "id": 665394701, "name": "parameter", "parameter_type": "string", "associated_type": "domain", "hidden_value?": false, "value": "value1" } ], "locations": [ { "id": 255093256, "name": "Location 1", "title": "Location 1", "description": null } ], "organizations": [ { "id": 447626438, "name": "Organization 1", "title": "Organization 1", "description": null } ] }
Param name | Description |
---|---|
location_id
optional |
Set the current location context for the request Validations:
|
organization_id
optional |
Set the current organization context for the request Validations:
|
id
required |
Validations:
|
domain
required |
Validations:
|
domain[name]
optional |
The full DNS domain name Validations:
|
domain[fullname]
optional , nil allowed |
Description of the domain Validations:
|
domain[dns_id]
optional , nil allowed |
DNS proxy ID to use within this domain Validations:
|
domain[domain_parameters_attributes]
optional , nil allowed |
Array of parameters (name, value) Validations:
|
domain[location_ids]
optional , nil allowed |
REPLACE locations with given ids Validations:
|
domain[organization_ids]
optional , nil allowed |
REPLACE organizations with given ids. Validations:
|
DELETE /api/domains/22495316-mydomain-net { "domain": {} } 200 { "id": 22495316, "name": "mydomain.net", "fullname": null, "created_at": "2024-02-22T15:54:00.891Z", "updated_at": "2024-02-22T15:54:00.891Z", "dns_id": 113629430 }
Param name | Description |
---|---|
location_id
optional |
Set the current location context for the request Validations:
|
organization_id
optional |
Set the current organization context for the request Validations:
|
id
required |
Validations:
|