ChaosCenter API Documentation API Reference
ChaosCenter provides console and UI experience for creating, scheduling, and monitoring chaos workflows. Chaos workflows consist of a sequence of experiments run together to achieve the objective of introducing some kind of fault into an application.
API Endpoints
Dev:
http://localhost:8080
Prod:
http://localhost:8080/query
Agents
ChaosCenter gives the ability to run chaos on remote Kubernetes cluster. A Self-agent is automatically connected after successfully onboarding in ChaosCenter. Use the following APIs for agent operations.
User can access connected agents via
Agents page of ChaosCenter.
List Agents
This API returns a list of connected agents with ChaosCenter. It includes pending, active and inactive clusters.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
clusterType | external/internal | Optional |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listClusters($projectID: String!, $clusterType: String){
listClusters(projectID: $projectID, clusterType: $clusterType){
clusterID
projectID
clusterName
description
platformName
accessKey
isRegistered
isClusterConfirmed
isActive
updatedAt
createdAt
clusterType
noOfSchedules
noOfWorkflows
token
agentNamespace
serviceAccount
agentScope
agentNsExists
agentSaExists
lastWorkflowTimestamp
startTime
version
}
}
Variables
{
"projectID": "string",
"clusterType": "string"
}
Try it now
query listClusters($projectID: String!, $clusterType: String){
listClusters(projectID: $projectID, clusterType: $clusterType){
clusterID
projectID
clusterName
description
platformName
accessKey
isRegistered
isClusterConfirmed
isActive
updatedAt
createdAt
clusterType
noOfSchedules
noOfWorkflows
token
agentNamespace
serviceAccount
agentScope
agentNsExists
agentSaExists
lastWorkflowTimestamp
startTime
version
}
}
{
"projectID": "string",
"clusterType": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listClusters": [
{
"clusterID": "string",
"projectID": "string",
"clusterName": "string",
"description": "string",
"platformName": "string",
"accessKey": "string",
"isRegistered": "boolean",
"isClusterConfirmed": "boolean",
"isActive": "boolean",
"updatedAt": "string",
"createdAt": "string",
"clusterType": "string",
"noOfSchedules": "integer",
"noOfWorkflows": "integer",
"token": "string",
"agentNamespace": "string",
"serviceAccount": "string",
"agentScope": "string",
"agentNsExists": "boolean",
"agentSaExists": "boolean",
"lastWorkflowTimestamp": "string",
"startTime": "string",
"version": "string"
}
]
}
}
Get Agents
This API is used to fetch the details of an agent.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
clusterID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query getAgentDetails($clusterID: String!, $projectID: String!){
getAgentDetails(clusterID: $clusterID, projectID: $projectID){
clusterID
projectID
clusterName
description
platformName
accessKey
isRegistered
isClusterConfirmed
isActive
updatedAt
createdAt
clusterType
noOfSchedules
noOfWorkflows
token
agentNamespace
serviceAccount
agentScope
agentNsExists
agentSaExists
lastWorkflowTimestamp
startTime
version
}
}
Variables
{
"clusterID": "string",
"projectID": "string"
}
Try it now
query getAgentDetails($clusterID: String!, $projectID: String!){
getAgentDetails(clusterID: $clusterID, projectID: $projectID){
clusterID
projectID
clusterName
description
platformName
accessKey
isRegistered
isClusterConfirmed
isActive
updatedAt
createdAt
clusterType
noOfSchedules
noOfWorkflows
token
agentNamespace
serviceAccount
agentScope
agentNsExists
agentSaExists
lastWorkflowTimestamp
startTime
version
}
}
{
"clusterID": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getAgentDetails": {
"clusterID": "string",
"projectID": "string",
"clusterName": "string",
"description": "string",
"platformName": "string",
"accessKey": "string",
"isRegistered": "boolean",
"isClusterConfirmed": "boolean",
"isActive": "boolean",
"updatedAt": "string",
"createdAt": "string",
"clusterType": "string",
"noOfSchedules": "integer",
"noOfWorkflows": "integer",
"token": "string",
"agentNamespace": "string",
"serviceAccount": "string",
"agentScope": "string",
"agentNsExists": "boolean",
"agentSaExists": "boolean",
"lastWorkflowTimestamp": "string",
"startTime": "string",
"version": "string"
}
}
}
Register Agent
This API is used to register an agent to ChaosCenter. It returns a token which is required to deploy Agent components and the related RBACs. To access the Agent manifest, visit the following link:
http://localhost:8080/file/
Field | Possible values | Mandatory/Optional |
---|---|---|
clusterName | - | Mandatory |
description | - | Optional |
projectID | - | Mandatory |
platformName | - | Mandatory |
clusterType | external/internal | Mandatory |
agentNamespace | - | Optional |
serviceAccount | - | Optional |
agentScope | cluster/namespace | Mandatory |
agentNsExists | true/false | Optional |
agentSaExists | true/false | Optional |
nodeSelector | - | Optional |
tolerations | - | Optional |
(no description)
Example
Request Content-Types:
application/json
Query
mutation registerCluster($request: RegisterClusterRequest!){
registerCluster(request: $request){
token
clusterID
clusterName
}
}
Variables
{
"request": {
"clusterName": "string",
"description": "string",
"platformName": "string",
"projectID": "object",
"clusterType": "string",
"agentNamespace": "string",
"serviceAccount": "string",
"agentScope": "string",
"agentNsExists": "boolean",
"agentSaExists": "boolean",
"skipSsl": "boolean",
"nodeSelector": "string",
"tolerations": [
{
"tolerationSeconds": "number",
"key": "string",
"operator": "string",
"effect": "string",
"value": "string"
}
]
}
}
Try it now
mutation registerCluster($request: RegisterClusterRequest!){
registerCluster(request: $request){
token
clusterID
clusterName
}
}
{
"request": {
"clusterName": "string",
"description": "string",
"platformName": "string",
"projectID": "object",
"clusterType": "string",
"agentNamespace": "string",
"serviceAccount": "string",
"agentScope": "string",
"agentNsExists": "boolean",
"agentSaExists": "boolean",
"skipSsl": "boolean",
"nodeSelector": "string",
"tolerations": [
{
"tolerationSeconds": "number",
"key": "string",
"operator": "string",
"effect": "string",
"value": "string"
}
]
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"registerCluster": {
"token": "string",
"clusterID": "string",
"clusterName": "string"
}
}
}
Delete Agent
This query can be used to delete an agent from ChaosCenter. It cannot be undone.
Note: User can access the details of deleted cluster inside MongoDB, which are being marked as removed.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
clusterIDs | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteClusters($projectID: String!, $clusterIDs: [String]!){
deleteClusters(projectID: $projectID, clusterIDs: $clusterIDs)
}
Variables
{
"projectID": "string",
"clusterIDs": [
"string"
]
}
Try it now
mutation deleteClusters($projectID: String!, $clusterIDs: [String]!){
deleteClusters(projectID: $projectID, clusterIDs: $clusterIDs)
}
{
"projectID": "string",
"clusterIDs": [
"string"
]
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteClusters": "string"
}
}
Chaos Workflow
Chaos workflows consist of a sequence of experiments run together to induce chaos in the Kubernetes platform.
Note: Target agent should be in active state before scheduling the workflow
Create Chaos Workflow
This API is used to create a Chaos Workflow. The workflow can be a one time run or a cron schedule.
Field | Possible values | Mandatory/Optional |
---|---|---|
workflowID | - | Optional |
workflowManifest | Escaped JSON format of the workflow YAML | Mandatory |
cronSyntax | - | Optional |
workflowName | external/internal | Mandatory |
weightages | - | Mandatory |
workflowDescription | - | Mandatory |
isCustomWorkflow | true/false | Madatory |
projectID | - | Mandatory |
clusterID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation createChaosWorkFlow($request: ChaosWorkFlowRequest!){
createChaosWorkFlow(request: $request){
workflowID
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
}
}
Variables
{
"request": {
"workflowID": "string",
"workflowManifest": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"weightages": [
{
"experimentName": "string",
"weightage": "number"
}
],
"isCustomWorkflow": "boolean",
"projectID": "object",
"clusterID": "object"
}
}
Try it now
mutation createChaosWorkFlow($request: ChaosWorkFlowRequest!){
createChaosWorkFlow(request: $request){
workflowID
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
}
}
{
"request": {
"workflowID": "string",
"workflowManifest": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"weightages": [
{
"experimentName": "string",
"weightage": "number"
}
],
"isCustomWorkflow": "boolean",
"projectID": "object",
"clusterID": "object"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createChaosWorkFlow": {
"workflowID": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"isCustomWorkflow": "boolean"
}
}
}
List Chaos Workflow Runs
This API returns a list of Chaos Workflows and their runs. This API can fetch both cron and non-cron workflow present in the ChaosCenter. false
This query also supports pagination, filtering and sorting of data according to different parameters.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowIDs | [] | Optional |
workflowRunIDs | [] | Optional |
pagination | {page: "integer", limit:"integer"} | Optional |
sort | {field: "NAME/TIME", descending:"boolean"} | Optional |
filter | {workflowName: "string", limit:"string", workflowStatus:WorkflowRunStatus, dateRange: dateRange } | Optional |
(no description)
Example
Request Content-Types:
application/json
Query
query listWorkflowRuns($request: ListWorkflowRunsRequest!){
listWorkflowRuns(request: $request){
totalNoOfWorkflowRuns
}
}
Variables
{
"request": {
"projectID": "object",
"workflowRunIDs": [
"object"
],
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string",
"workflowStatus": "string",
"dateRange": {
"startDate": "string",
"endDate": "string"
}
}
}
}
Try it now
query listWorkflowRuns($request: ListWorkflowRunsRequest!){
listWorkflowRuns(request: $request){
totalNoOfWorkflowRuns
}
}
{
"request": {
"projectID": "object",
"workflowRunIDs": [
"object"
],
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string",
"workflowStatus": "string",
"dateRange": {
"startDate": "string",
"endDate": "string"
}
}
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listWorkflowRuns": {
"totalNoOfWorkflowRuns": "integer"
}
}
}
List Chaos Workflow
This query is used to get the list of all the scheduled workflows. Individual schedules can also be extracted by providing the workflowIDs
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowIDs | [] | Optional |
pagination | {page: "integer", limit:"integer"} | Optional |
sort | {field: "NAME/TIME", descending:"boolean"} | Optional |
filter | {workflowName: "string", limit:"string", workflowStatus:WorkflowRunStatus, dateRange: dateRange } | Optional |
(no description)
Example
Request Content-Types:
application/json
Query
query listWorkflows($request: ListWorkflowsRequest!){
listWorkflows(request: $request){
totalNoOfWorkflows
}
}
Variables
{
"request": {
"projectID": "object",
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string"
}
}
}
Try it now
query listWorkflows($request: ListWorkflowsRequest!){
listWorkflows(request: $request){
totalNoOfWorkflows
}
}
{
"request": {
"projectID": "object",
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string"
}
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listWorkflows": {
"totalNoOfWorkflows": "integer"
}
}
}
Re-run Chaos Workflow
This API is used to re-run a particular chaos workflow on the basis of workflowID
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | string | Mandatory |
workflowID | string | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation reRunChaosWorkFlow($projectID: String!, $workflowID: String!){
reRunChaosWorkFlow(projectID: $projectID, workflowID: $workflowID)
}
Variables
{
"projectID": "string",
"workflowID": "string"
}
Try it now
mutation reRunChaosWorkFlow($projectID: String!, $workflowID: String!){
reRunChaosWorkFlow(projectID: $projectID, workflowID: $workflowID)
}
{
"projectID": "string",
"workflowID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"reRunChaosWorkFlow": "string"
}
}
Update Chaos Workflow
Update the specified chaos workflow by setting the values of the parameters passed.
Field | Possible values | Mandatory/Optional |
---|---|---|
workflowID | - | Mandatory |
cronSyntax | - | Mandatory |
workflowName | - | Mandatory |
workflowDescription | - | Mandatory |
isCustomWorkflow | true/false | Mandatory |
projectID | - | Mandatory |
clusterID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateChaosWorkflow($request: ChaosWorkFlowRequest){
updateChaosWorkflow(request: $request){
workflowID
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
}
}
Variables
{
"request": {
"workflowID": "string",
"workflowManifest": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"weightages": [
{
"experimentName": "string",
"weightage": "number"
}
],
"isCustomWorkflow": "boolean",
"projectID": "object",
"clusterID": "object"
}
}
Try it now
mutation updateChaosWorkflow($request: ChaosWorkFlowRequest){
updateChaosWorkflow(request: $request){
workflowID
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
}
}
{
"request": {
"workflowID": "string",
"workflowManifest": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"weightages": [
{
"experimentName": "string",
"weightage": "number"
}
],
"isCustomWorkflow": "boolean",
"projectID": "object",
"clusterID": "object"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateChaosWorkflow": {
"workflowID": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"isCustomWorkflow": "boolean"
}
}
}
Delete Chaos Workflow
Delete chaos workflow will permanently delete scheduled workflow from the cluster. It cannot be undone. Note: User can access the details of deleted workflow inside MongoDB, which are being marked as removed.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowID | - | Mandatory |
workflowRunID | - | Mandatory |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteChaosWorkflow($projectID: String!, $workflowID: String, $workflowRunID: String){
deleteChaosWorkflow(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
Variables
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Try it now
mutation deleteChaosWorkflow($projectID: String!, $workflowID: String, $workflowRunID: String){
deleteChaosWorkflow(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteChaosWorkflow": "boolean"
}
}
Sync Chaos Workflow
This API is used to sync a Chaos Workflow with the connected agent.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowID | - | Mandatory |
workflowRunID | - | Mandatory |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation syncWorkflowRun($projectID: String!, $workflowID: String!, $workflowRunID: String!){
syncWorkflowRun(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
Variables
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Try it now
mutation syncWorkflowRun($projectID: String!, $workflowID: String!, $workflowRunID: String!){
syncWorkflowRun(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"syncWorkflowRun": "boolean"
}
}
Terminate Chaos Workflow
This API is used to terminate a running Chaos Workflow.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowID | - | Mandatory |
workflowRunID | - | Mandatory |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation terminateChaosWorkflow($projectID: String!, $workflowID: String, $workflowRunID: String){
terminateChaosWorkflow(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
Variables
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Try it now
mutation terminateChaosWorkflow($projectID: String!, $workflowID: String, $workflowRunID: String){
terminateChaosWorkflow(projectID: $projectID, workflowID: $workflowID, workflowRunID: $workflowRunID)
}
{
"projectID": "string",
"workflowID": "string",
"workflowRunID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"terminateChaosWorkflow": "boolean"
}
}
Save Template
Save a scheduled workflow as a template. Provide a workflow name and description, and use the scheduled manifest as a template.
Field | Possible values | Mandatory/Optional |
---|---|---|
isCustomWorkflow | true/false | Optional |
manifest | Escaped JSON format of the workflow YAML | Mandatory |
projectID | - | Mandatory |
templateName | new-saved-template | Mandatory |
templateDescription | Demo Description | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation createWorkflowTemplate($request: TemplateInput){
createWorkflowTemplate(request: $request){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
Variables
{
"request": {
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"isCustomWorkflow": "boolean"
}
}
Try it now
mutation createWorkflowTemplate($request: TemplateInput){
createWorkflowTemplate(request: $request){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
{
"request": {
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"isCustomWorkflow": "boolean"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createWorkflowTemplate": {
"templateID": "string",
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"projectName": "string",
"createdAt": "string",
"isRemoved": "boolean",
"isCustomWorkflow": "boolean"
}
}
}
List Manifest Template
This query lists all the available workflow templates present in a particular project.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query listWorkflowManifests($projectID: String!){
listWorkflowManifests(projectID: $projectID){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
Variables
{
"projectID": "string"
}
Try it now
query listWorkflowManifests($projectID: String!){
listWorkflowManifests(projectID: $projectID){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listWorkflowManifests": [
{
"templateID": "string",
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"projectName": "string",
"createdAt": "string",
"isRemoved": "boolean",
"isCustomWorkflow": "boolean"
}
]
}
}
Get Template Manifest
This query fetches the manifest from a selected template. It takes templateID as an input parameter.
Field | Possible values | Mandatory/Optional |
---|---|---|
templateID | - | Mandatory |
projectID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query getWorkflowManifestByID($projectID: String!, $templateID: String!){
getWorkflowManifestByID(projectID: $projectID, templateID: $templateID){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
Variables
{
"projectID": "string",
"templateID": "string"
}
Try it now
query getWorkflowManifestByID($projectID: String!, $templateID: String!){
getWorkflowManifestByID(projectID: $projectID, templateID: $templateID){
templateID
manifest
templateName
templateDescription
projectID
projectName
createdAt
isRemoved
isCustomWorkflow
}
}
{
"projectID": "string",
"templateID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getWorkflowManifestByID": {
"templateID": "string",
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"projectName": "string",
"createdAt": "string",
"isRemoved": "boolean",
"isCustomWorkflow": "boolean"
}
}
}
ChaosHub
ChaosHub constructs workflow from a set of experiments from Chaos Hub or the Git Repo. There is a public hub which get cloned during the installation by default.
Add ChaosHub
User can add Hub from the ChaosHub page of the ChaosCenter. After adding a ChaosHub, it will clone the git repository. You can connect both Public and Private Repositories. For Private Repositories, user can authenticate using Access Token and SSH for cloning the repository.
Field | Possible values | Mandatory/Optional |
---|---|---|
repoURL | - | Mandatory |
repoBranch | - | Mandatory |
hubName | - | Mandatory |
isPrivate | - | Mandatory |
authType | BASIC/NONE/SSH/TOKEN | Mandatory |
token | - | Optional |
userName | - | Optional |
password | - | Optional |
sshPublicKey | - | Optional |
sshPrivateKey | - | Optional |
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation addChaosHub($request: CreateChaosHubRequest!){
addChaosHub(request: $request){
id
repoURL
repoBranch
projectID
hubName
isPrivate
authType
token
userName
password
sshPrivateKey
isRemoved
createdAt
updatedAt
lastSyncedAt
}
}
Variables
{
"request": {
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
}
Try it now
mutation addChaosHub($request: CreateChaosHubRequest!){
addChaosHub(request: $request){
id
repoURL
repoBranch
projectID
hubName
isPrivate
authType
token
userName
password
sshPrivateKey
isRemoved
createdAt
updatedAt
lastSyncedAt
}
}
{
"request": {
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"addChaosHub": {
"id": "string",
"repoURL": "string",
"repoBranch": "string",
"projectID": "string",
"hubName": "string",
"isPrivate": "boolean",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"isRemoved": "boolean",
"createdAt": "string",
"updatedAt": "string",
"lastSyncedAt": "string"
}
}
}
List ChaosHub
This API returns the list of ChaosHub connected with ChaosCenter along with the status and total number of experiments.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query listHubStatus($projectID: String!){
listHubStatus(projectID: $projectID){
id
repoURL
repoBranch
isAvailable
totalExp
hubName
isPrivate
authType
token
userName
password
isRemoved
sshPrivateKey
sshPublicKey
lastSyncedAt
}
}
Variables
{
"projectID": "string"
}
Try it now
query listHubStatus($projectID: String!){
listHubStatus(projectID: $projectID){
id
repoURL
repoBranch
isAvailable
totalExp
hubName
isPrivate
authType
token
userName
password
isRemoved
sshPrivateKey
sshPublicKey
lastSyncedAt
}
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listHubStatus": [
{
"id": "string",
"repoURL": "string",
"repoBranch": "string",
"isAvailable": "boolean",
"totalExp": "string",
"hubName": "string",
"isPrivate": "boolean",
"token": "string",
"userName": "string",
"password": "string",
"isRemoved": "boolean",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"lastSyncedAt": "string"
}
]
}
}
Sync ChaosHub
Sync hub will pull the latest commits from the git repository of a selected ChaosHub.
Field | Possible values | Mandatory/Optional |
---|---|---|
id | - | Mandatory |
projectID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation syncChaosHub($id: ID!, $projectID: String!){
syncChaosHub(id: $id, projectID: $projectID){
id
repoURL
repoBranch
isAvailable
totalExp
hubName
isPrivate
authType
token
userName
password
isRemoved
sshPrivateKey
sshPublicKey
lastSyncedAt
}
}
Variables
{
"id": "string",
"projectID": "string"
}
Try it now
mutation syncChaosHub($id: ID!, $projectID: String!){
syncChaosHub(id: $id, projectID: $projectID){
id
repoURL
repoBranch
isAvailable
totalExp
hubName
isPrivate
authType
token
userName
password
isRemoved
sshPrivateKey
sshPublicKey
lastSyncedAt
}
}
{
"id": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"syncChaosHub": [
{
"id": "string",
"repoURL": "string",
"repoBranch": "string",
"isAvailable": "boolean",
"totalExp": "string",
"hubName": "string",
"isPrivate": "boolean",
"token": "string",
"userName": "string",
"password": "string",
"isRemoved": "boolean",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"lastSyncedAt": "string"
}
]
}
}
Update Hub
Update the hub configuration of a ChaosHub
Field | Possible values | Mandatory/Optional |
---|---|---|
id | - | Mandatory |
repoURL | - | Mandatory |
repoBranch | - | Mandatory |
hubName | - | Mandatory |
isPrivate | - | Mandatory |
authType | - | BASIC/NONE/SSH/TOKEN |
token | - | Optional |
userName | - | Optional |
password | - | Optional |
sshPublicKey | - | Optional |
sshPrivateKey | - | Optional |
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateChaosHub($request: UpdateChaosHubRequest!){
updateChaosHub(request: $request){
id
repoURL
repoBranch
projectID
hubName
isPrivate
authType
token
userName
password
sshPrivateKey
isRemoved
createdAt
updatedAt
lastSyncedAt
}
}
Variables
{
"request": {
"id": "string",
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
}
Try it now
mutation updateChaosHub($request: UpdateChaosHubRequest!){
updateChaosHub(request: $request){
id
repoURL
repoBranch
projectID
hubName
isPrivate
authType
token
userName
password
sshPrivateKey
isRemoved
createdAt
updatedAt
lastSyncedAt
}
}
{
"request": {
"id": "string",
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateChaosHub": {
"id": "string",
"repoURL": "string",
"repoBranch": "string",
"projectID": "string",
"hubName": "string",
"isPrivate": "boolean",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"isRemoved": "boolean",
"createdAt": "string",
"updatedAt": "string",
"lastSyncedAt": "string"
}
}
}
Delete Hub
Delete a ChaosHub from the project
Field | Possible values | Mandatory/Optional |
---|---|---|
hubID | - | Mandatory |
projectID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteChaosHub($projectID: String!, $hubID: String!){
deleteChaosHub(projectID: $projectID, hubID: $hubID)
}
Variables
{
"projectID": "string",
"hubID": "string"
}
Try it now
mutation deleteChaosHub($projectID: String!, $hubID: String!){
deleteChaosHub(projectID: $projectID, hubID: $hubID)
}
{
"projectID": "string",
"hubID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteChaosHub": "boolean"
}
}
List Chaos Charts
Get all the chaos charts from a ChaosHub
Field | Possible values | Mandatory/Optional |
---|---|---|
hubName | - | Mandatory |
projectID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listCharts($hubName: String!, $projectID: String!){
listCharts(hubName: $hubName, projectID: $projectID){
apiVersion
kind
}
}
Variables
{
"hubName": "string",
"projectID": "string"
}
Try it now
query listCharts($hubName: String!, $projectID: String!){
listCharts(hubName: $hubName, projectID: $projectID){
apiVersion
kind
}
}
{
"hubName": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listCharts": [
{
"apiVersion": "string",
"kind": "string"
}
]
}
}
Get Chaos Hub Experiments
Get the experiment details from a selected chart.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
chartName | - | Mandatory |
experimentName | - | Mandatory |
hubName | - | Mandatory |
fileType | ENGINE/EXPERIMENT | Madatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getHubExperiment($request: ExperimentRequest!){
getHubExperiment(request: $request){
apiVersion
kind
}
}
Variables
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Try it now
query getHubExperiment($request: ExperimentRequest!){
getHubExperiment(request: $request){
apiVersion
kind
}
}
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getHubExperiment": {
"apiVersion": "string",
"kind": "string"
}
}
}
Get Experiment YAML
With this query, user can fetch engine or experiment manifest from a Chaos Hub.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
chartName | - | Mandatory |
experimentName | - | Mandatory |
hubName | - | Mandatory |
fileType | ENGINE/EXPERIMENT/CSV | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getYAMLData($request: ExperimentRequest!){
getYAMLData(request: $request)
}
Variables
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Try it now
query getYAMLData($request: ExperimentRequest!){
getYAMLData(request: $request)
}
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getYAMLData": "string"
}
}
List Pre-defined Workflow
List of all the pre-defined workflows present in a ChaosHub
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
hubName | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listPredefinedWorkflows($hubName: String!, $projectID: String!){
listPredefinedWorkflows(hubName: $hubName, projectID: $projectID)
}
Variables
{
"hubName": "string",
"projectID": "string"
}
Try it now
query listPredefinedWorkflows($hubName: String!, $projectID: String!){
listPredefinedWorkflows(hubName: $hubName, projectID: $projectID)
}
{
"hubName": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listPredefinedWorkflows": [
"string"
]
}
}
Get Pre-defined Workflow Manifest
With this query, user can fetch pre-defined workflow manifest.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
chartName | predefined | Mandatory |
experimentName | "" | Mandatory |
hubName | - | Mandatory |
fileType | - | Optional |
(no description)
Example
Request Content-Types:
application/json
Query
query getPredefinedExperimentYAML($request: ExperimentRequest!){
getPredefinedExperimentYAML(request: $request)
}
Variables
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Try it now
query getPredefinedExperimentYAML($request: ExperimentRequest!){
getPredefinedExperimentYAML(request: $request)
}
{
"request": {
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getPredefinedExperimentYAML": "string"
}
}
Workflow Management
Workflow Management APIs are used to manage the workflows related operations. These allow the user to use custom image registries and use gitops functionality for the chaos workflows.
Enable GitOps
This query is used to enable gitops functionality
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
branch | - | Mandatory |
repoURL | - | Mandatory |
authType | BASIC/NONE/SSH/TOKEN | Mandatory |
token | - | Mandatory |
userName | - | Optional |
password | - | Optional |
sshPrivateKey | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation enableGitOps($config: GitConfig!){
enableGitOps(config: $config)
}
Variables
{
"config": {
"projectID": "string",
"branch": "string",
"repoURL": "string",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
}
Try it now
mutation enableGitOps($config: GitConfig!){
enableGitOps(config: $config)
}
{
"config": {
"projectID": "string",
"branch": "string",
"repoURL": "string",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"enableGitOps": "boolean"
}
}
Disable GitOps
This query is used to disable gitops functionality
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation disableGitOps($projectID: String!){
disableGitOps(projectID: $projectID)
}
Variables
{
"projectID": "string"
}
Try it now
mutation disableGitOps($projectID: String!){
disableGitOps(projectID: $projectID)
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"disableGitOps": "boolean"
}
}
Get GitOps Details
This query is used to get the gitops details and configurations
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getGitOpsDetails($projectID: String!){
getGitOpsDetails(projectID: $projectID){
enabled
projectID
branch
repoURL
authType
token
userName
password
sshPrivateKey
}
}
Variables
{
"projectID": "string"
}
Try it now
query getGitOpsDetails($projectID: String!){
getGitOpsDetails(projectID: $projectID){
enabled
projectID
branch
repoURL
authType
token
userName
password
sshPrivateKey
}
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getGitOpsDetails": {
"enabled": "boolean",
"projectID": "string",
"branch": "string",
"repoURL": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
}
}
Update GitOps
This query is used to update the gitops details and configurations
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
branch | - | Mandatory |
repoURL | - | Mandatory |
authType | BASIC/NONE/SSH/TOKEN | Mandatory |
token | - | Mandatory |
userName | - | Optional |
password | - | Optional |
sshPrivateKey | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateGitOps($config: GitConfig!){
updateGitOps(config: $config)
}
Variables
{
"config": {
"projectID": "string",
"branch": "string",
"repoURL": "string",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
}
Try it now
mutation updateGitOps($config: GitConfig!){
updateGitOps(config: $config)
}
{
"config": {
"projectID": "string",
"branch": "string",
"repoURL": "string",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateGitOps": "boolean"
}
}
List Image Regisry
This query is used to list all the image registries.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query listImageRegistry($projectID: String!){
listImageRegistry(projectID: $projectID){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
Variables
{
"projectID": "string"
}
Try it now
query listImageRegistry($projectID: String!){
listImageRegistry(projectID: $projectID){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listImageRegistry": [
{
"isDefault": "boolean",
"imageRegistryID": "string",
"projectID": "string",
"updatedAt": "string",
"createdAt": "string",
"isRemoved": "boolean"
}
]
}
}
Create Image Registry
This query is used to create a new image registry.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
isDefault | true/false | Mandatory |
imageRegistryName | - | Mandatory |
imageRepoName | - | Mandatory |
imageRegistryType | - | Mandatory |
secretName | - | Optional |
secretNamespace | - | Optional |
enableRegistry | - | Optional |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation createImageRegistry($projectID: String!, $imageRegistryInfo: ImageRegistryInput!){
createImageRegistry(projectID: $projectID, imageRegistryInfo: $imageRegistryInfo){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
Variables
{
"projectID": "string",
"imageRegistryInfo": {
"isDefault": "boolean",
"imageRegistryName": "string",
"imageRepoName": "string",
"imageRegistryType": "string",
"secretName": "string",
"secretNamespace": "string",
"enableRegistry": "boolean"
}
}
Try it now
mutation createImageRegistry($projectID: String!, $imageRegistryInfo: ImageRegistryInput!){
createImageRegistry(projectID: $projectID, imageRegistryInfo: $imageRegistryInfo){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
{
"projectID": "string",
"imageRegistryInfo": {
"isDefault": "boolean",
"imageRegistryName": "string",
"imageRepoName": "string",
"imageRegistryType": "string",
"secretName": "string",
"secretNamespace": "string",
"enableRegistry": "boolean"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createImageRegistry": {
"isDefault": "boolean",
"imageRegistryID": "string",
"projectID": "string",
"updatedAt": "string",
"createdAt": "string",
"isRemoved": "boolean"
}
}
}
Get Image Registry
This query is used to get the the image registry from the project_id and image_registry_id
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
imageRegistryID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query getImageRegistry($imageRegistryID: String!, $projectID: String!){
getImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
Variables
{
"imageRegistryID": "string",
"projectID": "string"
}
Try it now
query getImageRegistry($imageRegistryID: String!, $projectID: String!){
getImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
{
"imageRegistryID": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getImageRegistry": {
"isDefault": "boolean",
"imageRegistryID": "string",
"projectID": "string",
"updatedAt": "string",
"createdAt": "string",
"isRemoved": "boolean"
}
}
}
Update Image Registry
This query is used to update the image registry.
Field | Possible values | Mandatory/Optional |
---|---|---|
imageRegistryID | - | Mandatory |
projectID | - | Mandatory |
isDefault | true/false | Mandatory |
imageRegistryName | - | Mandatory |
imageRepoName | - | Mandatory |
imageRegistryType | - | Mandatory |
secretName | - | Optional |
secretNamespace | - | Optional |
enableRegistry | - | Optional |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateImageRegistry($imageRegistryID: String!, $projectID: String!, $imageRegistryInfo: ImageRegistryInput!){
updateImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID, imageRegistryInfo: $imageRegistryInfo){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
Variables
{
"imageRegistryID": "string",
"projectID": "string",
"imageRegistryInfo": {
"isDefault": "boolean",
"imageRegistryName": "string",
"imageRepoName": "string",
"imageRegistryType": "string",
"secretName": "string",
"secretNamespace": "string",
"enableRegistry": "boolean"
}
}
Try it now
mutation updateImageRegistry($imageRegistryID: String!, $projectID: String!, $imageRegistryInfo: ImageRegistryInput!){
updateImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID, imageRegistryInfo: $imageRegistryInfo){
isDefault
imageRegistryID
projectID
updatedAt
createdAt
isRemoved
}
}
{
"imageRegistryID": "string",
"projectID": "string",
"imageRegistryInfo": {
"isDefault": "boolean",
"imageRegistryName": "string",
"imageRepoName": "string",
"imageRegistryType": "string",
"secretName": "string",
"secretNamespace": "string",
"enableRegistry": "boolean"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateImageRegistry": {
"isDefault": "boolean",
"imageRegistryID": "string",
"projectID": "string",
"updatedAt": "string",
"createdAt": "string",
"isRemoved": "boolean"
}
}
}
Delete Image Registry
This API is used to delete the image registry
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
imageRegistryID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteImageRegistry($imageRegistryID: String!, $projectID: String!){
deleteImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID)
}
Variables
{
"imageRegistryID": "string",
"projectID": "string"
}
Try it now
mutation deleteImageRegistry($imageRegistryID: String!, $projectID: String!){
deleteImageRegistry(imageRegistryID: $imageRegistryID, projectID: $projectID)
}
{
"imageRegistryID": "string",
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteImageRegistry": "string"
}
}
Analytics
Analytics allows user to visualize the chaos metrics with the help of different dashboards and graphs present in the Litmus Portal.
List Heatmap Data
This query is used to get year-wise calendar heatmap of daily average resilience scores for workflow runs.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowID | - | Mandatory |
year | - | Mandatory |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listHeatmapData($projectID: String!, $workflowID: String!, $year: Int!){
listHeatmapData(projectID: $projectID, workflowID: $workflowID, year: $year){
}
}
Variables
{
"projectID": "string",
"workflowID": "string",
"year": "integer"
}
Try it now
query listHeatmapData($projectID: String!, $workflowID: String!, $year: Int!){
listHeatmapData(projectID: $projectID, workflowID: $workflowID, year: $year){
}
}
{
"projectID": "string",
"workflowID": "string",
"year": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listHeatmapData": [
{}
]
}
}
List Workflow Stats
This query is used to get monthly, daily and hourly workflow schedule and run statistics as a time series.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
filter | - | Mandatory |
showWorkflowRuns | - | Mandatory |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listWorkflowStats($projectID: ID!, $filter: TimeFrequency!, $showWorkflowRuns: Boolean!){
listWorkflowStats(projectID: $projectID, filter: $filter, showWorkflowRuns: $showWorkflowRuns){
date
value
}
}
Variables
{
"projectID": "string",
"filter": "string",
"showWorkflowRuns": "boolean"
}
Try it now
query listWorkflowStats($projectID: ID!, $filter: TimeFrequency!, $showWorkflowRuns: Boolean!){
listWorkflowStats(projectID: $projectID, filter: $filter, showWorkflowRuns: $showWorkflowRuns){
date
value
}
}
{
"projectID": "string",
"filter": "string",
"showWorkflowRuns": "boolean"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listWorkflowStats": [
{
"date": "number",
"value": "integer"
}
]
}
}
Get Workflow Run Stats
This query is used to get aggregated workflow and experiment statistics for completed runs of selected schedules.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
workflowIDs | - | Optional |
(no description)
Example
Request Content-Types:
application/json
Query
query getWorkflowRunStats($workflowRunStatsRequest: WorkflowRunStatsRequest!){
getWorkflowRunStats(workflowRunStatsRequest: $workflowRunStatsRequest){
totalWorkflowRuns
succeededWorkflowRuns
failedWorkflowRuns
runningWorkflowRuns
averageResiliencyScore
totalExperiments
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
passedPercentage
failedPercentage
workflowRunSucceededPercentage
workflowRunFailedPercentage
}
}
Variables
{
"workflowRunStatsRequest": {
"projectID": "object",
"workflowIDs": [
"object"
]
}
}
Try it now
query getWorkflowRunStats($workflowRunStatsRequest: WorkflowRunStatsRequest!){
getWorkflowRunStats(workflowRunStatsRequest: $workflowRunStatsRequest){
totalWorkflowRuns
succeededWorkflowRuns
failedWorkflowRuns
runningWorkflowRuns
averageResiliencyScore
totalExperiments
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
passedPercentage
failedPercentage
workflowRunSucceededPercentage
workflowRunFailedPercentage
}
}
{
"workflowRunStatsRequest": {
"projectID": "object",
"workflowIDs": [
"object"
]
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getWorkflowRunStats": {
"totalWorkflowRuns": "integer",
"succeededWorkflowRuns": "integer",
"failedWorkflowRuns": "integer",
"runningWorkflowRuns": "integer",
"averageResiliencyScore": "number",
"totalExperiments": "integer",
"experimentsPassed": "integer",
"experimentsFailed": "integer",
"experimentsAwaited": "integer",
"experimentsStopped": "integer",
"experimentsNa": "integer",
"passedPercentage": "number",
"failedPercentage": "number",
"workflowRunSucceededPercentage": "number",
"workflowRunFailedPercentage": "number"
}
}
}
List DataSource
This query is used to list all connected data sources in a project.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query listDataSource($projectID: String!){
listDataSource(projectID: $projectID){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
Variables
{
"projectID": "string"
}
Try it now
query listDataSource($projectID: String!){
listDataSource(projectID: $projectID){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
{
"projectID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listDataSource": [
{
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "integer",
"queryTimeout": "integer",
"httpMethod": "string",
"projectID": "string",
"healthStatus": "string",
"createdAt": "string",
"updatedAt": "string"
}
]
}
}
Get Prometheus Data
This query is used to get prometheus time series data from promQL queries and data source details.
Field | Possible values | Mandatory/Optional |
---|---|---|
queryID | - | Mandatory |
query | - | Mandatory |
legend | - | Optional |
resolution | - | Optional |
minstep | - | Mandatory |
url | - | Mandatory |
start | - | Mandatory |
end | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getPrometheusData($request: PrometheusDataRequest){
getPrometheusData(request: $request){
}
}
Variables
{
"request": {
"queries": [
{
"queryID": "string",
"query": "string",
"legend": "string",
"resolution": "string",
"minstep": "number"
}
],
"dsDetails": {
"url": "string",
"start": "string",
"end": "string"
}
}
}
Try it now
query getPrometheusData($request: PrometheusDataRequest){
getPrometheusData(request: $request){
}
}
{
"request": {
"queries": [
{
"queryID": "string",
"query": "string",
"legend": "string",
"resolution": "string",
"minstep": "number"
}
],
"dsDetails": {
"url": "string",
"start": "string",
"end": "string"
}
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getPrometheusData": {}
}
}
Get Prom Label names and values
This query is used to get labels and values associated with a prometheus metric and a given data source.
Field | Possible values | Mandatory/Optional |
---|---|---|
series | - | Mandatory |
url | - | Mandatory |
start | - | Mandatory |
end | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getPromLabelNamesAndValues($request: PromSeriesInput){
getPromLabelNamesAndValues(request: $request){
series
}
}
Variables
{
"request": {
"series": "string",
"dsDetails": {
"url": "string",
"start": "string",
"end": "string"
}
}
}
Try it now
query getPromLabelNamesAndValues($request: PromSeriesInput){
getPromLabelNamesAndValues(request: $request){
series
}
}
{
"request": {
"series": "string",
"dsDetails": {
"url": "string",
"start": "string",
"end": "string"
}
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getPromLabelNamesAndValues": {
"series": "string"
}
}
}
Get Prom Series List
This query is used to get a list of all time series metric names available on a prometheus data source.
Field | Possible values | Mandatory/Optional |
---|---|---|
url | - | Mandatory |
start | - | Mandatory |
end | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
query getPromSeriesList($request: DsDetails){
getPromSeriesList(request: $request){
seriesList
}
}
Variables
{
"request": {
"url": "string",
"start": "string",
"end": "string"
}
}
Try it now
query getPromSeriesList($request: DsDetails){
getPromSeriesList(request: $request){
seriesList
}
}
{
"request": {
"url": "string",
"start": "string",
"end": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"getPromSeriesList": {
"seriesList": [
"string"
]
}
}
}
List Dashboard
This query is used to list all dashboards created in a project.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
clusterID | - | Optional |
dbID | - | Optional |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listDashboard($projectID: String!, $clusterID: String, $dbID: String){
listDashboard(projectID: $projectID, clusterID: $clusterID, dbID: $dbID){
dsID
dbID
dbName
dbTypeID
dbTypeName
dbInformation
chaosEventQueryTemplate
chaosVerdictQueryTemplate
clusterName
dsName
dsType
dsURL
dsHealthStatus
endTime
startTime
refreshRate
projectID
clusterID
createdAt
updatedAt
viewedAt
}
}
Variables
{
"projectID": "string",
"clusterID": "string",
"dbID": "string"
}
Try it now
query listDashboard($projectID: String!, $clusterID: String, $dbID: String){
listDashboard(projectID: $projectID, clusterID: $clusterID, dbID: $dbID){
dsID
dbID
dbName
dbTypeID
dbTypeName
dbInformation
chaosEventQueryTemplate
chaosVerdictQueryTemplate
clusterName
dsName
dsType
dsURL
dsHealthStatus
endTime
startTime
refreshRate
projectID
clusterID
createdAt
updatedAt
viewedAt
}
}
{
"projectID": "string",
"clusterID": "string",
"dbID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listDashboard": [
{
"dsID": "string",
"dbID": "string",
"dbName": "string",
"dbTypeID": "string",
"dbTypeName": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"clusterName": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"dsHealthStatus": "string",
"endTime": "string",
"startTime": "string",
"refreshRate": "string",
"projectID": "string",
"clusterID": "string",
"createdAt": "string",
"updatedAt": "string",
"viewedAt": "string"
}
]
}
}
List Portal Dashboard Data
This query is used to list all pre-configured dashboard templates available in litmus center.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
hubName | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query listPortalDashboardData($projectID: String!, $hubName: String!){
listPortalDashboardData(projectID: $projectID, hubName: $hubName){
name
dashboardData
}
}
Variables
{
"projectID": "string",
"hubName": "string"
}
Try it now
query listPortalDashboardData($projectID: String!, $hubName: String!){
listPortalDashboardData(projectID: $projectID, hubName: $hubName){
name
dashboardData
}
}
{
"projectID": "string",
"hubName": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"listPortalDashboardData": [
{
"name": "string",
"dashboardData": "string"
}
]
}
}
Create DataSource
This mutation is used to add a prometheus data source to the project which serves as a metrics collector for agent clusters.
Field | Possible values | Mandatory/Optional |
---|---|---|
dsID | - | Optional |
dsName | - | Mandatory |
dsType | - | Mandatory |
dsURL | - | Mandatory |
accessType | - | Mandatory |
authType | - | Mandatory |
basicAuthUsername | - | Optional |
basicAuthPassword | - | Optional |
scrapeInterval | - | Mandatory |
queryTimeout | - | Mandatory |
httpMethod | - | Mandatory |
projectID | - | Optional |
Example Body:
{
"dsName": "sample data source",
"dsType": "Prometheus",
"accessType": "Server (Default)",
"authType": "no auth",
"basicAuthPassword": "",
"basicAuthUsername": "",
"dsURL": "https://demo.com:9090",
"httpMethod": "POST",
"projectID": "4c3d0513-5988-446e-8ce5-1a4c6fb274f3",
"queryTimeout": "30",
"scrapeInterval": "15",
(no description)
Example
Request Content-Types:
application/json
Query
mutation createDataSource($datasource: DSInput){
createDataSource(datasource: $datasource){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
Variables
{
"datasource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "number",
"queryTimeout": "number",
"httpMethod": "string",
"projectID": "string"
}
}
Try it now
mutation createDataSource($datasource: DSInput){
createDataSource(datasource: $datasource){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
{
"datasource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "number",
"queryTimeout": "number",
"httpMethod": "string",
"projectID": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createDataSource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "integer",
"queryTimeout": "integer",
"httpMethod": "string",
"projectID": "string",
"healthStatus": "string",
"createdAt": "string",
"updatedAt": "string"
}
}
}
Create Dashboard
This mutation is used to create an application dashboard providing agent information, data source details and prometheus queries.
Field | Possible values | Mandatory/Optional |
---|---|---|
dsID | - | Mandatory |
dbName | - | Mandatory |
dbTypeName | - | Mandatory |
dbTypeID | - | Mandatory |
dbInformation | - | Optional |
chaosEventQueryTemplate | - | Mandatory |
chaosVerdictQueryTemplate | - | Mandatory |
namespace | - | Mandatory |
kind | - | Mandatory |
names | - | Optional |
panelID | - | Optional |
dbID | - | Optional |
yAxisLeft | - | Optional |
yAxisRight | - | Optional |
xAxisDown | - | Optional |
unit | - | Optional |
panelGroupID | - | Optional |
createdAt | - | Optional |
queryID | - | Mandatory |
promQueryName | - | Optional |
legend | - | Optional |
resolution | - | Optional |
minstep | - | Optional |
line | - | Optional |
closeArea | - | Optional |
points | - | Optional |
grIDs | - | Optional |
leftAxis | - | Optional |
panelName | - | Mandatory |
panelGroupName | - | Mandatory |
endTime | - | Mandatory |
startTime | - | Mandatory |
projectID | - | Mandatory |
clusterID | - | Mandatory |
refreshRate | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation createDashBoard($dashboard: CreateDBInput){
createDashBoard(dashboard: $dashboard){
dsID
dbID
dbName
dbTypeID
dbTypeName
dbInformation
chaosEventQueryTemplate
chaosVerdictQueryTemplate
clusterName
dsName
dsType
dsURL
dsHealthStatus
endTime
startTime
refreshRate
projectID
clusterID
createdAt
updatedAt
viewedAt
}
}
Variables
{
"dashboard": {
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
],
"panelGroupName": "string"
}
],
"endTime": "string",
"startTime": "string",
"projectID": "object",
"clusterID": "object",
"refreshRate": "string"
}
}
Try it now
mutation createDashBoard($dashboard: CreateDBInput){
createDashBoard(dashboard: $dashboard){
dsID
dbID
dbName
dbTypeID
dbTypeName
dbInformation
chaosEventQueryTemplate
chaosVerdictQueryTemplate
clusterName
dsName
dsType
dsURL
dsHealthStatus
endTime
startTime
refreshRate
projectID
clusterID
createdAt
updatedAt
viewedAt
}
}
{
"dashboard": {
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
],
"panelGroupName": "string"
}
],
"endTime": "string",
"startTime": "string",
"projectID": "object",
"clusterID": "object",
"refreshRate": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createDashBoard": {
"dsID": "string",
"dbID": "string",
"dbName": "string",
"dbTypeID": "string",
"dbTypeName": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"clusterName": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"dsHealthStatus": "string",
"endTime": "string",
"startTime": "string",
"refreshRate": "string",
"projectID": "string",
"clusterID": "string",
"createdAt": "string",
"updatedAt": "string",
"viewedAt": "string"
}
}
}
Update DataSource
This mutation is used to update a connected data source's information.
Field | Possible values | Mandatory/Optional |
---|---|---|
dsID | - | Optional |
dsName | - | Mandatory |
dsType | - | Mandatory |
dsURL | - | Mandatory |
accessType | - | Mandatory |
authType | - | Mandatory |
basicAuthUsername | - | Optional |
basicAuthPassword | - | Optional |
scrapeInterval | - | Mandatory |
queryTimeout | - | Mandatory |
httpMethod | - | Mandatory |
projectID | - | Optional |
Example Body:
{
"dsID": "sample data source",
"dsName": "sample data source",
"dsType": "Prometheus",
"accessType": "Server (Default)",
"authType": "no auth",
"basicAuthPassword": "",
"basicAuthUsername": "",
"dsURL": "https://demo.com:9090",
"httpMethod": "POST",
"projectID": "4c3d0513-5988-446e-8ce5-1a4c6fb274f3",
"queryTimeout": "30",
"scrapeInterval": "15",
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateDataSource($datasource: DSInput!){
updateDataSource(datasource: $datasource){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
Variables
{
"datasource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "number",
"queryTimeout": "number",
"httpMethod": "string",
"projectID": "string"
}
}
Try it now
mutation updateDataSource($datasource: DSInput!){
updateDataSource(datasource: $datasource){
dsID
dsName
dsType
dsURL
accessType
authType
basicAuthUsername
basicAuthPassword
scrapeInterval
queryTimeout
httpMethod
projectID
healthStatus
createdAt
updatedAt
}
}
{
"datasource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "number",
"queryTimeout": "number",
"httpMethod": "string",
"projectID": "string"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateDataSource": {
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "integer",
"queryTimeout": "integer",
"httpMethod": "string",
"projectID": "string",
"healthStatus": "string",
"createdAt": "string",
"updatedAt": "string"
}
}
}
Update Dashboard
This mutation is used to update a dashboard's information and details.
Field | Possible values | Mandatory/Optional |
---|---|---|
dbID | - | Mandatory |
dsID | - | Optional |
dbName | - | Optional |
dbTypeName | - | Optional |
dbTypeID | - | Optional |
dbInformation | - | Optional |
chaosEventQueryTemplate | - | Optional |
chaosVerdictQueryTemplate | - | Optional |
namespace | - | Optional |
kind | - | Mandatory |
names | - | Optional |
panelID | - | Optional |
yAxisLeft | - | Optional |
yAxisRight | - | Optional |
xAxisDown | - | Optional |
unit | - | Optional |
panelGroupID | - | Optional |
createdAt | - | Optional |
queryID | - | Mandatory |
promQueryName | - | Optional |
legend | - | Optional |
resolution | - | Optional |
minstep | - | Optional |
line | - | Optional |
closeArea | - | Optional |
points | - | Optional |
grIDs | - | Optional |
leftAxis | - | Optional |
panelName | - | Mandatory |
panelGroupName | - | Mandatory |
endTime | - | Optional |
startTime | - | Optional |
projectID | - | Optional |
clusterID | - | Optional |
refreshRate | - | Optional |
chaosQueryUpdate | - | Optional |
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation updateDashboard($projectID: String!, $dashboard: UpdateDBInput!, $chaosQueryUpdate: Boolean!){
updateDashboard(projectID: $projectID, dashboard: $dashboard, chaosQueryUpdate: $chaosQueryUpdate)
}
Variables
{
"projectID": "string",
"dashboard": {
"dbID": "string",
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panelGroupName": "string",
"panelGroupID": "string",
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
],
"endTime": "string",
"startTime": "string",
"clusterID": "object",
"refreshRate": "string"
},
"chaosQueryUpdate": "boolean"
}
Try it now
mutation updateDashboard($projectID: String!, $dashboard: UpdateDBInput!, $chaosQueryUpdate: Boolean!){
updateDashboard(projectID: $projectID, dashboard: $dashboard, chaosQueryUpdate: $chaosQueryUpdate)
}
{
"projectID": "string",
"dashboard": {
"dbID": "string",
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panelGroupName": "string",
"panelGroupID": "string",
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
],
"endTime": "string",
"startTime": "string",
"clusterID": "object",
"refreshRate": "string"
},
"chaosQueryUpdate": "boolean"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updateDashboard": "string"
}
}
Update Panel
This mutation is used to update prometheus queries and panel details for selected panels.
panelID | - | Optional |
yAxisLeft | - | Optional |
yAxisRight | - | Optional |
xAxisDown | - | Optional |
unit | - | Optional |
panelGroupID | - | Optional |
createdAt | - | Optional |
queryID | - | Mandatory |
promQueryName | - | Optional |
legend | - | Optional |
resolution | - | Optional |
minstep | - | Optional |
line | - | Optional |
closeArea | - | Optional |
points | - | Optional |
grIDs | - | Optional |
leftAxis | - | Optional |
panelName | - | Mandatory |
(no description)
Example
Request Content-Types:
application/json
Query
mutation updatePanel($panelInput: [Panel]){
updatePanel(panelInput: $panelInput)
}
Variables
{
"panelInput": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
Try it now
mutation updatePanel($panelInput: [Panel]){
updatePanel(panelInput: $panelInput)
}
{
"panelInput": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"updatePanel": "string"
}
}
Delete Dashboard
This mutation is used to delete a dashboard from a project.
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
dbID | - | Optional |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteDashboard($projectID: String!, $dbID: String){
deleteDashboard(projectID: $projectID, dbID: $dbID)
}
Variables
{
"projectID": "string",
"dbID": "string"
}
Try it now
mutation deleteDashboard($projectID: String!, $dbID: String){
deleteDashboard(projectID: $projectID, dbID: $dbID)
}
{
"projectID": "string",
"dbID": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteDashboard": "boolean"
}
}
Delete DataSource
Disconnect a data source from a project
Field | Possible values | Mandatory/Optional |
---|---|---|
projectID | - | Mandatory |
forceDelete | - | Mandatory |
dsID | - | Mandatory |
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation deleteDataSource($projectID: String!, $input: DeleteDSInput!){
deleteDataSource(projectID: $projectID, input: $input)
}
Variables
{
"projectID": "string",
"input": {
"forceDelete": "boolean",
"dsID": "object"
}
}
Try it now
mutation deleteDataSource($projectID: String!, $input: DeleteDSInput!){
deleteDataSource(projectID: $projectID, input: $input)
}
{
"projectID": "string",
"input": {
"forceDelete": "boolean",
"dsID": "object"
}
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"deleteDataSource": "boolean"
}
}
Schema Definitions
ActionPayload: object
-
requestType:
object
-
- return:
-
arguments:
object
-
-
k8sManifest:
object
-
- return:
-
arguments:
object
-
-
namespace:
object
-
- return:
-
arguments:
object
-
-
externalData:
object
-
- return:
-
arguments:
object
-
-
username:
object
-
- return:
-
arguments:
object
-
Example
{
"requestType": {
"return": "string",
"arguments": {}
},
"k8sManifest": {
"return": "string",
"arguments": {}
},
"namespace": {
"return": "string",
"arguments": {}
},
"externalData": {
"return": "string",
"arguments": {}
},
"username": {
"return": "string",
"arguments": {}
}
}
AgentStat: object
Defines details of agent statistics
-
ns:
object
-
Number of namespaces
-
- return:
-
arguments:
object
-
-
cluster:
object
-
Number of clusters
-
- return:
-
arguments:
object
-
-
total:
object
-
Total number of agents
-
- return:
-
arguments:
object
-
-
active:
object
-
Number of active agents
-
- return:
-
arguments:
object
-
Example
{
"ns": {
"return": "number",
"arguments": {}
},
"cluster": {
"return": "number",
"arguments": {}
},
"total": {
"return": "number",
"arguments": {}
},
"active": {
"return": "number",
"arguments": {}
}
}
Annotation: object
-
categories:
object
-
- return:
-
arguments:
object
-
-
vendor:
object
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
- return:
-
arguments:
object
-
-
repository:
object
-
- return:
-
arguments:
object
-
-
support:
object
-
- return:
-
arguments:
object
-
-
chartDescription:
object
-
- return:
-
arguments:
object
-
Example
{
"categories": {
"return": "string",
"arguments": {}
},
"vendor": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"repository": {
"return": "string",
"arguments": {}
},
"support": {
"return": "string",
"arguments": {}
},
"chartDescription": {
"return": "string",
"arguments": {}
}
}
AnnotationsPromResponse: object
-
queryID:
object
-
- return:
-
arguments:
object
-
-
legends:
object
-
- return:
-
arguments:
object
-
-
tsvs:
object
-
-
return:
object[][]
-
arguments:
object
-
-
return:
-
subDataArray:
object
-
-
return:
object[][]
-
arguments:
object
-
-
return:
Example
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
},
"subDataArray": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "string",
"arguments": {}
},
"subDataName": {
"return": "string",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
ApplicationMetadataResponse: object
-
namespace:
object
-
- return:
-
arguments:
object
-
-
applications:
object
-
- return:
-
arguments:
object
-
Example
{
"namespace": {
"return": "string",
"arguments": {}
},
"applications": {
"return": [
{
"kind": {
"return": "string",
"arguments": {}
},
"names": {
"return": [
"string"
],
"arguments": {}
}
}
],
"arguments": {}
}
}
ChaosHub: object
-
id:
object
-
ID of the chaos hub
-
- return:
-
arguments:
object
-
-
repoURL:
object
-
URL of the git repository
-
- return:
-
arguments:
object
-
-
repoBranch:
object
-
Branch of the git repository
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project in which the chaos hub is present
-
- return:
-
arguments:
object
-
-
hubName:
object
-
Name of the chaos hub
-
- return:
-
arguments:
object
-
-
isPrivate:
object
-
Bool value indicating whether the hub is private or not.
-
- return:
-
arguments:
object
-
-
authType:
object
-
Type of authentication used: BASIC, SSH, TOKEN
-
- return:
-
arguments:
object
-
-
token:
object
-
Token for authentication of private chaos hub
-
- return:
-
arguments:
object
-
-
userName:
object
-
Git username
-
- return:
-
arguments:
object
-
-
password:
object
-
Git password
-
- return:
-
arguments:
object
-
-
sshPrivateKey:
object
-
Private SSH key for authenticating into private chaos hub
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating if the chaos hub is removed
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
Timestamp when the chaos hub was created
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
Timestamp when the chaos hub was last updated
-
- return:
-
arguments:
object
-
-
lastSyncedAt:
object
-
Timestamp when the chaos hub was last synced
-
- return:
-
arguments:
object
-
Example
{
"id": {
"return": "object",
"arguments": {}
},
"repoURL": {
"return": "string",
"arguments": {}
},
"repoBranch": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
},
"hubName": {
"return": "string",
"arguments": {}
},
"isPrivate": {
"return": "boolean",
"arguments": {}
},
"authType": {
"return": "string",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"userName": {
"return": "string",
"arguments": {}
},
"password": {
"return": "string",
"arguments": {}
},
"sshPrivateKey": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"lastSyncedAt": {
"return": "string",
"arguments": {}
}
}
ChaosHubStatus: object
-
id:
object
-
ID of the hub
-
- return:
-
arguments:
object
-
-
repoURL:
object
-
URL of the git repository
-
- return:
-
arguments:
object
-
-
repoBranch:
object
-
Branch of the git repository
-
- return:
-
arguments:
object
-
-
isAvailable:
object
-
Bool value indicating whether the hub is available or not.
-
- return:
-
arguments:
object
-
-
totalExp:
object
-
Total number of experiments in the hub
-
- return:
-
arguments:
object
-
-
hubName:
object
-
Name of the chaos hub
-
- return:
-
arguments:
object
-
-
isPrivate:
object
-
Bool value indicating whether the hub is private or not.
-
- return:
-
arguments:
object
-
-
authType:
object
-
Type of authentication used: BASIC, SSH, TOKEN
-
- return:
-
arguments:
object
-
-
token:
object
-
Token for authentication of private chaos hub
-
- return:
-
arguments:
object
-
-
userName:
object
-
Git username
-
- return:
-
arguments:
object
-
-
password:
object
-
Git password
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating whether the hub is private or not.
-
- return:
-
arguments:
object
-
-
sshPrivateKey:
object
-
Private SSH key for authenticating into private chaos hub
-
- return:
-
arguments:
object
-
-
sshPublicKey:
object
-
Public SSH key for authenticating into private chaos hub
-
- return:
-
arguments:
object
-
-
lastSyncedAt:
object
-
Timestamp when the chaos hub was last synced
-
- return:
-
arguments:
object
-
Example
{
"id": {
"return": "object",
"arguments": {}
},
"repoURL": {
"return": "string",
"arguments": {}
},
"repoBranch": {
"return": "string",
"arguments": {}
},
"isAvailable": {
"return": "boolean",
"arguments": {}
},
"totalExp": {
"return": "string",
"arguments": {}
},
"hubName": {
"return": "string",
"arguments": {}
},
"isPrivate": {
"return": "boolean",
"arguments": {}
},
"authType": {
"return": "string",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"userName": {
"return": "string",
"arguments": {}
},
"password": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"sshPrivateKey": {
"return": "string",
"arguments": {}
},
"sshPublicKey": {
"return": "string",
"arguments": {}
},
"lastSyncedAt": {
"return": "string",
"arguments": {}
}
}
ChaosWorkFlowRequest: object
Defines the details for a chaos workflow
- workflowID:
-
ID of the workflow
- workflowManifest:
-
Manifest of the workflow
- cronSyntax:
-
Cron syntax of the workflow schedule
- workflowName:
-
Name of the workflow
- workflowDescription:
-
Description of the workflow
- weightages:
-
Array containing weightage and name of each chaos experiment in the workflow
- isCustomWorkflow:
-
Bool value indicating whether the workflow is a custom workflow or not
- projectID:
-
ID of the project under which the workflow is scheduled
- clusterID:
-
ID of the target cluster in which the workflow will run
Example
{
"workflowID": "string",
"workflowManifest": "string",
"cronSyntax": "string",
"workflowName": "string",
"workflowDescription": "string",
"weightages": [
{
"experimentName": "string",
"weightage": "number"
}
],
"isCustomWorkflow": "boolean",
"projectID": "object",
"clusterID": "object"
}
ChaosWorkFlowResponse: object
Defines the response received for querying the details of chaos workflow
-
workflowID:
object
-
ID of the workflow
-
- return:
-
arguments:
object
-
-
cronSyntax:
object
-
Cron syntax of the workflow schedule
-
- return:
-
arguments:
object
-
-
workflowName:
object
-
Name of the workflow
-
- return:
-
arguments:
object
-
-
workflowDescription:
object
-
Description of the workflow
-
- return:
-
arguments:
object
-
-
isCustomWorkflow:
object
-
Bool value indicating whether the workflow is a custom workflow or not
-
- return:
-
arguments:
object
-
Example
{
"workflowID": {
"return": "string",
"arguments": {}
},
"cronSyntax": {
"return": "string",
"arguments": {}
},
"workflowName": {
"return": "string",
"arguments": {}
},
"workflowDescription": {
"return": "string",
"arguments": {}
},
"isCustomWorkflow": {
"return": "boolean",
"arguments": {}
}
}
Chart: object
-
apiVersion:
object
-
- return:
-
arguments:
object
-
-
kind:
object
-
- return:
-
arguments:
object
-
-
metadata:
object
-
- return:
-
arguments:
object
-
-
spec:
object
-
- return:
-
arguments:
object
-
-
packageInfo:
object
-
- return:
-
arguments:
object
-
Example
{
"apiVersion": {
"return": "string",
"arguments": {}
},
"kind": {
"return": "string",
"arguments": {}
},
"metadata": {
"return": {
"name": {
"return": "string",
"arguments": {}
},
"version": {
"return": "string",
"arguments": {}
},
"annotations": {
"return": {
"categories": {
"return": "string",
"arguments": {}
},
"vendor": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"repository": {
"return": "string",
"arguments": {}
},
"support": {
"return": "string",
"arguments": {}
},
"chartDescription": {
"return": "string",
"arguments": {}
}
},
"arguments": {}
}
},
"arguments": {}
},
"spec": {
"return": {
"displayName": {
"return": "string",
"arguments": {}
},
"categoryDescription": {
"return": "string",
"arguments": {}
},
"keywords": {
"return": [
"string"
],
"arguments": {}
},
"maturity": {
"return": "string",
"arguments": {}
},
"maintainers": {
"return": [
{
"name": {
"return": "string",
"arguments": {}
},
"email": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
},
"minKubeVersion": {
"return": "string",
"arguments": {}
},
"provider": {
"return": {
"name": {
"return": "string",
"arguments": {}
}
},
"arguments": {}
},
"links": {
"return": [
{
"name": {}
}
]
}
}
}
}
CloningInput: object
- hubName:
-
Name of the chaos hub
- projectID:
-
ID of the project
- repoBranch:
-
Branch of the git repository
- repoURL:
-
URL of the git repository
- isPrivate:
-
Bool value indicating whether the hub is private or not.
- authType:
-
Type of authentication used: BASIC, SSH, TOKEN
- token:
-
Token for authentication of private chaos hub
- userName:
-
Git username
- password:
-
Git password
- sshPrivateKey:
Example
{
"hubName": "string",
"projectID": "string",
"repoBranch": "string",
"repoURL": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
Cluster: object
Defines the details for a cluster
-
clusterID:
object
-
ID of the cluster
-
- return:
-
arguments:
object
-
-
projectID:
object
-
Project ID the cluster is being connected to
-
- return:
-
arguments:
object
-
-
clusterName:
object
-
Name of the cluster
-
- return:
-
arguments:
object
-
-
description:
object
-
Description of the cluster
-
- return:
-
arguments:
object
-
-
platformName:
object
-
Cluster Platform Name eg. GKE,AWS, Others
-
- return:
-
arguments:
object
-
-
accessKey:
object
-
- return:
-
arguments:
object
-
-
isRegistered:
object
-
Bool value indicating if the cluster agent is registered or not
-
- return:
-
arguments:
object
-
-
isClusterConfirmed:
object
-
Bool value indicating if the cluster agent is confirmed or not
-
- return:
-
arguments:
object
-
-
isActive:
object
-
Bool value indicating if the cluster agent is active or not
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
Timestamp when the cluster agent was last updated
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
Timestamp when the cluster agent was created
-
- return:
-
arguments:
object
-
-
clusterType:
object
-
Cluster type : Internal or External
-
- return:
-
arguments:
object
-
-
noOfSchedules:
object
-
Number of schedules created in the cluster agent
-
- return:
-
arguments:
object
-
-
noOfWorkflows:
object
-
Number of workflows run in the cluster agent
-
- return:
-
arguments:
object
-
-
token:
object
-
Token used to verify and retrieve the cluster agent manifest
-
- return:
-
arguments:
object
-
-
agentNamespace:
object
-
Namespace where the cluster agent is being installed
-
- return:
-
arguments:
object
-
-
serviceAccount:
object
-
Name of service account used by cluster agent
-
- return:
-
arguments:
object
-
-
agentScope:
object
-
Scope of the cluster agent : ns or cluster
-
- return:
-
arguments:
object
-
-
agentNsExists:
object
-
Bool value indicating whether agent ns used already exists on cluster or not
-
- return:
-
arguments:
object
-
-
agentSaExists:
object
-
Bool value indicating whether service account used already exists on cluster or not
-
- return:
-
arguments:
object
-
-
lastWorkflowTimestamp:
object
-
Timestamp of the last workflow run in the cluster agent
-
- return:
-
arguments:
object
-
-
startTime:
object
-
Timestamp when the cluster agent got connected
-
- return:
-
arguments:
object
-
-
version:
object
-
Version of the cluster agent
-
- return:
-
arguments:
object
-
Example
{
"clusterID": {
"return": "object",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"description": {
"return": "string",
"arguments": {}
},
"platformName": {
"return": "string",
"arguments": {}
},
"accessKey": {
"return": "string",
"arguments": {}
},
"isRegistered": {
"return": "boolean",
"arguments": {}
},
"isClusterConfirmed": {
"return": "boolean",
"arguments": {}
},
"isActive": {
"return": "boolean",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"noOfSchedules": {
"return": "number",
"arguments": {}
},
"noOfWorkflows": {
"return": "number",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"agentNamespace": {
"return": "string",
"arguments": {}
},
"serviceAccount": {
"return": "string",
"arguments": {}
},
"agentScope": {
"return": "string",
"arguments": {}
},
"agentNsExists": {
"return": "boolean",
"arguments": {}
},
"agentSaExists": {
"return": "boolean",
"arguments": {}
},
"lastWorkflowTimestamp": {
"return": "string",
"arguments": {}
},
"startTime": {
"return": "string",
"arguments": {}
},
"version": {
"return": "string",
"arguments": {}
}
}
ClusterActionResponse: object
-
projectID:
object
-
- return:
-
arguments:
object
-
-
action:
object
-
- return:
-
arguments:
object
-
Example
{
"projectID": {
"return": "object",
"arguments": {}
},
"action": {
"return": {
"requestType": {
"return": "string",
"arguments": {}
},
"k8sManifest": {
"return": "string",
"arguments": {}
},
"namespace": {
"return": "string",
"arguments": {}
},
"externalData": {
"return": "string",
"arguments": {}
},
"username": {
"return": "string",
"arguments": {}
}
},
"arguments": {}
}
}
ClusterEventResponse: object
-
eventID:
object
-
- return:
-
arguments:
object
-
-
eventType:
object
-
- return:
-
arguments:
object
-
-
eventName:
object
-
- return:
-
arguments:
object
-
-
description:
object
-
- return:
-
arguments:
object
-
-
cluster:
object
-
- return:
-
arguments:
object
-
Example
{
"eventID": {
"return": "object",
"arguments": {}
},
"eventType": {
"return": "string",
"arguments": {}
},
"eventName": {
"return": "string",
"arguments": {}
},
"description": {
"return": "string",
"arguments": {}
},
"cluster": {
"return": {
"clusterID": {
"return": "object",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"description": {
"return": "string",
"arguments": {}
},
"platformName": {
"return": "string",
"arguments": {}
},
"accessKey": {
"return": "string",
"arguments": {}
},
"isRegistered": {
"return": "boolean",
"arguments": {}
},
"isClusterConfirmed": {
"return": "boolean",
"arguments": {}
},
"isActive": {
"return": "boolean",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"noOfSchedules": {
"return": "number",
"arguments": {}
},
"noOfWorkflows": {
"return": "number",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"agentNamespace": {
"return": "string",
"arguments": {}
},
"serviceAccount": {
"return": "string",
"arguments": {}
},
"agentScope": {
"return": "string",
"arguments": {}
},
"agentNsExists": {
"return": "boolean",
"arguments": {}
},
"agentSaExists": {
"return": "boolean",
"arguments": {}
}
}
}
}
ConfirmClusterRegistrationResponse: object
-
isClusterConfirmed:
object
-
- return:
-
arguments:
object
-
-
newAccessKey:
object
-
- return:
-
arguments:
object
-
-
clusterID:
object
-
- return:
-
arguments:
object
-
Example
{
"isClusterConfirmed": {
"return": "boolean",
"arguments": {}
},
"newAccessKey": {
"return": "string",
"arguments": {}
},
"clusterID": {
"return": "string",
"arguments": {}
}
}
CreateChaosHubRequest: object
Defines the details required for creating a chaos hub
- hubName:
-
Name of the chaos hub
- repoURL:
-
URL of the git repository
- repoBranch:
-
Branch of the git repository
- isPrivate:
-
Bool value indicating whether the hub is private or not.
- authType:
-
Type of authentication used: BASIC, SSH, TOKEN
- token:
-
Token for authentication of private chaos hub
- userName:
-
Git username
- password:
-
Git password
- sshPrivateKey:
-
Private SSH key for authenticating into private chaos hub
- sshPublicKey:
-
Public SSH key for authenticating into private chaos hub
- projectID:
-
Project ID associated with this chaos hub
Example
{
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
CreateDBInput: object
- dsID:
- dbName:
- dbTypeName:
- dbTypeID:
- dbInformation:
- chaosEventQueryTemplate:
- chaosVerdictQueryTemplate:
- applicationMetadataMap:
- panelGroups:
- endTime:
- startTime:
- projectID:
- clusterID:
- refreshRate:
Example
{
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
],
"panelGroupName": "string"
}
],
"endTime": "string",
"startTime": "string",
"projectID": "object",
"clusterID": "object",
"refreshRate": "string"
}
DSInput: object
- dsID:
- dsName:
- dsType:
- dsURL:
- accessType:
- authType:
- basicAuthUsername:
- basicAuthPassword:
- scrapeInterval:
- queryTimeout:
- httpMethod:
- projectID:
Example
{
"dsID": "string",
"dsName": "string",
"dsType": "string",
"dsURL": "string",
"accessType": "string",
"authType": "string",
"basicAuthUsername": "string",
"basicAuthPassword": "string",
"scrapeInterval": "number",
"queryTimeout": "number",
"httpMethod": "string",
"projectID": "string"
}
DSResponse: object
-
dsID:
object
-
- return:
-
arguments:
object
-
-
dsName:
object
-
- return:
-
arguments:
object
-
-
dsType:
object
-
- return:
-
arguments:
object
-
-
dsURL:
object
-
- return:
-
arguments:
object
-
-
accessType:
object
-
- return:
-
arguments:
object
-
-
authType:
object
-
- return:
-
arguments:
object
-
-
basicAuthUsername:
object
-
- return:
-
arguments:
object
-
-
basicAuthPassword:
object
-
- return:
-
arguments:
object
-
-
scrapeInterval:
object
-
- return:
-
arguments:
object
-
-
queryTimeout:
object
-
- return:
-
arguments:
object
-
-
httpMethod:
object
-
- return:
-
arguments:
object
-
-
projectID:
object
-
- return:
-
arguments:
object
-
-
healthStatus:
object
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
- return:
-
arguments:
object
-
Example
{
"dsID": {
"return": "string",
"arguments": {}
},
"dsName": {
"return": "string",
"arguments": {}
},
"dsType": {
"return": "string",
"arguments": {}
},
"dsURL": {
"return": "string",
"arguments": {}
},
"accessType": {
"return": "string",
"arguments": {}
},
"authType": {
"return": "string",
"arguments": {}
},
"basicAuthUsername": {
"return": "string",
"arguments": {}
},
"basicAuthPassword": {
"return": "string",
"arguments": {}
},
"scrapeInterval": {
"return": "number",
"arguments": {}
},
"queryTimeout": {
"return": "number",
"arguments": {}
},
"httpMethod": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"healthStatus": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
}
}
DashboardPromResponse: object
-
dashboardMetricsResponse:
object
-
- return:
-
arguments:
object
-
-
annotationsResponse:
object
-
- return:
-
arguments:
object
-
Example
{
"dashboardMetricsResponse": {
"return": [
{
"panelGroupID": {
"return": "string",
"arguments": {}
},
"panelGroupMetricsResponse": {
"return": [
{
"panelID": {
"return": "string",
"arguments": {}
},
"panelMetricsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
}
}
],
"arguments": {}
}
}
],
"arguments": {}
},
"annotationsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
},
"subDataArray": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "string",
"arguments": {}
},
"subDataName": {
"return": "string",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
}
}
ExperimentRequest: object
- projectID:
-
ID of the project
- chartName:
-
Name of the chart being used
- experimentName:
-
Name of the experiment
- hubName:
-
Name of the hub
- fileType:
-
Type of thr file for workflow: chaosEngine/ experimentInput
Example
{
"projectID": "string",
"chartName": "string",
"experimentName": "string",
"hubName": "string",
"fileType": "string"
}
Float: number
The Float
scalar type represents signed double-precision fractional values as specified by
IEEE 754.
Example
number
GitConfig: object
Details of setting a Git repository
- projectID:
-
ID of the project where GitOps is configured
- branch:
-
Git branch where the chaos charts will be pushed and synced
- repoURL:
-
URL of the Git repository
- authType:
-
Type of authentication used: BASIC, SSH, TOKEN
- token:
-
Token used for private repository
- userName:
-
Git username
- password:
-
Git password
- sshPrivateKey:
-
Private SSH key authenticating into git repository
Example
{
"projectID": "string",
"branch": "string",
"repoURL": "string",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string"
}
GitConfigResponse: object
Response received after configuring GitOps
-
enabled:
object
-
Bool value indicating whether GitOps is enabled or not
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project where GitOps is configured
-
- return:
-
arguments:
object
-
-
branch:
object
-
Git branch where the chaos charts will be pushed and synced
-
- return:
-
arguments:
object
-
-
repoURL:
object
-
URL of the Git repository
-
- return:
-
arguments:
object
-
-
authType:
object
-
Type of authentication used: BASIC, SSH, TOKEN
-
- return:
-
arguments:
object
-
-
token:
object
-
Token used for private repository
-
- return:
-
arguments:
object
-
-
userName:
object
-
Git username
-
- return:
-
arguments:
object
-
-
password:
object
-
Git password
-
- return:
-
arguments:
object
-
-
sshPrivateKey:
object
-
Private SSH key authenticating into git repository
-
- return:
-
arguments:
object
-
Example
{
"enabled": {
"return": "boolean",
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
},
"branch": {
"return": "string",
"arguments": {}
},
"repoURL": {
"return": "string",
"arguments": {}
},
"authType": {
"return": "string",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"userName": {
"return": "string",
"arguments": {}
},
"password": {
"return": "string",
"arguments": {}
},
"sshPrivateKey": {
"return": "string",
"arguments": {}
}
}
HeatmapDataResponse: object
-
bins:
object
-
- return:
-
arguments:
object
-
Example
{
"bins": {
"return": [
{
"value": {
"return": "number",
"arguments": {}
},
"workflowRunDetail": {
"return": {
"noOfRuns": {
"return": "number",
"arguments": {}
},
"dateStamp": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
}
}
],
"arguments": {}
}
}
ID: object
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
object
ImageRegistry: object
Defines details for image registry
-
isDefault:
object
-
Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
-
- return:
-
arguments:
object
-
-
imageRegistryName:
object
-
Name of Image Registry
-
- return:
-
arguments:
object
-
-
imageRepoName:
object
-
Name of image repository
-
- return:
-
arguments:
object
-
-
imageRegistryType:
object
-
Type of the image registry: public/private
-
- return:
-
arguments:
object
-
-
secretName:
object
-
Secret which is used for private registry
-
- return:
-
arguments:
object
-
-
secretNamespace:
object
-
Namespace where the secret is available
-
- return:
-
arguments:
object
-
-
enableRegistry:
object
-
Bool value indicating if image registry is enabled or not
-
- return:
-
arguments:
object
-
Example
{
"isDefault": {
"return": "boolean",
"arguments": {}
},
"imageRegistryName": {
"return": "string",
"arguments": {}
},
"imageRepoName": {
"return": "string",
"arguments": {}
},
"imageRegistryType": {
"return": "string",
"arguments": {}
},
"secretName": {
"return": "string",
"arguments": {}
},
"secretNamespace": {
"return": "string",
"arguments": {}
},
"enableRegistry": {
"return": "boolean",
"arguments": {}
}
}
ImageRegistryInput: object
Defines input data for querying the details of an image registry
- isDefault:
-
Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
- imageRegistryName:
-
Name of Image Registry
- imageRepoName:
-
Name of image repository
- imageRegistryType:
-
Type of the image registry: public/private
- secretName:
-
Secret which is used for private registry
- secretNamespace:
-
Namespace where the secret is available
- enableRegistry:
-
Bool value indicating if image registry is enabled or not
Example
{
"isDefault": "boolean",
"imageRegistryName": "string",
"imageRepoName": "string",
"imageRegistryType": "string",
"secretName": "string",
"secretNamespace": "string",
"enableRegistry": "boolean"
}
ImageRegistryResponse: object
Defines response data for image registry
-
isDefault:
object
-
Bool value indicating if the image registry is default or not; by default workflow uses LitmusChaos registry
-
- return:
-
arguments:
object
-
-
imageRegistryInfo:
object
-
Information Image Registry
-
- return:
-
arguments:
object
-
-
imageRegistryID:
object
-
ID of the image registry
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project in which image registry is created
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
Timestamp when the image registry was last updated
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
Timestamp when the image registry was created
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating if the image registry has been removed
-
- return:
-
arguments:
object
-
Example
{
"isDefault": {
"return": "boolean",
"arguments": {}
},
"imageRegistryInfo": {
"return": {
"isDefault": {
"return": "boolean",
"arguments": {}
},
"imageRegistryName": {
"return": "string",
"arguments": {}
},
"imageRepoName": {
"return": "string",
"arguments": {}
},
"imageRegistryType": {
"return": "string",
"arguments": {}
},
"secretName": {
"return": "string",
"arguments": {}
},
"secretNamespace": {
"return": "string",
"arguments": {}
},
"enableRegistry": {
"return": "boolean",
"arguments": {}
}
},
"arguments": {}
},
"imageRegistryID": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
}
}
Int: number
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
number
KubeObjectData: object
Defines the details of Kubernetes object
- requestID:
-
Unique request ID for fetching Kubernetes object details
- clusterID:
-
ID of the cluster in which the Kubernetes object is present
- kubeObj:
-
Type of the Kubernetes object
Example
{
"requestID": "object",
"clusterID": {
"clusterID": "string",
"accessKey": "string",
"version": "string"
},
"kubeObj": "string"
}
KubeObjectRequest: object
Defines details for fetching Kubernetes object data
- clusterID:
-
ID of the cluster in which the Kubernetes object is present
- objectType:
-
Type of the Kubernetes object to be fetched
- kubeObjRequest:
Example
{
"clusterID": "object",
"objectType": "string",
"kubeObjRequest": {
"group": "string",
"version": "string",
"resource": "string"
}
}
KubeObjectResponse: object
Response received for querying Kubernetes Object
-
clusterID:
object
-
ID of the cluster in which the Kubernetes object is present
-
- return:
-
arguments:
object
-
-
kubeObj:
object
-
Type of the Kubernetes object
-
- return:
-
arguments:
object
-
Example
{
"clusterID": {
"return": "object",
"arguments": {}
},
"kubeObj": {
"return": "string",
"arguments": {}
}
}
ListDashboardResponse: object
-
dsID:
object
-
- return:
-
arguments:
object
-
-
dbID:
object
-
- return:
-
arguments:
object
-
-
dbName:
object
-
- return:
-
arguments:
object
-
-
dbTypeID:
object
-
- return:
-
arguments:
object
-
-
dbTypeName:
object
-
- return:
-
arguments:
object
-
-
dbInformation:
object
-
- return:
-
arguments:
object
-
-
chaosEventQueryTemplate:
object
-
- return:
-
arguments:
object
-
-
chaosVerdictQueryTemplate:
object
-
- return:
-
arguments:
object
-
-
applicationMetadataMap:
object
-
- return:
-
arguments:
object
-
-
clusterName:
object
-
- return:
-
arguments:
object
-
-
dsName:
object
-
- return:
-
arguments:
object
-
-
dsType:
object
-
- return:
-
arguments:
object
-
-
dsURL:
object
-
- return:
-
arguments:
object
-
-
dsHealthStatus:
object
-
- return:
-
arguments:
object
-
-
panelGroups:
object
-
- return:
-
arguments:
object
-
-
endTime:
object
-
- return:
-
arguments:
object
-
-
startTime:
object
-
- return:
-
arguments:
object
-
-
refreshRate:
object
-
- return:
-
arguments:
object
-
-
projectID:
object
-
- return:
-
arguments:
object
-
-
clusterID:
object
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
- return:
-
arguments:
object
-
-
viewedAt:
object
-
- return:
-
arguments:
object
-
Example
{
"dsID": {
"return": "string",
"arguments": {}
},
"dbID": {
"return": "string",
"arguments": {}
},
"dbName": {
"return": "string",
"arguments": {}
},
"dbTypeID": {
"return": "string",
"arguments": {}
},
"dbTypeName": {
"return": "string",
"arguments": {}
},
"dbInformation": {
"return": "string",
"arguments": {}
},
"chaosEventQueryTemplate": {
"return": "string",
"arguments": {}
},
"chaosVerdictQueryTemplate": {
"return": "string",
"arguments": {}
},
"applicationMetadataMap": {
"return": [
{
"namespace": {
"return": "string",
"arguments": {}
},
"applications": {
"return": [
{
"kind": {
"return": "string",
"arguments": {}
},
"names": {
"return": [
"string"
],
"arguments": {}
}
}
],
"arguments": {}
}
}
],
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"dsName": {
"return": "string",
"arguments": {}
},
"dsType": {
"return": "string",
"arguments": {}
},
"dsURL": {
"return": "string",
"arguments": {}
},
"dsHealthStatus": {
"return": "string",
"arguments": {}
},
"panelGroups": {
"return": [
{
"panels": {
"return": [
{
"panelID": {
"return": "string",
"arguments": {}
},
"yAxisLeft": {
"return": "string",
"arguments": {}
},
"yAxisRight": {
"return": "string",
"arguments": {}
},
"xAxisDown": {
"return": "string",
"arguments": {}
}
}
]
}
}
]
}
}
ListWorkflowRunsRequest: object
Defines the details for workflow runs
- projectID:
-
ID of the project
- workflowRunIDs:
-
Array of workflow run IDs for which details will be fetched
- workflowIDs:
-
Array of workflow IDs for which details will be fetched
- pagination:
-
Details for fetching paginated data
- sort:
-
Details for fetching sorted data
- filter:
-
Details for fetching filtered data
Example
{
"projectID": "object",
"workflowRunIDs": [
"object"
],
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string",
"workflowStatus": "string",
"dateRange": {
"startDate": "string",
"endDate": "string"
}
}
}
ListWorkflowRunsResponse: object
Defines the details of a workflow to sent as response
-
totalNoOfWorkflowRuns:
object
-
Total number of workflow runs
-
- return:
-
arguments:
object
-
-
workflowRuns:
object
-
Defines details of workflow runs
-
- return:
-
arguments:
object
-
Example
{
"totalNoOfWorkflowRuns": {
"return": "number",
"arguments": {}
},
"workflowRuns": {
"return": [
{
"workflowRunID": {
"return": "object",
"arguments": {}
},
"workflowID": {
"return": "object",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"weightages": {
"return": [
{
"experimentName": {
"return": "string",
"arguments": {}
},
"weightage": {
"return": "number",
"arguments": {}
}
}
],
"arguments": {}
},
"lastUpdated": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterID": {
"return": "object",
"arguments": {}
},
"workflowName": {
"return": "string",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"phase": {
"return": "string",
"arguments": {}
},
"resiliencyScore": {
"return": "number",
"arguments": {}
},
"experimentsPassed": {
"return": "number",
"arguments": {}
},
"experimentsFailed": {
"return": "number",
"arguments": {}
},
"experimentsAwaited": {
"return": "number",
"arguments": {}
},
"experimentsStopped": {
"return": "number",
"arguments": {}
},
"experimentsNa": {
"return": "number",
"arguments": {}
},
"totalExperiments": {
"return": "number",
"arguments": {}
},
"executionData": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"executedBy": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
}
}
ListWorkflowsRequest: object
Defines the details for a workflow
- projectID:
-
ID of the project
- workflowIDs:
-
Array of workflow IDs for which details will be fetched
- pagination:
-
Details for fetching paginated data
- sort:
-
Details for fetching sorted data
- filter:
-
Details for fetching filtered data
Example
{
"projectID": "object",
"workflowIDs": [
"object"
],
"pagination": {
"page": "number",
"limit": "number"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"filter": {
"workflowName": "string",
"clusterName": "string"
}
}
ListWorkflowsResponse: object
Defines the details for a workflow with total workflow count
-
totalNoOfWorkflows:
object
-
Total number of workflows
-
- return:
-
arguments:
object
-
-
workflows:
object
-
Details related to the workflows
-
- return:
-
arguments:
object
-
Example
{
"totalNoOfWorkflows": {
"return": "number",
"arguments": {}
},
"workflows": {
"return": [
{
"workflowID": {
"return": "string",
"arguments": {}
},
"workflowManifest": {
"return": "string",
"arguments": {}
},
"cronSyntax": {
"return": "string",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"workflowName": {
"return": "string",
"arguments": {}
},
"workflowDescription": {
"return": "string",
"arguments": {}
},
"weightages": {
"return": [
{
"experimentName": {
"return": "string",
"arguments": {}
},
"weightage": {
"return": "number",
"arguments": {}
}
}
],
"arguments": {}
},
"isCustomWorkflow": {
"return": "boolean",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterID": {
"return": "object",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"lastUpdatedBy": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
}
}
Metadata: object
-
name:
object
-
- return:
-
arguments:
object
-
-
version:
object
-
- return:
-
arguments:
object
-
-
annotations:
object
-
- return:
-
arguments:
object
-
Example
{
"name": {
"return": "string",
"arguments": {}
},
"version": {
"return": "string",
"arguments": {}
},
"annotations": {
"return": {
"categories": {
"return": "string",
"arguments": {}
},
"vendor": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"repository": {
"return": "string",
"arguments": {}
},
"support": {
"return": "string",
"arguments": {}
},
"chartDescription": {
"return": "string",
"arguments": {}
}
},
"arguments": {}
}
}
MetricDataForPanel: object
-
panelID:
object
-
- return:
-
arguments:
object
-
-
panelMetricsResponse:
object
-
- return:
-
arguments:
object
-
Example
{
"panelID": {
"return": "string",
"arguments": {}
},
"panelMetricsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
}
}
MetricDataForPanelGroup: object
-
panelGroupID:
object
-
- return:
-
arguments:
object
-
-
panelGroupMetricsResponse:
object
-
- return:
-
arguments:
object
-
Example
{
"panelGroupID": {
"return": "string",
"arguments": {}
},
"panelGroupMetricsResponse": {
"return": [
{
"panelID": {
"return": "string",
"arguments": {}
},
"panelMetricsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
}
}
],
"arguments": {}
}
}
MetricsPromResponse: object
-
queryID:
object
-
- return:
-
arguments:
object
-
-
legends:
object
-
- return:
-
arguments:
object
-
-
tsvs:
object
-
-
return:
object[][]
-
arguments:
object
-
-
return:
Example
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
Option: object
-
name:
object
-
- return:
-
arguments:
object
-
Example
{
"name": {
"return": "string",
"arguments": {}
}
}
PackageInformation: object
-
packageName:
object
-
- return:
-
arguments:
object
-
-
experiments:
object
-
- return:
-
arguments:
object
-
Example
{
"packageName": {
"return": "string",
"arguments": {}
},
"experiments": {
"return": [
{
"name": {
"return": "string",
"arguments": {}
},
"CSV": {
"return": "string",
"arguments": {}
},
"desc": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
}
}
Panel: object
- panelID:
- dbID:
- yAxisLeft:
- yAxisRight:
- xAxisDown:
- unit:
- panelGroupID:
- createdAt:
- promQueries:
- panelOptions:
- panelName:
Example
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
PanelGroup: object
Example
{
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
],
"panelGroupName": "string"
}
PanelGroupResponse: object
-
panels:
object
-
- return:
-
arguments:
object
-
-
panelGroupName:
object
-
- return:
-
arguments:
object
-
-
panelGroupID:
object
-
- return:
-
arguments:
object
-
Example
{
"panels": {
"return": [
{
"panelID": {
"return": "string",
"arguments": {}
},
"yAxisLeft": {
"return": "string",
"arguments": {}
},
"yAxisRight": {
"return": "string",
"arguments": {}
},
"xAxisDown": {
"return": "string",
"arguments": {}
},
"unit": {
"return": "string",
"arguments": {}
},
"promQueries": {
"return": [
{
"queryID": {
"return": "object",
"arguments": {}
},
"promQueryName": {
"return": "string",
"arguments": {}
},
"legend": {
"return": "string",
"arguments": {}
},
"resolution": {
"return": "string",
"arguments": {}
},
"minstep": {
"return": "string",
"arguments": {}
},
"line": {
"return": "boolean",
"arguments": {}
},
"closeArea": {
"return": "boolean",
"arguments": {}
}
}
],
"arguments": {}
},
"panelOptions": {
"return": {
"points": {
"return": "boolean",
"arguments": {}
},
"grIDs": {
"return": "boolean",
"arguments": {}
},
"leftAxis": {
"return": "boolean",
"arguments": {}
}
},
"arguments": {}
},
"panelName": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
},
"panelGroupName": {
"return": "string",
"arguments": {}
},
"panelGroupID": {
"return": "string",
"arguments": {}
}
}
PanelOptionResponse: object
-
points:
object
-
- return:
-
arguments:
object
-
-
grIDs:
object
-
- return:
-
arguments:
object
-
-
leftAxis:
object
-
- return:
-
arguments:
object
-
Example
{
"points": {
"return": "boolean",
"arguments": {}
},
"grIDs": {
"return": "boolean",
"arguments": {}
},
"leftAxis": {
"return": "boolean",
"arguments": {}
}
}
PanelResponse: object
-
panelID:
object
-
- return:
-
arguments:
object
-
-
yAxisLeft:
object
-
- return:
-
arguments:
object
-
-
yAxisRight:
object
-
- return:
-
arguments:
object
-
-
xAxisDown:
object
-
- return:
-
arguments:
object
-
-
unit:
object
-
- return:
-
arguments:
object
-
-
promQueries:
object
-
- return:
-
arguments:
object
-
-
panelOptions:
object
-
- return:
-
arguments:
object
-
-
panelName:
object
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
- return:
-
arguments:
object
-
Example
{
"panelID": {
"return": "string",
"arguments": {}
},
"yAxisLeft": {
"return": "string",
"arguments": {}
},
"yAxisRight": {
"return": "string",
"arguments": {}
},
"xAxisDown": {
"return": "string",
"arguments": {}
},
"unit": {
"return": "string",
"arguments": {}
},
"promQueries": {
"return": [
{
"queryID": {
"return": "object",
"arguments": {}
},
"promQueryName": {
"return": "string",
"arguments": {}
},
"legend": {
"return": "string",
"arguments": {}
},
"resolution": {
"return": "string",
"arguments": {}
},
"minstep": {
"return": "string",
"arguments": {}
},
"line": {
"return": "boolean",
"arguments": {}
},
"closeArea": {
"return": "boolean",
"arguments": {}
}
}
],
"arguments": {}
},
"panelOptions": {
"return": {
"points": {
"return": "boolean",
"arguments": {}
},
"grIDs": {
"return": "boolean",
"arguments": {}
},
"leftAxis": {
"return": "boolean",
"arguments": {}
}
},
"arguments": {}
},
"panelName": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
}
}
PodLog: object
Response received for querying pod logs
- clusterID:
-
ID of the cluster
- requestID:
-
Unique request ID of a particular node which is being queried
- workflowRunID:
-
ID of a workflow run
- podName:
-
Name of the pod for which logs are required
- podType:
-
Type of the pod: chaosengine
- log:
-
Logs for the pod
Example
{
"clusterID": {
"clusterID": "string",
"accessKey": "string",
"version": "string"
},
"requestID": "object",
"workflowRunID": "object",
"podName": "string",
"podType": "string",
"log": "string"
}
PodLogRequest: object
Defines the details for fetching the pod logs
- clusterID:
-
ID of the cluster
- workflowRunID:
-
ID of a workflow run
- podName:
-
Name of the pod for which logs are required
- podNamespace:
-
Namespace where the pod is running
- podType:
-
Type of the pod: chaosEngine or not pod
- expPod:
-
Name of the experiment pod fetched from execution data
- runnerPod:
-
Name of the runner pod fetched from execution data
- chaosNamespace:
-
Namespace where the experiment is executing
Example
{
"clusterID": "object",
"workflowRunID": "object",
"podName": "string",
"podNamespace": "string",
"podType": "string",
"expPod": "string",
"runnerPod": "string",
"chaosNamespace": "string"
}
PodLogResponse: object
Defines the response received for querying querying the pod logs
-
workflowRunID:
object
-
ID of the workflow run which is to be queried
-
- return:
-
arguments:
object
-
-
podName:
object
-
Name of the pod for which logs are queried
-
- return:
-
arguments:
object
-
-
podType:
object
-
Type of the pod: chaosengine
-
- return:
-
arguments:
object
-
-
log:
object
-
Logs for the pod
-
- return:
-
arguments:
object
-
Example
{
"workflowRunID": {
"return": "object",
"arguments": {}
},
"podName": {
"return": "string",
"arguments": {}
},
"podType": {
"return": "string",
"arguments": {}
},
"log": {
"return": "string",
"arguments": {}
}
}
ProjectData: object
Defines all the stats under a project
-
workflows:
object
-
Workflow related statistics
-
- return:
-
arguments:
object
-
-
agents:
object
-
Agent related statistics
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project
-
- return:
-
arguments:
object
-
Example
{
"workflows": {
"return": {
"schedules": {
"return": "number",
"arguments": {}
},
"runs": {
"return": "number",
"arguments": {}
},
"expRuns": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"agents": {
"return": {
"ns": {
"return": "number",
"arguments": {}
},
"cluster": {
"return": "number",
"arguments": {}
},
"total": {
"return": "number",
"arguments": {}
},
"active": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
}
}
PromQueryResponse: object
-
queryID:
object
-
- return:
-
arguments:
object
-
-
promQueryName:
object
-
- return:
-
arguments:
object
-
-
legend:
object
-
- return:
-
arguments:
object
-
-
resolution:
object
-
- return:
-
arguments:
object
-
-
minstep:
object
-
- return:
-
arguments:
object
-
-
line:
object
-
- return:
-
arguments:
object
-
-
closeArea:
object
-
- return:
-
arguments:
object
-
Example
{
"queryID": {
"return": "object",
"arguments": {}
},
"promQueryName": {
"return": "string",
"arguments": {}
},
"legend": {
"return": "string",
"arguments": {}
},
"resolution": {
"return": "string",
"arguments": {}
},
"minstep": {
"return": "string",
"arguments": {}
},
"line": {
"return": "boolean",
"arguments": {}
},
"closeArea": {
"return": "boolean",
"arguments": {}
}
}
PromSeriesListResponse: object
-
seriesList:
object
-
- return:
-
arguments:
object
-
Example
{
"seriesList": {
"return": [
"string"
],
"arguments": {}
}
}
PromSeriesResponse: object
-
series:
object
-
- return:
-
arguments:
object
-
-
labelValues:
object
-
- return:
-
arguments:
object
-
Example
{
"series": {
"return": "string",
"arguments": {}
},
"labelValues": {
"return": [
{
"label": {
"return": "string",
"arguments": {}
},
"values": {
"return": [
{
"name": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
}
}
],
"arguments": {}
}
}
PrometheusDataRequest: object
- queries:
- dsDetails:
Example
{
"queries": [
{
"queryID": "string",
"query": "string",
"legend": "string",
"resolution": "string",
"minstep": "number"
}
],
"dsDetails": {
"url": "string",
"start": "string",
"end": "string"
}
}
PrometheusDataResponse: object
-
metricsResponse:
object
-
- return:
-
arguments:
object
-
-
annotationsResponse:
object
-
- return:
-
arguments:
object
-
Example
{
"metricsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
},
"annotationsResponse": {
"return": [
{
"queryID": {
"return": "string",
"arguments": {}
},
"legends": {
"return": [
"string"
],
"arguments": {}
},
"tsvs": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "number",
"arguments": {}
}
}
]
],
"arguments": {}
},
"subDataArray": {
"return": [
[
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "string",
"arguments": {}
},
"subDataName": {
"return": "string",
"arguments": {}
}
}
]
],
"arguments": {}
}
}
],
"arguments": {}
}
}
Provider: object
-
name:
object
-
- return:
-
arguments:
object
-
Example
{
"name": {
"return": "string",
"arguments": {}
}
}
QueryMapForPanelGroup: object
- panelGroupID:
- panelQueryMap:
Example
{
"panelGroupID": "string",
"panelQueryMap": [
{
"panelID": "string",
"queryIDs": [
"string"
]
}
]
}
RegisterClusterRequest: object
Defines the details for the new cluster being connected
- clusterName:
-
Name of the cluster
- description:
-
Description of the cluster
- platformName:
-
Cluster Platform Name eg. GKE,AWS, Others
- projectID:
-
Project ID the cluster is being connected to
- clusterType:
-
Cluster type : Internal or External
- agentNamespace:
-
Namespace where the cluster agent is being installed
- serviceAccount:
-
Name of service account used by cluster agent
- agentScope:
-
Scope of the cluster agent : ns or cluster
- agentNsExists:
-
Bool value indicating whether agent ns used already exists on cluster or not
- agentSaExists:
-
Bool value indicating whether service account used already exists on cluster or not
- skipSsl:
-
Bool value indicating whether agent will skip ssl checks or not
- nodeSelector:
-
Node selectors used by cluster agent
- tolerations:
-
Node tolerations used by cluster agent
Example
{
"clusterName": "string",
"description": "string",
"platformName": "string",
"projectID": "object",
"clusterType": "string",
"agentNamespace": "string",
"serviceAccount": "string",
"agentScope": "string",
"agentNsExists": "boolean",
"agentSaExists": "boolean",
"skipSsl": "boolean",
"nodeSelector": "string",
"tolerations": [
{
"tolerationSeconds": "number",
"key": "string",
"operator": "string",
"effect": "string",
"value": "string"
}
]
}
RegisterClusterResponse: object
Response received for registering a new cluster
-
token:
object
-
Token used to verify and retrieve the cluster agent manifest
-
- return:
-
arguments:
object
-
-
clusterID:
object
-
Unique ID for the newly registered cluster
-
- return:
-
arguments:
object
-
-
clusterName:
object
-
Cluster name as sent in request
-
- return:
-
arguments:
object
-
Example
{
"token": {
"return": "string",
"arguments": {}
},
"clusterID": {
"return": "string",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
}
}
SSHKey: object
Defines the SSHKey details
-
publicKey:
object
-
Public SSH key authenticating into git repository
-
- return:
-
arguments:
object
-
-
privateKey:
object
-
Private SSH key authenticating into git repository
-
- return:
-
arguments:
object
-
Example
{
"publicKey": {
"return": "string",
"arguments": {}
},
"privateKey": {
"return": "string",
"arguments": {}
}
}
Spec: object
-
displayName:
object
-
- return:
-
arguments:
object
-
-
categoryDescription:
object
-
- return:
-
arguments:
object
-
-
keywords:
object
-
- return:
-
arguments:
object
-
-
maturity:
object
-
- return:
-
arguments:
object
-
-
maintainers:
object
-
- return:
-
arguments:
object
-
-
minKubeVersion:
object
-
- return:
-
arguments:
object
-
-
provider:
object
-
- return:
-
arguments:
object
-
-
links:
object
-
- return:
-
arguments:
object
-
-
experiments:
object
-
- return:
-
arguments:
object
-
-
chaosExpCRDLink:
object
-
- return:
-
arguments:
object
-
-
platforms:
object
-
- return:
-
arguments:
object
-
-
chaosType:
object
-
- return:
-
arguments:
object
-
Example
{
"displayName": {
"return": "string",
"arguments": {}
},
"categoryDescription": {
"return": "string",
"arguments": {}
},
"keywords": {
"return": [
"string"
],
"arguments": {}
},
"maturity": {
"return": "string",
"arguments": {}
},
"maintainers": {
"return": [
{
"name": {
"return": "string",
"arguments": {}
},
"email": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
},
"minKubeVersion": {
"return": "string",
"arguments": {}
},
"provider": {
"return": {
"name": {
"return": "string",
"arguments": {}
}
},
"arguments": {}
},
"links": {
"return": [
{
"name": {
"return": "string",
"arguments": {}
},
"url": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
},
"experiments": {
"return": [
"string"
],
"arguments": {}
},
"chaosExpCRDLink": {
"return": "string",
"arguments": {}
},
"platforms": {
"return": [
"string"
],
"arguments": {}
},
"chaosType": {
"return": "string",
"arguments": {}
}
}
String: string
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
SubData: object
-
date:
object
-
- return:
-
arguments:
object
-
-
value:
object
-
- return:
-
arguments:
object
-
-
subDataName:
object
-
- return:
-
arguments:
object
-
Example
{
"date": {
"return": "number",
"arguments": {}
},
"value": {
"return": "string",
"arguments": {}
},
"subDataName": {
"return": "string",
"arguments": {}
}
}
Subscription: object
-
getClusterEvents:
object
-
Listens cluster events from the graphql server
-
- return:
-
arguments:
object
-
- projectID:
-
clusterConnect:
object
-
Listens cluster operation request from the graphql server
-
- return:
-
arguments:
object
-
- clusterInfo:
-
getWorkflowEvents:
object
-
Sends workflow events to the subscriber
-
- return:
-
arguments:
object
-
- projectID:
-
getPodLog:
object
-
Returns experiment logs from the pods
-
- return:
-
arguments:
object
-
- request:
-
getKubeObject:
object
-
Returns a kubernetes object given an input
-
- return:
-
arguments:
object
-
- request:
-
viewDashboard:
object
-
Takes a dashboard view id, prometheus queries, dashboard query map and data variables to query prometheus and send data periodically to the subscribed client
-
- return:
-
arguments:
object
-
- dashboardID:
- promQueries:
- dashboardQueryMap:
- dataVariables:
Example
{
"getClusterEvents": {
"return": {
"eventID": {
"return": "object",
"arguments": {}
},
"eventType": {
"return": "string",
"arguments": {}
},
"eventName": {
"return": "string",
"arguments": {}
},
"description": {
"return": "string",
"arguments": {}
},
"cluster": {
"return": {
"clusterID": {
"return": "object",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"description": {
"return": "string",
"arguments": {}
},
"platformName": {
"return": "string",
"arguments": {}
},
"accessKey": {
"return": "string",
"arguments": {}
},
"isRegistered": {
"return": "boolean",
"arguments": {}
},
"isClusterConfirmed": {
"return": "boolean",
"arguments": {}
},
"isActive": {
"return": "boolean",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"noOfSchedules": {
"return": "number",
"arguments": {}
},
"noOfWorkflows": {
"return": "number",
"arguments": {}
},
"token": {
"return": "string",
"arguments": {}
},
"agentNamespace": {
"return": "string",
"arguments": {}
},
"serviceAccount": {
"return": "string",
"arguments": {}
},
"agentScope": {
"return": "string",
"arguments": {}
},
"agentNsExists": {
"return": "boolean",
"arguments": {}
},
"agentSaExists": {}
}
}
}
}
}
TemplateInput: object
Details for saving the template
- manifest:
-
Workflow manifest in JSON escaped format
- templateName:
-
Name of the template
- templateDescription:
-
Description of the template
- projectID:
-
Name of the project
- isCustomWorkflow:
-
Bool value indicating whether the workflow is a custom workflow or not
Example
{
"manifest": "string",
"templateName": "string",
"templateDescription": "string",
"projectID": "string",
"isCustomWorkflow": "boolean"
}
TotalCount: object
Defines total number of projects, users, agents and workflows
-
projects:
object
-
Total number of projects
-
- return:
-
arguments:
object
-
-
users:
object
-
Total number of users
-
- return:
-
arguments:
object
-
-
agents:
object
-
Total number of agents
-
- return:
-
arguments:
object
-
-
workflows:
object
-
Total number of workflows
-
- return:
-
arguments:
object
-
Example
{
"projects": {
"return": "number",
"arguments": {}
},
"users": {
"return": "number",
"arguments": {}
},
"agents": {
"return": {
"ns": {
"return": "number",
"arguments": {}
},
"cluster": {
"return": "number",
"arguments": {}
},
"total": {
"return": "number",
"arguments": {}
},
"active": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"workflows": {
"return": {
"schedules": {
"return": "number",
"arguments": {}
},
"runs": {
"return": "number",
"arguments": {}
},
"expRuns": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
}
}
UpdateChaosHubRequest: object
- id:
-
ID of the chaos hub
- hubName:
-
Name of the chaos hub
- repoURL:
-
URL of the git repository
- repoBranch:
-
Branch of the git repository
- isPrivate:
-
Bool value indicating whether the hub is private or not.
- authType:
-
Type of authentication used: BASIC, SSH, TOKEN
- token:
-
Token for authentication of private chaos hub
- userName:
-
Git username
- password:
-
Git password
- sshPrivateKey:
-
Private SSH key for authenticating into private chaos hub
- sshPublicKey:
-
Public SSH key for authenticating into private chaos hub
- projectID:
-
Project ID associated with this chaos hub
Example
{
"id": "string",
"hubName": "string",
"repoURL": "string",
"repoBranch": "string",
"isPrivate": "boolean",
"authType": "string",
"token": "string",
"userName": "string",
"password": "string",
"sshPrivateKey": "string",
"sshPublicKey": "string",
"projectID": "string"
}
UpdateDBInput: object
- dbID:
- dsID:
- dbName:
- dbTypeName:
- dbTypeID:
- dbInformation:
- chaosEventQueryTemplate:
- chaosVerdictQueryTemplate:
- applicationMetadataMap:
- panelGroups:
- endTime:
- startTime:
- clusterID:
- refreshRate:
Example
{
"dbID": "string",
"dsID": "string",
"dbName": "string",
"dbTypeName": "string",
"dbTypeID": "string",
"dbInformation": "string",
"chaosEventQueryTemplate": "string",
"chaosVerdictQueryTemplate": "string",
"applicationMetadataMap": [
{
"namespace": "string",
"applications": [
{
"kind": "string",
"names": [
"string"
]
}
]
}
],
"panelGroups": [
{
"panelGroupName": "string",
"panelGroupID": "string",
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
],
"endTime": "string",
"startTime": "string",
"clusterID": "object",
"refreshRate": "string"
}
UpdatePanelGroupInput: object
Example
{
"panelGroupName": "string",
"panelGroupID": "string",
"panels": [
{
"panelID": "string",
"dbID": "string",
"yAxisLeft": "string",
"yAxisRight": "string",
"xAxisDown": "string",
"unit": "string",
"panelGroupID": "string",
"createdAt": "string",
"promQueries": [
{
"queryID": "string",
"promQueryName": "string",
"legend": "string",
"resolution": "string",
"minstep": "string",
"line": "boolean",
"closeArea": "boolean"
}
],
"panelOptions": {
"points": "boolean",
"grIDs": "boolean",
"leftAxis": "boolean"
},
"panelName": "string"
}
]
}
UsageDataRequest: object
Defines input details for querying the total usage related details
- pagination:
-
Pagination detail to fetch only a required number of data at a time
- dateRange:
-
Rage of dates between which the data will be fetched
- sort:
-
Sorting details to fetch the data in a sorted manner
- searchProject:
-
Search field to search for a particular project and fetch it's data
Example
{
"pagination": {
"page": "number",
"limit": "number"
},
"dateRange": {
"startDate": "string",
"endDate": "string"
},
"sort": {
"field": "string",
"descending": "boolean"
},
"searchProject": "string"
}
UsageDataResponse: object
Defines total usage data
-
projects:
object
-
Project related data
-
- return:
-
arguments:
object
-
-
totalEntries:
object
-
Total number of entries
-
- return:
-
arguments:
object
-
-
totalCount:
object
-
Total number of projects, users, agents and workflows
-
- return:
-
arguments:
object
-
Example
{
"projects": {
"return": [
{
"workflows": {
"return": {
"schedules": {
"return": "number",
"arguments": {}
},
"runs": {
"return": "number",
"arguments": {}
},
"expRuns": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"agents": {
"return": {
"ns": {
"return": "number",
"arguments": {}
},
"cluster": {
"return": "number",
"arguments": {}
},
"total": {
"return": "number",
"arguments": {}
},
"active": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
}
}
],
"arguments": {}
},
"totalEntries": {
"return": "number",
"arguments": {}
},
"totalCount": {
"return": {
"projects": {
"return": "number",
"arguments": {}
},
"users": {
"return": "number",
"arguments": {}
},
"agents": {
"return": {
"ns": {
"return": "number",
"arguments": {}
},
"cluster": {
"return": "number",
"arguments": {}
},
"total": {
"return": "number",
"arguments": {}
},
"active": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
},
"workflows": {
"return": {
"schedules": {
"return": "number",
"arguments": {}
},
"runs": {
"return": "number",
"arguments": {}
},
"expRuns": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
}
},
"arguments": {}
}
}
UsageSort: string
-
objectAGENTS
-
objectEXPERIMENT_RUNS
-
objectOWNER
-
objectPROJECT
-
objectSCHEDULES
-
objectTEAM_MEMBERS
-
objectWORKFLOW_RUNS
Weightages: object
Defines the details of the weightages of each chaos experiment in the workflow
-
experimentName:
object
-
Name of the experiment
-
- return:
-
arguments:
object
-
-
weightage:
object
-
Weightage of the experiment
-
- return:
-
arguments:
object
-
Example
{
"experimentName": {
"return": "string",
"arguments": {}
},
"weightage": {
"return": "number",
"arguments": {}
}
}
Workflow: object
Defines the details for a workflow
-
workflowID:
object
-
ID of the workflow
-
- return:
-
arguments:
object
-
-
workflowManifest:
object
-
Manifest of the workflow
-
- return:
-
arguments:
object
-
-
cronSyntax:
object
-
Cron syntax of the workflow schedule
-
- return:
-
arguments:
object
-
-
clusterName:
object
-
Name of the target cluster in which the workflow is running
-
- return:
-
arguments:
object
-
-
workflowName:
object
-
Name of the workflow
-
- return:
-
arguments:
object
-
-
workflowDescription:
object
-
Description of the workflow
-
- return:
-
arguments:
object
-
-
weightages:
object
-
Array containing weightage and name of each chaos experiment in the workflow
-
- return:
-
arguments:
object
-
-
isCustomWorkflow:
object
-
Bool value indicating whether the workflow is a custom workflow or not
-
- return:
-
arguments:
object
-
-
updatedAt:
object
-
Timestamp when the workflow was last updated
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
Timestamp when the workflow was created
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project under which the workflow is scheduled
-
- return:
-
arguments:
object
-
-
clusterID:
object
-
ID of the target cluster in which the workflow will run
-
- return:
-
arguments:
object
-
-
clusterType:
object
-
Cluster type : Internal or External
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating if the workflow has removed
-
- return:
-
arguments:
object
-
-
lastUpdatedBy:
object
-
Provides audit context to workflow i.e who ran the workflow
-
- return:
-
arguments:
object
-
Example
{
"workflowID": {
"return": "string",
"arguments": {}
},
"workflowManifest": {
"return": "string",
"arguments": {}
},
"cronSyntax": {
"return": "string",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"workflowName": {
"return": "string",
"arguments": {}
},
"workflowDescription": {
"return": "string",
"arguments": {}
},
"weightages": {
"return": [
{
"experimentName": {
"return": "string",
"arguments": {}
},
"weightage": {
"return": "number",
"arguments": {}
}
}
],
"arguments": {}
},
"isCustomWorkflow": {
"return": "boolean",
"arguments": {}
},
"updatedAt": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterID": {
"return": "object",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"lastUpdatedBy": {
"return": "string",
"arguments": {}
}
}
WorkflowRun: object
Defines the details of a workflow run
-
workflowRunID:
object
-
ID of the workflow run which is to be queried
-
- return:
-
arguments:
object
-
-
workflowID:
object
-
ID of the workflow
-
- return:
-
arguments:
object
-
-
clusterName:
object
-
Name of the cluster agent in which the workflow is running
-
- return:
-
arguments:
object
-
-
weightages:
object
-
Array containing weightage and name of each chaos experiment in the workflow
-
- return:
-
arguments:
object
-
-
lastUpdated:
object
-
Timestamp at which workflow run was last updated
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project
-
- return:
-
arguments:
object
-
-
clusterID:
object
-
ID of the target cluster in which the workflow is running
-
- return:
-
arguments:
object
-
-
workflowName:
object
-
Name of the workflow
-
- return:
-
arguments:
object
-
-
clusterType:
object
-
Cluster type : Internal or External
-
- return:
-
arguments:
object
-
-
phase:
object
-
Phase of the workflow run
-
- return:
-
arguments:
object
-
-
resiliencyScore:
object
-
Resiliency score of the workflow
-
- return:
-
arguments:
object
-
-
experimentsPassed:
object
-
Number of experiments passed
-
- return:
-
arguments:
object
-
-
experimentsFailed:
object
-
Number of experiments failed
-
- return:
-
arguments:
object
-
-
experimentsAwaited:
object
-
Number of experiments awaited
-
- return:
-
arguments:
object
-
-
experimentsStopped:
object
-
Number of experiments stopped
-
- return:
-
arguments:
object
-
-
experimentsNa:
object
-
Number of experiments which are not available
-
- return:
-
arguments:
object
-
-
totalExperiments:
object
-
Total number of experiments
-
- return:
-
arguments:
object
-
-
executionData:
object
-
Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating if the workflow run has removed
-
- return:
-
arguments:
object
-
-
executedBy:
object
-
Provides audit context to workflow run i.e who ran the workflow
-
- return:
-
arguments:
object
-
Example
{
"workflowRunID": {
"return": "object",
"arguments": {}
},
"workflowID": {
"return": "object",
"arguments": {}
},
"clusterName": {
"return": "string",
"arguments": {}
},
"weightages": {
"return": [
{
"experimentName": {
"return": "string",
"arguments": {}
},
"weightage": {
"return": "number",
"arguments": {}
}
}
],
"arguments": {}
},
"lastUpdated": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "object",
"arguments": {}
},
"clusterID": {
"return": "object",
"arguments": {}
},
"workflowName": {
"return": "string",
"arguments": {}
},
"clusterType": {
"return": "string",
"arguments": {}
},
"phase": {
"return": "string",
"arguments": {}
},
"resiliencyScore": {
"return": "number",
"arguments": {}
},
"experimentsPassed": {
"return": "number",
"arguments": {}
},
"experimentsFailed": {
"return": "number",
"arguments": {}
},
"experimentsAwaited": {
"return": "number",
"arguments": {}
},
"experimentsStopped": {
"return": "number",
"arguments": {}
},
"experimentsNa": {
"return": "number",
"arguments": {}
},
"totalExperiments": {
"return": "number",
"arguments": {}
},
"executionData": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"executedBy": {
"return": "string",
"arguments": {}
}
}
WorkflowRunFilterInput: object
Defines input type for workflow run filter
- workflowName:
-
Name of the workflow
- clusterName:
-
Name of the cluster agent
- workflowStatus:
-
Status of the workflow run
- dateRange:
-
Date range for filtering purpose
Example
{
"workflowName": "string",
"clusterName": "string",
"workflowStatus": "string",
"dateRange": {
"startDate": "string",
"endDate": "string"
}
}
WorkflowRunRequest: object
Defines the details for a workflow run
- workflowID:
-
ID of the workflow
- workflowRunID:
-
ID of the workflow run which is to be queried
- workflowName:
-
Name of the workflow
- executedBy:
-
Provides audit context to workflow run i.e who ran the workflow
- executionData:
-
Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments
- clusterID:
-
ID of the cluster agent in which the workflow is running
- completed:
-
Bool value indicating if the workflow run has completed
- isRemoved:
-
Bool value indicating if the workflow run has removed
Example
{
"workflowID": "object",
"workflowRunID": "object",
"workflowName": "string",
"executedBy": "string",
"executionData": "string",
"clusterID": {
"clusterID": "string",
"accessKey": "string",
"version": "string"
},
"completed": "boolean",
"isRemoved": "boolean"
}
WorkflowRunSortInput: object
Defines sorting options for workflow runs
- field:
-
Field in which sorting will be done
- descending:
-
Bool value indicating whether the sorting will be done in descending order
Example
{
"field": "string",
"descending": "boolean"
}
WorkflowRunStatsResponse: object
-
totalWorkflowRuns:
object
-
- return:
-
arguments:
object
-
-
succeededWorkflowRuns:
object
-
- return:
-
arguments:
object
-
-
failedWorkflowRuns:
object
-
- return:
-
arguments:
object
-
-
runningWorkflowRuns:
object
-
- return:
-
arguments:
object
-
-
averageResiliencyScore:
object
-
- return:
-
arguments:
object
-
-
totalExperiments:
object
-
- return:
-
arguments:
object
-
-
experimentsPassed:
object
-
- return:
-
arguments:
object
-
-
experimentsFailed:
object
-
- return:
-
arguments:
object
-
-
experimentsAwaited:
object
-
- return:
-
arguments:
object
-
-
experimentsStopped:
object
-
- return:
-
arguments:
object
-
-
experimentsNa:
object
-
- return:
-
arguments:
object
-
-
passedPercentage:
object
-
- return:
-
arguments:
object
-
-
failedPercentage:
object
-
- return:
-
arguments:
object
-
-
workflowRunSucceededPercentage:
object
-
- return:
-
arguments:
object
-
-
workflowRunFailedPercentage:
object
-
- return:
-
arguments:
object
-
Example
{
"totalWorkflowRuns": {
"return": "number",
"arguments": {}
},
"succeededWorkflowRuns": {
"return": "number",
"arguments": {}
},
"failedWorkflowRuns": {
"return": "number",
"arguments": {}
},
"runningWorkflowRuns": {
"return": "number",
"arguments": {}
},
"averageResiliencyScore": {
"return": "number",
"arguments": {}
},
"totalExperiments": {
"return": "number",
"arguments": {}
},
"experimentsPassed": {
"return": "number",
"arguments": {}
},
"experimentsFailed": {
"return": "number",
"arguments": {}
},
"experimentsAwaited": {
"return": "number",
"arguments": {}
},
"experimentsStopped": {
"return": "number",
"arguments": {}
},
"experimentsNa": {
"return": "number",
"arguments": {}
},
"passedPercentage": {
"return": "number",
"arguments": {}
},
"failedPercentage": {
"return": "number",
"arguments": {}
},
"workflowRunSucceededPercentage": {
"return": "number",
"arguments": {}
},
"workflowRunFailedPercentage": {
"return": "number",
"arguments": {}
}
}
WorkflowRunStatus: string
-
objectAll
-
objectFailed
-
objectRunning
-
objectSucceeded
-
objectTerminated
WorkflowRunsData: object
-
value:
object
-
- return:
-
arguments:
object
-
-
workflowRunDetail:
object
-
- return:
-
arguments:
object
-
Example
{
"value": {
"return": "number",
"arguments": {}
},
"workflowRunDetail": {
"return": {
"noOfRuns": {
"return": "number",
"arguments": {}
},
"dateStamp": {
"return": "number",
"arguments": {}
}
},
"arguments": {}
}
}
WorkflowSortInput: object
Defines sorting options for workflow
- field:
-
Field in which sorting will be done
- descending:
-
Bool value indicating whether the sorting will be done in descending order
Example
{
"field": "string",
"descending": "boolean"
}
WorkflowStat: object
Defines details of workflow statistics
-
schedules:
object
-
Number of schedules
-
- return:
-
arguments:
object
-
-
runs:
object
-
Number of workflow runs
-
- return:
-
arguments:
object
-
-
expRuns:
object
-
Number of experiment runs
-
- return:
-
arguments:
object
-
Example
{
"schedules": {
"return": "number",
"arguments": {}
},
"runs": {
"return": "number",
"arguments": {}
},
"expRuns": {
"return": "number",
"arguments": {}
}
}
WorkflowTemplate: object
Details for a workflow template
-
templateID:
object
-
ID of the template
-
- return:
-
arguments:
object
-
-
manifest:
object
-
Workflow manifest in JSON escaped string
-
- return:
-
arguments:
object
-
-
templateName:
object
-
Name of the template
-
- return:
-
arguments:
object
-
-
templateDescription:
object
-
Description of the template
-
- return:
-
arguments:
object
-
-
projectID:
object
-
ID of the project
-
- return:
-
arguments:
object
-
-
projectName:
object
-
Name of the project
-
- return:
-
arguments:
object
-
-
createdAt:
object
-
Time at which the manifest template was created
-
- return:
-
arguments:
object
-
-
isRemoved:
object
-
Bool value indicating if the workflow template has removed
-
- return:
-
arguments:
object
-
-
isCustomWorkflow:
object
-
Bool value indicating whether the workflow template is a custom or not
-
- return:
-
arguments:
object
-
Example
{
"templateID": {
"return": "object",
"arguments": {}
},
"manifest": {
"return": "string",
"arguments": {}
},
"templateName": {
"return": "string",
"arguments": {}
},
"templateDescription": {
"return": "string",
"arguments": {}
},
"projectID": {
"return": "string",
"arguments": {}
},
"projectName": {
"return": "string",
"arguments": {}
},
"createdAt": {
"return": "string",
"arguments": {}
},
"isRemoved": {
"return": "boolean",
"arguments": {}
},
"isCustomWorkflow": {
"return": "boolean",
"arguments": {}
}
}