Create Orchestrators
This endpoint is used to create orchestrators.
POST /openapi/v1/orchestrator/{scope}
Sample python code for vCenter orchestrators
req_payload = {
"name": "VCenter Orchestrator"
"type": "vcenter",
"hosts_list": [ { "host_name": "8.8.8.8", "port_number": 443}],
"username":"admin",
"password":"admin"
}
resp = restclient.post('/orchestrator/Default', json_body=json.dumps(req_payload))
Sample python code for DNS orchestrators
req_payload = {
"name": "DNS Server"
"type": "dns",
"hosts_list": [ { "host_name": "8.8.8.8", "port_number": 53}],
"dns_zones": [ "lab.corp.com.", "dev.corp.com." ]
}
resp = restclient.post('/orchestrator/Default', json_body=json.dumps(req_payload))
Sample python code for Kubernetes orchestrators
req_payload = {
"name": "k8s"
"type": "kubernetes",
"hosts_list": [ { "host_name": "8.8.8.8", "port_number": 53}],
"certificate": "",
"key": "",
"ca_certificate": "",
}
resp = restclient.post('/orchestrator/Default', json_body=json.dumps(req_payload))
Sample python code for Kubernetes orchestrators with Ingress Controller
See information about the Kubernetes/OpenShift external orchestrator for creating authentication details.
req_payload = {
"name": "k8s",
"type": "kubernetes",
"hosts_list": [ { "host_name": "8.8.8.8", "port_number": 53}],
"certificate": "",
"key": "",
"ca_certificate": "",
"ingress_controllers": [
{
"pod_selector": {
"namespace": "ingress-nginx",
"labels": [{ "key": "app", "value": "nginx-ingress"}],
}
}
]
}
resp = restclient.post('/orchestrator/Default', json_body=json.dumps(req_payload))
Sample python code for Kubernetes orchestrators with Multiple Ingress Controllers
See information about the Kubernetes/OpenShift external orchestrator for creating authentication details.
req_payload = {
"name": "k8s",
"type": "kubernetes",
"hosts_list": [ { "host_name": "8.8.8.8", "port_number": 53}],
"certificate": "",
"key": "",
"ca_certificate": "",
"ingress_controllers": [
{
"pod_selector": {
"namespace": "ingress-nginx",
"labels": [{ "key": "app", "value": "nginx-ingress"}],
},
"controller_config": {
"ingress_class": "nginx-class",
}
},
{
"pod_selector": {
"namespace": "ingress-haproxy",
"labels": [{ "key": "app", "value": "haproxy-ingress"}],
},
"controller_config": {
"ingress_class": "haproxy-class",
"http_ports": [8080],
"https_ports": [8443],
"namespace": "haproxy-watching-namespace"
}
}
],
}
resp = restclient.post('/orchestrator/Default', json_body=json.dumps(req_payload))
** Type AWS and EKS are no longer supported in external orchestrators. They have been ported to
connectors.