Harness Chaos Engineering API Documentation
Harness Chaos Engineering empowers teams to deliver more resilient systems, helping organizations avoid downtime that can be costly, both financially and in lost reputation. It enables DevOps and SRE teams to purposely create failure scenarios (“chaos”) to identify potential resiliency and reliability issues in their deployments. These scenarios go beyond traditional unit, integration, and system tests, more closely representing what random failures in a production operating environment would look like.
Terms of Service
API Endpoints
# Production:
https://app.harness.io/gateway/chaos/manager/api/query
Headers
# Use your API key token for authorization
X-API-KEY: <YOUR_API_KEY_TOKEN_HERE>
# Or use your JWT token for authorization
Authorization: <YOUR_JWT_TOKEN_HERE>
Your First Chaos Experiment
NOTE: These steps assumes you already have an account in Harness, if not, please create a new project or ask your administrator to add you to an existing project in Harness.
Please follow the below guidelines to run your first Chaos experiment Pod Delete:
Sequence in which the APIs should be executed to run a sample chaos experiment such as Pod Delete (all the APIs to do so are present in folder "Run Pod Delete Chaos Experiment" under Harness CE Postman Collection).
Listed below are the required inputs and how to access (or generate) them. We will refer these variables in the API requests explained in this tutorial -
url
This is the Harness CE server URL serving the Chaos API requests. You can find this URL in the Chaos API doc(top right
). For instance, https://app.harness.io/gateway/chaos/manager/api/query is the Harness CE server URL for production environment. If you are using Chaos postman collection, this value will be pre-filled in 2 postman variables like below:
base_url - https://app.harness.io
chaos_url - $base_url/gateway/chaos/manager/api/query
account_id
This is your Harness account Id. Please use the account where you would like to run Chaos experiments.
You can retrieve your account Id by following the below steps:
- Go to
ACCOUNT SETTINGS
in Harness. - Click on
Overview
. - Copy the value of
Account Id
.
project_id
This is your Harness project Id. Please use the project where you would like to run Chaos experiments.
You can retrieve your project Id by following the below steps:
- Go to
Projects
in Harness. - Select the project where you would like to run the Chaos experiments or create a new project.
- Click on
Overview
. - Copy the value of
Id
. - Please make sure to copy the value of
Organization
as well, this will be the value of next required variableorg_id
.
org_id
This is your Harness organization Id. Please use the organization where you would like to run Chaos experiments.
You can retrieve your organization Id by following the below steps: See above step to retrieve project_id - you would have copied the value of org_id as well in that step, if not please follow the same steps again to retrieve organization Id
API-KEY-TOKEN
You can use an existing Harness API key token of the same Harness account selected in above steps or you can create a new one by following the below steps:
- Click on
MY PROFILE
in Harness. - Go to
My API Keys
section and click on+ API Key
button to create a new API Key. - Enter a
Name
for the API Key(optional Description/Tags) and click onSave
. - Under the newly created API Key, click on
+ Token
button to generate a new token for this API Key. - Enter the
Name
and select theExpiration
(time for which this token will be valid) and click onGenerate Token
. - Please make sure to copy the value of the token generated and store somewhere safe, you may not be able to copy this later.
Variables In Harness CE Postman Collection
In order to work with Harness CE Postman Collection, please fork it under your own Postman account and update the above-mentioned variables in order to work with Harness CE Postman Collection.
Authorization Header For API Request
An authorization header with API-KEY-TOKEN value retrieved above is required to work with Chaos APIs i.e., x-api-key: $API-KEY-TOKEN
APIs to be executed in given sequence:
RegisterInfra
Now, we can create/register a chaos infrastructure. Here, we will add a Kubernetes infrastructure so that we can inject Kubernetes resource faults.
Add a name to your chaos infrastructure and optionally a description and tags. After that, choose the mode of installation for Harness delegate. As a quick primer, Harness delegate is a remote agent for accessing your Kubernetes cluster resources and injecting faults into them as part of a chaos experiment. The Cluster Wide installation mode allows you to target resources across all the namespaces in your cluster while Namespace Mode installation restricts chaos injection to only the namespace in which the delegate will be installed. In this tutorial, the delegate will be installed in the hce namespace with Cluster Wide mode, but you can change it.
NOTE: Above values are pre-filled in Harness CE Postman Collection.
Please make sure to note down the value of field token
and infraID
from response, these values will be used in subsequent API calls.
Once above request is executed, retrieve the infrastructure manifest by forming URL as shown below: $chaos_server_url/file/$token.yaml
where $chaos_server_url
would be https://app.harness.io/gateway/chaos/manager/api/
and $token
is the token value retrieved in response of registerInfra
API call as shown in sample response above. An example URL to retrieve infrastructure manifest could look like https://app.harness.io/gateway/chaos/manager/api/file/token-abc.yaml
, copy and save the yaml in a machine where kubectl is installed and has access to your k8s cluster in some file named infra.yaml
.
Lastly, provided that you have access to your Kubernetes cluster via kubectl, deploy your chaos infrastructure by executing the below commands - kubectl apply -f infra.yaml
It will take a while for the delegate to setup in the k8s cluster. Meanwhile, if you want to check the status of your infra, please use the API GetInfraDetails
as explained below.
GetInfraDetails
Optional - If you want to get the details of your newly registered infra or to check if your infra is active or not before creating a Chaos workflow, you can use GetInfraDetails
API - It will return the details of a given infra based on infra ID input. Please make sure to check the value of field isActive
, it should be true
i.e., the infrastructure should be in active
state prior to moving forward.
NOTE: Above values are pre-filled in Harness CE Postman Collection.
ListPredefinedWorkflow
Optional - Required if and only if you want to run a different chaos experiment other than pod-delete, by default, pod delete experiment manifest is present in CreateChaosWorkFlow
API call) - This will list down all the available predefined workflows/experiments that can be run on your infra, please select one of them and copy the manifest from there and make necessary changes such as namespace, etc.
CreateChaosWorkFlow
Please make sure to deploy some sample target application under hce
namespace with label app=cartservice
prior to running this API. With our target application deployed, we can now create a chaos experiment. We will be targeting the pods of the deployed app with the Pod Delete fault. To create the chaos experiment, Add the experiment name and optionally a description and tags. Then, Add the target infrastructure id, which we created previously.
This will allow us to create our chaos experiment with a pod-delete fault configured to target the Online Boutique application.
NOTE: In order to run this API using Harness CE Postman Collection, you just need to update the value of variable infraID
retrieved during registerInfra
API call. The value for workflowManifest
field is pre-filled in the Harness CE postman collection, user does not need to update in case they want to target an application under hce
namespace with label app=cartservice
mentioned in this tutorial.
RunChaosExperiment
Once a workflow is created, you can now execute the experiment by providing the workflow id
from CreateChaosWorkFlow
API call. NOTE: Please note down the value of field notifyID
.
ListWorkflowRun
Optional - Required only if you want to check the details of the workflow currently running - details can be validated by UI as well if user prefers to do so) - It will list down all the workflow runs with the required details for those workflows, this API call can be used to validate if the workflow created by RunChaosExperiment
API call is running or not, completed, etc using the field phase
.
Let's go to Harness CE Postman Collection to see this in action.
Queries
checkResourceID
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CheckResourceIDRequest!
|
Example
Query
query CheckResourceID(
$identifiers: IdentifiersRequest!,
$request: CheckResourceIDRequest!
) {
checkResourceID(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CheckResourceIDRequest
}
Response
{"data": {"checkResourceID": {}}}
getChaosFault
Description
Get the fault details for a requested fault
Response
Returns a FaultDetails!
Arguments
Name | Description |
---|---|
request - ExperimentRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetChaosFault(
$request: ExperimentRequest!,
$identifiers: IdentifiersRequest!
) {
getChaosFault(
request: $request,
identifiers: $identifiers
) {
fault
engine
csv
k8sSpec
}
}
Variables
{
"request": ExperimentRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getChaosFault": {
"fault": "xyz789",
"engine": "xyz789",
"csv": "xyz789",
"k8sSpec": "abc123"
}
}
}
getChaosHub
Description
Get the details of a requested ChaosHub
Response
Returns a ChaosHubStatus!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
chaosHubID - String!
|
Example
Query
query GetChaosHub(
$identifiers: IdentifiersRequest!,
$chaosHubID: String!
) {
getChaosHub(
identifiers: $identifiers,
chaosHubID: $chaosHubID
) {
id
repoName
repoURL
repoBranch
connectorId
connectorScope
AuthType
isAvailable
totalFaults
totalExperiments
name
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
description
}
}
Variables
{
"identifiers": IdentifiersRequest,
"chaosHubID": "xyz789"
}
Response
{
"data": {
"getChaosHub": {
"id": 4,
"repoName": "xyz789",
"repoURL": "abc123",
"repoBranch": "xyz789",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": false,
"totalFaults": 987,
"totalExperiments": 123,
"name": "abc123",
"lastSyncedAt": "abc123",
"isDefault": true,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "xyz789",
"description": "xyz789"
}
}
}
getCondition
Response
Returns a ConditionResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
conditionId - String!
|
Example
Query
query GetCondition(
$identifiers: IdentifiersRequest!,
$conditionId: String!
) {
getCondition(
identifiers: $identifiers,
conditionId: $conditionId
) {
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
condition {
name
description
tags
conditionId
faultSpec {
operator
faults {
faultType
name
}
}
k8sSpec {
infraSpec {
operator
infraIds
}
applicationSpec {
operator
workloads {
label
namespace
}
}
chaosServiceAccountSpec {
operator
serviceAccounts
}
}
rules {
ruleId
name
}
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"conditionId": "xyz789"
}
Response
{
"data": {
"getCondition": {
"updatedAt": 123,
"createdAt": 123,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"identifiers": Identifiers,
"condition": Condition
}
}
}
getExperiment
Description
Returns the experiment based on experiment ID
Response
Returns a GetExperimentResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentID - String!
|
|
getAverageResiliencyScore - Boolean
|
Example
Query
query GetExperiment(
$identifiers: IdentifiersRequest!,
$experimentID: String!,
$getAverageResiliencyScore: Boolean
) {
getExperiment(
identifiers: $identifiers,
experimentID: $experimentID,
getAverageResiliencyScore: $getAverageResiliencyScore
) {
experimentDetails {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowID
workflowType
workflowManifest
cronSyntax
isCronEnabled
name
description
weightages {
experimentName
weightage
}
isCustomWorkflow
updatedAt
createdAt
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
isRemoved
tags
createdBy {
userID
username
email
}
recentWorkflowRunDetails {
workflowRunID
notifyID
phase
resiliencyScore
updatedAt
createdAt
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
runSequence
}
eventsMetadata {
faultName
serviceIdentifier
environmentIdentifier
}
updatedBy {
userID
username
email
}
lastExecutedAt
}
averageResiliencyScore
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentID": "xyz789",
"getAverageResiliencyScore": false
}
Response
{
"data": {
"getExperiment": {
"experimentDetails": Workflow,
"averageResiliencyScore": 987.65
}
}
}
getExperimentRun
Description
Returns experiment run based on experiment run ID
Response
Returns a WorkflowRun!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentRunID - String
|
|
notifyID - String
|
Example
Query
query GetExperimentRun(
$identifiers: IdentifiersRequest!,
$experimentRunID: String,
$notifyID: String
) {
getExperimentRun(
identifiers: $identifiers,
experimentRunID: $experimentRunID,
notifyID: $notifyID
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowRunID
workflowType
workflowID
weightages {
experimentName
weightage
}
updatedAt
createdAt
cronSyntax
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
workflowName
workflowDescription
workflowTags
workflowManifest
isCronEnabled
probe {
faultName
probeName
}
phase
resiliencyScore
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
totalExperiments
executionData
isRemoved
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
notifyID
errorResponse
securityGovernance {
name
type
startedAt
finishedAt
message
phase
securityGovernanceNodeData {
passedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
failedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
skippedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
}
}
runSequence
experimentType
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentRunID": "abc123",
"notifyID": "abc123"
}
Response
{
"data": {
"getExperimentRun": {
"identifiers": Identifiers,
"workflowRunID": 4,
"workflowType": "xyz789",
"workflowID": "4",
"weightages": [Weightages],
"updatedAt": "abc123",
"createdAt": "xyz789",
"cronSyntax": "abc123",
"infra": Infrastructure,
"workflowName": "xyz789",
"workflowDescription": "abc123",
"workflowTags": ["xyz789"],
"workflowManifest": "abc123",
"isCronEnabled": false,
"probe": [ProbeMap],
"phase": "All",
"resiliencyScore": 123.45,
"experimentsPassed": 987,
"experimentsFailed": 123,
"experimentsAwaited": 987,
"experimentsStopped": 123,
"experimentsNa": 987,
"totalExperiments": 123,
"executionData": "abc123",
"isRemoved": false,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"notifyID": "4",
"errorResponse": "xyz789",
"securityGovernance": SecurityGovernance,
"runSequence": 987,
"experimentType": "xyz789"
}
}
}
getExperimentRunReport
Description
Returns experiment run report based on experiment run ID or notify ID (the filters will only work if either of the filters are provided not both)
Response
Returns [ExperimentRunReport!]
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentRunIDs - [String]
|
Returns experiment run report based on experiment run ID |
notifyIDs - [String]
|
Returns experiment run report based on notify ID |
Example
Query
query GetExperimentRunReport(
$identifiers: IdentifiersRequest!,
$experimentRunIDs: [String],
$notifyIDs: [String]
) {
getExperimentRunReport(
identifiers: $identifiers,
experimentRunIDs: $experimentRunIDs,
notifyIDs: $notifyIDs
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowRunID
workflowType
workflowID
weightages {
experimentName
weightage
}
updatedAt
createdAt
cronSyntax
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
workflowName
workflowDescription
workflowTags
workflowManifest
isCronEnabled
probe {
faultName
probeName
}
phase
resiliencyScore
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
totalExperiments
executionData
isRemoved
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
notifyID
errorResponse
securityGovernance {
name
type
startedAt
finishedAt
message
phase
securityGovernanceNodeData {
passedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
failedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
skippedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
duration
endTime
startTime
timeZone
recurrence {
...RecurrenceFragment
}
}
conditions {
conditionId
conditionName
message
phase
}
}
}
}
runSequence
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentRunIDs": ["xyz789"],
"notifyIDs": ["abc123"]
}
Response
{
"data": {
"getExperimentRunReport": [
{
"identifiers": Identifiers,
"workflowRunID": "4",
"workflowType": "xyz789",
"workflowID": "4",
"weightages": [Weightages],
"updatedAt": "abc123",
"createdAt": "abc123",
"cronSyntax": "xyz789",
"infra": [Infrastructure],
"workflowName": "abc123",
"workflowDescription": "abc123",
"workflowTags": ["xyz789"],
"workflowManifest": "abc123",
"isCronEnabled": false,
"probe": [ProbeMap],
"phase": "All",
"resiliencyScore": 123.45,
"experimentsPassed": 123,
"experimentsFailed": 987,
"experimentsAwaited": 987,
"experimentsStopped": 987,
"experimentsNa": 123,
"totalExperiments": 123,
"executionData": "abc123",
"isRemoved": true,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"notifyID": 4,
"errorResponse": "abc123",
"securityGovernance": SecurityGovernance,
"runSequence": 987
}
]
}
}
getGameDay
Response
Returns a GetGameDayResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
gamedayID - String!
|
Example
Query
query GetGameDay(
$identifiers: IdentifiersRequest!,
$gamedayID: String!
) {
getGameDay(
identifiers: $identifiers,
gamedayID: $gamedayID
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfra {
ID
type
name
environmentID
namespace
scope
isActive
}
hubID
experimentNotes
experimentCSV
experimentManifest
}
objective
description
createdBy {
userID
username
email
}
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
totalGamedayRuns
}
}
Variables
{
"identifiers": IdentifiersRequest,
"gamedayID": "abc123"
}
Response
{
"data": {
"getGameDay": {
"gameDayID": "4",
"identifiers": Identifiers,
"name": "abc123",
"experiments": [GetGamedayExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "xyz789",
"summary": GameDaySummary,
"isRemoved": false,
"totalGamedayRuns": 123
}
}
}
getGameDayRun
Response
Returns a GameDayRunResponse
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
gamedayRunID - String!
|
Example
Query
query GetGameDayRun(
$identifiers: IdentifiersRequest!,
$gamedayRunID: String!
) {
getGameDayRun(
identifiers: $identifiers,
gamedayRunID: $gamedayRunID
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"gamedayRunID": "xyz789"
}
Response
{
"data": {
"getGameDayRun": {
"gameDayRunID": "abc123",
"name": "xyz789",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "abc123",
"endTime": "xyz789",
"notes": "xyz789",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "abc123",
"createdAt": "abc123",
"completed": true
}
}
}
getHelmInfraCommand
Description
Returns command required for installation/upgrade of an infrastructure via helm
Response
Returns [String!]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraID - String!
|
Example
Query
query GetHelmInfraCommand(
$identifiers: IdentifiersRequest!,
$infraID: String!
) {
getHelmInfraCommand(
identifiers: $identifiers,
infraID: $infraID
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraID": "abc123"
}
Response
{"data": {"getHelmInfraCommand": [{}]}}
getImageRegistry
Response
Returns an ImageRegistryResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetImageRegistry($identifiers: IdentifiersRequest!) {
getImageRegistry(identifiers: $identifiers) {
identifier {
orgIdentifier
accountIdentifier
projectIdentifier
}
registryServer
registryAccount
isPrivate
secretName
isDefault
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getImageRegistry": {
"identifier": Identifiers,
"registryServer": "xyz789",
"registryAccount": "xyz789",
"isPrivate": true,
"secretName": "xyz789",
"isDefault": false,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "abc123"
}
}
}
getInfra
Description
Returns infra with a particular infraID in the project
Response
Returns a KubernetesInfra!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraID - String!
|
Example
Query
query GetInfra(
$identifiers: IdentifiersRequest!,
$infraID: String!
) {
getInfra(
identifiers: $identifiers,
infraID: $infraID
) {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
isSecretEnabled
runAsUser
runAsGroup
upgrade {
status
isAutoUpgradeEnabled
}
clusterType
}
}
Variables
{
"identifiers": IdentifiersRequest,
"infraID": "abc123"
}
Response
{
"data": {
"getInfra": {
"infraID": "4",
"name": "xyz789",
"description": "xyz789",
"tags": ["xyz789"],
"environmentID": "abc123",
"platformName": "abc123",
"isActive": true,
"isInfraConfirmed": true,
"isRemoved": true,
"updatedAt": "abc123",
"createdAt": "xyz789",
"noOfSchedules": 123,
"noOfWorkflows": 987,
"token": "xyz789",
"infraNamespace": "xyz789",
"serviceAccount": "xyz789",
"infraScope": "namespace",
"infraNsExists": true,
"infraSaExists": true,
"installationType": "CONNECTOR",
"k8sConnectorID": "abc123",
"lastWorkflowTimestamp": "xyz789",
"startTime": "abc123",
"version": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"infraType": "Kubernetes",
"updateStatus": "AVAILABLE",
"isSecretEnabled": false,
"runAsUser": 123,
"runAsGroup": 987,
"upgrade": Upgrade,
"clusterType": "KUBERNETES"
}
}
}
getInfraManifest
Description
Returns the manifest for a given infraID
Response
Returns a String!
Arguments
Name | Description |
---|---|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetInfraManifest(
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
getInfraManifest(
infraID: $infraID,
identifiers: $identifiers
)
}
Variables
{
"infraID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{"data": {"getInfraManifest": {}}}
getInfraStats
Description
Query to get experiment stats
Response
Returns a GetInfraStatsResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetInfraStats($identifiers: IdentifiersRequest!) {
getInfraStats(identifiers: $identifiers) {
totalInfrastructures
totalActiveInfrastructure
totalInactiveInfrastructures
totalConfirmedInfrastructure
totalNonConfirmedInfrastructures
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getInfraStats": {
"totalInfrastructures": 123,
"totalActiveInfrastructure": 987,
"totalInactiveInfrastructures": 123,
"totalConfirmedInfrastructure": 123,
"totalNonConfirmedInfrastructures": 987
}
}
}
getLinuxInfraDetails
Description
Returns infra details based on identifiers
Response
Returns a LinuxInfra!
Arguments
Name | Description |
---|---|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetLinuxInfraDetails(
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
getLinuxInfraDetails(
infraID: $infraID,
identifiers: $identifiers
) {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
Variables
{
"infraID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getLinuxInfraDetails": {
"infraID": "4",
"name": "abc123",
"description": "abc123",
"tags": ["abc123"],
"environmentID": "abc123",
"isActive": false,
"isInfraConfirmed": true,
"isRemoved": true,
"updatedAt": "xyz789",
"createdAt": "abc123",
"noOfSchedules": 987,
"noOfWorkflows": 987,
"lastWorkflowTimestamp": "xyz789",
"startTime": "xyz789",
"version": "abc123",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "xyz789",
"hostname": "abc123"
}
}
}
getLinuxInfraVersionDetails
Description
Query to get the latest version of infra available
Response
Returns an InfraVersionDetails!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetLinuxInfraVersionDetails($identifiers: IdentifiersRequest!) {
getLinuxInfraVersionDetails(identifiers: $identifiers) {
latestVersion
compatibleVersions
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getLinuxInfraVersionDetails": {
"latestVersion": "xyz789",
"compatibleVersions": ["abc123"]
}
}
}
getPredefinedWorkflow
Description
Returns predefined experiment details of selected experiments
Response
Returns [PredefinedWorkflowList!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
experimentName - [String!]!
|
|
showV2Experiments - Boolean
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetPredefinedWorkflow(
$hubID: String!,
$experimentName: [String!]!,
$showV2Experiments: Boolean,
$identifiers: IdentifiersRequest!
) {
getPredefinedWorkflow(
hubID: $hubID,
experimentName: $experimentName,
showV2Experiments: $showV2Experiments,
identifiers: $identifiers
) {
workflowName
workflowCSV
workflowManifest
error
}
}
Variables
{
"hubID": "xyz789",
"experimentName": ["xyz789"],
"showV2Experiments": true,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getPredefinedWorkflow": [
{
"workflowName": "xyz789",
"workflowCSV": "xyz789",
"workflowManifest": "xyz789",
"error": "xyz789"
}
]
}
}
getProbe
Description
Returns a single Probe based on ProbeName and various filter parameters
Response
Returns a Probe!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
probeID - ID!
|
Example
Query
query GetProbe(
$identifiers: IdentifiersRequest!,
$probeID: ID!
) {
getProbe(
identifiers: $identifiers,
probeID: $probeID
) {
probeID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
description
tags
type
infrastructureType
kubernetesHTTPProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
linuxHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
insecureSkipVerify
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
windowsHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
kubernetesCMDProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
verbosity
}
linuxCMDProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
}
kubernetesDatadogProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
datadogCredentialsSecretName
verbosity
}
linuxDatadogProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
}
k8sProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
group
version
resource
namespace
resourceNames
fieldSelector
labelSelector
operation
verbosity
}
kubernetesDynatraceProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
apiTokenSecretName
comparator {
type
value
criteria
}
verbosity
}
linuxDynatraceProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
comparator {
type
value
criteria
}
}
promProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
}
sloProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
evaluationTimeout
stopOnFailure
platformEndpoint
sloIdentifier
evaluationWindow {
evaluationStartTime
evaluationEndTime
}
sloSourceMetadata {
apiTokenSecret
scope {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
comparator {
type
value
criteria
}
verbosity
insecureSkipVerify
}
recentExecutions {
faultName
status {
verdict
description
}
executedByExperiment {
experimentID
experimentRunID
notifyID
experimentName
experimentType
updatedAt
updatedBy {
userID
username
email
}
}
}
referencedBy
isRemoved
isEnabled
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"probeID": "4"
}
Response
{
"data": {
"getProbe": {
"probeID": "4",
"identifiers": Identifiers,
"name": "abc123",
"description": "abc123",
"tags": ["xyz789"],
"type": "httpProbe",
"infrastructureType": "Kubernetes",
"kubernetesHTTPProperties": KubernetesHTTPProbe,
"linuxHTTPProperties": LinuxHTTPProbe,
"windowsHTTPProperties": WindowsHTTPProbe,
"kubernetesCMDProperties": KubernetesCMDProbe,
"linuxCMDProperties": LinuxCMDProbe,
"kubernetesDatadogProperties": KubernetesDatadogProbe,
"linuxDatadogProperties": LinuxDatadogProbe,
"k8sProperties": K8SProbe,
"kubernetesDynatraceProperties": KubernetesDynatraceProbe,
"linuxDynatraceProperties": LinuxDynatraceProbe,
"promProperties": PROMProbe,
"sloProperties": SLOProbe,
"recentExecutions": [ProbeRecentExecutions],
"referencedBy": 987,
"isRemoved": false,
"isEnabled": true,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
}
}
getProbeReference
Description
Returns all the reference of the Probe based on ProbeName
Response
Returns a GetProbeReferenceResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
probeID - ID!
|
Example
Query
query GetProbeReference(
$identifiers: IdentifiersRequest!,
$probeID: ID!
) {
getProbeReference(
identifiers: $identifiers,
probeID: $probeID
) {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
probeID
totalRuns
recentExecutions {
faultName
mode
executionHistory {
mode
faultName
status {
verdict
description
}
executedByExperiment {
experimentID
experimentRunID
notifyID
experimentName
experimentType
updatedAt
updatedBy {
userID
username
email
}
}
}
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"probeID": "4"
}
Response
{
"data": {
"getProbeReference": {
"identifiers": Identifiers,
"probeID": 4,
"totalRuns": 123,
"recentExecutions": [RecentExecutions]
}
}
}
getProbeYAML
Description
Returns the Probe YAML based on ProbeName which can be used in ChaosEngine manifest
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - GetProbeYAMLRequest!
|
Example
Query
query GetProbeYAML(
$identifiers: IdentifiersRequest!,
$request: GetProbeYAMLRequest!
) {
getProbeYAML(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": GetProbeYAMLRequest
}
Response
{"data": {"getProbeYAML": {}}}
getProbesInExperimentRun
Description
Returns all the Probes attached to the requested Experiment Run
Response
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
experimentRunID - String!
|
|
faultName - String!
|
Example
Query
query GetProbesInExperimentRun(
$identifiers: IdentifiersRequest!,
$experimentRunID: String!,
$faultName: String!
) {
getProbesInExperimentRun(
identifiers: $identifiers,
experimentRunID: $experimentRunID,
faultName: $faultName
) {
probe {
probeID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
description
tags
type
infrastructureType
kubernetesHTTPProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
linuxHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
insecureSkipVerify
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
windowsHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
kubernetesCMDProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
verbosity
}
linuxCMDProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
}
kubernetesDatadogProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
datadogCredentialsSecretName
verbosity
}
linuxDatadogProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
}
k8sProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
group
version
resource
namespace
resourceNames
fieldSelector
labelSelector
operation
verbosity
}
kubernetesDynatraceProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
apiTokenSecretName
comparator {
type
value
criteria
}
verbosity
}
linuxDynatraceProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
comparator {
type
value
criteria
}
}
promProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
}
sloProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
evaluationTimeout
stopOnFailure
platformEndpoint
sloIdentifier
evaluationWindow {
evaluationStartTime
evaluationEndTime
}
sloSourceMetadata {
apiTokenSecret
scope {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
comparator {
type
value
criteria
}
verbosity
insecureSkipVerify
}
recentExecutions {
faultName
status {
verdict
description
}
executedByExperiment {
experimentID
experimentRunID
notifyID
experimentName
experimentType
updatedAt
updatedBy {
userID
username
email
}
}
}
referencedBy
isRemoved
isEnabled
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
mode
status {
verdict
description
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"experimentRunID": "xyz789",
"faultName": "abc123"
}
Response
{
"data": {
"getProbesInExperimentRun": [
{
"probe": Probe,
"mode": "SOT",
"status": Status
}
]
}
}
getRule
Response
Returns a RuleResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
ruleId - String!
|
Example
Query
query GetRule(
$identifiers: IdentifiersRequest!,
$ruleId: String!
) {
getRule(
identifiers: $identifiers,
ruleId: $ruleId
) {
createdAt
createdBy {
userID
username
email
}
updatedAt
updatedBy {
userID
username
email
}
rule {
name
tags
description
isEnabled
ruleId
userGroupIds
timeWindows {
duration
endTime
startTime
timeZone
recurrence {
type
spec {
until
value
}
}
}
conditions {
name
description
tags
conditionId
faultSpec {
operator
faults {
faultType
name
}
}
k8sSpec {
infraSpec {
operator
infraIds
}
applicationSpec {
operator
workloads {
...WorkloadFragment
}
}
chaosServiceAccountSpec {
operator
serviceAccounts
}
}
rules {
ruleId
name
}
}
}
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"ruleId": "abc123"
}
Response
{
"data": {
"getRule": {
"createdAt": 987,
"createdBy": UserDetails,
"updatedAt": 123,
"updatedBy": UserDetails,
"rule": Rule,
"identifiers": Identifiers
}
}
}
getVersionDetails
Description
Query to get the latest version of infra available
Response
Returns an InfraVersionDetails!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetVersionDetails($identifiers: IdentifiersRequest!) {
getVersionDetails(identifiers: $identifiers) {
latestVersion
compatibleVersions
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getVersionDetails": {
"latestVersion": "abc123",
"compatibleVersions": ["abc123"]
}
}
}
getWindowsInfraDetails
Description
Returns infra details based on identifiers
Response
Returns a WindowsInfra!
Arguments
Name | Description |
---|---|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query GetWindowsInfraDetails(
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
getWindowsInfraDetails(
infraID: $infraID,
identifiers: $identifiers
) {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
Variables
{
"infraID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"getWindowsInfraDetails": {
"infraID": "4",
"name": "xyz789",
"description": "xyz789",
"tags": ["abc123"],
"environmentID": "abc123",
"isActive": false,
"isInfraConfirmed": false,
"updatedAt": "xyz789",
"createdAt": "abc123",
"noOfSchedules": 123,
"noOfWorkflows": 987,
"lastWorkflowTimestamp": "abc123",
"startTime": "abc123",
"version": "abc123",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"hostname": "xyz789"
}
}
}
getWindowsInfraVersionDetails
Description
Query to get the latest version of infra available
Response
Returns an InfraVersionDetails!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
Example
Query
query GetWindowsInfraVersionDetails($identifiers: IdentifiersRequest!) {
getWindowsInfraVersionDetails(identifiers: $identifiers) {
latestVersion
compatibleVersions
}
}
Variables
{"identifiers": IdentifiersRequest}
Response
{
"data": {
"getWindowsInfraVersionDetails": {
"latestVersion": "xyz789",
"compatibleVersions": ["xyz789"]
}
}
}
listChaosFaults
Description
List the Faults from a ChaosHub
Response
Returns [Chart!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
executionPlane - ExecutionPlane
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query ListChaosFaults(
$hubID: String!,
$executionPlane: ExecutionPlane,
$identifiers: IdentifiersRequest!
) {
listChaosFaults(
hubID: $hubID,
executionPlane: $executionPlane,
identifiers: $identifiers
) {
apiVersion
kind
metadata {
name
version
annotations {
categories
vendor
createdAt
repository
support
chartDescription
}
}
spec {
displayName
categoryDescription
keywords
maturity
maintainers {
name
email
}
minKubeVersion
provider {
name
}
links {
name
url
}
faults {
name
displayName
description
plan
supportedVersion
}
experiments
chaosExpCRDLink
platforms
chaosType
}
packageInfo {
packageName
experiments {
name
CSV
desc
}
}
}
}
Variables
{
"hubID": "xyz789",
"executionPlane": "LINUX",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"listChaosFaults": [
{
"apiVersion": "abc123",
"kind": "abc123",
"metadata": Metadata,
"spec": Spec,
"packageInfo": PackageInformation
}
]
}
}
listChaosHub
Description
Get the status of all the connected ChaosHub
Response
Returns [ChaosHubStatus]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListChaosHubRequest
|
Example
Query
query ListChaosHub(
$identifiers: IdentifiersRequest!,
$request: ListChaosHubRequest
) {
listChaosHub(
identifiers: $identifiers,
request: $request
) {
id
repoName
repoURL
repoBranch
connectorId
connectorScope
AuthType
isAvailable
totalFaults
totalExperiments
name
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
description
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListChaosHubRequest
}
Response
{
"data": {
"listChaosHub": [
{
"id": "4",
"repoName": "xyz789",
"repoURL": "abc123",
"repoBranch": "xyz789",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": false,
"totalFaults": 987,
"totalExperiments": 123,
"name": "xyz789",
"lastSyncedAt": "abc123",
"isDefault": true,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "xyz789",
"description": "abc123"
}
]
}
}
listCondition
Response
Returns a ListConditionResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListConditionRequest!
|
Example
Query
query ListCondition(
$identifiers: IdentifiersRequest!,
$request: ListConditionRequest!
) {
listCondition(
identifiers: $identifiers,
request: $request
) {
totalConditions
conditions {
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
condition {
name
description
tags
conditionId
faultSpec {
operator
faults {
faultType
name
}
}
k8sSpec {
infraSpec {
operator
infraIds
}
applicationSpec {
operator
workloads {
...WorkloadFragment
}
}
chaosServiceAccountSpec {
operator
serviceAccounts
}
}
rules {
ruleId
name
}
}
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListConditionRequest
}
Response
{
"data": {
"listCondition": {
"totalConditions": 987,
"conditions": [ConditionResponse]
}
}
}
listExperimentsWithActiveInfras
Description
Returns the list of experiments with active infras
Response
Returns a ListExperimentsWithActiveInfrasResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListExperimentsWithActiveInfrasRequest!
|
Example
Query
query ListExperimentsWithActiveInfras(
$identifiers: IdentifiersRequest!,
$request: ListExperimentsWithActiveInfrasRequest!
) {
listExperimentsWithActiveInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfExperiments
experiments {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowID
workflowType
workflowManifest
cronSyntax
isCronEnabled
name
description
weightages {
experimentName
weightage
}
isCustomWorkflow
updatedAt
createdAt
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
isRemoved
tags
createdBy {
userID
username
email
}
recentWorkflowRunDetails {
workflowRunID
notifyID
phase
resiliencyScore
updatedAt
createdAt
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
runSequence
}
eventsMetadata {
faultName
serviceIdentifier
environmentIdentifier
}
updatedBy {
userID
username
email
}
lastExecutedAt
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListExperimentsWithActiveInfrasRequest
}
Response
{
"data": {
"listExperimentsWithActiveInfras": {
"totalNoOfExperiments": 123,
"experiments": [Workflow]
}
}
}
listGameDay
Response
Returns a ListGamedayResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListGameDayRequest
|
Example
Query
query ListGameDay(
$identifiers: IdentifiersRequest!,
$request: ListGameDayRequest
) {
listGameDay(
identifiers: $identifiers,
request: $request
) {
totalNoOfGamedays
gamedays {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
tags
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListGameDayRequest
}
Response
{
"data": {
"listGameDay": {
"totalNoOfGamedays": 987,
"gamedays": [GameDayResponse]
}
}
}
listGameDayRuns
Response
Returns [GameDayRunResponse]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListGameDayRunsRequest
|
Example
Query
query ListGameDayRuns(
$identifiers: IdentifiersRequest!,
$request: ListGameDayRunsRequest
) {
listGameDayRuns(
identifiers: $identifiers,
request: $request
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListGameDayRunsRequest
}
Response
{
"data": {
"listGameDayRuns": [
{
"gameDayRunID": "xyz789",
"name": "xyz789",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "abc123",
"endTime": "xyz789",
"notes": "xyz789",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "xyz789",
"createdAt": "abc123",
"completed": true
}
]
}
}
listInfras
Description
Returns infras with a particular infra type in the project
Response
Returns a ListInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListInfraRequest
|
Example
Query
query ListInfras(
$identifiers: IdentifiersRequest!,
$request: ListInfraRequest
) {
listInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
isSecretEnabled
runAsUser
runAsGroup
upgrade {
status
isAutoUpgradeEnabled
}
clusterType
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListInfraRequest
}
Response
{
"data": {
"listInfras": {
"totalNoOfInfras": 123,
"infras": [KubernetesInfra]
}
}
}
listInfrasV2
Description
Returns infras with a particular infra type in the project (without lookup)
Response
Returns a ListInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListInfraRequest
|
Example
Query
query ListInfrasV2(
$identifiers: IdentifiersRequest!,
$request: ListInfraRequest
) {
listInfrasV2(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
platformName
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
token
infraNamespace
serviceAccount
infraScope
infraNsExists
infraSaExists
installationType
k8sConnectorID
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
infraType
updateStatus
isSecretEnabled
runAsUser
runAsGroup
upgrade {
status
isAutoUpgradeEnabled
}
clusterType
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListInfraRequest
}
Response
{
"data": {
"listInfrasV2": {
"totalNoOfInfras": 987,
"infras": [KubernetesInfra]
}
}
}
listInfrasWithExperimentStats
Description
Query to get experiment stats for requested chaos infrastructures
Response
Returns [InfraWithExperimentStats!]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraIDs - [String!]!
|
Example
Query
query ListInfrasWithExperimentStats(
$identifiers: IdentifiersRequest!,
$infraIDs: [String!]!
) {
listInfrasWithExperimentStats(
identifiers: $identifiers,
infraIDs: $infraIDs
) {
infraID
experimentsCount
experimentRunsCount
}
}
Variables
{
"identifiers": IdentifiersRequest,
"infraIDs": ["xyz789"]
}
Response
{
"data": {
"listInfrasWithExperimentStats": [
{
"infraID": "xyz789",
"experimentsCount": 123,
"experimentRunsCount": 123
}
]
}
}
listLinuxInfras
Description
Returns infras with a particular infra type in the project
Response
Returns a ListLinuxInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListLinuxInfraRequest
|
Example
Query
query ListLinuxInfras(
$identifiers: IdentifiersRequest!,
$request: ListLinuxInfraRequest
) {
listLinuxInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
isRemoved
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListLinuxInfraRequest
}
Response
{
"data": {
"listLinuxInfras": {
"totalNoOfInfras": 123,
"infras": [LinuxInfra]
}
}
}
listPredefinedWorkflow
Description
Returns the list of predefined workflows in a project
Response
Returns [PredefinedWorkflowList!]!
Arguments
Name | Description |
---|---|
hubID - String!
|
|
identifiers - IdentifiersRequest!
|
|
showV2Experiments - Boolean
|
Example
Query
query ListPredefinedWorkflow(
$hubID: String!,
$identifiers: IdentifiersRequest!,
$showV2Experiments: Boolean
) {
listPredefinedWorkflow(
hubID: $hubID,
identifiers: $identifiers,
showV2Experiments: $showV2Experiments
) {
workflowName
workflowCSV
workflowManifest
error
}
}
Variables
{
"hubID": "xyz789",
"identifiers": IdentifiersRequest,
"showV2Experiments": true
}
Response
{
"data": {
"listPredefinedWorkflow": [
{
"workflowName": "xyz789",
"workflowCSV": "abc123",
"workflowManifest": "xyz789",
"error": "abc123"
}
]
}
}
listProbes
Description
Returns the list of Probes based on various filter parameters
Response
Returns a ListProbeResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListProbeRequest!
|
Example
Query
query ListProbes(
$identifiers: IdentifiersRequest!,
$request: ListProbeRequest!
) {
listProbes(
identifiers: $identifiers,
request: $request
) {
totalNoOfProbes
probes {
probeID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
description
tags
type
infrastructureType
kubernetesHTTPProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
linuxHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
insecureSkipVerify
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
windowsHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
kubernetesCMDProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
verbosity
}
linuxCMDProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
}
kubernetesDatadogProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
datadogCredentialsSecretName
verbosity
}
linuxDatadogProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
}
k8sProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
group
version
resource
namespace
resourceNames
fieldSelector
labelSelector
operation
verbosity
}
kubernetesDynatraceProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
apiTokenSecretName
comparator {
type
value
criteria
}
verbosity
}
linuxDynatraceProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
comparator {
type
value
criteria
}
}
promProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
}
sloProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
evaluationTimeout
stopOnFailure
platformEndpoint
sloIdentifier
evaluationWindow {
evaluationStartTime
evaluationEndTime
}
sloSourceMetadata {
apiTokenSecret
scope {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
comparator {
type
value
criteria
}
verbosity
insecureSkipVerify
}
recentExecutions {
faultName
status {
verdict
description
}
executedByExperiment {
experimentID
experimentRunID
notifyID
experimentName
experimentType
updatedAt
updatedBy {
userID
username
email
}
}
}
referencedBy
isRemoved
isEnabled
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListProbeRequest
}
Response
{
"data": {
"listProbes": {
"totalNoOfProbes": 987,
"probes": [Probe]
}
}
}
listRule
Response
Returns [RuleResponse]!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListRuleRequest!
|
Example
Query
query ListRule(
$identifiers: IdentifiersRequest!,
$request: ListRuleRequest!
) {
listRule(
identifiers: $identifiers,
request: $request
) {
createdAt
createdBy {
userID
username
email
}
updatedAt
updatedBy {
userID
username
email
}
rule {
name
tags
description
isEnabled
ruleId
userGroupIds
timeWindows {
duration
endTime
startTime
timeZone
recurrence {
type
spec {
until
value
}
}
}
conditions {
name
description
tags
conditionId
faultSpec {
operator
faults {
faultType
name
}
}
k8sSpec {
infraSpec {
operator
infraIds
}
applicationSpec {
operator
workloads {
...WorkloadFragment
}
}
chaosServiceAccountSpec {
operator
serviceAccounts
}
}
rules {
ruleId
name
}
}
}
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListRuleRequest
}
Response
{
"data": {
"listRule": [
{
"createdAt": 123,
"createdBy": UserDetails,
"updatedAt": 987,
"updatedBy": UserDetails,
"rule": Rule,
"identifiers": Identifiers
}
]
}
}
listWindowsInfras
Description
Returns infras with a particular infra type in the project
Response
Returns a ListWindowsInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListWindowsInfraRequest
|
Example
Query
query ListWindowsInfras(
$identifiers: IdentifiersRequest!,
$request: ListWindowsInfraRequest
) {
listWindowsInfras(
identifiers: $identifiers,
request: $request
) {
totalNoOfInfras
infras {
infraID
name
description
tags
environmentID
isActive
isInfraConfirmed
updatedAt
createdAt
noOfSchedules
noOfWorkflows
lastWorkflowTimestamp
startTime
version
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
hostname
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListWindowsInfraRequest
}
Response
{
"data": {
"listWindowsInfras": {
"totalNoOfInfras": 123,
"infras": [WindowsInfra]
}
}
}
listWorkflow
Description
Returns the list of workflows based on various filter parameters
Response
Returns a ListWorkflowResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListWorkflowRequest!
|
Example
Query
query ListWorkflow(
$identifiers: IdentifiersRequest!,
$request: ListWorkflowRequest!
) {
listWorkflow(
identifiers: $identifiers,
request: $request
) {
totalNoOfWorkflows
workflows {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowID
workflowType
workflowManifest
cronSyntax
isCronEnabled
name
description
weightages {
experimentName
weightage
}
isCustomWorkflow
updatedAt
createdAt
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
isRemoved
tags
createdBy {
userID
username
email
}
recentWorkflowRunDetails {
workflowRunID
notifyID
phase
resiliencyScore
updatedAt
createdAt
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
runSequence
}
eventsMetadata {
faultName
serviceIdentifier
environmentIdentifier
}
updatedBy {
userID
username
email
}
lastExecutedAt
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListWorkflowRequest
}
Response
{
"data": {
"listWorkflow": {
"totalNoOfWorkflows": 123,
"workflows": [Workflow]
}
}
}
listWorkflowRun
Description
Returns the list of experiment run based on various filter parameters
Response
Returns a ListWorkflowRunResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ListWorkflowRunRequest!
|
Example
Query
query ListWorkflowRun(
$identifiers: IdentifiersRequest!,
$request: ListWorkflowRunRequest!
) {
listWorkflowRun(
identifiers: $identifiers,
request: $request
) {
totalNoOfWorkflowRuns
workflowRuns {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
workflowRunID
workflowType
workflowID
weightages {
experimentName
weightage
}
updatedAt
createdAt
cronSyntax
infra {
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
environmentID
infraType
infraID
name
description
version
updatedAt
createdAt
isRemoved
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
lastHeartbeat
startTime
isActive
isInfraConfirmed
infraNamespace
clusterType
}
workflowName
workflowDescription
workflowTags
workflowManifest
isCronEnabled
probe {
faultName
probeName
}
phase
resiliencyScore
experimentsPassed
experimentsFailed
experimentsAwaited
experimentsStopped
experimentsNa
totalExperiments
executionData
isRemoved
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
notifyID
errorResponse
securityGovernance {
name
type
startedAt
finishedAt
message
phase
securityGovernanceNodeData {
passedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
...TimeWindowFragment
}
conditions {
...ConditionDetailsFragment
}
}
failedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
...TimeWindowFragment
}
conditions {
...ConditionDetailsFragment
}
}
skippedRules {
ruleId
ruleName
message
description
userGroupIds
timeWindow {
...TimeWindowFragment
}
conditions {
...ConditionDetailsFragment
}
}
}
}
runSequence
experimentType
}
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ListWorkflowRunRequest
}
Response
{
"data": {
"listWorkflowRun": {
"totalNoOfWorkflowRuns": 123,
"workflowRuns": [WorkflowRun]
}
}
}
validateExperimentManifest
Description
Validate Experiment Manifest
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
manifest - String!
|
|
infraID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
query ValidateExperimentManifest(
$manifest: String!,
$infraID: String!,
$identifiers: IdentifiersRequest!
) {
validateExperimentManifest(
manifest: $manifest,
infraID: $infraID,
identifiers: $identifiers
)
}
Variables
{
"manifest": "abc123",
"infraID": "abc123",
"identifiers": IdentifiersRequest
}
Response
{"data": {"validateExperimentManifest": {}}}
validateProbe
Description
Validates if a probe is already present, returns true if unique
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
probeID - ID!
|
|
checkIsRemoved - Boolean
|
Example
Query
query ValidateProbe(
$identifiers: IdentifiersRequest!,
$probeID: ID!,
$checkIsRemoved: Boolean
) {
validateProbe(
identifiers: $identifiers,
probeID: $probeID,
checkIsRemoved: $checkIsRemoved
)
}
Variables
{
"identifiers": IdentifiersRequest,
"probeID": "4",
"checkIsRemoved": false
}
Response
{"data": {"validateProbe": {}}}
Mutations
addChaosHub
Description
Add a ChaosHub (includes the git clone operation)
Response
Returns a ChaosHub!
Arguments
Name | Description |
---|---|
request - ChaosHubRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation AddChaosHub(
$request: ChaosHubRequest!,
$identifiers: IdentifiersRequest!
) {
addChaosHub(
request: $request,
identifiers: $identifiers
) {
id
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
repoName
repoURL
repoBranch
AuthType
connectorId
connectorScope
name
createdAt
updatedAt
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
description
}
}
Variables
{
"request": ChaosHubRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"addChaosHub": {
"id": 4,
"identifiers": Identifiers,
"repoName": "xyz789",
"repoURL": "abc123",
"repoBranch": "xyz789",
"AuthType": "Ssh",
"connectorId": "abc123",
"connectorScope": "ACCOUNT",
"name": "xyz789",
"createdAt": "xyz789",
"updatedAt": "abc123",
"lastSyncedAt": "abc123",
"isDefault": false,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "abc123"
}
}
}
addCondition
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ConditionRequest!
|
Example
Query
mutation AddCondition(
$identifiers: IdentifiersRequest!,
$request: ConditionRequest!
) {
addCondition(
identifiers: $identifiers,
request: $request
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ConditionRequest
}
Response
{
"data": {
"addCondition": {
"message": "abc123",
"correlationId": "abc123",
"response": {}
}
}
}
addProbe
Description
Creates a new Probe
Response
Returns a Probe!
Arguments
Name | Description |
---|---|
request - ProbeRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation AddProbe(
$request: ProbeRequest!,
$identifiers: IdentifiersRequest!
) {
addProbe(
request: $request,
identifiers: $identifiers
) {
probeID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
description
tags
type
infrastructureType
kubernetesHTTPProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
linuxHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
insecureSkipVerify
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
windowsHTTPProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
url
method {
get {
criteria
responseCode
responseBody
}
post {
contentType
body
bodyPath
criteria
responseCode
responseBody
}
}
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
headers {
key
value
}
}
kubernetesCMDProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
verbosity
}
linuxCMDProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
command
comparator {
type
value
criteria
}
source
}
kubernetesDatadogProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
datadogCredentialsSecretName
verbosity
}
linuxDatadogProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
datadogSite
syntheticsTest {
testType
publicId
}
metrics {
datadogQuery
timeFrame
comparator {
type
value
criteria
}
}
}
k8sProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
group
version
resource
namespace
resourceNames
fieldSelector
labelSelector
operation
verbosity
}
kubernetesDynatraceProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
apiTokenSecretName
comparator {
type
value
criteria
}
verbosity
}
linuxDynatraceProperties {
probeTimeout
interval
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
metrics {
metricsSelector
entitySelector
}
timeFrame
comparator {
type
value
criteria
}
}
promProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
stopOnFailure
endpoint
query
queryPath
comparator {
type
value
criteria
}
verbosity
auth {
authType
credentials
credentialsFile
}
tlsConfig {
caFile
certFile
keyFile
insecureSkipVerify
}
}
sloProperties {
probeTimeout
interval
retry
attempt
probePollingInterval
initialDelay
evaluationTimeout
stopOnFailure
platformEndpoint
sloIdentifier
evaluationWindow {
evaluationStartTime
evaluationEndTime
}
sloSourceMetadata {
apiTokenSecret
scope {
orgIdentifier
accountIdentifier
projectIdentifier
}
}
comparator {
type
value
criteria
}
verbosity
insecureSkipVerify
}
recentExecutions {
faultName
status {
verdict
description
}
executedByExperiment {
experimentID
experimentRunID
notifyID
experimentName
experimentType
updatedAt
updatedBy {
userID
username
email
}
}
}
referencedBy
isRemoved
isEnabled
updatedAt
createdAt
updatedBy {
userID
username
email
}
createdBy {
userID
username
email
}
}
}
Variables
{
"request": ProbeRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"addProbe": {
"probeID": 4,
"identifiers": Identifiers,
"name": "abc123",
"description": "xyz789",
"tags": ["xyz789"],
"type": "httpProbe",
"infrastructureType": "Kubernetes",
"kubernetesHTTPProperties": KubernetesHTTPProbe,
"linuxHTTPProperties": LinuxHTTPProbe,
"windowsHTTPProperties": WindowsHTTPProbe,
"kubernetesCMDProperties": KubernetesCMDProbe,
"linuxCMDProperties": LinuxCMDProbe,
"kubernetesDatadogProperties": KubernetesDatadogProbe,
"linuxDatadogProperties": LinuxDatadogProbe,
"k8sProperties": K8SProbe,
"kubernetesDynatraceProperties": KubernetesDynatraceProbe,
"linuxDynatraceProperties": LinuxDynatraceProbe,
"promProperties": PROMProbe,
"sloProperties": SLOProbe,
"recentExecutions": [ProbeRecentExecutions],
"referencedBy": 987,
"isRemoved": false,
"isEnabled": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
}
}
addRule
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RuleInput!
|
Example
Query
mutation AddRule(
$identifiers: IdentifiersRequest!,
$request: RuleInput!
) {
addRule(
identifiers: $identifiers,
request: $request
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RuleInput
}
Response
{
"data": {
"addRule": {
"message": "xyz789",
"correlationId": "xyz789",
"response": {}
}
}
}
createChaosWorkFlow
Description
Creates a new workflow and applies its manifest
Response
Returns a ChaosWorkFlowResponse!
Arguments
Name | Description |
---|---|
request - ChaosWorkFlowRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation CreateChaosWorkFlow(
$request: ChaosWorkFlowRequest!,
$identifiers: IdentifiersRequest!
) {
createChaosWorkFlow(
request: $request,
identifiers: $identifiers
) {
workflowID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
tags
}
}
Variables
{
"request": ChaosWorkFlowRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"createChaosWorkFlow": {
"workflowID": "xyz789",
"identifiers": Identifiers,
"cronSyntax": "abc123",
"workflowName": "xyz789",
"workflowDescription": "abc123",
"isCustomWorkflow": false,
"tags": ["xyz789"]
}
}
}
createGameDay
Response
Returns a GameDay!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CreateGameDayRequest!
|
Example
Query
mutation CreateGameDay(
$identifiers: IdentifiersRequest!,
$request: CreateGameDayRequest!
) {
createGameDay(
identifiers: $identifiers,
request: $request
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CreateGameDayRequest
}
Response
{
"data": {
"createGameDay": {
"gameDayID": 4,
"identifiers": Identifiers,
"name": "xyz789",
"experiments": [ExperimentResponse],
"objective": "abc123",
"description": "abc123",
"createdBy": "xyz789",
"createdAt": "abc123",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": false
}
}
}
createGameDayRun
Response
Returns a GameDayRunResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - CreateGameDayRunRequest!
|
Example
Query
mutation CreateGameDayRun(
$identifiers: IdentifiersRequest!,
$request: CreateGameDayRunRequest!
) {
createGameDayRun(
identifiers: $identifiers,
request: $request
) {
gameDayRunID
name
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
experimentRunIDs
experimentNotes
}
startTime
endTime
notes
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
updatedAt
createdAt
completed
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": CreateGameDayRunRequest
}
Response
{
"data": {
"createGameDayRun": {
"gameDayRunID": "xyz789",
"name": "abc123",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "xyz789",
"endTime": "xyz789",
"notes": "abc123",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"completed": true
}
}
}
createImageRegistry
Response
Returns an ImageRegistryResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ImageRegistryRequest!
|
Example
Query
mutation CreateImageRegistry(
$identifiers: IdentifiersRequest!,
$request: ImageRegistryRequest!
) {
createImageRegistry(
identifiers: $identifiers,
request: $request
) {
identifier {
orgIdentifier
accountIdentifier
projectIdentifier
}
registryServer
registryAccount
isPrivate
secretName
isDefault
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
createdAt
updatedAt
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ImageRegistryRequest
}
Response
{
"data": {
"createImageRegistry": {
"identifier": Identifiers,
"registryServer": "abc123",
"registryAccount": "abc123",
"isPrivate": true,
"secretName": "abc123",
"isDefault": true,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "abc123"
}
}
}
deleteChaosHub
Description
Delete the ChaosHub
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
id - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteChaosHub(
$id: ID!,
$identifiers: IdentifiersRequest!
) {
deleteChaosHub(
id: $id,
identifiers: $identifiers
)
}
Variables
{
"id": "4",
"identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosHub": {}}}
deleteChaosWorkflow
Description
Removes a workflow from infra
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
workflowID - String!
|
|
workflowRunID - String
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteChaosWorkflow(
$workflowID: String!,
$workflowRunID: String,
$identifiers: IdentifiersRequest!
) {
deleteChaosWorkflow(
workflowID: $workflowID,
workflowRunID: $workflowRunID,
identifiers: $identifiers
)
}
Variables
{
"workflowID": "xyz789",
"workflowRunID": "xyz789",
"identifiers": IdentifiersRequest
}
Response
{"data": {"deleteChaosWorkflow": {}}}
deleteCondition
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
conditionId - String!
|
Example
Query
mutation DeleteCondition(
$identifiers: IdentifiersRequest!,
$conditionId: String!
) {
deleteCondition(
identifiers: $identifiers,
conditionId: $conditionId
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"conditionId": "abc123"
}
Response
{
"data": {
"deleteCondition": {
"message": "xyz789",
"correlationId": "abc123",
"response": {}
}
}
}
deleteGameDay
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - DeleteGameDayRequest!
|
Example
Query
mutation DeleteGameDay(
$identifiers: IdentifiersRequest!,
$request: DeleteGameDayRequest!
) {
deleteGameDay(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": DeleteGameDayRequest
}
Response
{"data": {"deleteGameDay": {}}}
deleteInfra
Description
Disconnects an infra and deletes its configuration from the control plane
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraID - String!
|
|
forceDelete - Boolean!
|
Example
Query
mutation DeleteInfra(
$identifiers: IdentifiersRequest!,
$infraID: String!,
$forceDelete: Boolean!
) {
deleteInfra(
identifiers: $identifiers,
infraID: $infraID,
forceDelete: $forceDelete
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraID": "xyz789",
"forceDelete": false
}
Response
{"data": {"deleteInfra": {}}}
deleteLinuxInfras
Description
Disconnects an infra and deletes its configuration from the control plane
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraIDs - [String]!
|
|
forceDelete - Boolean
|
Example
Query
mutation DeleteLinuxInfras(
$identifiers: IdentifiersRequest!,
$infraIDs: [String]!,
$forceDelete: Boolean
) {
deleteLinuxInfras(
identifiers: $identifiers,
infraIDs: $infraIDs,
forceDelete: $forceDelete
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraIDs": ["abc123"],
"forceDelete": true
}
Response
{"data": {"deleteLinuxInfras": {}}}
deleteProbe
Description
Hard delete a Probe
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
probeID - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation DeleteProbe(
$probeID: ID!,
$identifiers: IdentifiersRequest!
) {
deleteProbe(
probeID: $probeID,
identifiers: $identifiers
)
}
Variables
{"probeID": 4, "identifiers": IdentifiersRequest}
Response
{"data": {"deleteProbe": {}}}
deleteRule
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
ruleId - String!
|
Example
Query
mutation DeleteRule(
$identifiers: IdentifiersRequest!,
$ruleId: String!
) {
deleteRule(
identifiers: $identifiers,
ruleId: $ruleId
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"ruleId": "xyz789"
}
Response
{
"data": {
"deleteRule": {
"message": "abc123",
"correlationId": "xyz789",
"response": {}
}
}
}
deleteWindowsInfras
Description
Disconnects an infra and deletes its configuration from the control plane
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraIDs - [String]!
|
|
forceDelete - Boolean
|
Example
Query
mutation DeleteWindowsInfras(
$identifiers: IdentifiersRequest!,
$infraIDs: [String]!,
$forceDelete: Boolean
) {
deleteWindowsInfras(
identifiers: $identifiers,
infraIDs: $infraIDs,
forceDelete: $forceDelete
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraIDs": ["xyz789"],
"forceDelete": true
}
Response
{"data": {"deleteWindowsInfras": {}}}
duplicateGameDay
Response
Returns a GameDay!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - DuplicateGameDayRequest!
|
Example
Query
mutation DuplicateGameDay(
$identifiers: IdentifiersRequest!,
$request: DuplicateGameDayRequest!
) {
duplicateGameDay(
identifiers: $identifiers,
request: $request
) {
gameDayID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
name
experiments {
experimentID
experimentTemplateName
chaosInfraID
hubID
}
objective
description
createdBy
createdAt
updatedAt
summary {
notes
qna {
questionType
optionsMCQ
question
answer
}
actionItem {
item
isDone
}
}
isRemoved
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": DuplicateGameDayRequest
}
Response
{
"data": {
"duplicateGameDay": {
"gameDayID": "4",
"identifiers": Identifiers,
"name": "abc123",
"experiments": [ExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": "abc123",
"createdAt": "abc123",
"updatedAt": "xyz789",
"summary": GameDaySummary,
"isRemoved": true
}
}
}
pushWorkflowToChaosHub
Description
Push workflow to ChaosHub
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - PushWorkflowToChaosHubInput!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation PushWorkflowToChaosHub(
$request: PushWorkflowToChaosHubInput!,
$identifiers: IdentifiersRequest!
) {
pushWorkflowToChaosHub(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": PushWorkflowToChaosHubInput,
"identifiers": IdentifiersRequest
}
Response
{"data": {"pushWorkflowToChaosHub": {}}}
registerInfra
Description
Connect a new infra for a user in a specified project
Response
Returns a RegisterInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RegisterInfraRequest!
|
Example
Query
mutation RegisterInfra(
$identifiers: IdentifiersRequest!,
$request: RegisterInfraRequest!
) {
registerInfra(
identifiers: $identifiers,
request: $request
) {
token
infraID
name
manifest
taskID
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RegisterInfraRequest
}
Response
{
"data": {
"registerInfra": {
"token": "abc123",
"infraID": "xyz789",
"name": "abc123",
"manifest": "xyz789",
"taskID": "abc123"
}
}
}
registerLinuxInfra
Description
Connect a new infra for a user in a specified project
Response
Returns a RegisterLinuxInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RegisterLinuxInfraRequest!
|
Example
Query
mutation RegisterLinuxInfra(
$identifiers: IdentifiersRequest!,
$request: RegisterLinuxInfraRequest!
) {
registerLinuxInfra(
identifiers: $identifiers,
request: $request
) {
infraID
name
accessKey
serverURL
version
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RegisterLinuxInfraRequest
}
Response
{
"data": {
"registerLinuxInfra": {
"infraID": "xyz789",
"name": "abc123",
"accessKey": "xyz789",
"serverURL": "xyz789",
"version": "abc123"
}
}
}
registerWindowsInfra
Description
Connect a new infra for a user in a specified project
Response
Returns a RegisterWindowsInfraResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RegisterWindowsInfraRequest!
|
Example
Query
mutation RegisterWindowsInfra(
$identifiers: IdentifiersRequest!,
$request: RegisterWindowsInfraRequest!
) {
registerWindowsInfra(
identifiers: $identifiers,
request: $request
) {
infraID
name
accessKey
serverURL
version
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RegisterWindowsInfraRequest
}
Response
{
"data": {
"registerWindowsInfra": {
"infraID": "abc123",
"name": "abc123",
"accessKey": "abc123",
"serverURL": "xyz789",
"version": "abc123"
}
}
}
runChaosExperiment
Description
Run the chaos experiment (used by frontend)
Response
Returns a RunChaosExperimentResponse!
Arguments
Name | Description |
---|---|
workflowID - String!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation RunChaosExperiment(
$workflowID: String!,
$identifiers: IdentifiersRequest!
) {
runChaosExperiment(
workflowID: $workflowID,
identifiers: $identifiers
) {
notifyID
}
}
Variables
{
"workflowID": "abc123",
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"runChaosExperiment": {"notifyID": "4"}
}
}
runPipelineExperiment
Description
Run the Pipeline experiment (used by CD pipeline)
Response
Returns a RunChaosExperimentResponse!
Arguments
Name | Description |
---|---|
workflowID - String!
|
|
identifiers - IdentifiersRequest!
|
|
metaData - RunPipelineExperimentMetaData!
|
Example
Query
mutation RunPipelineExperiment(
$workflowID: String!,
$identifiers: IdentifiersRequest!,
$metaData: RunPipelineExperimentMetaData!
) {
runPipelineExperiment(
workflowID: $workflowID,
identifiers: $identifiers,
metaData: $metaData
) {
notifyID
}
}
Variables
{
"workflowID": "xyz789",
"identifiers": IdentifiersRequest,
"metaData": RunPipelineExperimentMetaData
}
Response
{
"data": {
"runPipelineExperiment": {
"notifyID": "4"
}
}
}
saveChaosExperiment
Description
Saves a new experiment or updates if already exists
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - ChaosExperimentRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation SaveChaosExperiment(
$request: ChaosExperimentRequest!,
$identifiers: IdentifiersRequest!
) {
saveChaosExperiment(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": ChaosExperimentRequest,
"identifiers": IdentifiersRequest
}
Response
{"data": {"saveChaosExperiment": {}}}
stopGameDayRun
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - StopGameDayRunRequest
|
Example
Query
mutation StopGameDayRun(
$identifiers: IdentifiersRequest!,
$request: StopGameDayRunRequest
) {
stopGameDayRun(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": StopGameDayRunRequest
}
Response
{"data": {"stopGameDayRun": {}}}
stopWorkflowRuns
Description
stopWorkflow will halt all the running runs of a particular workflow
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
workflowID - String!
|
|
workflowRunID - String
|
|
notifyID - String
|
|
infraType - InfrastructureType
|
Example
Query
mutation StopWorkflowRuns(
$identifiers: IdentifiersRequest!,
$workflowID: String!,
$workflowRunID: String,
$notifyID: String,
$infraType: InfrastructureType
) {
stopWorkflowRuns(
identifiers: $identifiers,
workflowID: $workflowID,
workflowRunID: $workflowRunID,
notifyID: $notifyID,
infraType: $infraType
)
}
Variables
{
"identifiers": IdentifiersRequest,
"workflowID": "abc123",
"workflowRunID": "abc123",
"notifyID": "abc123",
"infraType": "Kubernetes"
}
Response
{"data": {"stopWorkflowRuns": {}}}
syncChaosHub
Description
Sync changes from the Git repository of a ChaosHub
Response
Returns a String!
Arguments
Name | Description |
---|---|
id - ID!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation SyncChaosHub(
$id: ID!,
$identifiers: IdentifiersRequest!
) {
syncChaosHub(
id: $id,
identifiers: $identifiers
)
}
Variables
{
"id": "4",
"identifiers": IdentifiersRequest
}
Response
{"data": {"syncChaosHub": {}}}
testKubernetesInfraConnection
Description
Send heartbeat task to the k8s infra subscriber
Response
Returns a Boolean!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraId - String!
|
Example
Query
mutation TestKubernetesInfraConnection(
$identifiers: IdentifiersRequest!,
$infraId: String!
) {
testKubernetesInfraConnection(
identifiers: $identifiers,
infraId: $infraId
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraId": "abc123"
}
Response
{"data": {"testKubernetesInfraConnection": {}}}
tuneRule
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
ruleId - String!
|
|
enable - Boolean!
|
Example
Query
mutation TuneRule(
$identifiers: IdentifiersRequest!,
$ruleId: String!,
$enable: Boolean!
) {
tuneRule(
identifiers: $identifiers,
ruleId: $ruleId,
enable: $enable
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"ruleId": "xyz789",
"enable": true
}
Response
{
"data": {
"tuneRule": {
"message": "abc123",
"correlationId": "abc123",
"response": {}
}
}
}
updateChaosHub
Description
Update the configuration of a ChaosHub
Response
Returns a ChaosHub!
Arguments
Name | Description |
---|---|
id - ID!
|
|
request - ChaosHubRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateChaosHub(
$id: ID!,
$request: ChaosHubRequest!,
$identifiers: IdentifiersRequest!
) {
updateChaosHub(
id: $id,
request: $request,
identifiers: $identifiers
) {
id
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
repoName
repoURL
repoBranch
AuthType
connectorId
connectorScope
name
createdAt
updatedAt
lastSyncedAt
isDefault
tags
createdBy {
userID
username
email
}
updatedBy {
userID
username
email
}
description
}
}
Variables
{
"id": "4",
"request": ChaosHubRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"updateChaosHub": {
"id": 4,
"identifiers": Identifiers,
"repoName": "xyz789",
"repoURL": "abc123",
"repoBranch": "abc123",
"AuthType": "Ssh",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"name": "xyz789",
"createdAt": "xyz789",
"updatedAt": "abc123",
"lastSyncedAt": "abc123",
"isDefault": true,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "xyz789"
}
}
}
updateChaosWorkflow
Description
Updates the workflow
Response
Returns a ChaosWorkFlowResponse!
Arguments
Name | Description |
---|---|
request - ChaosWorkFlowRequest
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateChaosWorkflow(
$request: ChaosWorkFlowRequest,
$identifiers: IdentifiersRequest!
) {
updateChaosWorkflow(
request: $request,
identifiers: $identifiers
) {
workflowID
identifiers {
orgIdentifier
accountIdentifier
projectIdentifier
}
cronSyntax
workflowName
workflowDescription
isCustomWorkflow
tags
}
}
Variables
{
"request": ChaosWorkFlowRequest,
"identifiers": IdentifiersRequest
}
Response
{
"data": {
"updateChaosWorkflow": {
"workflowID": "abc123",
"identifiers": Identifiers,
"cronSyntax": "xyz789",
"workflowName": "xyz789",
"workflowDescription": "xyz789",
"isCustomWorkflow": false,
"tags": ["abc123"]
}
}
}
updateCondition
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ConditionRequest!
|
Example
Query
mutation UpdateCondition(
$identifiers: IdentifiersRequest!,
$request: ConditionRequest!
) {
updateCondition(
identifiers: $identifiers,
request: $request
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ConditionRequest
}
Response
{
"data": {
"updateCondition": {
"message": "abc123",
"correlationId": "xyz789",
"response": {}
}
}
}
updateCronExperimentState
Description
Enable/Disable cron experiment state, it returns a list of successful and failed experiment IDs
Response
Returns an UpdateCronExperimentStateResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateCronExperimentStateRequest!
|
Example
Query
mutation UpdateCronExperimentState(
$identifiers: IdentifiersRequest!,
$request: UpdateCronExperimentStateRequest!
) {
updateCronExperimentState(
identifiers: $identifiers,
request: $request
) {
successIDs
failedIDs
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateCronExperimentStateRequest
}
Response
{
"data": {
"updateCronExperimentState": {
"successIDs": ["xyz789"],
"failedIDs": ["abc123"]
}
}
}
updateExperimentNotes
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateExperimentNotesRequest
|
Example
Query
mutation UpdateExperimentNotes(
$identifiers: IdentifiersRequest!,
$request: UpdateExperimentNotesRequest
) {
updateExperimentNotes(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateExperimentNotesRequest
}
Response
{"data": {"updateExperimentNotes": {}}}
updateGameDay
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayRequest!
|
Example
Query
mutation UpdateGameDay(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayRequest!
) {
updateGameDay(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayRequest
}
Response
{"data": {"updateGameDay": {}}}
updateGameDayExperiments
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayExperimentsRequest!
|
Example
Query
mutation UpdateGameDayExperiments(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayExperimentsRequest!
) {
updateGameDayExperiments(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayExperimentsRequest
}
Response
{"data": {"updateGameDayExperiments": {}}}
updateGameDayRun
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateGameDayRunRequest!
|
Example
Query
mutation UpdateGameDayRun(
$identifiers: IdentifiersRequest!,
$request: UpdateGameDayRunRequest!
) {
updateGameDayRun(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateGameDayRunRequest
}
Response
{"data": {"updateGameDayRun": {}}}
updateImageRegistry
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - ImageRegistryRequest!
|
Example
Query
mutation UpdateImageRegistry(
$identifiers: IdentifiersRequest!,
$request: ImageRegistryRequest!
) {
updateImageRegistry(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": ImageRegistryRequest
}
Response
{"data": {"updateImageRegistry": {}}}
updateK8sInfra
Description
Updates the details of a given infrastructure in the dB
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateInfraRequest!
|
Example
Query
mutation UpdateK8sInfra(
$identifiers: IdentifiersRequest!,
$request: UpdateInfraRequest!
) {
updateK8sInfra(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateInfraRequest
}
Response
{"data": {"updateK8sInfra": {}}}
updateProbe
Description
Update the configuration of a Probe
Response
Returns a String!
Arguments
Name | Description |
---|---|
request - ProbeRequest!
|
|
identifiers - IdentifiersRequest!
|
Example
Query
mutation UpdateProbe(
$request: ProbeRequest!,
$identifiers: IdentifiersRequest!
) {
updateProbe(
request: $request,
identifiers: $identifiers
)
}
Variables
{
"request": ProbeRequest,
"identifiers": IdentifiersRequest
}
Response
{"data": {"updateProbe": {}}}
updateRule
Response
Returns a StandardResponse!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - RuleInput!
|
Example
Query
mutation UpdateRule(
$identifiers: IdentifiersRequest!,
$request: RuleInput!
) {
updateRule(
identifiers: $identifiers,
request: $request
) {
message
correlationId
response
}
}
Variables
{
"identifiers": IdentifiersRequest,
"request": RuleInput
}
Response
{
"data": {
"updateRule": {
"message": "xyz789",
"correlationId": "xyz789",
"response": {}
}
}
}
updateSummary
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
request - UpdateSummaryRequest!
|
Example
Query
mutation UpdateSummary(
$identifiers: IdentifiersRequest!,
$request: UpdateSummaryRequest!
) {
updateSummary(
identifiers: $identifiers,
request: $request
)
}
Variables
{
"identifiers": IdentifiersRequest,
"request": UpdateSummaryRequest
}
Response
{"data": {"updateSummary": {}}}
upgradeK8sInfra
Description
Launches an on-demand upgrade job to bring the infra up to the latest version
Response
Returns a String!
Arguments
Name | Description |
---|---|
identifiers - IdentifiersRequest!
|
|
infraId - String!
|
Example
Query
mutation UpgradeK8sInfra(
$identifiers: IdentifiersRequest!,
$infraId: String!
) {
upgradeK8sInfra(
identifiers: $identifiers,
infraId: $infraId
)
}
Variables
{
"identifiers": IdentifiersRequest,
"infraId": "xyz789"
}
Response
{"data": {"upgradeK8sInfra": {}}}
Types
ActionItemRequest
ActionItems
Annotation
Example
{
"categories": "abc123",
"vendor": "xyz789",
"createdAt": "abc123",
"repository": "abc123",
"support": "abc123",
"chartDescription": "abc123"
}
ApplicationSpec
Fields
Field Name | Description |
---|---|
operator - Operator!
|
|
workloads - [Workload!]!
|
Example
{"operator": "EQUAL_TO", "workloads": [Workload]}
ApplicationSpecInput
Fields
Input Field | Description |
---|---|
operator - Operator!
|
|
workloads - [WorkloadInput!]!
|
Example
{}
Audit
Fields
Field Name | Description |
---|---|
updatedAt - String
|
|
createdAt - String
|
|
updatedBy - UserDetails
|
|
createdBy - UserDetails
|
Example
{
"updatedAt": "abc123",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
AuditV2
Fields
Field Name | Description |
---|---|
updatedAt - Int
|
|
createdAt - Int
|
|
updatedBy - UserDetails
|
|
createdBy - UserDetails
|
Possible Types
AuditV2 Types |
---|
Example
{
"updatedAt": 123,
"createdAt": 987,
"updatedBy": UserDetails,
"createdBy": UserDetails
}
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
{}
ChaosExperimentRequest
Description
Defines the details for a chaos experiment
Fields
Input Field | Description |
---|---|
id - String!
|
ID of the experiment |
name - String!
|
Name of the experiment |
description - String
|
Description of the experiment |
manifest - String!
|
Manifest of the experiment |
eventsMetadata - [EventMetadataInput!]
|
Array containing service identifier and environment identifier for SRM change source events |
infraID - ID!
|
ID of the target infrastructure in which the experiment will run |
tags - [String!]
|
Tags of the infrastructure |
infraType - InfrastructureType
|
Type of the infrastructure |
validateManifest - Boolean
|
Validate the experiment manifest |
cronSyntax - String
|
Cron syntax of the workflow schedule |
experimentType - WorkflowType
|
type of experiment |
Example
{}
ChaosHub
Fields
Field Name | Description |
---|---|
id - ID!
|
ID of the chaos hub |
identifiers - Identifiers!
|
Harness identifiers |
repoName - String
|
Name of the repository if connector is of Account type |
repoURL - String!
|
URL of the git repository |
repoBranch - String!
|
Branch of the git repository |
AuthType - ChaosHubAuthType!
|
AuthType |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
name - String!
|
Name of the chaos hub |
createdAt - String!
|
Timestamp when the chaos hub was created |
updatedAt - String!
|
Timestamp when the chaos hub was last updated |
lastSyncedAt - String!
|
Timestamp when the chaos hub was last synced |
isDefault - Boolean!
|
Default Hub Identifier |
tags - [String!]
|
Tags of the ChaosHub |
createdBy - UserDetails
|
User who created the ChaosHub |
updatedBy - UserDetails
|
User who has updated the ChaosHub |
description - String
|
Description of ChaosHub |
Example
{
"id": "4",
"identifiers": Identifiers,
"repoName": "abc123",
"repoURL": "abc123",
"repoBranch": "abc123",
"AuthType": "Ssh",
"connectorId": "abc123",
"connectorScope": "ACCOUNT",
"name": "xyz789",
"createdAt": "abc123",
"updatedAt": "xyz789",
"lastSyncedAt": "abc123",
"isDefault": false,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"description": "abc123"
}
ChaosHubAuthType
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
ChaosHubFilterInput
ChaosHubRequest
Description
Defines the details required for creating a chaos hub
Fields
Input Field | Description |
---|---|
hubName - String!
|
Name of the chaos hub |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
repoName - String
|
Repo name of the git repository |
repoBranch - String!
|
Branch of the git repository |
tags - [String!]
|
Tags of the ChaosHub |
description - String
|
Description of ChaosHub |
Example
{}
ChaosHubStatus
Fields
Field Name | Description |
---|---|
id - ID!
|
ID of the hub |
repoName - String
|
Name of the repository if connector is of Account type |
repoURL - String!
|
URL of the git repository |
repoBranch - String!
|
Branch of the git repository |
connectorId - String!
|
Name of the GitConnectorId |
connectorScope - ConnectorScope!
|
Name of the ConnectorScope |
AuthType - ChaosHubAuthType!
|
AuthType |
isAvailable - Boolean!
|
Bool value indicating whether the hub is available or not. |
totalFaults - Int!
|
Total number of experiments in the hub |
totalExperiments - Int!
|
Total workflows |
name - String!
|
Name of the chaos hub |
lastSyncedAt - String!
|
Timestamp when the chaos hub was last synced |
isDefault - Boolean!
|
Default Hub Identifier |
tags - [String!]
|
Tags of the ChaosHub |
createdBy - UserDetails
|
User who created the ChaosHub |
updatedBy - UserDetails
|
User who has updated the ChaosHub |
createdAt - String!
|
Created at timestamp |
updatedAt - String!
|
Updated at timestamp |
description - String
|
Description of ChaosHub |
Example
{
"id": "4",
"repoName": "abc123",
"repoURL": "abc123",
"repoBranch": "abc123",
"connectorId": "xyz789",
"connectorScope": "ACCOUNT",
"AuthType": "Ssh",
"isAvailable": true,
"totalFaults": 987,
"totalExperiments": 987,
"name": "xyz789",
"lastSyncedAt": "abc123",
"isDefault": false,
"tags": ["xyz789"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "xyz789",
"description": "abc123"
}
ChaosServiceAccountSpec
Fields
Field Name | Description |
---|---|
operator - Operator!
|
|
serviceAccounts - [String!]!
|
Example
{
"operator": "EQUAL_TO",
"serviceAccounts": ["abc123"]
}
ChaosServiceAccountSpecInput
Fields
Input Field | Description |
---|---|
operator - Operator!
|
|
serviceAccounts - [String!]!
|
Example
{}
ChaosWorkFlowRequest
Description
Defines the details for a chaos workflow
Fields
Input Field | Description |
---|---|
workflowID - String
|
ID of the workflow |
runExperiment - Boolean
|
Boolean check indicating if the created scenario will be executed or not |
workflowManifest - String!
|
Manifest of the workflow |
workflowType - WorkflowType
|
Type of the workflow |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
workflowName - String!
|
Name of the workflow |
workflowDescription - String!
|
Description of the workflow |
weightages - [WeightagesInput!]!
|
Array containing weightage and name of each chaos experiment in the workflow |
eventsMetadata - [EventMetadataInput!]
|
Array containing service identifier and environment identifier for SRM change source events |
isCustomWorkflow - Boolean!
|
Bool value indicating whether the workflow is a custom workflow or not |
infraID - ID!
|
ID of the target infra in which the workflow will run |
tags - [String!]
|
Tags of the infra |
infraType - InfrastructureType
|
Type of the infra |
Example
{}
ChaosWorkFlowResponse
Description
Defines the response received for querying the details of chaos workflow
Fields
Field Name | Description |
---|---|
workflowID - String!
|
ID of the workflow |
identifiers - Identifiers!
|
Harness Identifiers |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
workflowName - String!
|
Name of the workflow |
workflowDescription - String!
|
Description of the workflow |
isCustomWorkflow - Boolean!
|
Bool value indicating whether the workflow is a custom workflow or not |
tags - [String!]
|
Tags of the infra |
Example
{
"workflowID": "abc123",
"identifiers": Identifiers,
"cronSyntax": "xyz789",
"workflowName": "xyz789",
"workflowDescription": "abc123",
"isCustomWorkflow": false,
"tags": ["xyz789"]
}
Chart
Fields
Field Name | Description |
---|---|
apiVersion - String!
|
|
kind - String!
|
|
metadata - Metadata!
|
|
spec - Spec!
|
|
packageInfo - PackageInformation!
|
Example
{
"apiVersion": "abc123",
"kind": "abc123",
"metadata": Metadata,
"spec": Spec,
"packageInfo": PackageInformation
}
CheckResourceIDRequest
Fields
Input Field | Description |
---|---|
resourceName - ResourceType!
|
|
ID - ID!
|
Example
{}
ClusterType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
CommonProbeProperties
Description
Defines the common probe properties shared across different ProbeTypes
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
verbosity - String
|
Verbosity for the probe logging |
Possible Types
CommonProbeProperties Types |
---|
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"retry": 123,
"attempt": 123,
"probePollingInterval": "abc123",
"initialDelay": "abc123",
"stopOnFailure": false,
"verbosity": "abc123"
}
Comparator
ComparatorInput
Condition
Fields
Field Name | Description |
---|---|
name - String!
|
|
description - String
|
|
tags - [String!]
|
|
conditionId - String!
|
|
faultSpec - FaultSpec!
|
|
k8sSpec - K8sSpec!
|
|
rules - [ConditionRule]
|
Example
{
"name": "xyz789",
"description": "abc123",
"tags": ["abc123"],
"conditionId": "abc123",
"faultSpec": FaultSpec,
"k8sSpec": K8sSpec,
"rules": [ConditionRule]
}
ConditionDetails
Fields
Field Name | Description |
---|---|
conditionId - String
|
|
conditionName - String
|
|
message - String
|
|
phase - SecurityGovernancePhase
|
Example
{
"conditionId": "abc123",
"conditionName": "abc123",
"message": "xyz789",
"phase": "Passed"
}
ConditionFilterInput
ConditionRequest
Fields
Input Field | Description |
---|---|
conditionId - String!
|
|
description - String
|
|
name - String!
|
|
tags - [String]
|
|
faultSpec - FaultSpecInput!
|
|
k8sSpec - K8sSpecInput!
|
Example
{}
ConditionResponse
Fields
Field Name | Description |
---|---|
updatedAt - Int!
|
|
createdAt - Int!
|
|
updatedBy - UserDetails
|
|
createdBy - UserDetails
|
|
identifiers - Identifiers!
|
|
condition - Condition!
|
Example
{
"updatedAt": 123,
"createdAt": 123,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"identifiers": Identifiers,
"condition": Condition
}
ConditionRule
ConnectorScope
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
CreateGameDayRequest
Fields
Input Field | Description |
---|---|
ID - String!
|
|
name - String!
|
|
experiments - [NonCronExperiment!]!
|
|
objective - String
|
|
description - String
|
Example
{}
CreateGameDayRunRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
DatadogMetrics
Description
Raw metrics details of the datadog probe
Fields
Field Name | Description |
---|---|
datadogQuery - String!
|
Query to get Datadog metrics |
timeFrame - String!
|
Timeframe of the metric |
comparator - Comparator!
|
Comparator check for the correctness of the probe output |
Example
{
"datadogQuery": "xyz789",
"timeFrame": "abc123",
"comparator": Comparator
}
DatadogMetricsInput
Description
Defines the input for Raw metrics details of the datadog probe
Fields
Input Field | Description |
---|---|
datadogQuery - String!
|
Query to get Datadog metrics |
timeFrame - String!
|
Timeframe of the metric |
comparator - ComparatorInput!
|
Comparator check for the correctness of the probe output |
Example
{}
DatadogSyntheticsTestType
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
DateRange
DeleteGameDayRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
DuplicateGameDayRequest
Fields
Input Field | Description |
---|---|
gamedayID - String!
|
Example
{}
EvaluationWindow
EvaluationWindowInput
EventMetadata
Fields
Field Name | Description |
---|---|
faultName - String!
|
|
serviceIdentifier - [String!]!
|
|
environmentIdentifier - [String!]!
|
Example
{
"faultName": "abc123",
"serviceIdentifier": ["xyz789"],
"environmentIdentifier": ["abc123"]
}
EventMetadataInput
Fields
Input Field | Description |
---|---|
faultName - String!
|
|
serviceIdentifier - [String!]!
|
|
environmentIdentifier - [String!]!
|
Example
{}
ExecutedByExperiment
Description
Defines the Executed by which experiment details for Probes
Fields
Field Name | Description |
---|---|
experimentID - String!
|
Experiment ID |
experimentRunID - String!
|
Experiment Run ID |
notifyID - String!
|
Notify ID |
experimentName - String!
|
Experiment Name |
experimentType - ScenarioType!
|
Type of the experiment i.e. CRON, NON_CRON or Gameday |
updatedAt - Int!
|
Timestamp at which the experiment was last updated |
updatedBy - UserDetails
|
User who has updated the experiment |
Example
{
"experimentID": "abc123",
"experimentRunID": "abc123",
"notifyID": "xyz789",
"experimentName": "xyz789",
"experimentType": "CRON",
"updatedAt": 987,
"updatedBy": UserDetails
}
ExecutionHistory
Description
Defines the Execution History of experiment referenced by the Probe
Fields
Field Name | Description |
---|---|
mode - Mode!
|
Probe Mode |
faultName - String!
|
Fault Name |
status - Status!
|
Fault Status |
executedByExperiment - ExecutedByExperiment!
|
Fault executed by which experiment |
Example
{
"mode": "SOT",
"faultName": "xyz789",
"status": Status,
"executedByExperiment": ExecutedByExperiment
}
ExecutionPlane
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
{}
ExperimentInfoInput
ExperimentRequest
ExperimentResponse
ExperimentRunReport
Description
Defines the details of a experiment run report
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
workflowRunID - ID!
|
ID of the workflow run which is to be queried |
workflowType - String
|
Type of the workflow |
workflowID - ID!
|
ID of the workflow |
weightages - [Weightages!]!
|
Array containing weightage and name of each chaos experiment in the workflow |
updatedAt - String!
|
Timestamp at which workflow run was last updated |
createdAt - String!
|
Timestamp at which workflow run was created |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
infra - [Infrastructure]!
|
Target infra in which the workflow will run |
workflowName - String!
|
Name of the workflow |
workflowDescription - String
|
Description of the workflow |
workflowTags - [String!]
|
Tag of the workflow |
workflowManifest - String!
|
Manifest of the workflow run |
isCronEnabled - Boolean
|
If cron is enabled or disabled |
probe - [ProbeMap!]!
|
Probe object containing reference of probeIDs |
phase - WorkflowRunStatus!
|
Phase of the workflow run |
resiliencyScore - Float
|
Resiliency score of the workflow |
experimentsPassed - Int
|
Number of experiments passed |
experimentsFailed - Int
|
Number of experiments failed |
experimentsAwaited - Int
|
Number of experiments awaited |
experimentsStopped - Int
|
Number of experiments stopped |
experimentsNa - Int
|
Number of experiments which are not available |
totalExperiments - Int
|
Total number of experiments |
executionData - String!
|
Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments |
isRemoved - Boolean
|
Bool value indicating if the workflow run has removed |
updatedBy - UserDetails
|
User who has updated the workflow |
createdBy - UserDetails
|
User who has created the experiment run |
notifyID - ID
|
Notify ID of the experiment run |
errorResponse - String
|
Error Response is the reason why experiment failed to run |
securityGovernance - SecurityGovernance
|
Security Governance details of the workflow run |
runSequence - Int!
|
runSequence is the sequence number of experiment run |
Example
{
"identifiers": Identifiers,
"workflowRunID": 4,
"workflowType": "xyz789",
"workflowID": "4",
"weightages": [Weightages],
"updatedAt": "xyz789",
"createdAt": "abc123",
"cronSyntax": "xyz789",
"infra": [Infrastructure],
"workflowName": "xyz789",
"workflowDescription": "abc123",
"workflowTags": ["xyz789"],
"workflowManifest": "xyz789",
"isCronEnabled": false,
"probe": [ProbeMap],
"phase": "All",
"resiliencyScore": 987.65,
"experimentsPassed": 123,
"experimentsFailed": 987,
"experimentsAwaited": 123,
"experimentsStopped": 987,
"experimentsNa": 123,
"totalExperiments": 987,
"executionData": "xyz789",
"isRemoved": true,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"notifyID": "4",
"errorResponse": "xyz789",
"securityGovernance": SecurityGovernance,
"runSequence": 987
}
Experiments
Fault
Fields
Input Field | Description |
---|---|
faultType - FaultType!
|
|
name - String!
|
Example
{}
FaultDetails
Description
Fault Detail consists of all the fault related details
Example
{
"fault": "xyz789",
"engine": "xyz789",
"csv": "abc123",
"k8sSpec": "abc123"
}
FaultList
FaultResponse
Fields
Field Name | Description |
---|---|
faultType - FaultType!
|
|
name - String!
|
Example
{
"faultType": "FAULT_GROUP",
"name": "abc123"
}
FaultSpec
Fields
Field Name | Description |
---|---|
operator - Operator!
|
|
faults - [FaultResponse!]!
|
Example
{"operator": "EQUAL_TO", "faults": [FaultResponse]}
FaultSpecInput
FaultType
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
{}
GET
GETRequest
GameDay
Fields
Field Name | Description |
---|---|
gameDayID - ID
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
experiments - [ExperimentResponse!]!
|
|
objective - String
|
|
description - String
|
|
createdBy - String!
|
|
createdAt - String!
|
|
updatedAt - String!
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean!
|
Example
{
"gameDayID": "4",
"identifiers": Identifiers,
"name": "abc123",
"experiments": [ExperimentResponse],
"objective": "abc123",
"description": "xyz789",
"createdBy": "xyz789",
"createdAt": "xyz789",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": false
}
GameDayResponse
Fields
Field Name | Description |
---|---|
gameDayID - ID!
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
tags - [String!]
|
|
experiments - [ExperimentResponse!]!
|
|
objective - String
|
|
description - String
|
|
createdBy - UserDetails
|
|
updatedBy - UserDetails
|
|
createdAt - String!
|
|
updatedAt - String!
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean!
|
Example
{
"gameDayID": "4",
"identifiers": Identifiers,
"name": "xyz789",
"tags": ["xyz789"],
"experiments": [ExperimentResponse],
"objective": "abc123",
"description": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "abc123",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": true
}
GameDayRunExperiments
Example
{
"experimentID": "abc123",
"experimentTemplateName": "abc123",
"chaosInfraID": "abc123",
"hubID": "abc123",
"experimentRunIDs": ["xyz789"],
"experimentNotes": "xyz789"
}
GameDayRunResponse
Fields
Field Name | Description |
---|---|
gameDayRunID - String!
|
|
name - String!
|
|
gameDayID - String!
|
|
identifiers - Identifiers!
|
Harness identifiers |
experiments - [GameDayRunExperiments!]
|
|
startTime - String
|
|
endTime - String
|
|
notes - String
|
|
summary - GameDaySummary!
|
|
createdBy - UserDetails
|
|
updatedBy - UserDetails
|
|
updatedAt - String
|
|
createdAt - String
|
|
completed - Boolean
|
Example
{
"gameDayRunID": "abc123",
"name": "abc123",
"gameDayID": "abc123",
"identifiers": Identifiers,
"experiments": [GameDayRunExperiments],
"startTime": "abc123",
"endTime": "abc123",
"notes": "xyz789",
"summary": GameDaySummary,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"updatedAt": "abc123",
"createdAt": "abc123",
"completed": true
}
GameDaySummary
Fields
Field Name | Description |
---|---|
notes - String
|
|
qna - [QnAs!]
|
|
actionItem - [ActionItems!]
|
Example
{
"notes": "abc123",
"qna": [QnAs],
"actionItem": [ActionItems]
}
GamedayFilterInput
Fields
Input Field | Description |
---|---|
gamedayName - String
|
Example
{}
GamedayInfraDetails
GamedaySortInput
Description
Defines sorting options for workflow runs
Fields
Input Field | Description |
---|---|
field - GamedaySortingField!
|
Field in which sorting will be done |
ascending - Boolean
|
Bool value indicating whether the sorting will be done in ascending order |
Example
{}
GamedaySortingField
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
GetExperimentResponse
Description
Defines the details for a given experiment with some additional data
Example
{
"experimentDetails": Workflow,
"averageResiliencyScore": 987.65
}
GetGameDayResponse
Fields
Field Name | Description |
---|---|
gameDayID - ID!
|
|
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
|
experiments - [GetGamedayExperimentResponse!]
|
|
objective - String
|
|
description - String
|
|
createdBy - UserDetails
|
|
createdAt - String
|
|
updatedAt - String
|
|
summary - GameDaySummary
|
|
isRemoved - Boolean
|
|
totalGamedayRuns - Int
|
Example
{
"gameDayID": 4,
"identifiers": Identifiers,
"name": "abc123",
"experiments": [GetGamedayExperimentResponse],
"objective": "xyz789",
"description": "xyz789",
"createdBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "abc123",
"summary": GameDaySummary,
"isRemoved": false,
"totalGamedayRuns": 987
}
GetGamedayExperimentResponse
Example
{
"experimentID": "xyz789",
"experimentTemplateName": "abc123",
"chaosInfra": GamedayInfraDetails,
"hubID": "xyz789",
"experimentNotes": "abc123",
"experimentCSV": "abc123",
"experimentManifest": "xyz789"
}
GetInfraStatsResponse
Fields
Field Name | Description |
---|---|
totalInfrastructures - Int!
|
Total number of infrastructures |
totalActiveInfrastructure - Int!
|
Total number of active infrastructures |
totalInactiveInfrastructures - Int!
|
Total number of inactive infrastructures |
totalConfirmedInfrastructure - Int!
|
Total number of confirmed infrastructures |
totalNonConfirmedInfrastructures - Int!
|
Total number of non confirmed infrastructures |
Example
{
"totalInfrastructures": 123,
"totalActiveInfrastructure": 123,
"totalInactiveInfrastructures": 123,
"totalConfirmedInfrastructure": 123,
"totalNonConfirmedInfrastructures": 123
}
GetProbeReferenceResponse
Description
Defines the response of the Probe reference API
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
probeID - ID!
|
ID of the Probe |
totalRuns - Int!
|
Total Runs |
recentExecutions - [RecentExecutions]!
|
Recent Executions of the probe |
Example
{
"identifiers": Identifiers,
"probeID": "4",
"totalRuns": 987,
"recentExecutions": [RecentExecutions]
}
GetProbeYAMLRequest
GetProbesInExperimentRunResponse
HTTPAuthorization
Description
Auth contains the authentication details for the HTTP probe
Example
{
"authType": "xyz789",
"credentials": "abc123",
"credentialsFile": "abc123"
}
HTTPAuthorizationInput
Description
Defines the input for HTTP authentication details
Example
{}
Headers
HeadersRequest
ID
Description
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
{}
INFRA_SCOPE
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
Identifiers
Description
Defines the common identifiers for API operations
Example
{
"orgIdentifier": "abc123",
"accountIdentifier": "abc123",
"projectIdentifier": "xyz789"
}
IdentifiersRequest
ImageRegistryRequest
ImageRegistryResponse
Fields
Field Name | Description |
---|---|
identifier - Identifiers!
|
|
registryServer - String!
|
|
registryAccount - String!
|
|
isPrivate - Boolean!
|
|
secretName - String
|
|
isDefault - Boolean!
|
|
createdBy - UserDetails
|
|
updatedBy - UserDetails
|
|
createdAt - String!
|
|
updatedAt - String!
|
Example
{
"identifier": Identifiers,
"registryServer": "abc123",
"registryAccount": "abc123",
"isPrivate": true,
"secretName": "xyz789",
"isDefault": true,
"createdBy": UserDetails,
"updatedBy": UserDetails,
"createdAt": "xyz789",
"updatedAt": "xyz789"
}
InfraFilterInput
Description
Defines filter options for infras
Fields
Input Field | Description |
---|---|
name - String
|
Name of the infra |
infraID - String
|
ID of the infra |
description - String
|
ID of the infra |
platformName - String
|
Platform name of infra |
infraScope - INFRA_SCOPE
|
Scope of infra |
isActive - Boolean
|
Status of infra |
tags - [String]
|
Tags of an infra |
compatibleWithNewExp - Boolean
|
To filter out infras that are compatible with the new experiment manifest format: without experiment CRs |
Example
{}
InfraSpec
Fields
Field Name | Description |
---|---|
operator - Operator!
|
|
infraIds - [String!]!
|
Example
{
"operator": "EQUAL_TO",
"infraIds": ["xyz789"]
}
InfraSpecInput
Fields
Input Field | Description |
---|---|
infraIds - [String!]!
|
|
operator - Operator!
|
Example
{}
InfraVersionDetails
Description
InfraVersionDetails returns the details of compatible infra versions and the latest infra version supported
Fields
Field Name | Description |
---|---|
latestVersion - String!
|
Latest infra version supported |
compatibleVersions - [String!]!
|
List of all infra versions supported |
Example
{
"latestVersion": "xyz789",
"compatibleVersions": ["xyz789"]
}
InfraWithExperimentStats
Description
InfraWithExperimentStats defines experiment stats for a given infra
Example
{
"infraID": "abc123",
"experimentsCount": 123,
"experimentRunsCount": 123
}
Infrastructure
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
environmentID - ID!
|
Environment ID where infra is installed |
infraType - InfrastructureType!
|
Type of infrastructure |
infraID - ID!
|
ID of the infra |
name - String!
|
Name of the workflow |
description - String
|
Description of the workflow |
version - String!
|
Version of infrastructure |
updatedAt - String!
|
Timestamp when the workflow was last updated |
createdAt - String!
|
Timestamp when the workflow was created |
isRemoved - Boolean!
|
Bool value indicating if the workflow has removed |
tags - [String!]
|
Tags of the workflow |
createdBy - UserDetails
|
User who created the workflow |
updatedBy - UserDetails
|
Details of the user who updated the workflow |
lastHeartbeat - String!
|
Last received heartbeat of infrastructure |
startTime - String!
|
Time when infra became active |
isActive - Boolean!
|
Bool value to check if infra is active |
isInfraConfirmed - Boolean!
|
Bool value to check if infra is confirmed |
infraNamespace - String
|
Namespace where the infra is being installed |
clusterType - ClusterType
|
Cluster type Indicates the type on infrastructure (Kubernetes/openshift) |
Example
{
"identifiers": Identifiers,
"environmentID": "4",
"infraType": "Kubernetes",
"infraID": 4,
"name": "xyz789",
"description": "abc123",
"version": "xyz789",
"updatedAt": "xyz789",
"createdAt": "xyz789",
"isRemoved": true,
"tags": ["abc123"],
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "xyz789",
"startTime": "xyz789",
"isActive": false,
"isInfraConfirmed": true,
"infraNamespace": "abc123",
"clusterType": "KUBERNETES"
}
InfrastructureType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
{}
InstallationType
Description
InstallationType defines the installation method used by the user
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
{}
JSON
Example
{}
K8SProbe
Description
Defines the K8S probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
group - String
|
Group of the Probe |
version - String!
|
Version of the Probe |
resource - String!
|
Resource of the Probe |
namespace - String
|
Namespace of the Probe |
resourceNames - String
|
Resource Names of the Probe |
fieldSelector - String
|
Field Selector of the Probe |
labelSelector - String
|
Label Selector of the Probe |
operation - String!
|
Operation of the Probe |
verbosity - String
|
Verbosity for the probe logging |
Example
{
"probeTimeout": "abc123",
"interval": "abc123",
"retry": 123,
"attempt": 987,
"probePollingInterval": "xyz789",
"initialDelay": "abc123",
"stopOnFailure": false,
"group": "xyz789",
"version": "xyz789",
"resource": "abc123",
"namespace": "xyz789",
"resourceNames": "xyz789",
"fieldSelector": "abc123",
"labelSelector": "xyz789",
"operation": "abc123",
"verbosity": "abc123"
}
K8SProbeRequest
Description
Defines the input for K8S probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
group - String
|
Group of the Probe |
version - String!
|
Version of the Probe |
resource - String!
|
Resource of the Probe |
namespace - String
|
Namespace of the Probe |
resourceNames - String
|
Resource Names of the Probe |
fieldSelector - String
|
Field Selector of the Probe |
labelSelector - String
|
Label Selector of the Probe |
operation - String!
|
Operation of the Probe |
verbosity - String
|
Verbosity for the probe logging |
Example
{}
K8sSpec
Fields
Field Name | Description |
---|---|
infraSpec - InfraSpec!
|
|
applicationSpec - ApplicationSpec!
|
|
chaosServiceAccountSpec - ChaosServiceAccountSpec!
|
Example
{
"infraSpec": InfraSpec,
"applicationSpec": ApplicationSpec,
"chaosServiceAccountSpec": ChaosServiceAccountSpec
}
K8sSpecInput
Fields
Input Field | Description |
---|---|
infraSpec - InfraSpecInput!
|
|
applicationSpec - ApplicationSpecInput!
|
|
chaosServiceAccountSpec - ChaosServiceAccountSpecInput!
|
Example
{}
KubernetesCMDProbe
Description
Defines the Kubernetes CMD probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - Comparator!
|
Comparator of the Probe |
source - String
|
Source of the Probe |
verbosity - String
|
Verbosity for the probe logging |
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"retry": 123,
"attempt": 987,
"probePollingInterval": "abc123",
"initialDelay": "abc123",
"stopOnFailure": false,
"command": "abc123",
"comparator": Comparator,
"source": "abc123",
"verbosity": "xyz789"
}
KubernetesCMDProbeRequest
Description
Defines the input for Kubernetes CMD probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - ComparatorInput!
|
Comparator of the Probe |
source - String
|
Source of the Probe |
verbosity - String
|
Verbosity for the probe logging |
Example
{}
KubernetesDatadogProbe
Description
Defines the Kubernetes Datadog probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
datadogSite - String!
|
Datadog site URL identifier |
syntheticsTest - SyntheticsTest
|
Synthetics test parameters |
metrics - DatadogMetrics
|
Metrics parameters |
datadogCredentialsSecretName - String!
|
Name of the kubernetes secret containing the Datadog credentials |
verbosity - String
|
Verbosity for the probe logging |
Example
{
"probeTimeout": "xyz789",
"interval": "xyz789",
"retry": 987,
"attempt": 123,
"probePollingInterval": "abc123",
"initialDelay": "xyz789",
"stopOnFailure": false,
"datadogSite": "abc123",
"syntheticsTest": SyntheticsTest,
"metrics": DatadogMetrics,
"datadogCredentialsSecretName": "xyz789",
"verbosity": "xyz789"
}
KubernetesDatadogProbeRequest
Description
Defines the input for Kubernetes Datadog probe
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
datadogSite - String!
|
Datadog site URL identifier |
syntheticsTest - SyntheticsTestRequest
|
Synthetics test parameters |
metrics - DatadogMetricsInput
|
Metrics parameters |
datadogCredentialsSecretName - String!
|
Name of the kubernetes secret containing the Datadog credentials |
verbosity - String
|
Verbosity for the probe logging |
Example
{}
KubernetesDynatraceProbe
Description
Defines the Kubernetes Dynatrace probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the dynatrace probe |
metrics - Metrics!
|
Raw metrics details of the dynatrace probe |
timeFrame - String!
|
Timeframe of the metrics |
apiTokenSecretName - String!
|
APITokenSecretName for authenticating with the Dynatrace platform |
comparator - Comparator!
|
Comparator check for the correctness of the probe output |
verbosity - String
|
Verbosity for the probe logging |
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"retry": 123,
"attempt": 987,
"probePollingInterval": "xyz789",
"initialDelay": "abc123",
"stopOnFailure": true,
"endpoint": "xyz789",
"metrics": Metrics,
"timeFrame": "xyz789",
"apiTokenSecretName": "xyz789",
"comparator": Comparator,
"verbosity": "abc123"
}
KubernetesDynatraceProbeRequest
Description
Defines the input for Kubernetes Dynatrace probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the dynatrace probe |
metrics - MetricsInput!
|
Raw metrics details of the dynatrace probe |
timeFrame - String!
|
Timeframe of the metrics |
apiTokenSecretName - String!
|
APITokenSecretName for authenticating with the Dynatrace platform |
comparator - ComparatorInput!
|
Comparator check for the correctness of the probe output |
verbosity - String
|
Verbosity for the probe logging |
Example
{}
KubernetesHTTPProbe
Description
Defines the Kubernetes HTTP probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - Method!
|
HTTP method of the Probe |
verbosity - String
|
Verbosity for the probe logging |
auth - HTTPAuthorization
|
Auth contains the authentication details for the prometheus probe |
tlsConfig - TLSConfig
|
TLSConfig contains the tls configuration for the prometheus probe |
headers - [Headers!]
|
Headers contains the request headers |
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"retry": 987,
"attempt": 987,
"probePollingInterval": "abc123",
"initialDelay": "abc123",
"stopOnFailure": false,
"url": "xyz789",
"method": Method,
"verbosity": "abc123",
"auth": HTTPAuthorization,
"tlsConfig": TLSConfig,
"headers": [Headers]
}
KubernetesHTTPProbeRequest
Description
Defines the input for Kubernetes HTTP probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - MethodRequest!
|
HTTP method of the Probe |
verbosity - String
|
Verbosity for the probe logging |
auth - HTTPAuthorizationInput
|
Auth contains the authentication details for the HTTP probe |
tlsConfig - TLSConfigInput
|
TLSConfig contains the tls configuration for the prometheus probe |
headers - [HeadersRequest!]
|
Headers contains the request headers |
Example
{}
KubernetesInfra
Description
Defines the details for a infra
Fields
Field Name | Description |
---|---|
infraID - ID!
|
ID of the infra |
name - String!
|
Name of the infra |
description - String
|
Description of the infra |
tags - [String!]
|
Tags of the infra |
environmentID - String!
|
Environment ID for the infra |
platformName - String!
|
Infra Platform Name eg. GKE,AWS, Others |
isActive - Boolean!
|
Boolean value indicating if chaos infrastructure is active or not |
isInfraConfirmed - Boolean!
|
Boolean value indicating if chaos infrastructure is confirmed or not |
isRemoved - Boolean!
|
Boolean value indicating if chaos infrastructure is removed or not |
updatedAt - String!
|
Timestamp when the infra was last updated |
createdAt - String!
|
Timestamp when the infra was created |
noOfSchedules - Int
|
Number of schedules created in the infra |
noOfWorkflows - Int
|
Number of workflows run in the infra |
token - String!
|
Token used to verify and retrieve the infra manifest |
infraNamespace - String
|
Namespace where the infra is being installed |
serviceAccount - String
|
Name of service account used by infra |
infraScope - INFRA_SCOPE!
|
Scope of the infra : ns or cluster |
infraNsExists - Boolean
|
Bool value indicating whether infra ns used already exists on infra or not |
infraSaExists - Boolean
|
Bool value indicating whether service account used already exists on infra or not |
installationType - InstallationType!
|
InstallationType connector/manifest |
k8sConnectorID - String
|
K8sConnectorID |
lastWorkflowTimestamp - String
|
Timestamp of the last workflow run in the infra |
startTime - String!
|
Timestamp when the infra got connected |
version - String!
|
Version of the infra |
createdBy - UserDetails
|
User who created the infra |
updatedBy - UserDetails
|
User who has updated the infra |
lastHeartbeat - String
|
Last Heartbeat status sent by the infra |
infraType - InfrastructureType
|
Type of the infrastructure |
updateStatus - UpdateStatus!
|
update status of infra |
isSecretEnabled - Boolean
|
Tune secret for infra |
runAsUser - Int
|
set the user for security context in pod |
runAsGroup - Int
|
set the user group for security context in pod |
upgrade - Upgrade!
|
Upgrade struct for the chaos infrastructure |
clusterType - ClusterType!
|
Cluster type Indicates the type on infrastructure (Kubernetes/openshift) |
Example
{
"infraID": 4,
"name": "abc123",
"description": "xyz789",
"tags": ["abc123"],
"environmentID": "abc123",
"platformName": "abc123",
"isActive": false,
"isInfraConfirmed": true,
"isRemoved": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"noOfSchedules": 123,
"noOfWorkflows": 123,
"token": "abc123",
"infraNamespace": "xyz789",
"serviceAccount": "xyz789",
"infraScope": "namespace",
"infraNsExists": true,
"infraSaExists": false,
"installationType": "CONNECTOR",
"k8sConnectorID": "xyz789",
"lastWorkflowTimestamp": "xyz789",
"startTime": "abc123",
"version": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"infraType": "Kubernetes",
"updateStatus": "AVAILABLE",
"isSecretEnabled": false,
"runAsUser": 123,
"runAsGroup": 123,
"upgrade": Upgrade,
"clusterType": "KUBERNETES"
}
Link
LinuxCMDProbe
Description
Defines the Linux CMD probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - Comparator!
|
Comparator of the Probe |
source - String
|
Source of the Probe |
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"attempt": 123,
"probePollingInterval": "xyz789",
"initialDelay": "abc123",
"stopOnFailure": true,
"command": "xyz789",
"comparator": Comparator,
"source": "abc123"
}
LinuxCMDProbeRequest
Description
Defines the input for Linux CMD probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
command - String!
|
Command of the Probe |
comparator - ComparatorInput!
|
Comparator of the Probe |
source - String
|
Source of the Probe |
Example
{}
LinuxDatadogProbe
Description
Defines the Linux Datadog probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
datadogSite - String!
|
Datadog site URL identifier |
syntheticsTest - SyntheticsTest
|
Synthetics test parameters |
metrics - DatadogMetrics
|
Metrics parameters |
Example
{
"probeTimeout": "abc123",
"interval": "xyz789",
"attempt": 987,
"probePollingInterval": "xyz789",
"initialDelay": "xyz789",
"stopOnFailure": false,
"datadogSite": "xyz789",
"syntheticsTest": SyntheticsTest,
"metrics": DatadogMetrics
}
LinuxDatadogProbeRequest
Description
Defines the input for Linux Datadog probe
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
datadogSite - String!
|
Datadog site URL identifier |
syntheticsTest - SyntheticsTestRequest
|
Synthetics test parameters |
metrics - DatadogMetricsInput
|
Metrics parameters |
Example
{}
LinuxDynatraceProbe
Description
Defines the Linux Dynatrace probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the dynatrace probe |
metrics - Metrics!
|
Raw metrics details of the dynatrace probe |
timeFrame - String!
|
Timeframe of the metrics |
comparator - Comparator!
|
Comparator check for the correctness of the probe output |
Example
{
"probeTimeout": "xyz789",
"interval": "xyz789",
"attempt": 987,
"probePollingInterval": "abc123",
"initialDelay": "xyz789",
"stopOnFailure": false,
"endpoint": "abc123",
"metrics": Metrics,
"timeFrame": "abc123",
"comparator": Comparator
}
LinuxDynatraceProbeRequest
Description
Defines the input for Linux Dynatrace probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the dynatrace probe |
metrics - MetricsInput!
|
Raw metrics details of the dynatrace probe |
timeFrame - String!
|
Timeframe of the metrics |
comparator - ComparatorInput!
|
Comparator check for the correctness of the probe output |
Example
{}
LinuxHTTPProbe
Description
Defines the Linux HTTP probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - Method!
|
HTTP method of the Probe |
insecureSkipVerify - Boolean
|
If Insecure HTTP verification should be skipped |
auth - HTTPAuthorization
|
Auth contains the authentication details for the prometheus probe |
tlsConfig - TLSConfig
|
TLSConfig contains the tls configuration for the prometheus probe |
headers - [Headers!]
|
Headers contains the request headers |
Example
{
"probeTimeout": "xyz789",
"interval": "abc123",
"attempt": 987,
"probePollingInterval": "abc123",
"initialDelay": "xyz789",
"stopOnFailure": false,
"url": "abc123",
"method": Method,
"insecureSkipVerify": true,
"auth": HTTPAuthorization,
"tlsConfig": TLSConfig,
"headers": [Headers]
}
LinuxHTTPProbeRequest
Description
Defines the input for Linux HTTP probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - MethodRequest!
|
HTTP method of the Probe |
auth - HTTPAuthorizationInput
|
Auth contains the authentication details for the HTTP probe |
tlsConfig - TLSConfigInput
|
TLSConfig contains the tls configuration for the prometheus probe |
headers - [HeadersRequest!]
|
Headers contains the request headers |
Example
{}
LinuxInfra
Description
Defines the details for a infra
Fields
Field Name | Description |
---|---|
infraID - ID!
|
ID of the infra |
name - String!
|
Name of the infra |
description - String
|
Description of the infra |
tags - [String!]
|
Tags of the infra |
environmentID - String!
|
Environment ID for the infra |
isActive - Boolean!
|
Boolean value indicating if chaos infrastructure is active or not |
isInfraConfirmed - Boolean!
|
Boolean value indicating if chaos infrastructure is confirmed or not |
isRemoved - Boolean!
|
Boolean value indicating if chaos infrastructure is removed or not |
updatedAt - String!
|
Timestamp when the infra was last updated |
createdAt - String!
|
Timestamp when the infra was created |
noOfSchedules - Int
|
Number of schedules created in the infra |
noOfWorkflows - Int
|
Number of workflows run in the infra |
lastWorkflowTimestamp - String
|
Timestamp of the last workflow run in the infra |
startTime - String!
|
Timestamp when the infra got connected |
version - String!
|
Version of the infra |
createdBy - UserDetails
|
User who created the infra |
updatedBy - UserDetails
|
User who has updated the infra |
lastHeartbeat - String
|
Last Heartbeat status sent by the infra |
hostname - String
|
hostname of the infra |
Example
{
"infraID": "4",
"name": "xyz789",
"description": "abc123",
"tags": ["abc123"],
"environmentID": "xyz789",
"isActive": false,
"isInfraConfirmed": false,
"isRemoved": true,
"updatedAt": "abc123",
"createdAt": "xyz789",
"noOfSchedules": 987,
"noOfWorkflows": 987,
"lastWorkflowTimestamp": "abc123",
"startTime": "xyz789",
"version": "abc123",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "abc123",
"hostname": "abc123"
}
LinuxInfraFilterInput
ListChaosHubRequest
Fields
Input Field | Description |
---|---|
chaosHubIDs - [ID!]
|
Array of ChaosHub IDs for which details will be fetched |
filter - ChaosHubFilterInput
|
Details for fetching filtered data |
Example
{}
ListConditionRequest
Fields
Input Field | Description |
---|---|
pagination - Pagination
|
|
filter - ConditionFilterInput
|
Example
{}
ListConditionResponse
Fields
Field Name | Description |
---|---|
totalConditions - Int!
|
|
conditions - [ConditionResponse]!
|
Example
{
"totalConditions": 123,
"conditions": [ConditionResponse]
}
ListExperimentsWithActiveInfrasFilterInput
Fields
Input Field | Description |
---|---|
experimentName - String
|
Name of the workflow |
infraName - String
|
Name of the infra in which the experiment is scheduled |
infraID - String
|
ID of the infrastructure in which the experiment is scheduled |
experimentType - ScenarioType
|
Type of the experiment i.e. CRON, NON_CRON or Gameday |
dateRange - DateRange
|
Date range for filtering purpose |
infraTypes - [InfrastructureType]
|
Type of infrastructure |
tags - [String]
|
Tags based search |
Example
{}
ListExperimentsWithActiveInfrasRequest
Description
Defines the details for workflow runs
Fields
Input Field | Description |
---|---|
pagination - Pagination
|
Details for fetching paginated data |
sort - WorkflowRunSortInput
|
Details for fetching sorted data |
filter - ListExperimentsWithActiveInfrasFilterInput
|
Details for fetching filtered data |
Example
{}
ListExperimentsWithActiveInfrasResponse
Description
Defines the details for a workflow with total workflow count
Fields
Field Name | Description |
---|---|
totalNoOfExperiments - Int!
|
Total number of workflows |
experiments - [Workflow]!
|
Details related to the workflows |
Example
{"totalNoOfExperiments": 987, "experiments": [Workflow]}
ListGameDayRequest
Fields
Input Field | Description |
---|---|
gameDayIDs - [String!]
|
|
pagination - Pagination
|
Details for fetching paginated data |
filter - GamedayFilterInput
|
Details for fetching filtered data |
sort - GamedaySortInput
|
Details for fetching sorted data |
Example
{}
ListGameDayRunsRequest
ListGamedayResponse
Fields
Field Name | Description |
---|---|
totalNoOfGamedays - Int!
|
Total number of workflows |
gamedays - [GameDayResponse]!
|
Details related to the workflows |
Example
{"totalNoOfGamedays": 123, "gamedays": [GameDayResponse]}
ListInfraRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
infraIDs - [ID!]
|
Array of infra IDs for which details will be fetched |
environmentIDs - [ID!]
|
Environment ID |
k8sConnectorIDs - [ID!]
|
Connector ID |
pagination - Pagination
|
Details for fetching paginated data |
filter - InfraFilterInput
|
Details for fetching filtered data |
Example
{}
ListInfraResponse
Description
Defines the details for a infras with total infras count
Fields
Field Name | Description |
---|---|
totalNoOfInfras - Int!
|
Total number of infras |
infras - [KubernetesInfra]!
|
Details related to the infras |
Example
{"totalNoOfInfras": 987, "infras": [KubernetesInfra]}
ListLinuxInfraRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
infraIDs - [ID!]
|
Array of infra IDs for which details will be fetched |
environmentIDs - [ID!]
|
Environment ID |
pagination - Pagination
|
Details for fetching paginated data |
filter - LinuxInfraFilterInput
|
Details for fetching filtered data |
Example
{}
ListLinuxInfraResponse
Description
Defines the details for a infras with total infras count
Fields
Field Name | Description |
---|---|
totalNoOfInfras - Int!
|
Total number of infras |
infras - [LinuxInfra]!
|
Details related to the infras |
Example
{"totalNoOfInfras": 123, "infras": [LinuxInfra]}
ListProbeRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
infrastructureType - InfrastructureType
|
Type of infrastructure associated with the probe |
probeIDs - [ID!]
|
ID of probes or array of probe IDs |
showExecutions - Boolean
|
Flag to either show probe executions or not |
pagination - Pagination
|
Details for fetching paginated data |
sort - ProbeSortInput
|
Details for fetching sorted data |
filter - ProbeFilterInput
|
Details for fetching filtered data |
Example
{}
ListProbeResponse
ListRuleRequest
Fields
Input Field | Description |
---|---|
pagination - Pagination
|
|
filter - RuleFilterInput
|
Example
{}
ListWindowsInfraRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
infraIDs - [ID!]
|
Array of infra IDs for which details will be fetched |
environmentIDs - [ID!]
|
Environment ID |
pagination - Pagination
|
Details for fetching paginated data |
filter - WindowsInfraFilterInput
|
Details for fetching filtered data |
Example
{}
ListWindowsInfraResponse
Description
Defines the details for a infras with total infras count
Fields
Field Name | Description |
---|---|
totalNoOfInfras - Int!
|
Total number of infras |
infras - [WindowsInfra]!
|
Details related to the infras |
Example
{"totalNoOfInfras": 123, "infras": [WindowsInfra]}
ListWorkflowRequest
Description
Defines the details for a workflow
Fields
Input Field | Description |
---|---|
workflowIDs - [ID]
|
Array of workflow IDs for which details will be fetched |
pagination - Pagination
|
Details for fetching paginated data |
sort - WorkflowSortInput
|
Details for fetching sorted data |
filter - WorkflowFilterInput
|
Details for fetching filtered data |
Example
{}
ListWorkflowResponse
Description
Defines the details for a workflow with total workflow count
Fields
Field Name | Description |
---|---|
totalNoOfWorkflows - Int!
|
Total number of workflows |
workflows - [Workflow]!
|
Details related to the workflows |
Example
{"totalNoOfWorkflows": 987, "workflows": [Workflow]}
ListWorkflowRunRequest
Description
Defines the details for workflow runs
Fields
Input Field | Description |
---|---|
workflowRunIDs - [ID]
|
Array of workflow run IDs for which details will be fetched |
notifyIDs - [ID]
|
Array of notify IDs for which details will be fetched |
workflowIDs - [ID]
|
Array of workflow IDs for which details will be fetched |
pagination - Pagination
|
Details for fetching paginated data |
sort - WorkflowRunSortInput
|
Details for fetching sorted data |
filter - WorkflowRunFilterInput
|
Details for fetching filtered data |
Example
{}
ListWorkflowRunResponse
Description
Defines the details of a workflow to sent as response
Fields
Field Name | Description |
---|---|
totalNoOfWorkflowRuns - Int!
|
Total number of workflow runs |
workflowRuns - [WorkflowRun]!
|
Defines details of workflow runs |
Example
{
"totalNoOfWorkflowRuns": 987,
"workflowRuns": [WorkflowRun]
}
Maintainer
Metadata
Fields
Field Name | Description |
---|---|
name - String!
|
|
version - String!
|
|
annotations - Annotation!
|
Example
{
"name": "xyz789",
"version": "xyz789",
"annotations": Annotation
}
Method
MethodRequest
Description
Defines the input for methods of the probe properties
Fields
Input Field | Description |
---|---|
get - GETRequest
|
A GET request |
post - POSTRequest
|
A POST request |
Example
{}
Metrics
MetricsInput
Mode
Description
Defines the different modes of Probes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
{}
NonCronExperiment
Operator
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
POST
Description
Details of POST request
Fields
Field Name | Description |
---|---|
contentType - String
|
Content Type of the request |
body - String
|
Body of the request |
bodyPath - String
|
Body Path of the HTTP body required for the http post request |
criteria - String!
|
Criteria of the response |
responseCode - String
|
Response Code of the response |
responseBody - String
|
Response Body of the response |
Example
{
"contentType": "abc123",
"body": "xyz789",
"bodyPath": "xyz789",
"criteria": "xyz789",
"responseCode": "abc123",
"responseBody": "xyz789"
}
POSTRequest
Description
Details for input of the POST request
Fields
Input Field | Description |
---|---|
contentType - String
|
Content Type of the request |
body - String
|
Body of the request |
bodyPath - String
|
Body Path of the request for Body |
criteria - String!
|
Criteria of the response |
responseCode - String
|
Response Code of the response |
responseBody - String
|
Response Body of the response |
Example
{}
PROMAuthorization
Description
Auth contains the Prometheus authentication details
Example
{
"authType": "xyz789",
"credentials": "xyz789",
"credentialsFile": "xyz789"
}
PROMAuthorizationInput
Description
Defines the input for Prometheus authentication details
Example
{}
PROMProbe
Description
Defines the PROM probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the Probe |
query - String
|
Query of the Probe |
queryPath - String
|
Query path of the Probe |
comparator - Comparator!
|
Comparator of the Probe |
verbosity - String
|
Verbosity for the probe logging |
auth - PROMAuthorization
|
Auth contains the authentication details for the prometheus probe |
tlsConfig - TLSConfig
|
TLSConfig contains the tls configuration for the prometheus probe |
Example
{
"probeTimeout": "xyz789",
"interval": "abc123",
"retry": 987,
"attempt": 123,
"probePollingInterval": "xyz789",
"initialDelay": "xyz789",
"stopOnFailure": true,
"endpoint": "abc123",
"query": "xyz789",
"queryPath": "abc123",
"comparator": Comparator,
"verbosity": "abc123",
"auth": PROMAuthorization,
"tlsConfig": TLSConfig
}
PROMProbeRequest
Description
Defines the input for PROM probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
endpoint - String!
|
Endpoint of the Probe |
query - String
|
Query of the Probe |
queryPath - String
|
Query path of the Probe |
comparator - ComparatorInput!
|
Comparator of the Probe |
verbosity - String
|
Verbosity for the probe logging |
auth - PROMAuthorizationInput
|
Auth contains the authentication details for the prometheus probe |
tlsConfig - TLSConfigInput
|
TLSConfig contains the tls configuration for the prometheus probe |
Example
{}
PackageInformation
Fields
Field Name | Description |
---|---|
packageName - String!
|
|
experiments - [Experiments!]!
|
Example
{
"packageName": "abc123",
"experiments": [Experiments]
}
Pagination
PredefinedWorkflowList
Probe
Description
Defines the details of the Probe entity
Fields
Field Name | Description |
---|---|
probeID - ID!
|
ID of the probe |
identifiers - Identifiers!
|
Harness identifiers |
name - String!
|
Name of the Probe |
description - String
|
Description of the Probe |
tags - [String!]
|
Tags of the Probe |
type - ProbeType!
|
Type of the Probe [From list of ProbeType enum] |
infrastructureType - InfrastructureType!
|
Infrastructure type of the Probe |
kubernetesHTTPProperties - KubernetesHTTPProbe
|
Kubernetes HTTP Properties of the specific type of the Probe |
linuxHTTPProperties - LinuxHTTPProbe
|
Linux HTTP Properties of the specific type of the Probe |
windowsHTTPProperties - WindowsHTTPProbe
|
Windows HTTP Properties of the specific type of the Probe |
kubernetesCMDProperties - KubernetesCMDProbe
|
Kubernetes CMD Properties of the specific type of the Probe |
linuxCMDProperties - LinuxCMDProbe
|
Linux CMD Properties of the specific type of the Probe |
kubernetesDatadogProperties - KubernetesDatadogProbe
|
Kubernetes Datadog Properties of the specific type of the Probe |
linuxDatadogProperties - LinuxDatadogProbe
|
Linux Datadog Properties of the specific type of the Probe |
k8sProperties - K8SProbe
|
K8S Properties of the specific type of the Probe |
kubernetesDynatraceProperties - KubernetesDynatraceProbe
|
Kubernetes Dynatrace Properties of the specific type of the Probe |
linuxDynatraceProperties - LinuxDynatraceProbe
|
Linux Dynatrace Properties of the specific type of the Probe |
promProperties - PROMProbe
|
PROM Properties of the specific type of the Probe |
sloProperties - SLOProbe
|
SLO Properties of the specific type of the Probe |
recentExecutions - [ProbeRecentExecutions!]
|
All execution histories of the probe |
referencedBy - Int
|
Referenced by how many faults |
isRemoved - Boolean!
|
Is probe deleted or not |
isEnabled - Boolean
|
Is probe enabled or disabled |
updatedAt - String!
|
Timestamp at which the Probe was last updated |
createdAt - String!
|
Timestamp at which the Probe was created |
updatedBy - UserDetails
|
User who has updated the Probe |
createdBy - UserDetails
|
User who has created the Probe |
Example
{
"probeID": "4",
"identifiers": Identifiers,
"name": "abc123",
"description": "xyz789",
"tags": ["abc123"],
"type": "httpProbe",
"infrastructureType": "Kubernetes",
"kubernetesHTTPProperties": KubernetesHTTPProbe,
"linuxHTTPProperties": LinuxHTTPProbe,
"windowsHTTPProperties": WindowsHTTPProbe,
"kubernetesCMDProperties": KubernetesCMDProbe,
"linuxCMDProperties": LinuxCMDProbe,
"kubernetesDatadogProperties": KubernetesDatadogProbe,
"linuxDatadogProperties": LinuxDatadogProbe,
"k8sProperties": K8SProbe,
"kubernetesDynatraceProperties": KubernetesDynatraceProbe,
"linuxDynatraceProperties": LinuxDynatraceProbe,
"promProperties": PROMProbe,
"sloProperties": SLOProbe,
"recentExecutions": [ProbeRecentExecutions],
"referencedBy": 123,
"isRemoved": false,
"isEnabled": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"updatedBy": UserDetails,
"createdBy": UserDetails
}
ProbeFilterInput
Description
Defines the input for Probe filter
Fields
Input Field | Description |
---|---|
name - String
|
Name of the Probe |
dateRange - DateRange
|
Date range for filtering purpose |
type - [ProbeType]
|
Type of the Probe [From list of ProbeType enum] |
isEnabled - Boolean
|
Is the probe enabled or disabled |
tags - [String]
|
Tags based search |
Example
{}
ProbeMap
ProbeRecentExecutions
Description
Defines the Recent Executions of global probe in ListProbe API with different fault and execution history each time
Fields
Field Name | Description |
---|---|
faultName - String!
|
Fault name |
status - Status!
|
Fault Status |
executedByExperiment - ExecutedByExperiment!
|
Fault executed by which experiment |
Example
{
"faultName": "abc123",
"status": Status,
"executedByExperiment": ExecutedByExperiment
}
ProbeRequest
Description
Defines the details required for updating a Chaos Probe
Fields
Input Field | Description |
---|---|
probeID - ID!
|
ID of the Probe |
name - String!
|
Name of the Probe |
description - String
|
Description of the Probe |
tags - [String!]
|
Tags of the Probe |
type - ProbeType!
|
Type of the Probe [From list of ProbeType enum] |
isEnabled - Boolean
|
Is probe enabled or disabled |
isBulkUpdateTrue - Boolean
|
Is bulk enable for probe true or false |
infrastructureType - InfrastructureType!
|
Infrastructure type of the Probe |
kubernetesHTTPProperties - KubernetesHTTPProbeRequest
|
HTTP Properties of the specific type of the Probe |
linuxHTTPProperties - LinuxHTTPProbeRequest
|
HTTP Properties of the specific type of the Probe |
windowsHTTPProperties - WindowsHTTPProbeRequest
|
HTTP Properties for windows of the specific type of the Probe |
kubernetesCMDProperties - KubernetesCMDProbeRequest
|
CMD Properties of the specific type of the Probe |
linuxCMDProperties - LinuxCMDProbeRequest
|
CMD Properties of the specific type of the Probe |
kubernetesDatadogProperties - KubernetesDatadogProbeRequest
|
Datadog Properties of the specific type of the Probe |
linuxDatadogProperties - LinuxDatadogProbeRequest
|
Datadog Properties of the specific type of the Probe |
k8sProperties - K8SProbeRequest
|
K8S Properties of the specific type of the Probe |
kubernetesDynatraceProperties - KubernetesDynatraceProbeRequest
|
Kubernetes Dynatrace Properties of the specific type of the Probe |
linuxDynatraceProperties - LinuxDynatraceProbeRequest
|
Linux Dynatrace Properties of the specific type of the Probe |
promProperties - PROMProbeRequest
|
PROM Properties of the specific type of the Probe |
sloProperties - SLOProbeRequest
|
SLO Properties of the specific type of the Probe |
Example
{}
ProbeSortInput
Description
Defines sorting options for probes
Fields
Input Field | Description |
---|---|
field - ProbeSortingField!
|
Field in which sorting will be done |
ascending - Boolean
|
Bool value indicating whether the sorting will be done in ascending order |
Example
{}
ProbeSortingField
Description
Probe Sorting Field
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
ProbeType
Description
Defines the different types of Probes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
ProbeVerdict
Description
Defines the older different statuses of Probes
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
{}
Provider
Fields
Field Name | Description |
---|---|
name - String!
|
Example
{"name": "xyz789"}
PushWorkflowToChaosHubInput
Fields
Input Field | Description |
---|---|
id - String!
|
HubID for the selected ChaosHub |
manifest - String
|
Workflow Manifest to be pushed |
workflowID - String
|
WorkflowID to fetch the manifest |
scenarioName - String!
|
Scenario Name |
description - String!
|
Scenario Description |
tags - [String!]
|
Tags for the scenario |
experiments - [ExperimentInfoInput!]
|
Experiment info |
Example
{}
QnARequest
Fields
Input Field | Description |
---|---|
questionType - QuestionType
|
|
optionsMCQ - [String!]
|
|
question - String!
|
|
answer - String!
|
Example
{}
QnAs
Fields
Field Name | Description |
---|---|
questionType - QuestionType!
|
|
optionsMCQ - [String!]
|
|
question - String!
|
|
answer - String!
|
Example
{
"questionType": "MCQ",
"optionsMCQ": ["xyz789"],
"question": "xyz789",
"answer": "xyz789"
}
QuestionType
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
RecentExecutions
Description
Defines the Recent Executions of experiment referenced by the Probe
Fields
Field Name | Description |
---|---|
faultName - String!
|
Fault name |
mode - Mode!
|
Probe mode |
executionHistory - [ExecutionHistory!]!
|
Execution History |
Example
{
"faultName": "abc123",
"mode": "SOT",
"executionHistory": [ExecutionHistory]
}
RecentWorkflowRun
Fields
Field Name | Description |
---|---|
workflowRunID - ID!
|
ID of the workflow run which is to be queried |
notifyID - ID
|
Notify ID for workflow run |
phase - String!
|
Phase of the workflow run |
resiliencyScore - Float
|
Resiliency score of the workflow |
updatedAt - String!
|
Timestamp when the workflow was last updated |
createdAt - String!
|
Timestamp when the workflow was created |
createdBy - UserDetails
|
User who created the workflow run |
updatedBy - UserDetails
|
User who updated the workflow run |
runSequence - Int!
|
runSequence is the sequence number of experiment run |
Example
{
"workflowRunID": "4",
"notifyID": "4",
"phase": "abc123",
"resiliencyScore": 987.65,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"runSequence": 123
}
Recurrence
Fields
Field Name | Description |
---|---|
type - RecurrenceType!
|
|
spec - RecurrenceSpec
|
Example
{"type": "Yearly", "spec": RecurrenceSpec}
RecurrenceInput
Fields
Input Field | Description |
---|---|
type - RecurrenceType!
|
|
spec - RecurrenceSpecInput
|
Example
{}
RecurrenceSpec
RecurrenceSpecInput
RecurrenceType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
{}
RegisterInfraRequest
Description
Defines the details for the new infra being connected
Fields
Input Field | Description |
---|---|
name - String!
|
Name of the infra |
environmentID - String!
|
Environment ID for the infra |
description - String
|
Description of the infra |
platformName - String!
|
Infra Platform Name eg. GKE,AWS, Others |
infraNamespace - String
|
Namespace where the infra is being installed |
serviceAccount - String
|
Name of service account used by infra |
infraScope - INFRA_SCOPE!
|
Scope of the infra : ns or infra |
infraNsExists - Boolean
|
Bool value indicating whether infra ns used already exists on infra or not |
infraSaExists - Boolean
|
Bool value indicating whether service account used already exists on infra or not |
installationType - InstallationType!
|
InstallationType connector/manifest |
k8sConnectorID - String
|
K8sConnectorID |
skipSsl - Boolean
|
Bool value indicating whether infra will skip ssl checks or not |
nodeSelector - String
|
Node selectors used by infra |
tolerations - [Toleration]
|
Node tolerations used by infra |
isSecretEnabled - Boolean
|
Tune secret for infra |
tags - [String!]
|
Tags of the infra |
runAsUser - Int
|
set the user for security context in pod |
runAsGroup - Int
|
set the user group for security context in pod |
sccYaml - String
|
Value containing the scc-yaml used in openShift clusters |
isAutoUpgradeEnabled - Boolean!
|
Boolean value indicating if chaos infrastructure has auto upgrade enabled or not |
Example
{}
RegisterInfraResponse
Description
Response received for registering a new infra
Example
{
"token": "xyz789",
"infraID": "abc123",
"name": "abc123",
"manifest": "xyz789",
"taskID": "xyz789"
}
RegisterLinuxInfraRequest
RegisterLinuxInfraResponse
Description
Response received for registering a new infra
Example
{
"infraID": "abc123",
"name": "abc123",
"accessKey": "xyz789",
"serverURL": "xyz789",
"version": "abc123"
}
RegisterWindowsInfraRequest
RegisterWindowsInfraResponse
Description
Response received for registering a new infra
Example
{
"infraID": "xyz789",
"name": "abc123",
"accessKey": "abc123",
"serverURL": "abc123",
"version": "xyz789"
}
ResourceDetails
Possible Types
ResourceDetails Types |
---|
Example
{
"name": "xyz789",
"description": "abc123",
"tags": ["abc123"]
}
ResourceType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
Rule
Fields
Field Name | Description |
---|---|
name - String!
|
|
tags - [String!]
|
|
description - String
|
|
isEnabled - Boolean!
|
|
ruleId - String!
|
|
userGroupIds - [String!]!
|
|
timeWindows - [TimeWindow!]!
|
|
conditions - [Condition!]!
|
Example
{
"name": "xyz789",
"tags": ["xyz789"],
"description": "abc123",
"isEnabled": true,
"ruleId": "xyz789",
"userGroupIds": ["abc123"],
"timeWindows": [TimeWindow],
"conditions": [Condition]
}
RuleDetails
Fields
Field Name | Description |
---|---|
ruleId - String
|
|
ruleName - String
|
|
message - String
|
|
description - String
|
|
userGroupIds - [String]
|
|
timeWindow - TimeWindow
|
|
conditions - [ConditionDetails]
|
Example
{
"ruleId": "abc123",
"ruleName": "xyz789",
"message": "abc123",
"description": "xyz789",
"userGroupIds": ["abc123"],
"timeWindow": TimeWindow,
"conditions": [ConditionDetails]
}
RuleFilterInput
RuleInput
Fields
Input Field | Description |
---|---|
description - String
|
|
isEnabled - Boolean!
|
|
name - String!
|
|
ruleId - String!
|
|
userGroupIds - [String!]!
|
|
timeWindows - [TimeWindowInput!]!
|
|
tags - [String]
|
|
conditionIds - [String!]!
|
Example
{}
RuleResponse
Fields
Field Name | Description |
---|---|
createdAt - Int!
|
|
createdBy - UserDetails
|
|
updatedAt - Int!
|
|
updatedBy - UserDetails
|
|
rule - Rule!
|
|
identifiers - Identifiers!
|
Example
{
"createdAt": 987,
"createdBy": UserDetails,
"updatedAt": 123,
"updatedBy": UserDetails,
"rule": Rule,
"identifiers": Identifiers
}
RunChaosExperimentResponse
Fields
Field Name | Description |
---|---|
notifyID - ID!
|
Example
{"notifyID": 4}
RunPipelineExperimentMetaData
SLOProbe
Description
Defines the SLO probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
evaluationTimeout - String!
|
Verbosity contains flag to set the verbosity of probe |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
platformEndpoint - String!
|
PlatformEndpoint for the monitoring service endpoint |
sloIdentifier - String!
|
SLOIdentifier for fetching the details of the SLO |
evaluationWindow - EvaluationWindow
|
EvaluationWindow is the time period for which the metrics will be evaluated |
sloSourceMetadata - SLOSourceMetadata!
|
SLOSourceMetadata consists of required metadata details to fetch metric data |
comparator - Comparator!
|
Comparator check for the correctness of the probe output |
verbosity - String
|
Verbosity for the probe logging |
insecureSkipVerify - Boolean
|
If Insecure HTTP verification should be skipped |
Example
{
"probeTimeout": "xyz789",
"interval": "xyz789",
"retry": 987,
"attempt": 987,
"probePollingInterval": "xyz789",
"initialDelay": "abc123",
"evaluationTimeout": "xyz789",
"stopOnFailure": true,
"platformEndpoint": "abc123",
"sloIdentifier": "abc123",
"evaluationWindow": EvaluationWindow,
"sloSourceMetadata": SLOSourceMetadata,
"comparator": Comparator,
"verbosity": "abc123",
"insecureSkipVerify": false
}
SLOProbeRequest
Description
Defines the input for SLO probes
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
retry - Int
|
Retry interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
platformEndpoint - String!
|
PlatformEndpoint for the monitoring service endpoint |
sloIdentifier - String!
|
SLOIdentifier for fetching the details of the SLO |
evaluationWindow - EvaluationWindowInput
|
EvaluationWindow is the time period for which the metrics will be evaluated |
sloSourceMetadata - SLOSourceMetadataInput!
|
SLOSourceMetadata consists of required metadata details to fetch metric data |
comparator - ComparatorInput!
|
Comparator check for the correctness of the probe output |
evaluationTimeout - String!
|
EvaluationTimeout is the timeout window in which the SLO metrics |
verbosity - String
|
Verbosity for the probe logging |
insecureSkipVerify - Boolean
|
If Insecure HTTP verification should be skipped |
Example
{}
SLOSourceMetadata
Description
SLOSourceMetadata consists of required metadata details to fetch metric data
Fields
Field Name | Description |
---|---|
apiTokenSecret - String!
|
APITokenSecret for authenticating with the platform service |
scope - Identifiers!
|
Scope required for fetching details |
Example
{
"apiTokenSecret": "xyz789",
"scope": Identifiers
}
SLOSourceMetadataInput
Description
Defines the input for SLOSourceMetadata
Fields
Input Field | Description |
---|---|
apiTokenSecret - String!
|
APITokenSecret for authenticating with the platform service |
scope - IdentifiersRequest!
|
Scope required for fetching details |
Example
{}
ScenarioType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
{}
SecurityGovernance
Fields
Field Name | Description |
---|---|
name - String
|
|
type - String
|
|
startedAt - Int
|
|
finishedAt - Int
|
|
message - String
|
|
phase - SecurityGovernancePhase
|
|
securityGovernanceNodeData - SecurityGovernanceNodeData
|
Example
{
"name": "abc123",
"type": "abc123",
"startedAt": 987,
"finishedAt": 987,
"message": "abc123",
"phase": "Passed",
"securityGovernanceNodeData": SecurityGovernanceNodeData
}
SecurityGovernanceNodeData
Fields
Field Name | Description |
---|---|
passedRules - [RuleDetails]
|
|
failedRules - [RuleDetails]
|
|
skippedRules - [RuleDetails]
|
Example
{
"passedRules": [RuleDetails],
"failedRules": [RuleDetails],
"skippedRules": [RuleDetails]
}
SecurityGovernancePhase
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
Spec
Fields
Field Name | Description |
---|---|
displayName - String!
|
|
categoryDescription - String!
|
|
keywords - [String!]!
|
|
maturity - String!
|
|
maintainers - [Maintainer!]!
|
|
minKubeVersion - String!
|
|
provider - Provider!
|
|
links - [Link!]!
|
|
faults - [FaultList!]!
|
|
experiments - [String!]
|
|
chaosExpCRDLink - String!
|
|
platforms - [String!]!
|
|
chaosType - String
|
Example
{
"displayName": "abc123",
"categoryDescription": "xyz789",
"keywords": ["abc123"],
"maturity": "xyz789",
"maintainers": [Maintainer],
"minKubeVersion": "abc123",
"provider": Provider,
"links": [Link],
"faults": [FaultList],
"experiments": ["abc123"],
"chaosExpCRDLink": "abc123",
"platforms": ["xyz789"],
"chaosType": "abc123"
}
StandardResponse
Status
Description
Status defines whether a probe is pass or fail
Fields
Field Name | Description |
---|---|
verdict - ProbeVerdict!
|
Verdict defines the verdict of the probe, range: Passed, Failed, N/A |
description - String
|
Description defines the description of probe status |
Example
{
"verdict": "Passed",
"description": "abc123"
}
StopGameDayRunRequest
Fields
Input Field | Description |
---|---|
gameDayRunID - String!
|
Example
{}
String
Description
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.
Example
{}
SummaryRequest
Fields
Input Field | Description |
---|---|
notes - String!
|
|
qna - [QnARequest]!
|
|
actionItem - [ActionItemRequest]!
|
Example
{}
SyntheticsTest
Description
Synthetics test parameters
Fields
Field Name | Description |
---|---|
testType - DatadogSyntheticsTestType!
|
Type of the test; supports 'api' and 'browser' only |
publicId - String!
|
Public id of the test |
Example
{"testType": "api", "publicId": "abc123"}
SyntheticsTestRequest
Description
Defines the input for Synthetics test parameters
Fields
Input Field | Description |
---|---|
testType - DatadogSyntheticsTestType!
|
Type of the test; supports 'api' and 'browser' only |
publicId - String!
|
Public id of the test |
Example
{}
TLSConfig
Description
TLSConfig configures the options for TLS connections
Example
{
"caFile": "xyz789",
"certFile": "abc123",
"keyFile": "abc123",
"insecureSkipVerify": true
}
TLSConfigInput
Description
Defines the input for TLSConfig options for TLS connections
Example
{}
TimeWindow
Fields
Field Name | Description |
---|---|
duration - String
|
|
endTime - Int
|
|
startTime - Int!
|
|
timeZone - String!
|
|
recurrence - Recurrence!
|
Example
{
"duration": "xyz789",
"endTime": 987,
"startTime": 123,
"timeZone": "abc123",
"recurrence": Recurrence
}
TimeWindowInput
Fields
Input Field | Description |
---|---|
duration - String
|
|
endTime - Int
|
|
startTime - Int!
|
|
timeZone - String!
|
|
recurrence - RecurrenceInput!
|
Example
{}
Toleration
Type
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
UpdateCronExperimentAction
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
UpdateCronExperimentStateRequest
Description
Defines input for updating cron experiment state
Fields
Input Field | Description |
---|---|
experimentIDs - [String!]!
|
ID of the experiment |
action - UpdateCronExperimentAction!
|
Action indicating whether to enable, disable or update the cron experiment |
cronSyntax - String
|
Cron syntax to be updated |
Example
{}
UpdateCronExperimentStateResponse
Description
Defines the response from UpdateCronExperimentState API
Fields
Field Name | Description |
---|---|
successIDs - [String!]!
|
List of successful experiment ID |
failedIDs - [String!]!
|
List of failed experiment ID |
Example
{
"successIDs": ["xyz789"],
"failedIDs": ["abc123"]
}
UpdateExperimentNotesRequest
UpdateGameDayExperimentsRequest
Fields
Input Field | Description |
---|---|
gameDayID - String!
|
|
experiments - [NonCronExperiment!]!
|
Example
{}
UpdateGameDayRequest
Fields
Input Field | Description |
---|---|
gameDayID - String!
|
|
name - String
|
|
objective - String
|
|
description - String
|
|
summary - SummaryRequest
|
|
isRemoved - Boolean
|
|
experiments - [NonCronExperiment!]
|
Example
{}
UpdateGameDayRunRequest
UpdateInfraRequest
UpdateStatus
Description
UpdateStatus represents if infra needs to be updated
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
{}
UpdateSummaryRequest
Fields
Input Field | Description |
---|---|
ID - String!
|
|
summaryRequest - SummaryRequest!
|
|
type - Type!
|
Example
{}
Upgrade
Fields
Field Name | Description |
---|---|
status - UpgradeStatus!
|
|
isAutoUpgradeEnabled - Boolean!
|
Example
{"status": "UPGRADING_INFRA", "isAutoUpgradeEnabled": false}
UpgradeStatus
Description
UpgradeStatus represents the state of the infra upgraded
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
UserDetails
Weightages
WeightagesInput
WindowsHTTPProbe
Description
Defines the Windows HTTP probe properties
Fields
Field Name | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - Method!
|
HTTP method of the Probe |
auth - HTTPAuthorization
|
Auth contains the authentication details for the HTTP probe |
tlsConfig - TLSConfig
|
TLSConfig contains the tls configuration for the HTTP probe |
headers - [Headers!]
|
Headers contains the request headers |
Example
{
"probeTimeout": "xyz789",
"interval": "xyz789",
"attempt": 123,
"probePollingInterval": "xyz789",
"initialDelay": "xyz789",
"stopOnFailure": false,
"url": "abc123",
"method": Method,
"auth": HTTPAuthorization,
"tlsConfig": TLSConfig,
"headers": [Headers]
}
WindowsHTTPProbeRequest
Description
Defines the input for windows HTTP probe properties
Fields
Input Field | Description |
---|---|
probeTimeout - String!
|
Timeout of the Probe |
interval - String!
|
Interval of the Probe |
attempt - Int!
|
Attempt contains the total attempt count for the probe |
probePollingInterval - String
|
Polling interval of the Probe |
initialDelay - String
|
Initial delay interval of the Probe in seconds |
stopOnFailure - Boolean
|
Is stop on failure enabled in the Probe |
url - String!
|
URL of the Probe |
method - MethodRequest!
|
HTTP method of the Probe |
auth - HTTPAuthorizationInput
|
Auth contains the authentication details for the HTTP probe |
tlsConfig - TLSConfigInput
|
TLSConfig contains the tls configuration for the prometheus probe |
headers - [HeadersRequest!]
|
Headers contains the request headers |
Example
{}
WindowsInfra
Description
Defines the details for a infra
Fields
Field Name | Description |
---|---|
infraID - ID!
|
ID of the infra |
name - String!
|
Name of the infra |
description - String
|
Description of the infra |
tags - [String!]
|
Tags of the infra |
environmentID - String!
|
Environment ID for the infra |
isActive - Boolean!
|
Boolean value indicating if chaos infrastructure is active or not |
isInfraConfirmed - Boolean!
|
Boolean value indicating if chaos infrastructure is confirmed or not |
updatedAt - String!
|
Timestamp when the infra was last updated |
createdAt - String!
|
Timestamp when the infra was created |
noOfSchedules - Int
|
Number of schedules created in the infra |
noOfWorkflows - Int
|
Number of workflows run in the infra |
lastWorkflowTimestamp - String
|
Timestamp of the last workflow run in the infra |
startTime - String!
|
Timestamp when the infra got connected |
version - String!
|
Version of the infra |
createdBy - UserDetails
|
User who created the infra |
updatedBy - UserDetails
|
User who has updated the infra |
lastHeartbeat - String
|
Last Heartbeat status sent by the infra |
hostname - String
|
hostname of the infra |
Example
{
"infraID": 4,
"name": "abc123",
"description": "xyz789",
"tags": ["abc123"],
"environmentID": "xyz789",
"isActive": false,
"isInfraConfirmed": false,
"updatedAt": "abc123",
"createdAt": "abc123",
"noOfSchedules": 123,
"noOfWorkflows": 123,
"lastWorkflowTimestamp": "xyz789",
"startTime": "abc123",
"version": "xyz789",
"createdBy": UserDetails,
"updatedBy": UserDetails,
"lastHeartbeat": "xyz789",
"hostname": "xyz789"
}
WindowsInfraFilterInput
Workflow
Description
Defines the details for a workflow
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
workflowID - String!
|
ID of the workflow |
workflowType - String
|
Type of the workflow |
workflowManifest - String!
|
Manifest of the workflow |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
isCronEnabled - Boolean
|
If cron is enabled or disabled |
name - String!
|
Name of the workflow |
description - String!
|
Description of the workflow |
weightages - [Weightages!]!
|
Array containing weightage and name of each chaos experiment in the workflow |
isCustomWorkflow - Boolean!
|
Bool value indicating whether the workflow is a custom workflow or not |
updatedAt - String!
|
Timestamp when the workflow was last updated |
createdAt - String!
|
Timestamp when the workflow was created |
infra - Infrastructure
|
Target infra in which the workflow will run |
isRemoved - Boolean!
|
Bool value indicating if the workflow has removed |
tags - [String!]
|
Tags of the workflow |
createdBy - UserDetails
|
User who created the workflow |
recentWorkflowRunDetails - [RecentWorkflowRun]
|
Array of object containing details of recent workflow runs |
eventsMetadata - [EventMetadata!]
|
Array containing service identifier and environment identifier for SRM change source events |
updatedBy - UserDetails
|
Details of the user who updated the workflow |
lastExecutedAt - String!
|
Timestamp when the experiment was last executed |
Example
{
"identifiers": Identifiers,
"workflowID": "xyz789",
"workflowType": "abc123",
"workflowManifest": "abc123",
"cronSyntax": "abc123",
"isCronEnabled": true,
"name": "abc123",
"description": "xyz789",
"weightages": [Weightages],
"isCustomWorkflow": false,
"updatedAt": "xyz789",
"createdAt": "xyz789",
"infra": Infrastructure,
"isRemoved": false,
"tags": ["xyz789"],
"createdBy": UserDetails,
"recentWorkflowRunDetails": [RecentWorkflowRun],
"eventsMetadata": [EventMetadata],
"updatedBy": UserDetails,
"lastExecutedAt": "xyz789"
}
WorkflowFilterInput
Description
Defines filter options for workflows
Fields
Input Field | Description |
---|---|
workflowName - String
|
Name of the workflow |
infraName - String
|
Name of the infra in which the workflow is running |
infraID - String
|
ID of the agent in which the workflow is running |
infraActive - Boolean
|
Bool value indicating if Chaos Infrastructure is active |
scenarioType - ScenarioType
|
Scenario type of the workflow i.e. CRON or NON_CRON |
status - String
|
Status of the latest workflow run |
dateRange - DateRange
|
Date range for filtering purpose |
infraTypes - [InfrastructureType]
|
Type of infras |
tags - [String]
|
Tags based search |
isCronEnabled - Boolean
|
Bool value to filter data based on cron enabled state |
Example
{}
WorkflowRun
Description
Defines the details of a workflow run
Fields
Field Name | Description |
---|---|
identifiers - Identifiers!
|
Harness identifiers |
workflowRunID - ID!
|
ID of the workflow run which is to be queried |
workflowType - String
|
Type of the workflow |
workflowID - ID!
|
ID of the workflow |
weightages - [Weightages!]!
|
Array containing weightage and name of each chaos experiment in the workflow |
updatedAt - String!
|
Timestamp at which workflow run was last updated |
createdAt - String!
|
Timestamp at which workflow run was created |
cronSyntax - String!
|
Cron syntax of the workflow schedule |
infra - Infrastructure!
|
Target infra in which the workflow will run |
workflowName - String!
|
Name of the workflow |
workflowDescription - String
|
Description of the workflow |
workflowTags - [String]
|
Tag of the workflow |
workflowManifest - String!
|
Manifest of the workflow run |
isCronEnabled - Boolean
|
If cron is enabled or disabled |
probe - [ProbeMap!]!
|
Probe object containing reference of probeIDs |
phase - WorkflowRunStatus!
|
Phase of the workflow run |
resiliencyScore - Float
|
Resiliency score of the workflow |
experimentsPassed - Int
|
Number of experiments passed |
experimentsFailed - Int
|
Number of experiments failed |
experimentsAwaited - Int
|
Number of experiments awaited |
experimentsStopped - Int
|
Number of experiments stopped |
experimentsNa - Int
|
Number of experiments which are not available |
totalExperiments - Int
|
Total number of experiments |
executionData - String!
|
Stores all the workflow run details related to the nodes of DAG graph and chaos results of the experiments |
isRemoved - Boolean
|
Bool value indicating if the workflow run has removed |
updatedBy - UserDetails
|
User who has updated the workflow |
createdBy - UserDetails
|
User who has created the experiment run |
notifyID - ID
|
Notify ID of the experiment run |
errorResponse - String
|
Error Response is the reason why experiment failed to run |
securityGovernance - SecurityGovernance
|
Security Governance details of the workflow run |
runSequence - Int!
|
runSequence is the sequence number of experiment run |
experimentType - String!
|
experimentType is the type of experiment run |
Example
{
"identifiers": Identifiers,
"workflowRunID": 4,
"workflowType": "abc123",
"workflowID": 4,
"weightages": [Weightages],
"updatedAt": "abc123",
"createdAt": "xyz789",
"cronSyntax": "xyz789",
"infra": Infrastructure,
"workflowName": "abc123",
"workflowDescription": "abc123",
"workflowTags": ["abc123"],
"workflowManifest": "abc123",
"isCronEnabled": true,
"probe": [ProbeMap],
"phase": "All",
"resiliencyScore": 123.45,
"experimentsPassed": 987,
"experimentsFailed": 987,
"experimentsAwaited": 987,
"experimentsStopped": 987,
"experimentsNa": 987,
"totalExperiments": 123,
"executionData": "abc123",
"isRemoved": false,
"updatedBy": UserDetails,
"createdBy": UserDetails,
"notifyID": "4",
"errorResponse": "abc123",
"securityGovernance": SecurityGovernance,
"runSequence": 987,
"experimentType": "xyz789"
}
WorkflowRunFilterInput
Description
Defines input type for workflow run filter
Fields
Input Field | Description |
---|---|
runSequence - Int
|
Sequence of the run |
workflowName - String
|
Name of the workflow |
infraID - String
|
Name of the infra infra |
workflowType - ScenarioType
|
Type of the workflow |
workflowStatus - WorkflowRunStatus
|
Status of the workflow run |
dateRange - DateRange
|
Date range for filtering purpose |
workflowRunID - String
|
ID of experiment run |
workflowRunStatus - [String]
|
Array of workflow run status |
infraTypes - [InfrastructureType]
|
Type of infras |
Example
{}
WorkflowRunSortInput
Description
Defines sorting options for workflow runs
Fields
Input Field | Description |
---|---|
field - WorkflowSortingField!
|
Field in which sorting will be done |
ascending - Boolean
|
Bool value indicating whether the sorting will be done in ascending order |
Example
{}
WorkflowRunStatus
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
WorkflowSortInput
Description
Defines sorting options for workflow
Fields
Input Field | Description |
---|---|
field - WorkflowSortingField!
|
Field in which sorting will be done |
ascending - Boolean
|
Bool value indicating whether the sorting will be done in ascending order |
Example
{}
WorkflowSortingField
Values
Enum Value | Description |
---|---|
|
|
|
Example
{}
WorkflowType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
{}