# Register a new legacy kubernetes chaos infra

Register a new legacy kubernetes chaos infra

Endpoint: POST /gateway/chaos/manager/api/rest/kubernetes/infra
Version: 1.0
Security: 

## Query parameters:

  - `accountIdentifier` (string, required)
    account id that want to access the resource

  - `organizationIdentifier` (string, required)
    organization id that want to access the resource

  - `projectIdentifier` (string, required)
    project id that want to access the resource

## Request fields (application/json):

  - `description` (string)
    Description of the infra

  - `environmentID` (string)
    Environment ID for the infra

  - `infraNamespace` (string)
    Namespace where the infra is being installed

  - `infraNsExists` (boolean)
    Bool value indicating whether infra ns used already exists on infra or not

  - `infraSaExists` (boolean)
    Bool value indicating whether service account used already exists on infra or not

  - `infraScope` (string)
    Scope of the infra : ns or infra
    Enum: "namespace", "cluster"

  - `installationType` (string)
    InstallationType connector/manifest
    Enum: "CONNECTOR", "MANIFEST", "CONNECTORV2"

  - `isAutoUpgradeEnabled` (boolean)
    Boolean value indicating if chaos infrastructure has auto upgrade enabled or not

  - `isSecretEnabled` (boolean)
    Tune secret for infra

  - `k8sConnectorID` (string)
    K8sConnectorID

  - `name` (string)
    Name of the infra

  - `nodeSelector` (string)
    Node selectors used by infra

  - `platformName` (string)
    Infra Platform Name eg. GKE,AWS, Others

  - `runAsGroup` (integer)
    set the user group for security context in pod

  - `runAsUser` (integer)
    set the user for security context in pod

  - `sccYaml` (string)
    Value containing the scc-yaml used in openShift clusters

  - `serviceAccount` (string)
    Name of service account used by infra

  - `skipSsl` (boolean)
    Bool value indicating whether infra will skip ssl checks or not

  - `tags` (array)
    Tags of the infra

  - `tolerations` (array)
    Node tolerations used by infra

  - `tolerations.effect` (string)

  - `tolerations.key` (string)

  - `tolerations.operator` (string)

  - `tolerations.tolerationSeconds` (integer)

  - `tolerations.value` (string)

## Response 200 fields (application/json):

  - `infraID` (string)
    Unique ID for the newly registered infra

  - `manifest` (string)
    Infra Manifest

  - `name` (string)
    Infra name as sent in request

  - `taskID` (string)
    taskID sent for the brownfield deployment task

  - `token` (string)
    Token used to verify and retrieve the infra manifest

## Response 400 fields (application/json):

  - `code` (string)
    Enum: "PIPELINE_NOT_FOUND"

  - `description` (string)

  - `message` (string)


