/* tslint:disable */
/* eslint-disable */
/**
 * AssistedInstall
 * Assisted installation
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

// May contain unused imports in some cases
// @ts-ignore
import { HostStaticNetworkConfig } from './host-static-network-config';
// May contain unused imports in some cases
// @ts-ignore
import { ImageType } from './image-type';
// May contain unused imports in some cases
// @ts-ignore
import { KernelArguments } from './kernel-arguments';
// May contain unused imports in some cases
// @ts-ignore
import { Proxy } from './proxy';

/**
 *
 * @export
 * @interface InfraEnvCreateParams
 */
export interface InfraEnvCreateParams {
  /**
   * Name of the infra-env.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  name: string;
  /**
   * The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  pull_secret: string;
  /**
   * A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  additional_ntp_sources?: string | null;
  /**
   * 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.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  additional_trust_bundle?: string;
  /**
   * If set, all hosts that register will be associated with the specified cluster.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  cluster_id?: string | null;
  /**
   * The CPU architecture of the image (x86_64/arm64/etc).
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  cpu_architecture?: InfraEnvCreateParamsCpuArchitectureEnum;
  /**
   * JSON formatted string containing the user overrides for the initial ignition config.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  ignition_config_override?: string;
  /**
   *
   * @type {ImageType}
   * @memberof InfraEnvCreateParams
   */
  image_type?: ImageType;
  /**
   *
   * @type {KernelArguments}
   * @memberof InfraEnvCreateParams
   */
  kernel_arguments?: KernelArguments;
  /**
   * Version of the OpenShift cluster (used to infer the RHCOS version - temporary until generic logic implemented).
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  openshift_version?: string;
  /**
   *
   * @type {Proxy}
   * @memberof InfraEnvCreateParams
   */
  proxy?: Proxy;
  /**
   * SSH public key for debugging the installation.
   * @type {string}
   * @memberof InfraEnvCreateParams
   */
  ssh_authorized_key?: string | null;
  /**
   *
   * @type {Array<HostStaticNetworkConfig>}
   * @memberof InfraEnvCreateParams
   */
  static_network_config?: Array<HostStaticNetworkConfig>;
}

/**
 * @export
 * @enum {string}
 */
export enum InfraEnvCreateParamsCpuArchitectureEnum {
  X8664 = 'x86_64',
  Aarch64 = 'aarch64',
  Arm64 = 'arm64',
  Ppc64le = 'ppc64le',
  S390x = 's390x',
}
