{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-github-com-harness-hce-saas-graphql-server-graph-model-register-infra-request-schema.json",
  "title": "github_com_harness_hce-saas_graphql_server_graph_model.RegisterInfraRequest",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-chaos-infrastructure-api-openapi.yml#/components/schemas/github_com_harness_hce-saas_graphql_server_graph_model.RegisterInfraRequest",
  "type": "object",
  "properties": {
    "description": {
      "description": "Description of the infra",
      "type": "string"
    },
    "environmentID": {
      "description": "Environment ID for the infra",
      "type": "string"
    },
    "infraNamespace": {
      "description": "Namespace where the infra is being installed",
      "type": "string"
    },
    "infraNsExists": {
      "description": "Bool value indicating whether infra ns used already exists on infra or not",
      "type": "boolean"
    },
    "infraSaExists": {
      "description": "Bool value indicating whether service account used already exists on infra or not",
      "type": "boolean"
    },
    "infraScope": {
      "description": "Scope of the infra : ns or infra",
      "allOf": [
        {
          "$ref": "#/$defs/model.InfraScope"
        }
      ]
    },
    "installationType": {
      "description": "InstallationType connector/manifest",
      "allOf": [
        {
          "$ref": "#/$defs/model.InstallationType"
        }
      ]
    },
    "isAutoUpgradeEnabled": {
      "description": "Boolean value indicating if chaos infrastructure has auto upgrade enabled or not",
      "type": "boolean"
    },
    "isSecretEnabled": {
      "description": "Tune secret for infra",
      "type": "boolean"
    },
    "k8sConnectorID": {
      "description": "K8sConnectorID",
      "type": "string"
    },
    "name": {
      "description": "Name of the infra",
      "type": "string"
    },
    "nodeSelector": {
      "description": "Node selectors used by infra",
      "type": "string"
    },
    "platformName": {
      "description": "Infra Platform Name eg. GKE,AWS, Others",
      "type": "string"
    },
    "runAsGroup": {
      "description": "set the user group for security context in pod",
      "type": "integer"
    },
    "runAsUser": {
      "description": "set the user for security context in pod",
      "type": "integer"
    },
    "sccYaml": {
      "description": "Value containing the scc-yaml used in openShift clusters",
      "type": "string"
    },
    "serviceAccount": {
      "description": "Name of service account used by infra",
      "type": "string"
    },
    "skipSsl": {
      "description": "Bool value indicating whether infra will skip ssl checks or not",
      "type": "boolean"
    },
    "tags": {
      "description": "Tags of the infra",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tolerations": {
      "description": "Node tolerations used by infra",
      "type": "array",
      "items": {
        "$ref": "#/$defs/model.Toleration"
      }
    }
  },
  "$defs": {
    "model.InfraScope": {
      "type": "string",
      "enum": [
        "namespace",
        "cluster"
      ],
      "x-enum-varnames": [
        "InfraScopeNamespace",
        "InfraScopeCluster"
      ]
    },
    "model.InstallationType": {
      "type": "string",
      "enum": [
        "CONNECTOR",
        "MANIFEST",
        "CONNECTORV2"
      ],
      "x-enum-varnames": [
        "InstallationTypeConnector",
        "InstallationTypeManifest",
        "InstallationTypeConnectorv2"
      ]
    },
    "model.Toleration": {
      "type": "object",
      "properties": {
        "effect": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "tolerationSeconds": {
          "type": "integer"
        },
        "value": {
          "type": "string"
        }
      }
    }
  }
}