Harness Chaos Engineering API Documentation

Harness Chaos Engineering empowers teams to deliver more resilient systems, helping organizations avoid downtime that can be costly, both financially and in lost reputation. It enables DevOps and SRE teams to purposely create failure scenarios (“chaos”) to identify potential resiliency and reliability issues in their deployments. These scenarios go beyond traditional unit, integration, and system tests, more closely representing what random failures in a production operating environment would look like.

Contact

API Support

contact@harness.io

API Endpoints
# Production:
https://app.harness.io/gateway/chaos/manager/api/query
Headers
# Use your API key token for authorization
X-API-KEY: <YOUR_API_KEY_TOKEN_HERE>
# Or use your JWT token for authorization
Authorization: <YOUR_JWT_TOKEN_HERE>

Your First Chaos Experiment

NOTE: These steps assumes you already have an account in Harness, if not, please create a new project or ask your administrator to add you to an existing project in Harness.

Please follow the below guidelines to run your first Chaos experiment Pod Delete:

Sequence in which the APIs should be executed to run a sample chaos experiment such as Pod Delete (all the APIs to do so are present in folder "Run Pod Delete Chaos Experiment" under Harness CE Postman Collection).

Listed below are the required inputs and how to access (or generate) them. We will refer these variables in the API requests explained in this tutorial -

url

This is the Harness CE server URL serving the Chaos API requests. You can find this URL in the Chaos API doc(top right). For instance, https://app.harness.io/gateway/chaos/manager/api/query is the Harness CE server URL for production environment. If you are using Chaos postman collection, this value will be pre-filled in 2 postman variables like below:

  • base_url - https://app.harness.io
  • chaos_url - $base_url/gateway/chaos/manager/api/query

account_id

This is your Harness account Id. Please use the account where you would like to run Chaos experiments.

You can retrieve your account Id by following the below steps:

  1. Go to ACCOUNT SETTINGS in Harness.
  2. Click on Overview.
  3. Copy the value of Account Id.

project_id

This is your Harness project Id. Please use the project where you would like to run Chaos experiments.

You can retrieve your project Id by following the below steps:

  1. Go to Projects in Harness.
  2. Select the project where you would like to run the Chaos experiments or create a new project.
  3. Click on Overview.
  4. Copy the value of Id.
  5. Please make sure to copy the value of Organization as well, this will be the value of next required variable org_id.

org_id

This is your Harness organization Id. Please use the organization where you would like to run Chaos experiments.

You can retrieve your organization Id by following the below steps: See above step to retrieve project_id - you would have copied the value of org_id as well in that step, if not please follow the same steps again to retrieve organization Id

API-KEY-TOKEN

You can use an existing Harness API key token of the same Harness account selected in above steps or you can create a new one by following the below steps:

  1. Click on MY PROFILE in Harness.
  2. Go to My API Keys section and click on + API Key button to create a new API Key.
  3. Enter a Name for the API Key(optional Description/Tags) and click on Save.
  4. Under the newly created API Key, click on + Token button to generate a new token for this API Key.
  5. Enter the Name and select the Expiration(time for which this token will be valid) and click on Generate Token.
  6. Please make sure to copy the value of the token generated and store somewhere safe, you may not be able to copy this later.

Variables In Harness CE Postman Collection

In order to work with Harness CE Postman Collection, please fork it under your own Postman account and update the above-mentioned variables in order to work with Harness CE Postman Collection.

Authorization Header For API Request

An authorization header with API-KEY-TOKEN value retrieved above is required to work with Chaos APIs i.e., x-api-key: $API-KEY-TOKEN

APIs to be executed in given sequence:

RegisterInfra

Now, we can create/register a chaos infrastructure. Here, we will add a Kubernetes infrastructure so that we can inject Kubernetes resource faults.

Add a name to your chaos infrastructure and optionally a description and tags. After that, choose the mode of installation for Harness delegate. As a quick primer, Harness delegate is a remote agent for accessing your Kubernetes cluster resources and injecting faults into them as part of a chaos experiment. The Cluster Wide installation mode allows you to target resources across all the namespaces in your cluster while Namespace Mode installation restricts chaos injection to only the namespace in which the delegate will be installed. In this tutorial, the delegate will be installed in the hce namespace with Cluster Wide mode, but you can change it.

NOTE: Above values are pre-filled in Harness CE Postman Collection.

Please make sure to note down the value of field token and infraID from response, these values will be used in subsequent API calls.

Once above request is executed, retrieve the infrastructure manifest by forming URL as shown below: $chaos_server_url/file/$token.yaml where $chaos_server_url would be https://app.harness.io/gateway/chaos/manager/api/ and $token is the token value retrieved in response of registerInfra API call as shown in sample response above. An example URL to retrieve infrastructure manifest could look like https://app.harness.io/gateway/chaos/manager/api/file/token-abc.yaml , copy and save the yaml in a machine where kubectl is installed and has access to your k8s cluster in some file named infra.yaml.

Lastly, provided that you have access to your Kubernetes cluster via kubectl, deploy your chaos infrastructure by executing the below commands - kubectl apply -f infra.yaml

It will take a while for the delegate to setup in the k8s cluster. Meanwhile, if you want to check the status of your infra, please use the API GetInfraDetails as explained below.

GetInfraDetails

Optional - If you want to get the details of your newly registered infra or to check if your infra is active or not before creating a Chaos workflow, you can use GetInfraDetails API - It will return the details of a given infra based on infra ID input. Please make sure to check the value of field isActive, it should be true i.e., the infrastructure should be in active state prior to moving forward.

NOTE: Above values are pre-filled in Harness CE Postman Collection.

ListPredefinedWorkflow

Optional - Required if and only if you want to run a different chaos experiment other than pod-delete, by default, pod delete experiment manifest is present in CreateChaosWorkFlow API call) - This will list down all the available predefined workflows/experiments that can be run on your infra, please select one of them and copy the manifest from there and make necessary changes such as namespace, etc.

CreateChaosWorkFlow

Please make sure to deploy some sample target application under hce namespace with label app=cartservice prior to running this API. With our target application deployed, we can now create a chaos experiment. We will be targeting the pods of the deployed app with the Pod Delete fault. To create the chaos experiment, Add the experiment name and optionally a description and tags. Then, Add the target infrastructure id, which we created previously.

This will allow us to create our chaos experiment with a pod-delete fault configured to target the Online Boutique application.

NOTE: In order to run this API using Harness CE Postman Collection, you just need to update the value of variable infraID retrieved during registerInfra API call. The value for workflowManifest field is pre-filled in the Harness CE postman collection, user does not need to update in case they want to target an application under hce namespace with label app=cartservice mentioned in this tutorial.

RunChaosExperiment

Once a workflow is created, you can now execute the experiment by providing the workflow id from CreateChaosWorkFlow API call. NOTE: Please note down the value of field notifyID.

ListWorkflowRun

Optional - Required only if you want to check the details of the workflow currently running - details can be validated by UI as well if user prefers to do so) - It will list down all the workflow runs with the required details for those workflows, this API call can be used to validate if the workflow created by RunChaosExperiment API call is running or not, completed, etc using the field phase.

Let's go to Harness CE Postman Collection to see this in action.

Queries

checkResourceID

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CheckResourceIDRequest!

Example

Query
query CheckResourceID(
  $identifiers: IdentifiersRequest!,
  $request: CheckResourceIDRequest!
) {
  checkResourceID(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CheckResourceIDRequest
}
Response
{"data": {"checkResourceID": {}}}

getChaosFault

Description

Get the fault details for a requested fault

Response

Returns a FaultDetails!

Arguments
Name Description
request - ExperimentRequest!
identifiers - IdentifiersRequest!

Example

Query
query GetChaosFault(
  $request: ExperimentRequest!,
  $identifiers: IdentifiersRequest!
) {
  getChaosFault(
    request: $request,
    identifiers: $identifiers
  ) {
    fault
    engine
    csv
    k8sSpec
  }
}
Variables
{
  "request": ExperimentRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getChaosFault": {
      "fault": "xyz789",
      "engine": "xyz789",
      "csv": "abc123",
      "k8sSpec": "xyz789"
    }
  }
}

getChaosHub

Description

Get the details of a requested ChaosHub

Response

Returns a ChaosHubStatus!

Arguments
Name Description
identifiers - IdentifiersRequest!
chaosHubID - String!

Example

Query
query GetChaosHub(
  $identifiers: IdentifiersRequest!,
  $chaosHubID: String!
) {
  getChaosHub(
    identifiers: $identifiers,
    chaosHubID: $chaosHubID
  ) {
    id
    repoName
    repoURL
    repoBranch
    connectorId
    connectorScope
    AuthType
    isAvailable
    totalFaults
    totalExperiments
    name
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    description
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "chaosHubID": "abc123"
}
Response
{
  "data": {
    "getChaosHub": {
      "id": "4",
      "repoName": "xyz789",
      "repoURL": "xyz789",
      "repoBranch": "abc123",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "AuthType": "Ssh",
      "isAvailable": true,
      "totalFaults": 123,
      "totalExperiments": 123,
      "name": "abc123",
      "lastSyncedAt": "abc123",
      "isDefault": false,
      "tags": ["abc123"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "abc123",
      "description": "abc123"
    }
  }
}

getCondition

Response

Returns a ConditionResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
conditionId - String!

Example

Query
query GetCondition(
  $identifiers: IdentifiersRequest!,
  $conditionId: String!
) {
  getCondition(
    identifiers: $identifiers,
    conditionId: $conditionId
  ) {
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    condition {
      name
      description
      tags
      conditionId
      faultSpec {
        operator
        faults {
          faultType
          name
        }
      }
      k8sSpec {
        infraSpec {
          operator
          infraIds
        }
        applicationSpec {
          operator
          workloads {
            label
            namespace
          }
        }
        chaosServiceAccountSpec {
          operator
          serviceAccounts
        }
      }
      rules {
        ruleId
        name
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "conditionId": "xyz789"
}
Response
{
  "data": {
    "getCondition": {
      "updatedAt": 123,
      "createdAt": 123,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "identifiers": Identifiers,
      "condition": Condition
    }
  }
}

getExperiment

Description

Returns the experiment based on experiment ID

Response

Returns a GetExperimentResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentID - String!
getAverageResiliencyScore - Boolean

Example

Query
query GetExperiment(
  $identifiers: IdentifiersRequest!,
  $experimentID: String!,
  $getAverageResiliencyScore: Boolean
) {
  getExperiment(
    identifiers: $identifiers,
    experimentID: $experimentID,
    getAverageResiliencyScore: $getAverageResiliencyScore
  ) {
    experimentDetails {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
    averageResiliencyScore
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentID": "xyz789",
  "getAverageResiliencyScore": false
}
Response
{
  "data": {
    "getExperiment": {
      "experimentDetails": Workflow,
      "averageResiliencyScore": 123.45
    }
  }
}

getExperimentRun

Description

Returns experiment run based on experiment run ID

Response

Returns a WorkflowRun!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String
notifyID - String

Example

Query
query GetExperimentRun(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String,
  $notifyID: String
) {
  getExperimentRun(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    notifyID: $notifyID
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    workflowRunID
    workflowType
    workflowID
    weightages {
      experimentName
      weightage
    }
    updatedAt
    createdAt
    cronSyntax
    infra {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      environmentID
      infraType
      infraID
      name
      description
      version
      updatedAt
      createdAt
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      startTime
      isActive
      isInfraConfirmed
      infraNamespace
      clusterType
    }
    workflowName
    workflowDescription
    workflowTags
    workflowManifest
    isCronEnabled
    probe {
      faultName
      probeName
    }
    phase
    resiliencyScore
    experimentsPassed
    experimentsFailed
    experimentsAwaited
    experimentsStopped
    experimentsNa
    totalExperiments
    executionData
    isRemoved
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    notifyID
    errorResponse
    securityGovernance {
      name
      type
      startedAt
      finishedAt
      message
      phase
      securityGovernanceNodeData {
        passedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        failedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        skippedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
      }
    }
    runSequence
    experimentType
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "abc123",
  "notifyID": "abc123"
}
Response
{
  "data": {
    "getExperimentRun": {
      "identifiers": Identifiers,
      "workflowRunID": "4",
      "workflowType": "xyz789",
      "workflowID": 4,
      "weightages": [Weightages],
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "cronSyntax": "abc123",
      "infra": Infrastructure,
      "workflowName": "xyz789",
      "workflowDescription": "xyz789",
      "workflowTags": ["xyz789"],
      "workflowManifest": "abc123",
      "isCronEnabled": true,
      "probe": [ProbeMap],
      "phase": "All",
      "resiliencyScore": 123.45,
      "experimentsPassed": 123,
      "experimentsFailed": 987,
      "experimentsAwaited": 123,
      "experimentsStopped": 123,
      "experimentsNa": 987,
      "totalExperiments": 987,
      "executionData": "xyz789",
      "isRemoved": true,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "notifyID": "4",
      "errorResponse": "abc123",
      "securityGovernance": SecurityGovernance,
      "runSequence": 123,
      "experimentType": "abc123"
    }
  }
}

getExperimentRunReport

Description

Returns experiment run report based on experiment run ID

Response

Returns an ExperimentRunReport!

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String
notifyID - String

Example

Query
query GetExperimentRunReport(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String,
  $notifyID: String
) {
  getExperimentRunReport(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    notifyID: $notifyID
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    workflowRunID
    workflowType
    workflowID
    weightages {
      experimentName
      weightage
    }
    updatedAt
    createdAt
    cronSyntax
    infra {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      environmentID
      infraType
      infraID
      name
      description
      version
      updatedAt
      createdAt
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      startTime
      isActive
      isInfraConfirmed
      infraNamespace
      clusterType
    }
    workflowName
    workflowDescription
    workflowTags
    workflowManifest
    isCronEnabled
    probe {
      faultName
      probeName
    }
    phase
    resiliencyScore
    experimentsPassed
    experimentsFailed
    experimentsAwaited
    experimentsStopped
    experimentsNa
    totalExperiments
    executionData
    isRemoved
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
    notifyID
    errorResponse
    securityGovernance {
      name
      type
      startedAt
      finishedAt
      message
      phase
      securityGovernanceNodeData {
        passedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        failedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
        skippedRules {
          ruleId
          ruleName
          message
          description
          userGroupIds
          timeWindow {
            duration
            endTime
            startTime
            timeZone
            recurrence {
              ...RecurrenceFragment
            }
          }
          conditions {
            conditionId
            conditionName
            message
            phase
          }
        }
      }
    }
    runSequence
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "xyz789",
  "notifyID": "xyz789"
}
Response
{
  "data": {
    "getExperimentRunReport": {
      "identifiers": Identifiers,
      "workflowRunID": "4",
      "workflowType": "abc123",
      "workflowID": 4,
      "weightages": [Weightages],
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "cronSyntax": "abc123",
      "infra": [Infrastructure],
      "workflowName": "xyz789",
      "workflowDescription": "abc123",
      "workflowTags": ["xyz789"],
      "workflowManifest": "abc123",
      "isCronEnabled": false,
      "probe": [ProbeMap],
      "phase": "All",
      "resiliencyScore": 987.65,
      "experimentsPassed": 123,
      "experimentsFailed": 123,
      "experimentsAwaited": 123,
      "experimentsStopped": 123,
      "experimentsNa": 987,
      "totalExperiments": 123,
      "executionData": "xyz789",
      "isRemoved": true,
      "updatedBy": UserDetails,
      "createdBy": UserDetails,
      "notifyID": "4",
      "errorResponse": "xyz789",
      "securityGovernance": SecurityGovernance,
      "runSequence": 123
    }
  }
}

getGameDay

Response

Returns a GetGameDayResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
gamedayID - String!

Example

Query
query GetGameDay(
  $identifiers: IdentifiersRequest!,
  $gamedayID: String!
) {
  getGameDay(
    identifiers: $identifiers,
    gamedayID: $gamedayID
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfra {
        ID
        type
        name
        environmentID
        namespace
        scope
        isActive
      }
      hubID
      experimentNotes
      experimentCSV
      experimentManifest
    }
    objective
    description
    createdBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
    totalGamedayRuns
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "gamedayID": "abc123"
}
Response
{
  "data": {
    "getGameDay": {
      "gameDayID": "4",
      "identifiers": Identifiers,
      "name": "xyz789",
      "experiments": [GetGamedayExperimentResponse],
      "objective": "xyz789",
      "description": "xyz789",
      "createdBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "xyz789",
      "summary": GameDaySummary,
      "isRemoved": true,
      "totalGamedayRuns": 123
    }
  }
}

getGameDayRun

Response

Returns a GameDayRunResponse

Arguments
Name Description
identifiers - IdentifiersRequest!
gamedayRunID - String!

Example

Query
query GetGameDayRun(
  $identifiers: IdentifiersRequest!,
  $gamedayRunID: String!
) {
  getGameDayRun(
    identifiers: $identifiers,
    gamedayRunID: $gamedayRunID
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "gamedayRunID": "abc123"
}
Response
{
  "data": {
    "getGameDayRun": {
      "gameDayRunID": "xyz789",
      "name": "xyz789",
      "gameDayID": "abc123",
      "identifiers": Identifiers,
      "experiments": [GameDayRunExperiments],
      "startTime": "xyz789",
      "endTime": "xyz789",
      "notes": "xyz789",
      "summary": GameDaySummary,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "updatedAt": "xyz789",
      "createdAt": "abc123",
      "completed": false
    }
  }
}

getHelmInfraCommand

Description

Returns command required for installation/upgrade of an infrastructure via helm

Response

Returns [String!]!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!

Example

Query
query GetHelmInfraCommand(
  $identifiers: IdentifiersRequest!,
  $infraID: String!
) {
  getHelmInfraCommand(
    identifiers: $identifiers,
    infraID: $infraID
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789"
}
Response
{"data": {"getHelmInfraCommand": [{}]}}

getImageRegistry

Response

Returns an ImageRegistryResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetImageRegistry($identifiers: IdentifiersRequest!) {
  getImageRegistry(identifiers: $identifiers) {
    identifier {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    registryServer
    registryAccount
    isPrivate
    secretName
    isDefault
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getImageRegistry": {
      "identifier": Identifiers,
      "registryServer": "abc123",
      "registryAccount": "abc123",
      "isPrivate": true,
      "secretName": "xyz789",
      "isDefault": false,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "xyz789",
      "updatedAt": "xyz789"
    }
  }
}

getInfra

Description

Returns infra with a particular infraID in the project

Response

Returns a KubernetesInfra!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!

Example

Query
query GetInfra(
  $identifiers: IdentifiersRequest!,
  $infraID: String!
) {
  getInfra(
    identifiers: $identifiers,
    infraID: $infraID
  ) {
    infraID
    name
    description
    tags
    environmentID
    platformName
    isActive
    isInfraConfirmed
    isRemoved
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    token
    infraNamespace
    serviceAccount
    infraScope
    infraNsExists
    infraSaExists
    installationType
    k8sConnectorID
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    infraType
    updateStatus
    isSecretEnabled
    runAsUser
    runAsGroup
    upgrade {
      status
      isAutoUpgradeEnabled
    }
    clusterType
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789"
}
Response
{
  "data": {
    "getInfra": {
      "infraID": 4,
      "name": "xyz789",
      "description": "xyz789",
      "tags": ["abc123"],
      "environmentID": "abc123",
      "platformName": "abc123",
      "isActive": false,
      "isInfraConfirmed": true,
      "isRemoved": false,
      "updatedAt": "abc123",
      "createdAt": "abc123",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "token": "abc123",
      "infraNamespace": "abc123",
      "serviceAccount": "xyz789",
      "infraScope": "namespace",
      "infraNsExists": true,
      "infraSaExists": false,
      "installationType": "CONNECTOR",
      "k8sConnectorID": "abc123",
      "lastWorkflowTimestamp": "abc123",
      "startTime": "xyz789",
      "version": "abc123",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "abc123",
      "infraType": "Kubernetes",
      "updateStatus": "AVAILABLE",
      "isSecretEnabled": true,
      "runAsUser": 987,
      "runAsGroup": 123,
      "upgrade": Upgrade,
      "clusterType": "KUBERNETES"
    }
  }
}

getInfraManifest

Description

Returns the manifest for a given infraID

Response

Returns a String!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetInfraManifest(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getInfraManifest(
    infraID: $infraID,
    identifiers: $identifiers
  )
}
Variables
{
  "infraID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"getInfraManifest": {}}}

getInfraStats

Description

Query to get experiment stats

Response

Returns a GetInfraStatsResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetInfraStats($identifiers: IdentifiersRequest!) {
  getInfraStats(identifiers: $identifiers) {
    totalInfrastructures
    totalActiveInfrastructure
    totalInactiveInfrastructures
    totalConfirmedInfrastructure
    totalNonConfirmedInfrastructures
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getInfraStats": {
      "totalInfrastructures": 123,
      "totalActiveInfrastructure": 123,
      "totalInactiveInfrastructures": 987,
      "totalConfirmedInfrastructure": 987,
      "totalNonConfirmedInfrastructures": 987
    }
  }
}

getLinuxInfraDetails

Description

Returns infra details based on identifiers

Response

Returns a LinuxInfra!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetLinuxInfraDetails(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getLinuxInfraDetails(
    infraID: $infraID,
    identifiers: $identifiers
  ) {
    infraID
    name
    description
    tags
    environmentID
    isActive
    isInfraConfirmed
    isRemoved
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    hostname
  }
}
Variables
{
  "infraID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getLinuxInfraDetails": {
      "infraID": "4",
      "name": "abc123",
      "description": "xyz789",
      "tags": ["xyz789"],
      "environmentID": "abc123",
      "isActive": false,
      "isInfraConfirmed": false,
      "isRemoved": false,
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "lastWorkflowTimestamp": "abc123",
      "startTime": "abc123",
      "version": "xyz789",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "xyz789",
      "hostname": "abc123"
    }
  }
}

getLinuxInfraVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetLinuxInfraVersionDetails($identifiers: IdentifiersRequest!) {
  getLinuxInfraVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getLinuxInfraVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["abc123"]
    }
  }
}

getPredefinedWorkflow

Description

Returns predefined experiment details of selected experiments

Response

Returns [PredefinedWorkflowList!]!

Arguments
Name Description
hubID - String!
experimentName - [String!]!
identifiers - IdentifiersRequest!

Example

Query
query GetPredefinedWorkflow(
  $hubID: String!,
  $experimentName: [String!]!,
  $identifiers: IdentifiersRequest!
) {
  getPredefinedWorkflow(
    hubID: $hubID,
    experimentName: $experimentName,
    identifiers: $identifiers
  ) {
    workflowName
    workflowCSV
    workflowManifest
    workflowV2Manifest
    error
  }
}
Variables
{
  "hubID": "abc123",
  "experimentName": ["abc123"],
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getPredefinedWorkflow": [
      {
        "workflowName": "xyz789",
        "workflowCSV": "xyz789",
        "workflowManifest": "abc123",
        "workflowV2Manifest": "abc123",
        "error": "xyz789"
      }
    ]
  }
}

getProbe

Description

Returns a single Probe based on ProbeName and various filter parameters

Response

Returns a Probe!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!

Example

Query
query GetProbe(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!
) {
  getProbe(
    identifiers: $identifiers,
    probeName: $probeName
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    description
    tags
    type
    infrastructureType
    kubernetesHTTPProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    linuxHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      insecureSkipVerify
    }
    windowsHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    kubernetesCMDProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
      verbosity
    }
    linuxCMDProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
    }
    kubernetesDatadogProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
      metrics {
        datadogQuery
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      datadogCredentialsSecretName
      verbosity
    }
    linuxDatadogProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
    }
    k8sProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      group
      version
      resource
      namespace
      resourceNames
      fieldSelector
      labelSelector
      operation
      verbosity
    }
    kubernetesDynatraceProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      apiTokenSecretName
      comparator {
        type
        value
        criteria
      }
      verbosity
    }
    linuxDynatraceProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      comparator {
        type
        value
        criteria
      }
    }
    promProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      query
      queryPath
      comparator {
        type
        value
        criteria
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
    }
    sloProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      evaluationTimeout
      stopOnFailure
      platformEndpoint
      sloIdentifier
      evaluationWindow {
        evaluationStartTime
        evaluationEndTime
      }
      sloSourceMetadata {
        apiTokenSecret
        scope {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
      }
      comparator {
        type
        value
        criteria
      }
      verbosity
      insecureSkipVerify
    }
    recentExecutions {
      faultName
      status {
        verdict
        description
      }
      executedByExperiment {
        experimentID
        experimentName
        experimentType
        updatedAt
        updatedBy {
          userID
          username
          email
        }
      }
    }
    referencedBy
    isRemoved
    isEnabled
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
  }
}
Variables
{"identifiers": IdentifiersRequest, "probeName": 4}
Response
{
  "data": {
    "getProbe": {
      "identifiers": Identifiers,
      "name": "abc123",
      "description": "xyz789",
      "tags": ["xyz789"],
      "type": "httpProbe",
      "infrastructureType": "Kubernetes",
      "kubernetesHTTPProperties": KubernetesHTTPProbe,
      "linuxHTTPProperties": LinuxHTTPProbe,
      "windowsHTTPProperties": WindowsHTTPProbe,
      "kubernetesCMDProperties": KubernetesCMDProbe,
      "linuxCMDProperties": LinuxCMDProbe,
      "kubernetesDatadogProperties": KubernetesDatadogProbe,
      "linuxDatadogProperties": LinuxDatadogProbe,
      "k8sProperties": K8SProbe,
      "kubernetesDynatraceProperties": KubernetesDynatraceProbe,
      "linuxDynatraceProperties": LinuxDynatraceProbe,
      "promProperties": PROMProbe,
      "sloProperties": SLOProbe,
      "recentExecutions": [ProbeRecentExecutions],
      "referencedBy": 123,
      "isRemoved": false,
      "isEnabled": true,
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "updatedBy": UserDetails,
      "createdBy": UserDetails
    }
  }
}

getProbeReference

Description

Returns all the reference of the Probe based on ProbeName

Response

Returns a GetProbeReferenceResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!

Example

Query
query GetProbeReference(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!
) {
  getProbeReference(
    identifiers: $identifiers,
    probeName: $probeName
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    totalRuns
    recentExecutions {
      faultName
      mode
      executionHistory {
        mode
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
    }
  }
}
Variables
{"identifiers": IdentifiersRequest, "probeName": 4}
Response
{
  "data": {
    "getProbeReference": {
      "identifiers": Identifiers,
      "name": "xyz789",
      "totalRuns": 987,
      "recentExecutions": [RecentExecutions]
    }
  }
}

getProbeYAML

Description

Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - GetProbeYAMLRequest!

Example

Query
query GetProbeYAML(
  $identifiers: IdentifiersRequest!,
  $request: GetProbeYAMLRequest!
) {
  getProbeYAML(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": GetProbeYAMLRequest
}
Response
{"data": {"getProbeYAML": {}}}

getProbesInExperimentRun

Description

Returns all the Probes attached to the requested Experiment Run

Arguments
Name Description
identifiers - IdentifiersRequest!
experimentRunID - String!
faultName - String!

Example

Query
query GetProbesInExperimentRun(
  $identifiers: IdentifiersRequest!,
  $experimentRunID: String!,
  $faultName: String!
) {
  getProbesInExperimentRun(
    identifiers: $identifiers,
    experimentRunID: $experimentRunID,
    faultName: $faultName
  ) {
    probe {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      description
      tags
      type
      infrastructureType
      kubernetesHTTPProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      linuxHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        insecureSkipVerify
      }
      windowsHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      kubernetesCMDProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
        verbosity
      }
      linuxCMDProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
      }
      kubernetesDatadogProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
        metrics {
          datadogQuery
          timeFrame
          comparator {
            type
            value
            criteria
          }
        }
        datadogCredentialsSecretName
        verbosity
      }
      linuxDatadogProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
      }
      k8sProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        group
        version
        resource
        namespace
        resourceNames
        fieldSelector
        labelSelector
        operation
        verbosity
      }
      kubernetesDynatraceProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        apiTokenSecretName
        comparator {
          type
          value
          criteria
        }
        verbosity
      }
      linuxDynatraceProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      promProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        query
        queryPath
        comparator {
          type
          value
          criteria
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
      }
      sloProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        evaluationTimeout
        stopOnFailure
        platformEndpoint
        sloIdentifier
        evaluationWindow {
          evaluationStartTime
          evaluationEndTime
        }
        sloSourceMetadata {
          apiTokenSecret
          scope {
            orgIdentifier
            accountIdentifier
            projectIdentifier
          }
        }
        comparator {
          type
          value
          criteria
        }
        verbosity
        insecureSkipVerify
      }
      recentExecutions {
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
      referencedBy
      isRemoved
      isEnabled
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
    }
    mode
    status {
      verdict
      description
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "experimentRunID": "abc123",
  "faultName": "xyz789"
}
Response
{
  "data": {
    "getProbesInExperimentRun": [
      {
        "probe": Probe,
        "mode": "SOT",
        "status": Status
      }
    ]
  }
}

getRule

Response

Returns a RuleResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!

Example

Query
query GetRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!
) {
  getRule(
    identifiers: $identifiers,
    ruleId: $ruleId
  ) {
    createdAt
    createdBy {
      userID
      username
      email
    }
    updatedAt
    updatedBy {
      userID
      username
      email
    }
    rule {
      name
      tags
      description
      isEnabled
      ruleId
      userGroupIds
      timeWindows {
        duration
        endTime
        startTime
        timeZone
        recurrence {
          type
          spec {
            until
            value
          }
        }
      }
      conditions {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "abc123"
}
Response
{
  "data": {
    "getRule": {
      "createdAt": 123,
      "createdBy": UserDetails,
      "updatedAt": 987,
      "updatedBy": UserDetails,
      "rule": Rule,
      "identifiers": Identifiers
    }
  }
}

getVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetVersionDetails($identifiers: IdentifiersRequest!) {
  getVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["abc123"]
    }
  }
}

getWindowsInfraDetails

Description

Returns infra details based on identifiers

Response

Returns a WindowsInfra!

Arguments
Name Description
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query GetWindowsInfraDetails(
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  getWindowsInfraDetails(
    infraID: $infraID,
    identifiers: $identifiers
  ) {
    infraID
    name
    description
    tags
    environmentID
    isActive
    isInfraConfirmed
    updatedAt
    createdAt
    noOfSchedules
    noOfWorkflows
    lastWorkflowTimestamp
    startTime
    version
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    lastHeartbeat
    hostname
  }
}
Variables
{
  "infraID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "getWindowsInfraDetails": {
      "infraID": 4,
      "name": "abc123",
      "description": "abc123",
      "tags": ["xyz789"],
      "environmentID": "xyz789",
      "isActive": true,
      "isInfraConfirmed": true,
      "updatedAt": "xyz789",
      "createdAt": "xyz789",
      "noOfSchedules": 987,
      "noOfWorkflows": 123,
      "lastWorkflowTimestamp": "abc123",
      "startTime": "xyz789",
      "version": "abc123",
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "lastHeartbeat": "xyz789",
      "hostname": "abc123"
    }
  }
}

getWindowsInfraVersionDetails

Description

Query to get the latest version of infra available

Response

Returns an InfraVersionDetails!

Arguments
Name Description
identifiers - IdentifiersRequest!

Example

Query
query GetWindowsInfraVersionDetails($identifiers: IdentifiersRequest!) {
  getWindowsInfraVersionDetails(identifiers: $identifiers) {
    latestVersion
    compatibleVersions
  }
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
  "data": {
    "getWindowsInfraVersionDetails": {
      "latestVersion": "abc123",
      "compatibleVersions": ["xyz789"]
    }
  }
}

listChaosFaults

Description

List the Faults from a ChaosHub

Response

Returns [Chart!]!

Arguments
Name Description
hubID - String!
executionPlane - ExecutionPlane
identifiers - IdentifiersRequest!

Example

Query
query ListChaosFaults(
  $hubID: String!,
  $executionPlane: ExecutionPlane,
  $identifiers: IdentifiersRequest!
) {
  listChaosFaults(
    hubID: $hubID,
    executionPlane: $executionPlane,
    identifiers: $identifiers
  ) {
    apiVersion
    kind
    metadata {
      name
      version
      annotations {
        categories
        vendor
        createdAt
        repository
        support
        chartDescription
      }
    }
    spec {
      displayName
      categoryDescription
      keywords
      maturity
      maintainers {
        name
        email
      }
      minKubeVersion
      provider {
        name
      }
      links {
        name
        url
      }
      faults {
        name
        displayName
        description
        plan
        supportedVersion
      }
      experiments
      chaosExpCRDLink
      platforms
      chaosType
    }
    packageInfo {
      packageName
      experiments {
        name
        CSV
        desc
      }
    }
  }
}
Variables
{
  "hubID": "xyz789",
  "executionPlane": "LINUX",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "listChaosFaults": [
      {
        "apiVersion": "xyz789",
        "kind": "abc123",
        "metadata": Metadata,
        "spec": Spec,
        "packageInfo": PackageInformation
      }
    ]
  }
}

listChaosHub

Description

Get the status of all the connected ChaosHub

Response

Returns [ChaosHubStatus]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListChaosHubRequest

Example

Query
query ListChaosHub(
  $identifiers: IdentifiersRequest!,
  $request: ListChaosHubRequest
) {
  listChaosHub(
    identifiers: $identifiers,
    request: $request
  ) {
    id
    repoName
    repoURL
    repoBranch
    connectorId
    connectorScope
    AuthType
    isAvailable
    totalFaults
    totalExperiments
    name
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
    description
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListChaosHubRequest
}
Response
{
  "data": {
    "listChaosHub": [
      {
        "id": "4",
        "repoName": "xyz789",
        "repoURL": "abc123",
        "repoBranch": "abc123",
        "connectorId": "xyz789",
        "connectorScope": "ACCOUNT",
        "AuthType": "Ssh",
        "isAvailable": true,
        "totalFaults": 987,
        "totalExperiments": 987,
        "name": "abc123",
        "lastSyncedAt": "xyz789",
        "isDefault": true,
        "tags": ["abc123"],
        "createdBy": UserDetails,
        "updatedBy": UserDetails,
        "createdAt": "xyz789",
        "updatedAt": "abc123",
        "description": "abc123"
      }
    ]
  }
}

listCondition

Response

Returns a ListConditionResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListConditionRequest!

Example

Query
query ListCondition(
  $identifiers: IdentifiersRequest!,
  $request: ListConditionRequest!
) {
  listCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    totalConditions
    conditions {
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      condition {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListConditionRequest
}
Response
{
  "data": {
    "listCondition": {
      "totalConditions": 123,
      "conditions": [ConditionResponse]
    }
  }
}

listExperimentsWithActiveInfras

Description

Returns the list of experiments with active infras

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListExperimentsWithActiveInfrasRequest!

Example

Query
query ListExperimentsWithActiveInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListExperimentsWithActiveInfrasRequest!
) {
  listExperimentsWithActiveInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfExperiments
    experiments {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListExperimentsWithActiveInfrasRequest
}
Response
{
  "data": {
    "listExperimentsWithActiveInfras": {
      "totalNoOfExperiments": 987,
      "experiments": [Workflow]
    }
  }
}

listGameDay

Response

Returns a ListGamedayResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListGameDayRequest

Example

Query
query ListGameDay(
  $identifiers: IdentifiersRequest!,
  $request: ListGameDayRequest
) {
  listGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfGamedays
    gamedays {
      gameDayID
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      tags
      experiments {
        experimentID
        experimentTemplateName
        chaosInfraID
        hubID
      }
      objective
      description
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      createdAt
      updatedAt
      summary {
        notes
        qna {
          questionType
          optionsMCQ
          question
          answer
        }
        actionItem {
          item
          isDone
        }
      }
      isRemoved
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListGameDayRequest
}
Response
{
  "data": {
    "listGameDay": {
      "totalNoOfGamedays": 987,
      "gamedays": [GameDayResponse]
    }
  }
}

listGameDayRuns

Response

Returns [GameDayRunResponse]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListGameDayRunsRequest

Example

Query
query ListGameDayRuns(
  $identifiers: IdentifiersRequest!,
  $request: ListGameDayRunsRequest
) {
  listGameDayRuns(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListGameDayRunsRequest
}
Response
{
  "data": {
    "listGameDayRuns": [
      {
        "gameDayRunID": "xyz789",
        "name": "xyz789",
        "gameDayID": "xyz789",
        "identifiers": Identifiers,
        "experiments": [GameDayRunExperiments],
        "startTime": "xyz789",
        "endTime": "xyz789",
        "notes": "abc123",
        "summary": GameDaySummary,
        "createdBy": UserDetails,
        "updatedBy": UserDetails,
        "updatedAt": "xyz789",
        "createdAt": "xyz789",
        "completed": false
      }
    ]
  }
}

listInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListInfraRequest

Example

Query
query ListInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListInfraRequest
) {
  listInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      platformName
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      token
      infraNamespace
      serviceAccount
      infraScope
      infraNsExists
      infraSaExists
      installationType
      k8sConnectorID
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      infraType
      updateStatus
      isSecretEnabled
      runAsUser
      runAsGroup
      upgrade {
        status
        isAutoUpgradeEnabled
      }
      clusterType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListInfraRequest
}
Response
{
  "data": {
    "listInfras": {
      "totalNoOfInfras": 123,
      "infras": [KubernetesInfra]
    }
  }
}

listInfrasV2

Description

Returns infras with a particular infra type in the project (without lookup)

Response

Returns a ListInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListInfraRequest

Example

Query
query ListInfrasV2(
  $identifiers: IdentifiersRequest!,
  $request: ListInfraRequest
) {
  listInfrasV2(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      platformName
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      token
      infraNamespace
      serviceAccount
      infraScope
      infraNsExists
      infraSaExists
      installationType
      k8sConnectorID
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      infraType
      updateStatus
      isSecretEnabled
      runAsUser
      runAsGroup
      upgrade {
        status
        isAutoUpgradeEnabled
      }
      clusterType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListInfraRequest
}
Response
{
  "data": {
    "listInfrasV2": {
      "totalNoOfInfras": 123,
      "infras": [KubernetesInfra]
    }
  }
}

listInfrasWithExperimentStats

Description

Query to get experiment stats for requested chaos infrastructures

Response

Returns [InfraWithExperimentStats!]!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String!]!

Example

Query
query ListInfrasWithExperimentStats(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String!]!
) {
  listInfrasWithExperimentStats(
    identifiers: $identifiers,
    infraIDs: $infraIDs
  ) {
    infraID
    experimentsCount
    experimentRunsCount
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"]
}
Response
{
  "data": {
    "listInfrasWithExperimentStats": [
      {
        "infraID": "abc123",
        "experimentsCount": 123,
        "experimentRunsCount": 123
      }
    ]
  }
}

listLinuxInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListLinuxInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListLinuxInfraRequest

Example

Query
query ListLinuxInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListLinuxInfraRequest
) {
  listLinuxInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      isActive
      isInfraConfirmed
      isRemoved
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      hostname
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListLinuxInfraRequest
}
Response
{
  "data": {
    "listLinuxInfras": {
      "totalNoOfInfras": 987,
      "infras": [LinuxInfra]
    }
  }
}

listPredefinedWorkflow

Description

Returns the list of predefined workflows in a project

Response

Returns [PredefinedWorkflowList!]!

Arguments
Name Description
hubID - String!
identifiers - IdentifiersRequest!

Example

Query
query ListPredefinedWorkflow(
  $hubID: String!,
  $identifiers: IdentifiersRequest!
) {
  listPredefinedWorkflow(
    hubID: $hubID,
    identifiers: $identifiers
  ) {
    workflowName
    workflowCSV
    workflowManifest
    workflowV2Manifest
    error
  }
}
Variables
{
  "hubID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "listPredefinedWorkflow": [
      {
        "workflowName": "abc123",
        "workflowCSV": "xyz789",
        "workflowManifest": "xyz789",
        "workflowV2Manifest": "abc123",
        "error": "abc123"
      }
    ]
  }
}

listProbes

Description

Returns the list of Probes based on various filter parameters

Response

Returns a ListProbeResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListProbeRequest!

Example

Query
query ListProbes(
  $identifiers: IdentifiersRequest!,
  $request: ListProbeRequest!
) {
  listProbes(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfProbes
    probes {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      name
      description
      tags
      type
      infrastructureType
      kubernetesHTTPProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      linuxHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        insecureSkipVerify
      }
      windowsHTTPProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        url
        method {
          get {
            criteria
            responseCode
            responseBody
          }
          post {
            contentType
            body
            bodyPath
            criteria
            responseCode
            responseBody
          }
        }
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
        headers
      }
      kubernetesCMDProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
        verbosity
      }
      linuxCMDProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        command
        comparator {
          type
          value
          criteria
        }
        source
      }
      kubernetesDatadogProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
        metrics {
          datadogQuery
          timeFrame
          comparator {
            type
            value
            criteria
          }
        }
        datadogCredentialsSecretName
        verbosity
      }
      linuxDatadogProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        datadogSite
        syntheticsTest {
          testType
          publicId
        }
      }
      k8sProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        group
        version
        resource
        namespace
        resourceNames
        fieldSelector
        labelSelector
        operation
        verbosity
      }
      kubernetesDynatraceProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        apiTokenSecretName
        comparator {
          type
          value
          criteria
        }
        verbosity
      }
      linuxDynatraceProperties {
        probeTimeout
        interval
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        metrics {
          metricsSelector
          entitySelector
        }
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      promProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        stopOnFailure
        endpoint
        query
        queryPath
        comparator {
          type
          value
          criteria
        }
        verbosity
        auth {
          authType
          credentials
          credentialsFile
        }
        tlsConfig {
          caFile
          certFile
          keyFile
          insecureSkipVerify
        }
      }
      sloProperties {
        probeTimeout
        interval
        retry
        attempt
        probePollingInterval
        initialDelay
        evaluationTimeout
        stopOnFailure
        platformEndpoint
        sloIdentifier
        evaluationWindow {
          evaluationStartTime
          evaluationEndTime
        }
        sloSourceMetadata {
          apiTokenSecret
          scope {
            orgIdentifier
            accountIdentifier
            projectIdentifier
          }
        }
        comparator {
          type
          value
          criteria
        }
        verbosity
        insecureSkipVerify
      }
      recentExecutions {
        faultName
        status {
          verdict
          description
        }
        executedByExperiment {
          experimentID
          experimentName
          experimentType
          updatedAt
          updatedBy {
            userID
            username
            email
          }
        }
      }
      referencedBy
      isRemoved
      isEnabled
      updatedAt
      createdAt
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListProbeRequest
}
Response
{
  "data": {
    "listProbes": {
      "totalNoOfProbes": 987,
      "probes": [Probe]
    }
  }
}

listRule

Response

Returns [RuleResponse]!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListRuleRequest!

Example

Query
query ListRule(
  $identifiers: IdentifiersRequest!,
  $request: ListRuleRequest!
) {
  listRule(
    identifiers: $identifiers,
    request: $request
  ) {
    createdAt
    createdBy {
      userID
      username
      email
    }
    updatedAt
    updatedBy {
      userID
      username
      email
    }
    rule {
      name
      tags
      description
      isEnabled
      ruleId
      userGroupIds
      timeWindows {
        duration
        endTime
        startTime
        timeZone
        recurrence {
          type
          spec {
            until
            value
          }
        }
      }
      conditions {
        name
        description
        tags
        conditionId
        faultSpec {
          operator
          faults {
            faultType
            name
          }
        }
        k8sSpec {
          infraSpec {
            operator
            infraIds
          }
          applicationSpec {
            operator
            workloads {
              ...WorkloadFragment
            }
          }
          chaosServiceAccountSpec {
            operator
            serviceAccounts
          }
        }
        rules {
          ruleId
          name
        }
      }
    }
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListRuleRequest
}
Response
{
  "data": {
    "listRule": [
      {
        "createdAt": 123,
        "createdBy": UserDetails,
        "updatedAt": 123,
        "updatedBy": UserDetails,
        "rule": Rule,
        "identifiers": Identifiers
      }
    ]
  }
}

listWindowsInfras

Description

Returns infras with a particular infra type in the project

Response

Returns a ListWindowsInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWindowsInfraRequest

Example

Query
query ListWindowsInfras(
  $identifiers: IdentifiersRequest!,
  $request: ListWindowsInfraRequest
) {
  listWindowsInfras(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfInfras
    infras {
      infraID
      name
      description
      tags
      environmentID
      isActive
      isInfraConfirmed
      updatedAt
      createdAt
      noOfSchedules
      noOfWorkflows
      lastWorkflowTimestamp
      startTime
      version
      createdBy {
        userID
        username
        email
      }
      updatedBy {
        userID
        username
        email
      }
      lastHeartbeat
      hostname
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWindowsInfraRequest
}
Response
{
  "data": {
    "listWindowsInfras": {
      "totalNoOfInfras": 987,
      "infras": [WindowsInfra]
    }
  }
}

listWorkflow

Description

Returns the list of workflows based on various filter parameters

Response

Returns a ListWorkflowResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWorkflowRequest!

Example

Query
query ListWorkflow(
  $identifiers: IdentifiersRequest!,
  $request: ListWorkflowRequest!
) {
  listWorkflow(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfWorkflows
    workflows {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowID
      workflowType
      workflowManifest
      cronSyntax
      isCronEnabled
      name
      description
      weightages {
        experimentName
        weightage
      }
      isCustomWorkflow
      updatedAt
      createdAt
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      isRemoved
      tags
      createdBy {
        userID
        username
        email
      }
      recentWorkflowRunDetails {
        workflowRunID
        notifyID
        phase
        resiliencyScore
        updatedAt
        createdAt
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        runSequence
      }
      eventsMetadata {
        faultName
        serviceIdentifier
        environmentIdentifier
      }
      updatedBy {
        userID
        username
        email
      }
      lastExecutedAt
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWorkflowRequest
}
Response
{
  "data": {
    "listWorkflow": {
      "totalNoOfWorkflows": 123,
      "workflows": [Workflow]
    }
  }
}

listWorkflowRun

Description

Returns the list of experiment run based on various filter parameters

Response

Returns a ListWorkflowRunResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ListWorkflowRunRequest!

Example

Query
query ListWorkflowRun(
  $identifiers: IdentifiersRequest!,
  $request: ListWorkflowRunRequest!
) {
  listWorkflowRun(
    identifiers: $identifiers,
    request: $request
  ) {
    totalNoOfWorkflowRuns
    workflowRuns {
      identifiers {
        orgIdentifier
        accountIdentifier
        projectIdentifier
      }
      workflowRunID
      workflowType
      workflowID
      weightages {
        experimentName
        weightage
      }
      updatedAt
      createdAt
      cronSyntax
      infra {
        identifiers {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
        environmentID
        infraType
        infraID
        name
        description
        version
        updatedAt
        createdAt
        isRemoved
        tags
        createdBy {
          userID
          username
          email
        }
        updatedBy {
          userID
          username
          email
        }
        lastHeartbeat
        startTime
        isActive
        isInfraConfirmed
        infraNamespace
        clusterType
      }
      workflowName
      workflowDescription
      workflowTags
      workflowManifest
      isCronEnabled
      probe {
        faultName
        probeName
      }
      phase
      resiliencyScore
      experimentsPassed
      experimentsFailed
      experimentsAwaited
      experimentsStopped
      experimentsNa
      totalExperiments
      executionData
      isRemoved
      updatedBy {
        userID
        username
        email
      }
      createdBy {
        userID
        username
        email
      }
      notifyID
      errorResponse
      securityGovernance {
        name
        type
        startedAt
        finishedAt
        message
        phase
        securityGovernanceNodeData {
          passedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
          failedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
          skippedRules {
            ruleId
            ruleName
            message
            description
            userGroupIds
            timeWindow {
              ...TimeWindowFragment
            }
            conditions {
              ...ConditionDetailsFragment
            }
          }
        }
      }
      runSequence
      experimentType
    }
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ListWorkflowRunRequest
}
Response
{
  "data": {
    "listWorkflowRun": {
      "totalNoOfWorkflowRuns": 123,
      "workflowRuns": [WorkflowRun]
    }
  }
}

validateExperimentManifest

Description

Validate Experiment Manifest

Response

Returns a Boolean!

Arguments
Name Description
manifest - String!
infraID - String!
identifiers - IdentifiersRequest!

Example

Query
query ValidateExperimentManifest(
  $manifest: String!,
  $infraID: String!,
  $identifiers: IdentifiersRequest!
) {
  validateExperimentManifest(
    manifest: $manifest,
    infraID: $infraID,
    identifiers: $identifiers
  )
}
Variables
{
  "manifest": "abc123",
  "infraID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"validateExperimentManifest": {}}}

validateProbe

Description

Validates if a probe is already present, returns true if unique

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
probeName - ID!
checkIsRemoved - Boolean

Example

Query
query ValidateProbe(
  $identifiers: IdentifiersRequest!,
  $probeName: ID!,
  $checkIsRemoved: Boolean
) {
  validateProbe(
    identifiers: $identifiers,
    probeName: $probeName,
    checkIsRemoved: $checkIsRemoved
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "probeName": 4,
  "checkIsRemoved": true
}
Response
{"data": {"validateProbe": {}}}

Mutations

addChaosHub

Description

Add a ChaosHub (includes the git clone operation)

Response

Returns a ChaosHub!

Arguments
Name Description
request - ChaosHubRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation AddChaosHub(
  $request: ChaosHubRequest!,
  $identifiers: IdentifiersRequest!
) {
  addChaosHub(
    request: $request,
    identifiers: $identifiers
  ) {
    id
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    repoName
    repoURL
    repoBranch
    AuthType
    connectorId
    connectorScope
    name
    createdAt
    updatedAt
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    description
  }
}
Variables
{
  "request": ChaosHubRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "addChaosHub": {
      "id": "4",
      "identifiers": Identifiers,
      "repoName": "xyz789",
      "repoURL": "xyz789",
      "repoBranch": "xyz789",
      "AuthType": "Ssh",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "name": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789",
      "lastSyncedAt": "abc123",
      "isDefault": false,
      "tags": ["xyz789"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "description": "xyz789"
    }
  }
}

addCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ConditionRequest!

Example

Query
mutation AddCondition(
  $identifiers: IdentifiersRequest!,
  $request: ConditionRequest!
) {
  addCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ConditionRequest
}
Response
{
  "data": {
    "addCondition": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

addProbe

Description

Creates a new Probe

Response

Returns a Probe!

Arguments
Name Description
request - ProbeRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation AddProbe(
  $request: ProbeRequest!,
  $identifiers: IdentifiersRequest!
) {
  addProbe(
    request: $request,
    identifiers: $identifiers
  ) {
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    description
    tags
    type
    infrastructureType
    kubernetesHTTPProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    linuxHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      insecureSkipVerify
    }
    windowsHTTPProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      url
      method {
        get {
          criteria
          responseCode
          responseBody
        }
        post {
          contentType
          body
          bodyPath
          criteria
          responseCode
          responseBody
        }
      }
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
      headers
    }
    kubernetesCMDProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
      verbosity
    }
    linuxCMDProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      command
      comparator {
        type
        value
        criteria
      }
      source
    }
    kubernetesDatadogProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
      metrics {
        datadogQuery
        timeFrame
        comparator {
          type
          value
          criteria
        }
      }
      datadogCredentialsSecretName
      verbosity
    }
    linuxDatadogProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      datadogSite
      syntheticsTest {
        testType
        publicId
      }
    }
    k8sProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      group
      version
      resource
      namespace
      resourceNames
      fieldSelector
      labelSelector
      operation
      verbosity
    }
    kubernetesDynatraceProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      apiTokenSecretName
      comparator {
        type
        value
        criteria
      }
      verbosity
    }
    linuxDynatraceProperties {
      probeTimeout
      interval
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      metrics {
        metricsSelector
        entitySelector
      }
      timeFrame
      comparator {
        type
        value
        criteria
      }
    }
    promProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      stopOnFailure
      endpoint
      query
      queryPath
      comparator {
        type
        value
        criteria
      }
      verbosity
      auth {
        authType
        credentials
        credentialsFile
      }
      tlsConfig {
        caFile
        certFile
        keyFile
        insecureSkipVerify
      }
    }
    sloProperties {
      probeTimeout
      interval
      retry
      attempt
      probePollingInterval
      initialDelay
      evaluationTimeout
      stopOnFailure
      platformEndpoint
      sloIdentifier
      evaluationWindow {
        evaluationStartTime
        evaluationEndTime
      }
      sloSourceMetadata {
        apiTokenSecret
        scope {
          orgIdentifier
          accountIdentifier
          projectIdentifier
        }
      }
      comparator {
        type
        value
        criteria
      }
      verbosity
      insecureSkipVerify
    }
    recentExecutions {
      faultName
      status {
        verdict
        description
      }
      executedByExperiment {
        experimentID
        experimentName
        experimentType
        updatedAt
        updatedBy {
          userID
          username
          email
        }
      }
    }
    referencedBy
    isRemoved
    isEnabled
    updatedAt
    createdAt
    updatedBy {
      userID
      username
      email
    }
    createdBy {
      userID
      username
      email
    }
  }
}
Variables
{
  "request": ProbeRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "addProbe": {
      "identifiers": Identifiers,
      "name": "xyz789",
      "description": "abc123",
      "tags": ["abc123"],
      "type": "httpProbe",
      "infrastructureType": "Kubernetes",
      "kubernetesHTTPProperties": KubernetesHTTPProbe,
      "linuxHTTPProperties": LinuxHTTPProbe,
      "windowsHTTPProperties": WindowsHTTPProbe,
      "kubernetesCMDProperties": KubernetesCMDProbe,
      "linuxCMDProperties": LinuxCMDProbe,
      "kubernetesDatadogProperties": KubernetesDatadogProbe,
      "linuxDatadogProperties": LinuxDatadogProbe,
      "k8sProperties": K8SProbe,
      "kubernetesDynatraceProperties": KubernetesDynatraceProbe,
      "linuxDynatraceProperties": LinuxDynatraceProbe,
      "promProperties": PROMProbe,
      "sloProperties": SLOProbe,
      "recentExecutions": [ProbeRecentExecutions],
      "referencedBy": 123,
      "isRemoved": true,
      "isEnabled": true,
      "updatedAt": "abc123",
      "createdAt": "abc123",
      "updatedBy": UserDetails,
      "createdBy": UserDetails
    }
  }
}

addRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RuleInput!

Example

Query
mutation AddRule(
  $identifiers: IdentifiersRequest!,
  $request: RuleInput!
) {
  addRule(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RuleInput
}
Response
{
  "data": {
    "addRule": {
      "message": "abc123",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

createChaosWorkFlow

Description

Creates a new workflow and applies its manifest

Response

Returns a ChaosWorkFlowResponse!

Arguments
Name Description
request - ChaosWorkFlowRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation CreateChaosWorkFlow(
  $request: ChaosWorkFlowRequest!,
  $identifiers: IdentifiersRequest!
) {
  createChaosWorkFlow(
    request: $request,
    identifiers: $identifiers
  ) {
    workflowID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    cronSyntax
    workflowName
    workflowDescription
    isCustomWorkflow
    tags
  }
}
Variables
{
  "request": ChaosWorkFlowRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "createChaosWorkFlow": {
      "workflowID": "abc123",
      "identifiers": Identifiers,
      "cronSyntax": "xyz789",
      "workflowName": "xyz789",
      "workflowDescription": "xyz789",
      "isCustomWorkflow": false,
      "tags": ["abc123"]
    }
  }
}

createGameDay

Response

Returns a GameDay!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CreateGameDayRequest!

Example

Query
mutation CreateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: CreateGameDayRequest!
) {
  createGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
    }
    objective
    description
    createdBy
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CreateGameDayRequest
}
Response
{
  "data": {
    "createGameDay": {
      "gameDayID": 4,
      "identifiers": Identifiers,
      "name": "abc123",
      "experiments": [ExperimentResponse],
      "objective": "xyz789",
      "description": "xyz789",
      "createdBy": "abc123",
      "createdAt": "xyz789",
      "updatedAt": "xyz789",
      "summary": GameDaySummary,
      "isRemoved": true
    }
  }
}

createGameDayRun

Response

Returns a GameDayRunResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - CreateGameDayRunRequest!

Example

Query
mutation CreateGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: CreateGameDayRunRequest!
) {
  createGameDayRun(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayRunID
    name
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
      experimentRunIDs
      experimentNotes
    }
    startTime
    endTime
    notes
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    updatedAt
    createdAt
    completed
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": CreateGameDayRunRequest
}
Response
{
  "data": {
    "createGameDayRun": {
      "gameDayRunID": "xyz789",
      "name": "xyz789",
      "gameDayID": "abc123",
      "identifiers": Identifiers,
      "experiments": [GameDayRunExperiments],
      "startTime": "abc123",
      "endTime": "xyz789",
      "notes": "xyz789",
      "summary": GameDaySummary,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "updatedAt": "abc123",
      "createdAt": "xyz789",
      "completed": false
    }
  }
}

createImageRegistry

Response

Returns an ImageRegistryResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ImageRegistryRequest!

Example

Query
mutation CreateImageRegistry(
  $identifiers: IdentifiersRequest!,
  $request: ImageRegistryRequest!
) {
  createImageRegistry(
    identifiers: $identifiers,
    request: $request
  ) {
    identifier {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    registryServer
    registryAccount
    isPrivate
    secretName
    isDefault
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    createdAt
    updatedAt
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ImageRegistryRequest
}
Response
{
  "data": {
    "createImageRegistry": {
      "identifier": Identifiers,
      "registryServer": "xyz789",
      "registryAccount": "xyz789",
      "isPrivate": false,
      "secretName": "xyz789",
      "isDefault": true,
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "createdAt": "abc123",
      "updatedAt": "abc123"
    }
  }
}

deleteChaosHub

Description

Delete the ChaosHub

Response

Returns a Boolean!

Arguments
Name Description
id - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteChaosHub(
  $id: ID!,
  $identifiers: IdentifiersRequest!
) {
  deleteChaosHub(
    id: $id,
    identifiers: $identifiers
  )
}
Variables
{
  "id": "4",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosHub": {}}}

deleteChaosWorkflow

Description

Removes a workflow from infra

Response

Returns a Boolean!

Arguments
Name Description
workflowID - String!
workflowRunID - String
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteChaosWorkflow(
  $workflowID: String!,
  $workflowRunID: String,
  $identifiers: IdentifiersRequest!
) {
  deleteChaosWorkflow(
    workflowID: $workflowID,
    workflowRunID: $workflowRunID,
    identifiers: $identifiers
  )
}
Variables
{
  "workflowID": "xyz789",
  "workflowRunID": "abc123",
  "identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosWorkflow": {}}}

deleteCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
conditionId - String!

Example

Query
mutation DeleteCondition(
  $identifiers: IdentifiersRequest!,
  $conditionId: String!
) {
  deleteCondition(
    identifiers: $identifiers,
    conditionId: $conditionId
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "conditionId": "abc123"
}
Response
{
  "data": {
    "deleteCondition": {
      "message": "xyz789",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

deleteGameDay

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - DeleteGameDayRequest!

Example

Query
mutation DeleteGameDay(
  $identifiers: IdentifiersRequest!,
  $request: DeleteGameDayRequest!
) {
  deleteGameDay(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": DeleteGameDayRequest
}
Response
{"data": {"deleteGameDay": {}}}

deleteInfra

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraID - String!
forceDelete - Boolean!

Example

Query
mutation DeleteInfra(
  $identifiers: IdentifiersRequest!,
  $infraID: String!,
  $forceDelete: Boolean!
) {
  deleteInfra(
    identifiers: $identifiers,
    infraID: $infraID,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraID": "xyz789",
  "forceDelete": false
}
Response
{"data": {"deleteInfra": {}}}

deleteLinuxInfras

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String]!
forceDelete - Boolean

Example

Query
mutation DeleteLinuxInfras(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String]!,
  $forceDelete: Boolean
) {
  deleteLinuxInfras(
    identifiers: $identifiers,
    infraIDs: $infraIDs,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"],
  "forceDelete": true
}
Response
{"data": {"deleteLinuxInfras": {}}}

deleteProbe

Description

Hard delete a Probe

Response

Returns a Boolean!

Arguments
Name Description
probeName - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation DeleteProbe(
  $probeName: ID!,
  $identifiers: IdentifiersRequest!
) {
  deleteProbe(
    probeName: $probeName,
    identifiers: $identifiers
  )
}
Variables
{"probeName": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"deleteProbe": {}}}

deleteRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!

Example

Query
mutation DeleteRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!
) {
  deleteRule(
    identifiers: $identifiers,
    ruleId: $ruleId
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "xyz789"
}
Response
{
  "data": {
    "deleteRule": {
      "message": "xyz789",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

deleteWindowsInfras

Description

Disconnects an infra and deletes its configuration from the control plane

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraIDs - [String]!
forceDelete - Boolean

Example

Query
mutation DeleteWindowsInfras(
  $identifiers: IdentifiersRequest!,
  $infraIDs: [String]!,
  $forceDelete: Boolean
) {
  deleteWindowsInfras(
    identifiers: $identifiers,
    infraIDs: $infraIDs,
    forceDelete: $forceDelete
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraIDs": ["xyz789"],
  "forceDelete": true
}
Response
{"data": {"deleteWindowsInfras": {}}}

duplicateGameDay

Response

Returns a GameDay!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - DuplicateGameDayRequest!

Example

Query
mutation DuplicateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: DuplicateGameDayRequest!
) {
  duplicateGameDay(
    identifiers: $identifiers,
    request: $request
  ) {
    gameDayID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    name
    experiments {
      experimentID
      experimentTemplateName
      chaosInfraID
      hubID
    }
    objective
    description
    createdBy
    createdAt
    updatedAt
    summary {
      notes
      qna {
        questionType
        optionsMCQ
        question
        answer
      }
      actionItem {
        item
        isDone
      }
    }
    isRemoved
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": DuplicateGameDayRequest
}
Response
{
  "data": {
    "duplicateGameDay": {
      "gameDayID": "4",
      "identifiers": Identifiers,
      "name": "abc123",
      "experiments": [ExperimentResponse],
      "objective": "abc123",
      "description": "xyz789",
      "createdBy": "abc123",
      "createdAt": "xyz789",
      "updatedAt": "abc123",
      "summary": GameDaySummary,
      "isRemoved": false
    }
  }
}

pushWorkflowToChaosHub

Description

Push workflow to ChaosHub

Response

Returns a String!

Arguments
Name Description
request - PushWorkflowToChaosHubInput!
identifiers - IdentifiersRequest!

Example

Query
mutation PushWorkflowToChaosHub(
  $request: PushWorkflowToChaosHubInput!,
  $identifiers: IdentifiersRequest!
) {
  pushWorkflowToChaosHub(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": PushWorkflowToChaosHubInput,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"pushWorkflowToChaosHub": {}}}

registerInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterInfraRequest!

Example

Query
mutation RegisterInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterInfraRequest!
) {
  registerInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    token
    infraID
    name
    manifest
    taskID
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterInfraRequest
}
Response
{
  "data": {
    "registerInfra": {
      "token": "abc123",
      "infraID": "abc123",
      "name": "abc123",
      "manifest": "abc123",
      "taskID": "xyz789"
    }
  }
}

registerLinuxInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterLinuxInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterLinuxInfraRequest!

Example

Query
mutation RegisterLinuxInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterLinuxInfraRequest!
) {
  registerLinuxInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    infraID
    name
    accessKey
    serverURL
    version
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterLinuxInfraRequest
}
Response
{
  "data": {
    "registerLinuxInfra": {
      "infraID": "abc123",
      "name": "abc123",
      "accessKey": "abc123",
      "serverURL": "abc123",
      "version": "xyz789"
    }
  }
}

registerWindowsInfra

Description

Connect a new infra for a user in a specified project

Response

Returns a RegisterWindowsInfraResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RegisterWindowsInfraRequest!

Example

Query
mutation RegisterWindowsInfra(
  $identifiers: IdentifiersRequest!,
  $request: RegisterWindowsInfraRequest!
) {
  registerWindowsInfra(
    identifiers: $identifiers,
    request: $request
  ) {
    infraID
    name
    accessKey
    serverURL
    version
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RegisterWindowsInfraRequest
}
Response
{
  "data": {
    "registerWindowsInfra": {
      "infraID": "xyz789",
      "name": "xyz789",
      "accessKey": "xyz789",
      "serverURL": "abc123",
      "version": "xyz789"
    }
  }
}

runChaosExperiment

Description

Run the chaos experiment (used by frontend)

Response

Returns a RunChaosExperimentResponse!

Arguments
Name Description
workflowID - String!
identifiers - IdentifiersRequest!

Example

Query
mutation RunChaosExperiment(
  $workflowID: String!,
  $identifiers: IdentifiersRequest!
) {
  runChaosExperiment(
    workflowID: $workflowID,
    identifiers: $identifiers
  ) {
    notifyID
  }
}
Variables
{
  "workflowID": "xyz789",
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "runChaosExperiment": {"notifyID": "4"}
  }
}

runPipelineExperiment

Description

Run the Pipeline experiment (used by CD pipeline)

Response

Returns a RunChaosExperimentResponse!

Arguments
Name Description
workflowID - String!
identifiers - IdentifiersRequest!
metaData - RunPipelineExperimentMetaData!

Example

Query
mutation RunPipelineExperiment(
  $workflowID: String!,
  $identifiers: IdentifiersRequest!,
  $metaData: RunPipelineExperimentMetaData!
) {
  runPipelineExperiment(
    workflowID: $workflowID,
    identifiers: $identifiers,
    metaData: $metaData
  ) {
    notifyID
  }
}
Variables
{
  "workflowID": "xyz789",
  "identifiers": IdentifiersRequest,
  "metaData": RunPipelineExperimentMetaData
}
Response
{
  "data": {
    "runPipelineExperiment": {
      "notifyID": "4"
    }
  }
}

saveChaosExperiment

Description

Saves a new experiment or updates if already exists

Response

Returns a String!

Arguments
Name Description
request - ChaosExperimentRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation SaveChaosExperiment(
  $request: ChaosExperimentRequest!,
  $identifiers: IdentifiersRequest!
) {
  saveChaosExperiment(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": ChaosExperimentRequest,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"saveChaosExperiment": {}}}

stopGameDayRun

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - StopGameDayRunRequest

Example

Query
mutation StopGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: StopGameDayRunRequest
) {
  stopGameDayRun(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": StopGameDayRunRequest
}
Response
{"data": {"stopGameDayRun": {}}}

stopWorkflowRuns

Description

stopWorkflow will halt all the running runs of a particular workflow

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
workflowID - String!
workflowRunID - String
notifyID - String
infraType - InfrastructureType

Example

Query
mutation StopWorkflowRuns(
  $identifiers: IdentifiersRequest!,
  $workflowID: String!,
  $workflowRunID: String,
  $notifyID: String,
  $infraType: InfrastructureType
) {
  stopWorkflowRuns(
    identifiers: $identifiers,
    workflowID: $workflowID,
    workflowRunID: $workflowRunID,
    notifyID: $notifyID,
    infraType: $infraType
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "workflowID": "abc123",
  "workflowRunID": "xyz789",
  "notifyID": "abc123",
  "infraType": "Kubernetes"
}
Response
{"data": {"stopWorkflowRuns": {}}}

syncChaosHub

Description

Sync changes from the Git repository of a ChaosHub

Response

Returns a String!

Arguments
Name Description
id - ID!
identifiers - IdentifiersRequest!

Example

Query
mutation SyncChaosHub(
  $id: ID!,
  $identifiers: IdentifiersRequest!
) {
  syncChaosHub(
    id: $id,
    identifiers: $identifiers
  )
}
Variables
{"id": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"syncChaosHub": {}}}

testKubernetesInfraConnection

Description

Send heartbeat task to the k8s infra subscriber

Response

Returns a Boolean!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraId - String!

Example

Query
mutation TestKubernetesInfraConnection(
  $identifiers: IdentifiersRequest!,
  $infraId: String!
) {
  testKubernetesInfraConnection(
    identifiers: $identifiers,
    infraId: $infraId
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraId": "abc123"
}
Response
{"data": {"testKubernetesInfraConnection": {}}}

tuneRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
ruleId - String!
enable - Boolean!

Example

Query
mutation TuneRule(
  $identifiers: IdentifiersRequest!,
  $ruleId: String!,
  $enable: Boolean!
) {
  tuneRule(
    identifiers: $identifiers,
    ruleId: $ruleId,
    enable: $enable
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "ruleId": "abc123",
  "enable": true
}
Response
{
  "data": {
    "tuneRule": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

updateChaosHub

Description

Update the configuration of a ChaosHub

Response

Returns a ChaosHub!

Arguments
Name Description
id - ID!
request - ChaosHubRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateChaosHub(
  $id: ID!,
  $request: ChaosHubRequest!,
  $identifiers: IdentifiersRequest!
) {
  updateChaosHub(
    id: $id,
    request: $request,
    identifiers: $identifiers
  ) {
    id
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    repoName
    repoURL
    repoBranch
    AuthType
    connectorId
    connectorScope
    name
    createdAt
    updatedAt
    lastSyncedAt
    isDefault
    tags
    createdBy {
      userID
      username
      email
    }
    updatedBy {
      userID
      username
      email
    }
    description
  }
}
Variables
{
  "id": 4,
  "request": ChaosHubRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "updateChaosHub": {
      "id": 4,
      "identifiers": Identifiers,
      "repoName": "xyz789",
      "repoURL": "abc123",
      "repoBranch": "abc123",
      "AuthType": "Ssh",
      "connectorId": "abc123",
      "connectorScope": "ACCOUNT",
      "name": "abc123",
      "createdAt": "abc123",
      "updatedAt": "xyz789",
      "lastSyncedAt": "xyz789",
      "isDefault": true,
      "tags": ["xyz789"],
      "createdBy": UserDetails,
      "updatedBy": UserDetails,
      "description": "xyz789"
    }
  }
}

updateChaosWorkflow

Description

Updates the workflow

Response

Returns a ChaosWorkFlowResponse!

Arguments
Name Description
request - ChaosWorkFlowRequest
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateChaosWorkflow(
  $request: ChaosWorkFlowRequest,
  $identifiers: IdentifiersRequest!
) {
  updateChaosWorkflow(
    request: $request,
    identifiers: $identifiers
  ) {
    workflowID
    identifiers {
      orgIdentifier
      accountIdentifier
      projectIdentifier
    }
    cronSyntax
    workflowName
    workflowDescription
    isCustomWorkflow
    tags
  }
}
Variables
{
  "request": ChaosWorkFlowRequest,
  "identifiers": IdentifiersRequest
}
Response
{
  "data": {
    "updateChaosWorkflow": {
      "workflowID": "abc123",
      "identifiers": Identifiers,
      "cronSyntax": "abc123",
      "workflowName": "abc123",
      "workflowDescription": "xyz789",
      "isCustomWorkflow": true,
      "tags": ["xyz789"]
    }
  }
}

updateCondition

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ConditionRequest!

Example

Query
mutation UpdateCondition(
  $identifiers: IdentifiersRequest!,
  $request: ConditionRequest!
) {
  updateCondition(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ConditionRequest
}
Response
{
  "data": {
    "updateCondition": {
      "message": "abc123",
      "correlationId": "abc123",
      "response": {}
    }
  }
}

updateCronExperimentState

Description

Enable/Disable cron experiment state, it returns a list of successful and failed experiment IDs

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateCronExperimentStateRequest!

Example

Query
mutation UpdateCronExperimentState(
  $identifiers: IdentifiersRequest!,
  $request: UpdateCronExperimentStateRequest!
) {
  updateCronExperimentState(
    identifiers: $identifiers,
    request: $request
  ) {
    successIDs
    failedIDs
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateCronExperimentStateRequest
}
Response
{
  "data": {
    "updateCronExperimentState": {
      "successIDs": ["xyz789"],
      "failedIDs": ["abc123"]
    }
  }
}

updateExperimentNotes

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateExperimentNotesRequest

Example

Query
mutation UpdateExperimentNotes(
  $identifiers: IdentifiersRequest!,
  $request: UpdateExperimentNotesRequest
) {
  updateExperimentNotes(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateExperimentNotesRequest
}
Response
{"data": {"updateExperimentNotes": {}}}

updateGameDay

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayRequest!

Example

Query
mutation UpdateGameDay(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayRequest!
) {
  updateGameDay(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayRequest
}
Response
{"data": {"updateGameDay": {}}}

updateGameDayExperiments

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayExperimentsRequest!

Example

Query
mutation UpdateGameDayExperiments(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayExperimentsRequest!
) {
  updateGameDayExperiments(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayExperimentsRequest
}
Response
{"data": {"updateGameDayExperiments": {}}}

updateGameDayRun

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateGameDayRunRequest!

Example

Query
mutation UpdateGameDayRun(
  $identifiers: IdentifiersRequest!,
  $request: UpdateGameDayRunRequest!
) {
  updateGameDayRun(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateGameDayRunRequest
}
Response
{"data": {"updateGameDayRun": {}}}

updateImageRegistry

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - ImageRegistryRequest!

Example

Query
mutation UpdateImageRegistry(
  $identifiers: IdentifiersRequest!,
  $request: ImageRegistryRequest!
) {
  updateImageRegistry(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": ImageRegistryRequest
}
Response
{"data": {"updateImageRegistry": {}}}

updateK8sInfra

Description

Updates the details of a given infrastructure in the dB

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateInfraRequest!

Example

Query
mutation UpdateK8sInfra(
  $identifiers: IdentifiersRequest!,
  $request: UpdateInfraRequest!
) {
  updateK8sInfra(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateInfraRequest
}
Response
{"data": {"updateK8sInfra": {}}}

updateProbe

Description

Update the configuration of a Probe

Response

Returns a String!

Arguments
Name Description
request - ProbeRequest!
identifiers - IdentifiersRequest!

Example

Query
mutation UpdateProbe(
  $request: ProbeRequest!,
  $identifiers: IdentifiersRequest!
) {
  updateProbe(
    request: $request,
    identifiers: $identifiers
  )
}
Variables
{
  "request": ProbeRequest,
  "identifiers": IdentifiersRequest
}
Response
{"data": {"updateProbe": {}}}

updateRule

Response

Returns a StandardResponse!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - RuleInput!

Example

Query
mutation UpdateRule(
  $identifiers: IdentifiersRequest!,
  $request: RuleInput!
) {
  updateRule(
    identifiers: $identifiers,
    request: $request
  ) {
    message
    correlationId
    response
  }
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": RuleInput
}
Response
{
  "data": {
    "updateRule": {
      "message": "abc123",
      "correlationId": "xyz789",
      "response": {}
    }
  }
}

updateSummary

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
request - UpdateSummaryRequest!

Example

Query
mutation UpdateSummary(
  $identifiers: IdentifiersRequest!,
  $request: UpdateSummaryRequest!
) {
  updateSummary(
    identifiers: $identifiers,
    request: $request
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "request": UpdateSummaryRequest
}
Response
{"data": {"updateSummary": {}}}

upgradeK8sInfra

Description

Launches an on-demand upgrade job to bring the infra up to the latest version

Response

Returns a String!

Arguments
Name Description
identifiers - IdentifiersRequest!
infraId - String!

Example

Query
mutation UpgradeK8sInfra(
  $identifiers: IdentifiersRequest!,
  $infraId: String!
) {
  upgradeK8sInfra(
    identifiers: $identifiers,
    infraId: $infraId
  )
}
Variables
{
  "identifiers": IdentifiersRequest,
  "infraId": "xyz789"
}
Response
{"data": {"upgradeK8sInfra": {}}}

Types

ActionItemRequest

Fields
Input Field Description
item - String!
isDone - Boolean!
Example
{}

ActionItems

Fields
Field Name Description
item - String!
isDone - Boolean!
Example
{"item": "abc123", "isDone": true}

Annotation

Fields
Field Name Description
categories - String!
vendor - String!
createdAt - String!
repository - String!
support - String!
chartDescription - String!
Example
{
  "categories": "xyz789",
  "vendor": "abc123",
  "createdAt": "xyz789",
  "repository": "xyz789",
  "support": "xyz789",
  "chartDescription": "abc123"
}

ApplicationSpec

Fields
Field Name Description
operator - Operator!
workloads - [Workload!]!
Example
{"operator": "EQUAL_TO", "workloads": [Workload]}

ApplicationSpecInput

Fields
Input Field Description
operator - Operator!
workloads - [WorkloadInput!]!
Example
{}

Audit

Example
{
  "updatedAt": "abc123",
  "createdAt": "abc123",
  "updatedBy": UserDetails,
  "createdBy": UserDetails
}

AuditV2

Fields
Field Name Description
updatedAt - Int
createdAt - Int
updatedBy - UserDetails
createdBy - UserDetails
Possible Types
AuditV2 Types

ConditionResponse

RuleResponse

Example
{
  "updatedAt": 123,
  "createdAt": 123,
  "updatedBy": UserDetails,
  "createdBy": UserDetails
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
{}

ChaosExperimentRequest

Description

Defines the details for a chaos experiment

Fields
Input Field Description
id - String! ID of the experiment
name - String! Name of the experiment
description - String Description of the experiment
manifest - String! Manifest of the experiment
eventsMetadata - [EventMetadataInput!] Array containing service identifier and environment identifier for SRM change source events
infraID - ID! ID of the target infrastructure in which the experiment will run
tags - [String!] Tags of the infrastructure
infraType - InfrastructureType Type of the infrastructure
validateManifest - Boolean Validate the experiment manifest
cronSyntax - String Cron syntax of the workflow schedule
Example
{}

ChaosHub

Fields
Field Name Description
id - ID! ID of the chaos hub
identifiers - Identifiers! Harness identifiers
repoName - String Name of the repository if connector is of Account type
repoURL - String! URL of the git repository
repoBranch - String! Branch of the git repository
AuthType - ChaosHubAuthType! AuthType
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
name - String! Name of the chaos hub
createdAt - String! Timestamp when the chaos hub was created
updatedAt - String! Timestamp when the chaos hub was last updated
lastSyncedAt - String! Timestamp when the chaos hub was last synced
isDefault - Boolean! Default Hub Identifier
tags - [String!] Tags of the ChaosHub
createdBy - UserDetails User who created the ChaosHub
updatedBy - UserDetails User who has updated the ChaosHub
description - String Description of ChaosHub
Example
{
  "id": "4",
  "identifiers": Identifiers,
  "repoName": "abc123",
  "repoURL": "xyz789",
  "repoBranch": "abc123",
  "AuthType": "Ssh",
  "connectorId": "xyz789",
  "connectorScope": "ACCOUNT",
  "name": "abc123",
  "createdAt": "abc123",
  "updatedAt": "xyz789",
  "lastSyncedAt": "abc123",
  "isDefault": false,
  "tags": ["abc123"],
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "description": "xyz789"
}

ChaosHubAuthType

Values
Enum Value Description

Ssh

UsernameToken

Example
{}

ChaosHubFilterInput

Description

Defines filter options for ChaosHub

Fields
Input Field Description
chaosHubName - String Name of the ChaosHub
tags - [String!] Tags of a chaos hub
description - String Description of a chaos hub
Example
{}

ChaosHubRequest

Description

Defines the details required for creating a chaos hub

Fields
Input Field Description
hubName - String! Name of the chaos hub
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
repoName - String Repo name of the git repository
repoBranch - String! Branch of the git repository
tags - [String!] Tags of the ChaosHub
description - String Description of ChaosHub
Example
{}

ChaosHubStatus

Fields
Field Name Description
id - ID! ID of the hub
repoName - String Name of the repository if connector is of Account type
repoURL - String! URL of the git repository
repoBranch - String! Branch of the git repository
connectorId - String! Name of the GitConnectorId
connectorScope - ConnectorScope! Name of the ConnectorScope
AuthType - ChaosHubAuthType! AuthType
isAvailable - Boolean! Bool value indicating whether the hub is available or not.
totalFaults - Int! Total number of experiments in the hub
totalExperiments - Int! Total workflows
name - String! Name of the chaos hub
lastSyncedAt - String! Timestamp when the chaos hub was last synced
isDefault - Boolean! Default Hub Identifier
tags - [String!] Tags of the ChaosHub
createdBy - UserDetails User who created the ChaosHub
updatedBy - UserDetails User who has updated the ChaosHub
createdAt - String! Created at timestamp
updatedAt - String! Updated at timestamp
description - String Description of ChaosHub
Example
{
  "id": 4,
  "repoName": "xyz789",
  "repoURL": "abc123",
  "repoBranch": "xyz789",
  "connectorId": "xyz789",
  "connectorScope": "ACCOUNT",
  "AuthType": "Ssh",
  "isAvailable": false,
  "totalFaults": 987,
  "totalExperiments": 123,
  "name": "abc123",
  "lastSyncedAt": "xyz789",
  "isDefault": true,
  "tags": ["xyz789"],
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "xyz789",
  "updatedAt": "xyz789",
  "description": "abc123"
}

ChaosServiceAccountSpec

Fields
Field Name Description
operator - Operator!
serviceAccounts - [String!]!
Example
{
  "operator": "EQUAL_TO",
  "serviceAccounts": ["xyz789"]
}

ChaosServiceAccountSpecInput

Fields
Input Field Description
operator - Operator!
serviceAccounts - [String!]!
Example
{}

ChaosWorkFlowRequest

Description

Defines the details for a chaos workflow

Fields
Input Field Description
workflowID - String ID of the workflow
runExperiment - Boolean Boolean check indicating if the created scenario will be executed or not
workflowManifest - String! Manifest of the workflow
workflowType - WorkflowType Type of the workflow
cronSyntax - String! Cron syntax of the workflow schedule
workflowName - String! Name of the workflow
workflowDescription - String! Description of the workflow
weightages - [WeightagesInput!]! Array containing weightage and name of each chaos experiment in the workflow
eventsMetadata - [EventMetadataInput!] Array containing service identifier and environment identifier for SRM change source events
isCustomWorkflow - Boolean! Bool value indicating whether the workflow is a custom workflow or not
infraID - ID! ID of the target infra in which the workflow will run
tags - [String!] Tags of the infra
infraType - InfrastructureType Type of the infra
Example
{}

ChaosWorkFlowResponse

Description

Defines the response received for querying the details of chaos workflow

Fields
Field Name Description
workflowID - String! ID of the workflow
identifiers - Identifiers! Harness Identifiers
cronSyntax - String! Cron syntax of the workflow schedule
workflowName - String! Name of the workflow
workflowDescription - String! Description of the workflow
isCustomWorkflow - Boolean! Bool value indicating whether the workflow is a custom workflow or not
tags - [String!] Tags of the infra
Example
{
  "workflowID": "xyz789",
  "identifiers": Identifiers,
  "cronSyntax": "abc123",
  "workflowName": "abc123",
  "workflowDescription": "xyz789",
  "isCustomWorkflow": true,
  "tags": ["xyz789"]
}

Chart

Fields
Field Name Description
apiVersion - String!
kind - String!
metadata - Metadata!
spec - Spec!
packageInfo - PackageInformation!
Example
{
  "apiVersion": "xyz789",
  "kind": "xyz789",
  "metadata": Metadata,
  "spec": Spec,
  "packageInfo": PackageInformation
}

CheckResourceIDRequest

Fields
Input Field Description
resourceName - ResourceType!
ID - ID!
Example
{}

ClusterType

Values
Enum Value Description

KUBERNETES

OPENSHIFT

HELM

Example
{}

CommonProbeProperties

Description

Defines the common probe properties shared across different ProbeTypes

Fields
Field Name Description
probeTimeout - String! Timeout of the Probe
interval - String! Interval of the Probe
retry - Int Retry interval of the Probe
attempt - Int! Attempt contains the total attempt count for the probe
probePollingInterval - String Polling interval of the Probe
initialDelay - String Initial delay interval of the Probe in seconds
stopOnFailure - Boolean Is stop on failure enabled in the Probe
verbosity - String Verbosity for the probe logging
Example
{
  "probeTimeout": "xyz789",
  "interval": "abc123",
  "retry": 123,
  "attempt": 987,
  "probePollingInterval": "xyz789",
  "initialDelay": "xyz789",
  "stopOnFailure": false,
  "verbosity": "xyz789"
}

Comparator

Description

Defines the properties of the comparator

Fields
Field Name Description
type - String! Type of the Comparator
value - String! Value of the Comparator
criteria - String! Operator of the Comparator
Example
{
  "type": "abc123",
  "value": "abc123",
  "criteria": "abc123"
}

ComparatorInput

Description

Defines the input properties of the comparator

Fields
Input Field Description
type - String! Type of the Comparator
value - String! Value of the Comparator
criteria - String! Operator of the Comparator
Example
{}

Condition

Fields
Field Name Description
name - String!
description - String
tags - [String!]
conditionId - String!
faultSpec - FaultSpec!
k8sSpec - K8sSpec!
rules - [ConditionRule]
Example
{
  "name": "abc123",
  "description": "abc123",
  "tags": ["xyz789"],
  "conditionId": "xyz789",
  "faultSpec": FaultSpec,
  "k8sSpec": K8sSpec,
  "rules": [ConditionRule]
}

ConditionDetails

Fields
Field Name Description
conditionId - String
conditionName - String
message - String
phase - SecurityGovernancePhase
Example
{
  "conditionId": "xyz789",
  "conditionName": "abc123",
  "message": "xyz789",
  "phase": "Passed"
}

ConditionFilterInput

Fields
Input Field Description
name - String
description - String
tags - [String]
Example
{}

ConditionRequest

Fields
Input Field Description
conditionId - String!
description - String
name - String!
tags - [String]
faultSpec - FaultSpecInput!
k8sSpec - K8sSpecInput!
Example
{}

ConditionResponse

Fields
Field Name Description
updatedAt - Int!
createdAt - Int!
updatedBy - UserDetails!
createdBy - UserDetails!
identifiers - Identifiers!
condition - Condition!
Example
{
  "updatedAt": 987,
  "createdAt": 123,
  "updatedBy": UserDetails,
  "createdBy": UserDetails,
  "identifiers": Identifiers,
  "condition": Condition
}

ConditionRule

Fields
Field Name Description
ruleId - String!
name - String!
Example
{
  "ruleId": "abc123",
  "name": "xyz789"
}

ConnectorScope

Values
Enum Value Description

ACCOUNT

PROJECT

ORGANISATION

Example
{}

CreateGameDayRequest

Fields
Input Field Description
ID - String!
name - String!
experiments - [NonCronExperiment!]!
objective - String
description - String
Example
{}

CreateGameDayRunRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

DatadogMetrics

Description

Raw metrics details of the datadog probe

Fields
Field Name Description
datadogQuery - String! Query to get Datadog metrics
timeFrame - String! Timeframe of the metric
comparator - Comparator! Comparator check for the correctness of the probe output
Example
{
  "datadogQuery": "xyz789",
  "timeFrame": "xyz789",
  "comparator": Comparator
}

DatadogMetricsInput

Description

Defines the input for Raw metrics details of the datadog probe

Fields
Input Field Description
datadogQuery - String! Query to get Datadog metrics
timeFrame - String! Timeframe of the metric
comparator - ComparatorInput! Comparator check for the correctness of the probe output
Example
{}

DatadogSyntheticsTestType

Values
Enum Value Description

api

browser

Example
{}

DateRange

Description

Defines the start date and end date for the filtering the data

Fields
Input Field Description
startDate - String! Start date
endDate - String End date
Example
{}

DeleteGameDayRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

DuplicateGameDayRequest

Fields
Input Field Description
gamedayID - String!
Example
{}

EvaluationWindow

Description

EvaluationWindow is the time period for which the SLO probe will work

Fields
Field Name Description
evaluationStartTime - Int Start time of evaluation
evaluationEndTime - Int End time of evaluation
Example
{"evaluationStartTime": 987, "evaluationEndTime": 123}

EvaluationWindowInput

Description

Defines the input properties of EvaluationWindow

Fields
Input Field Description
evaluationStartTime - Int Start time of evaluation
evaluationEndTime - Int End time of evaluation
Example
{}

EventMetadata

Fields
Field Name Description
faultName - String!
serviceIdentifier - [String!]!
environmentIdentifier - [String!]!
Example
{
  "faultName": "xyz789",
  "serviceIdentifier": ["abc123"],
  "environmentIdentifier": ["abc123"]
}

EventMetadataInput

Fields
Input Field Description
faultName - String!
serviceIdentifier - [String!]!
environmentIdentifier - [String!]!
Example
{}

ExecutedByExperiment

Description

Defines the Executed by which experiment details for Probes

Fields
Field Name Description
experimentID - String! Experiment ID
experimentName - String! Experiment Name
experimentType - ScenarioType! Type of the experiment i.e. CRON, NON_CRON or Gameday
updatedAt - Int! Timestamp at which the experiment was last updated
updatedBy - UserDetails User who has updated the experiment
Example
{
  "experimentID": "abc123",
  "experimentName": "xyz789",
  "experimentType": "CRON",
  "updatedAt": 987,
  "updatedBy": UserDetails
}

ExecutionHistory

Description

Defines the Execution History of experiment referenced by the Probe

Fields
Field Name Description
mode - Mode! Probe Mode
faultName - String! Fault Name
status - Status! Fault Status
executedByExperiment - ExecutedByExperiment! Fault executed by which experiment
Example
{
  "mode": "SOT",
  "faultName": "abc123",
  "status": Status,
  "executedByExperiment": ExecutedByExperiment
}

ExecutionPlane

Values
Enum Value Description

LINUX

KUBERNETES

KUBERNETESV2

WINDOWS

Example
{}

ExperimentInfoInput

Fields
Input Field Description
name - String!
description - String!
Example
{}

ExperimentRequest

Fields
Input Field Description
category - String! Name of the chart being used
experimentName - String! Name of the experiment
hubID - String! Name of the hub
Example
{}

ExperimentResponse

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfraID - String!
hubID - String!
Example
{
  "experimentID": "abc123",
  "experimentTemplateName": "xyz789",
  "chaosInfraID": "xyz789",
  "hubID": "abc123"
}

ExperimentRunReport

Description

Defines the details of a experiment run report

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
workflowRunID - ID! ID of the workflow run which is to be queried
workflowType - String Type of the workflow
workflowID - ID! ID of the workflow
weightages - [Weightages!]! Array containing weightage and name of each chaos experiment in the workflow
updatedAt - String! Timestamp at which workflow run was last updated
createdAt - String! Timestamp at which workflow run was created
cronSyntax - String! Cron syntax of the workflow schedule
infra - [Infrastructure]! Target infra in which the workflow will run
workflowName - String! Name of the workflow
workflowDescription - String Description of the workflow
workflowTags - [String] Tag of the workflow
workflowManifest - String! Manifest of the workflow run
isCronEnabled - Boolean If cron is enabled or disabled
probe - [ProbeMap!]! Probe object containing reference of probeIDs
phase - WorkflowRunStatus! Phase of the workflow run
resiliencyScore - Float Resiliency score of the workflow
experimentsPassed - Int Number of experiments passed
experimentsFailed - Int Number of experiments failed
experimentsAwaited - Int Number of experiments awaited
experimentsStopped - Int Number of experiments stopped
experimentsNa - Int Number of experiments which are not available
totalExperiments - Int Total number of experiments
executionData - String! Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments
isRemoved - Boolean Bool value indicating if the workflow run has removed
updatedBy - UserDetails User who has updated the workflow
createdBy - UserDetails User who has created the experiment run
notifyID - ID Notify ID of the experiment run
errorResponse - String Error Response is the reason why experiment failed to run
securityGovernance - SecurityGovernance Security Governance details of the workflow run
runSequence - Int! runSequence is the sequence number of experiment run
Example
{
  "identifiers": Identifiers,
  "workflowRunID": "4",
  "workflowType": "abc123",
  "workflowID": 4,
  "weightages": [Weightages],
  "updatedAt": "xyz789",
  "createdAt": "xyz789",
  "cronSyntax": "xyz789",
  "infra": [Infrastructure],
  "workflowName": "xyz789",
  "workflowDescription": "xyz789",
  "workflowTags": ["xyz789"],
  "workflowManifest": "abc123",
  "isCronEnabled": true,
  "probe": [ProbeMap],
  "phase": "All",
  "resiliencyScore": 123.45,
  "experimentsPassed": 123,
  "experimentsFailed": 987,
  "experimentsAwaited": 987,
  "experimentsStopped": 123,
  "experimentsNa": 123,
  "totalExperiments": 987,
  "executionData": "abc123",
  "isRemoved": false,
  "updatedBy": UserDetails,
  "createdBy": UserDetails,
  "notifyID": 4,
  "errorResponse": "abc123",
  "securityGovernance": SecurityGovernance,
  "runSequence": 123
}

Experiments

Fields
Field Name Description
name - String!
CSV - String!
desc - String!
Example
{
  "name": "xyz789",
  "CSV": "xyz789",
  "desc": "abc123"
}

Fault

Fields
Input Field Description
faultType - FaultType!
name - String!
Example
{}

FaultDetails

Description

Fault Detail consists of all the fault related details

Fields
Field Name Description
fault - String! fault consists of fault.yaml
engine - String! engine consists engine.yaml
csv - String! csv consists chartserviceversion.yaml
k8sSpec - String! k8sSpec
Example
{
  "fault": "xyz789",
  "engine": "xyz789",
  "csv": "abc123",
  "k8sSpec": "abc123"
}

FaultList

Fields
Field Name Description
name - String!
displayName - String!
description - String!
plan - [String!]
supportedVersion - [String!]
Example
{
  "name": "xyz789",
  "displayName": "abc123",
  "description": "xyz789",
  "plan": ["xyz789"],
  "supportedVersion": ["abc123"]
}

FaultResponse

Fields
Field Name Description
faultType - FaultType!
name - String!
Example
{
  "faultType": "FAULT_GROUP",
  "name": "abc123"
}

FaultSpec

Fields
Field Name Description
operator - Operator!
faults - [FaultResponse!]!
Example
{"operator": "EQUAL_TO", "faults": [FaultResponse]}

FaultSpecInput

Fields
Input Field Description
faults - [Fault!]!
operator - Operator!
Example
{}

FaultType

Values
Enum Value Description

FAULT_GROUP

FAULT

Example
{}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
{}

GET

Description

Details of GET request

Fields
Field Name Description
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{
  "criteria": "xyz789",
  "responseCode": "abc123",
  "responseBody": "abc123"
}

GETRequest

Description

Details for input of GET request

Fields
Input Field Description
criteria - String! Criteria of the response
responseCode - String Response Code of the response
responseBody - String Response Body of the response
Example
{}

GameDay

Fields
Field Name Description
gameDayID - ID
identifiers - Identifiers! Harness identifiers
name - String!
experiments - [ExperimentResponse!]!
objective - String
description - String
createdBy - String!
createdAt - String!
updatedAt - String!
summary - GameDaySummary
isRemoved - Boolean!
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "abc123",
  "experiments": [ExperimentResponse],
  "objective": "xyz789",
  "description": "abc123",
  "createdBy": "abc123",
  "createdAt": "abc123",
  "updatedAt": "abc123",
  "summary": GameDaySummary,
  "isRemoved": false
}

GameDayResponse

Fields
Field Name Description
gameDayID - ID!
identifiers - Identifiers! Harness identifiers
name - String!
tags - [String!]
experiments - [ExperimentResponse!]!
objective - String
description - String
createdBy - UserDetails
updatedBy - UserDetails
createdAt - String!
updatedAt - String!
summary - GameDaySummary
isRemoved - Boolean!
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "xyz789",
  "tags": ["abc123"],
  "experiments": [ExperimentResponse],
  "objective": "abc123",
  "description": "abc123",
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "abc123",
  "updatedAt": "xyz789",
  "summary": GameDaySummary,
  "isRemoved": true
}

GameDayRunExperiments

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfraID - String!
hubID - String!
experimentRunIDs - [String]
experimentNotes - String
Example
{
  "experimentID": "xyz789",
  "experimentTemplateName": "xyz789",
  "chaosInfraID": "abc123",
  "hubID": "xyz789",
  "experimentRunIDs": ["xyz789"],
  "experimentNotes": "abc123"
}

GameDayRunResponse

Fields
Field Name Description
gameDayRunID - String!
name - String!
gameDayID - String!
identifiers - Identifiers! Harness identifiers
experiments - [GameDayRunExperiments!]
startTime - String
endTime - String
notes - String
summary - GameDaySummary!
createdBy - UserDetails
updatedBy - UserDetails
updatedAt - String
createdAt - String
completed - Boolean
Example
{
  "gameDayRunID": "xyz789",
  "name": "xyz789",
  "gameDayID": "abc123",
  "identifiers": Identifiers,
  "experiments": [GameDayRunExperiments],
  "startTime": "abc123",
  "endTime": "xyz789",
  "notes": "xyz789",
  "summary": GameDaySummary,
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "updatedAt": "xyz789",
  "createdAt": "abc123",
  "completed": true
}

GameDaySummary

Fields
Field Name Description
notes - String
qna - [QnAs!]
actionItem - [ActionItems!]
Example
{
  "notes": "abc123",
  "qna": [QnAs],
  "actionItem": [ActionItems]
}

GamedayFilterInput

Fields
Input Field Description
gamedayName - String
Example
{}

GamedayInfraDetails

Fields
Field Name Description
ID - ID!
type - String
name - String
environmentID - String
namespace - String
scope - INFRA_SCOPE
isActive - Boolean
Example
{
  "ID": "4",
  "type": "xyz789",
  "name": "xyz789",
  "environmentID": "xyz789",
  "namespace": "abc123",
  "scope": "namespace",
  "isActive": false
}

GamedaySortInput

Description

Defines sorting options for workflow runs

Fields
Input Field Description
field - GamedaySortingField! Field in which sorting will be done
ascending - Boolean Bool value indicating whether the sorting will be done in ascending order
Example
{}

GamedaySortingField

Values
Enum Value Description

NAME

TIME

Example
{}

GetExperimentResponse

Description

Defines the details for a given experiment with some additional data

Fields
Field Name Description
experimentDetails - Workflow! Details of experiment
averageResiliencyScore - Float Average resiliency score of the experiment
Example
{
  "experimentDetails": Workflow,
  "averageResiliencyScore": 123.45
}

GetGameDayResponse

Fields
Field Name Description
gameDayID - ID!
identifiers - Identifiers! Harness identifiers
name - String!
experiments - [GetGamedayExperimentResponse!]
objective - String
description - String
createdBy - UserDetails
createdAt - String
updatedAt - String
summary - GameDaySummary
isRemoved - Boolean
totalGamedayRuns - Int
Example
{
  "gameDayID": "4",
  "identifiers": Identifiers,
  "name": "abc123",
  "experiments": [GetGamedayExperimentResponse],
  "objective": "xyz789",
  "description": "xyz789",
  "createdBy": UserDetails,
  "createdAt": "xyz789",
  "updatedAt": "xyz789",
  "summary": GameDaySummary,
  "isRemoved": true,
  "totalGamedayRuns": 987
}

GetGamedayExperimentResponse

Fields
Field Name Description
experimentID - String!
experimentTemplateName - String!
chaosInfra - GamedayInfraDetails!
hubID - String!
experimentNotes - String
experimentCSV - String
experimentManifest - String
Example
{
  "experimentID": "abc123",
  "experimentTemplateName": "xyz789",
  "chaosInfra": GamedayInfraDetails,
  "hubID": "xyz789",
  "experimentNotes": "abc123",
  "experimentCSV": "xyz789",
  "experimentManifest": "xyz789"
}

GetInfraStatsResponse

Fields
Field Name Description
totalInfrastructures - Int! Total number of infrastructures
totalActiveInfrastructure - Int! Total number of active infrastructures
totalInactiveInfrastructures - Int! Total number of inactive infrastructures
totalConfirmedInfrastructure - Int! Total number of confirmed infrastructures
totalNonConfirmedInfrastructures - Int! Total number of non confirmed infrastructures
Example
{
  "totalInfrastructures": 987,
  "totalActiveInfrastructure": 123,
  "totalInactiveInfrastructures": 987,
  "totalConfirmedInfrastructure": 123,
  "totalNonConfirmedInfrastructures": 123
}

GetProbeReferenceResponse

Description

Defines the response of the Probe reference API

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
name - String! Name of the Probe
totalRuns - Int! Total Runs
recentExecutions - [RecentExecutions]! Recent Executions of the probe
Example
{
  "identifiers": Identifiers,
  "name": "xyz789",
  "totalRuns": 987,
  "recentExecutions": [RecentExecutions]
}

GetProbeYAMLRequest

Description

Defines the input requests for GetProbeYAML query

Fields
Input Field Description
probeName - ID! Probe name of the probe
mode - Mode! Mode of the Probe (SoT, EoT, Edge, Continuous or OnChaos)
Example
{}

GetProbesInExperimentRunResponse

Description

Defines the response for Get Probe In Experiment Run Query

Fields
Field Name Description
probe - Probe! Probe Object
mode - Mode! Mode of the probe
status - Status! Status of the Probe
Example
{
  "probe": Probe,
  "mode": "SOT",
  "status": Status
}

HTTPAuthorization

Description

Auth contains the authentication details for the HTTP probe

Fields
Field Name Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{
  "authType": "xyz789",
  "credentials": "abc123",
  "credentialsFile": "xyz789"
}

HTTPAuthorizationInput

Description

Defines the input for HTTP authentication details

Fields
Input Field Description
authType - String Flag to hold the authentication type
credentials - String Flag to hold the basic auth credentials in base64 format
credentialsFile - String Flag to hold the basic auth credentials file path
Example
{}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
{}

INFRA_SCOPE

Values
Enum Value Description

namespace

cluster

Example
{}

Identifiers

Description

Defines the common identifiers for API operations

Fields
Field Name Description
orgIdentifier - String! Harness OrgID
accountIdentifier - String! Harness AccountID
projectIdentifier - String! Harness projectID
Example
{
  "orgIdentifier": "xyz789",
  "accountIdentifier": "xyz789",
  "projectIdentifier": "xyz789"
}

IdentifiersRequest

Fields
Input Field Description
orgIdentifier - String! Harness OrgID
accountIdentifier - String! Harness AccountID
projectIdentifier - String! Harness projectID
Example
{}

ImageRegistryRequest

Fields
Input Field Description
registryServer - String!
registryAccount - String!
isPrivate - Boolean!
secretName - String
isDefault - Boolean!
Example
{}

ImageRegistryResponse

Fields
Field Name Description
identifier - Identifiers!
registryServer - String!
registryAccount - String!
isPrivate - Boolean!
secretName - String
isDefault - Boolean!
createdBy - UserDetails
updatedBy - UserDetails
createdAt - String!
updatedAt - String!
Example
{
  "identifier": Identifiers,
  "registryServer": "abc123",
  "registryAccount": "xyz789",
  "isPrivate": false,
  "secretName": "abc123",
  "isDefault": false,
  "createdBy": UserDetails,
  "updatedBy": UserDetails,
  "createdAt": "abc123",
  "updatedAt": "xyz789"
}

InfraFilterInput

Description

Defines filter options for infras

Fields
Input Field Description
name - String Name of the infra
infraID - String ID of the infra
description - String ID of the infra
platformName - String Platform name of infra
infraScope - INFRA_SCOPE Scope of infra
isActive - Boolean Status of infra
tags - [String] Tags of an infra
Example
{}

InfraSpec

Fields
Field Name Description
operator - Operator!
infraIds - [String!]!
Example
{
  "operator": "EQUAL_TO",
  "infraIds": ["abc123"]
}

InfraSpecInput

Fields
Input Field Description
infraIds - [String!]!
operator - Operator!
Example
{}

InfraVersionDetails

Description

InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported

Fields
Field Name Description
latestVersion - String! Latest infra version supported
compatibleVersions - [String!]! List of all infra versions supported
Example
{
  "latestVersion": "abc123",
  "compatibleVersions": ["xyz789"]
}

InfraWithExperimentStats

Description

InfraWithExperimentStats defines experiment stats for a given infra

Fields
Field Name Description
infraID - String! ID of the chaos infrastructure
experimentsCount - Int! Experiments count
experimentRunsCount - Int! Experiment Runs count
Example
{
  "infraID": "xyz789",
  "experimentsCount": 987,
  "experimentRunsCount": 987
}

Infrastructure

Fields
Field Name Description
identifiers - Identifiers! Harness identifiers
environmentID - ID! Environment ID where infra is installed
infraType - InfrastructureType! Type of infrastructure
infraID - ID! ID of the infra
name - String! Name of the workflow
description - String Description of the workflow
version - String! Version of infrastructure
updatedAt - String! Timestamp when the workflow was last updated
createdAt - String! Timestamp when the workflow was created
isRemoved - Boolean! Bool value indicating if the workflow has removed
tags - [String!] Tags of the workflow
createdBy - UserDetails User who created the workflow
updatedBy - UserDetails Details of the user who updated the workflow
lastHeartbeat - String! Last received heartbeat of infrastructure
startTime - String! Time when infra became active
isActive - Boolean! Bool value to check if infra is active
isInfraConfirmed - Boolean! Bool value to check if infra is confirmed
infraNamespace - String Namespace where the infra is being installed
clusterType - ClusterType Cluster type Indicates the type on infrastructure (Kubernetes/openshift)
Example
{
  "identifiers": Identifiers,
  "environmentID": 4,
  "infraType": "Kubernetes",
  "infraID": 4,
  "name": "abc123",