---
title: "POST /v2/infra-envs"
method: POST
path: "/v2/infra-envs"
tags: ["installer"]
---

# POST /v2/infra-envs

`POST /v2/infra-envs`

Creates a new OpenShift Discovery ISO.

## Request body

- InfraEnvCreateParams
  - `name` string, required — Name of the infra-env.
  - `proxy` Proxy
    - `http_proxy` string, nullable — A proxy URL to use for creating HTTP connections outside the cluster. http://\<username\>:\<pswd\>@\<ip\>:\<port\>
    - `https_proxy` string, nullable — A proxy URL to use for creating HTTPS connections outside the cluster. http://\<username\>:\<pswd\>@\<ip\>:\<port\>
    - `no_proxy` string, nullable — An "*" or a comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
  - `additional_ntp_sources` string, nullable — A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
  - `ssh_authorized_key` string, nullable — SSH public key for debugging the installation.
  - `pull_secret` string, required — The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
  - `static_network_config` HostStaticNetworkConfig[]
    - `network_yaml` string — yaml string that can be processed by nmstate
    - `mac_interface_map` object[]
      - `mac_address` string — mac address present on the host
      - `logical_nic_name` string — nic name used in the yaml, which relates 1:1 to the mac address
  - `image_type` 'full-iso' | 'minimal-iso'
  - `ignition_config_override` string — JSON formatted string containing the user overrides for the initial ignition config.
  - `cluster_id` string, uuid, nullable — If set, all hosts that register will be associated with the specified cluster.
  - `openshift_version` string — Version of the OpenShift cluster (used to infer the RHCOS version - temporary until generic logic implemented).
  - `cpu_architecture` 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' — The CPU architecture of the image (x86_64/arm64/etc).
  - `kernel_arguments` KernelArgument[] — List of kernel arugment objects that define the operations and values to be applied.
    - `operation` 'append' | 'replace' | 'delete' — The operation to apply on the kernel argument.
    - `value` string — Kernel argument can have the form <parameter> or <parameter>=<value>. The following examples should be supported: rd.net.timeout.carrier=60 isolcpus=1,2,10-20,100-2000:2/25 quiet The parsing by the command line parser in linux kernel is much looser and this pattern follows it.
  - `additional_trust_bundle` string — PEM-encoded X.509 certificate bundle. Hosts discovered by this infra-env will trust the certificates in this bundle. Clusters formed from the hosts discovered by this infra-env will also trust the certificates in this bundle.

## Response `201`

Success.

- InfraEnv
  - `kind` 'InfraEnv', required — Indicates the type of this object.
  - `id` string, uuid, required — Unique identifier of the object.
  - `href` string, required — Self link.
  - `openshift_version` string — Version of the OpenShift cluster (used to infer the RHCOS version - temporary until generic logic implemented).
  - `name` string, required — Name of the infra-env.
  - `user_name` string
  - `org_id` string
  - `email_domain` string
  - `proxy` Proxy
    - `http_proxy` string, nullable — A proxy URL to use for creating HTTP connections outside the cluster. http://\<username\>:\<pswd\>@\<ip\>:\<port\>
    - `https_proxy` string, nullable — A proxy URL to use for creating HTTPS connections outside the cluster. http://\<username\>:\<pswd\>@\<ip\>:\<port\>
    - `no_proxy` string, nullable — An "*" or a comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
  - `additional_ntp_sources` string — A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
  - `ssh_authorized_key` string — SSH public key for debugging the installation.
  - `pull_secret_set` boolean — True if the pull secret has been added to the cluster.
  - `static_network_config` string — static network configuration string in the format expected by discovery ignition generation.
  - `type` 'full-iso' | 'minimal-iso', required
  - `ignition_config_override` string — Json formatted string containing the user overrides for the initial ignition config.
  - `cluster_id` string, uuid — If set, all hosts that register will be associated with the specified cluster.
  - `size_bytes` integer
  - `download_url` string
  - `generator_version` string — Image generator version.
  - `updated_at` string, date-time, required — The last time that this infra-env was updated.
  - `created_at` string, date-time, required
  - `expires_at` string, date-time
  - `cpu_architecture` 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' — The CPU architecture of the image (x86_64/arm64/etc).
  - `kernel_arguments` string, nullable — JSON formatted string array representing the discovery image kernel arguments.
  - `additional_trust_bundle` string — PEM-encoded X.509 certificate bundle. Hosts discovered by this infra-env will trust the certificates in this bundle. Clusters formed from the hosts discovered by this infra-env will also trust the certificates in this bundle.

## Other responses

- `400` — Error.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Error.
- `405` — Method Not Allowed.
- `409` — Error.
- `500` — Error.
- `501` — Not implemented.

---

[API](https://skmtc.dev/openshift/apis/assistedinstall.md) · [All operations](https://skmtc.dev/openshift/apis/assistedinstall/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openshift/assistedinstall/revisions/da8eda34bc5a/schema)
