Harness · Schema

chaosfaulttemplate.GetActionTemplateResponse

DevOpsGitOpsInternal Developer PortalLifecycleSoftware DeliveryCI/CDContinuous DeliveryContinuous Integration

Properties

Name Type Description
correlationID string
data object
View JSON Schema on GitHub

JSON Schema

harness-chaosfaulttemplate-get-action-template-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-chaosfaulttemplate-get-action-template-response-schema.json",
  "title": "chaosfaulttemplate.GetActionTemplateResponse",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-action-templates-api-openapi.yml#/components/schemas/chaosfaulttemplate.GetActionTemplateResponse",
  "type": "object",
  "properties": {
    "correlationID": {
      "type": "string"
    },
    "data": {
      "$ref": "#/$defs/chaosactiontemplate.ChaosActionTemplate"
    }
  },
  "$defs": {
    "action.ActionTemplateProperties": {
      "type": "object",
      "properties": {
        "containerAction": {
          "$ref": "#/$defs/common.ContainerTemplate"
        },
        "customScriptAction": {
          "$ref": "#/$defs/action.CustomScriptActionTemplate"
        },
        "delayAction": {
          "$ref": "#/$defs/action.DelayActionTemplate"
        }
      }
    },
    "action.ActionTemplateRunProperties": {
      "type": "object",
      "properties": {
        "initialDelay": {
          "type": "string"
        },
        "interval": {
          "type": "string"
        },
        "maxRetries": {},
        "stopOnFailure": {
          "type": "boolean"
        },
        "timeout": {
          "type": "string"
        },
        "verbosity": {
          "type": "string"
        }
      }
    },
    "action.CustomScriptActionTemplate": {
      "type": "object",
      "properties": {
        "args": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "command": {
          "type": "string"
        },
        "env": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/action.ENV"
          }
        }
      }
    },
    "action.DelayActionTemplate": {
      "type": "object",
      "properties": {
        "duration": {
          "type": "string"
        }
      }
    },
    "action.ENV": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "actions.ActionType": {
      "type": "string",
      "enum": [
        "delay",
        "customScript",
        "container"
      ],
      "x-enum-varnames": [
        "DelayActionType",
        "CustomScriptActionType",
        "ContainerActionType"
      ]
    },
    "actions.InfrastructureType": {
      "type": "string",
      "enum": [
        "Kubernetes",
        "KubernetesV2",
        "Windows",
        "Linux",
        "CloudFoundry",
        "Container"
      ],
      "x-enum-varnames": [
        "InfrastructureTypeKubernetes",
        "InfrastructureTypeKubernetesV2",
        "InfrastructureTypeWindows",
        "InfrastructureTypeLinux",
        "InfrastructureTypeCloudFoundry",
        "InfrastructureTypeContainer"
      ]
    },
    "chaosactiontemplate.ChaosActionTemplate": {
      "type": "object",
      "required": [
        "accountID",
        "isRemoved",
        "name"
      ],
      "properties": {
        "accountID": {
          "type": "string"
        },
        "actionProperties": {
          "description": "Needed for API response *not to be stored in DB*",
          "allOf": [
            {
              "$ref": "#/$defs/action.ActionTemplateProperties"
            }
          ]
        },
        "createdAt": {
          "type": "integer"
        },
        "createdBy": {
          "type": "string"
        },
        "createdByUserDetails": {
          "$ref": "#/$defs/github_com_harness_hce-saas_graphql_server_graph_model.UserDetails"
        },
        "description": {
          "type": "string"
        },
        "hubRef": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "identity": {
          "description": "Unique identifier (human-readable) immutable\nInitially it will be same as name",
          "type": "string"
        },
        "infrastructureType": {
          "$ref": "#/$defs/actions.InfrastructureType"
        },
        "inputs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/template.Variable"
          }
        },
        "isDefault": {
          "description": "isDefault indicates if it is the default version\nfor predefined faults, latest should be set as default",
          "type": "boolean"
        },
        "isEnterprise": {
          "type": "boolean"
        },
        "isRemoved": {
          "type": "boolean"
        },
        "name": {
          "description": "Fault name to sync the changes from the hub\nHubRef + Name should be unique",
          "type": "string"
        },
        "orgID": {
          "type": "string"
        },
        "projectID": {
          "type": "string"
        },
        "revision": {
          "description": "it increments every time a new version of fault is published",
          "type": "integer"
        },
        "runProperties": {
          "$ref": "#/$defs/action.ActionTemplateRunProperties"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "template": {
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/actions.ActionType"
        },
        "updatedAt": {
          "type": "integer"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedByUserDetails": {
          "$ref": "#/$defs/github_com_harness_hce-saas_graphql_server_graph_model.UserDetails"
        },
        "variables": {
          "description": "CHAOS-11100",
          "type": "array",
          "items": {
            "$ref": "#/$defs/template.Variable"
          }
        }
      }
    },
    "common.ContainerTemplate": {
      "type": "object",
      "properties": {
        "affinity": {
          "$ref": "#/$defs/common.NodeAffinity"
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "args": {
          "type": "string"
        },
        "command": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "containerSecurityContext": {
          "$ref": "#/$defs/v1.SecurityContext"
        },
        "env": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/k8s_io_api_core_v1.EnvVar"
          }
        },
        "hostIPC": {
          "type": "boolean"
        },
        "hostNetwork": {
          "type": "boolean"
        },
        "hostPID": {
          "type": "boolean"
        },
        "image": {
          "type": "string"
        },
        "imagePullPolicy": {
          "$ref": "#/$defs/v1.PullPolicy"
        },
        "imagePullSecrets": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "namespace": {
          "type": "string"
        },
        "nodeSelector": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "podSecurityContext": {
          "$ref": "#/$defs/v1.PodSecurityContext"
        },
        "resources": {
          "$ref": "#/$defs/common.ResourceRequirements"
        },
        "serviceAccountName": {
          "type": "string"
        },
        "tolerations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/v1.Toleration"
          }
        },
        "volumeMounts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/v1.VolumeMount"
          }
        },
        "volumes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/common.Volume"
          }
        }
      }
    },
    "common.NodeAffinity": {
      "type": "object",
      "properties": {
        "preferred": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/common.PreferredNodeSelector"
          }
        },
        "required": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/common.RequiredNodeSelector"
          }
        }
      }
    },
    "common.PreferredNodeSelector": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "description": "default: In",
          "type": "string"
        },
        "values": {
          "type": "string"
        },
        "weight": {
          "type": "string"
        }
      }
    },
    "common.RequiredNodeSelector": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "description": "default: In",
          "type": "string"
        },
        "values": {
          "type": "string"
        }
      }
    },
    "common.ResourceRequirements": {
      "type": "object",
      "properties": {
        "limits": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "requests": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "common.Volume": {
      "type": "object",
      "properties": {
        "configMap": {
          "$ref": "#/$defs/common.VolumeInputTemplate"
        },
        "emptyDir": {
          "$ref": "#/$defs/v1.EmptyDirVolumeSource"
        },
        "hostPath": {
          "$ref": "#/$defs/v1.HostPathVolumeSource"
        },
        "name": {
          "type": "string"
        },
        "persistentVolumeClaim": {
          "$ref": "#/$defs/v1.PersistentVolumeClaimVolumeSource"
        },
        "secret": {
          "$ref": "#/$defs/common.VolumeInputTemplate"
        },
        "type": {
          "$ref": "#/$defs/common.VolumeType"
        }
      }
    },
    "common.VolumeInputTemplate": {
      "type": "object",
      "properties": {
        "defaultMode": {
          "type": "string"
        },
        "items": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "type": "string"
        },
        "optional": {
          "type": "boolean"
        }
      }
    },
    "common.VolumeType": {
      "type": "string",
      "enum": [
        "HostPath",
        "EmptyDir",
        "Secret",
        "PersistentVolumeClaim",
        "ConfigMap"
      ],
      "x-enum-varnames": [
        "VolumeTypeHostPath",
        "VolumeTypeEmptyDir",
        "VolumeTypeSecret",
        "VolumeTypePersistentVolumeClaim",
        "VolumeTypeConfigMap"
      ]
    },
    "github_com_harness_hce-saas_graphql_server_graph_model.UserDetails": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "userID": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "k8s_io_api_core_v1.EnvVar": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
          "type": "string"
        },
        "value": {
          "description": "Variable references $(VAR_NAME) are expanded\nusing the previous defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. The $(VAR_NAME)\nsyntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped\nreferences will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\".\n+optional",
          "type": "string"
        },
        "valueFrom": {
          "description": "Source for the environment variable's value. Cannot be used if value is not empty.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.EnvVarSource"
            }
          ]
        }
      }
    },
    "resource.Quantity": {
      "type": "object",
      "properties": {
        "Format": {
          "type": "string",
          "enum": [
            "DecimalExponent",
            "BinarySI",
            "DecimalSI"
          ],
          "x-enum-comments": {
            "BinarySI": "e.g., 12Mi (12 * 2^20)",
            "DecimalExponent": "e.g., 12e6",
            "DecimalSI": "e.g., 12M  (12 * 10^6)"
          },
          "x-enum-varnames": [
            "DecimalExponent",
            "BinarySI",
            "DecimalSI"
          ]
        }
      }
    },
    "template.InputCategory": {
      "type": "string",
      "enum": [
        "FaultTarget",
        "FaultTunable",
        "TargetInfra",
        "ExperimentTunable",
        "ActionProperties",
        "ProbeProperties",
        "RunProperties",
        "FaultAuthentication"
      ],
      "x-enum-varnames": [
        "CategoryFaultTarget",
        "CategoryFaultTunable",
        "CategoryTargetInfra",
        "CategoryExperimentTunable",
        "CategoryActionProperties",
        "CategoryProbeProperties",
        "CategoryRunProperties",
        "CategoryFaultAuthentication"
      ]
    },
    "template.InputType": {
      "type": "string",
      "enum": [
        "String",
        "Integer",
        "Boolean",
        "Number",
        "SecretFile",
        "SecretText"
      ],
      "x-enum-varnames": [
        "StringInput",
        "IntegerInput",
        "BooleanInput",
        "NumberInput",
        "SecretFileInput",
        "SecretTextInput"
      ]
    },
    "template.Variable": {
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "allowedValues": {
          "type": "array",
          "items": {}
        },
        "category": {
          "$ref": "#/$defs/template.InputCategory"
        },
        "default": {},
        "description": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "required": {
          "type": "boolean"
        },
        "stringify": {
          "type": "boolean"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tooltipId": {
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/template.InputType"
        },
        "validator": {
          "type": "string"
        },
        "value": {}
      }
    },
    "v1.Capabilities": {
      "type": "object",
      "properties": {
        "add": {
          "description": "Added capabilities\n+optional",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "drop": {
          "description": "Removed capabilities\n+optional",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1.ConfigMapKeySelector": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The key to select.",
          "type": "string"
        },
        "name": {
          "description": "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?\n+optional",
          "type": "string"
        },
        "optional": {
          "description": "Specify whether the ConfigMap or its key must be defined\n+optional",
          "type": "boolean"
        }
      }
    },
    "v1.EmptyDirVolumeSource": {
      "type": "object",
      "properties": {
        "medium": {
          "description": "What type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.StorageMedium"
            }
          ]
        },
        "sizeLimit": {
          "description": "Total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: http://kubernetes.io/docs/user-guide/volumes#emptydir\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/resource.Quantity"
            }
          ]
        }
      }
    },
    "v1.EnvVarSource": {
      "type": "object",
      "properties": {
        "configMapKeyRef": {
          "description": "Selects a key of a ConfigMap.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.ConfigMapKeySelector"
            }
          ]
        },
        "fieldRef": {
          "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.ObjectFieldSelector"
            }
          ]
        },
        "resourceFieldRef": {
          "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.ResourceFieldSelector"
            }
          ]
        },
        "secretKeyRef": {
          "description": "Selects a key of a secret in the pod's namespace\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.SecretKeySelector"
            }
          ]
        }
      }
    },
    "v1.HostPathType": {
      "type": "string",
      "enum": [
        "",
        "DirectoryOrCreate",
        "Directory",
        "FileOrCreate",
        "File",
        "Socket",
        "CharDevice",
        "BlockDevice"
      ],
      "x-enum-varnames": [
        "HostPathUnset",
        "HostPathDirectoryOrCreate",
        "HostPathDirectory",
        "HostPathFileOrCreate",
        "HostPathFile",
        "HostPathSocket",
        "HostPathCharDev",
        "HostPathBlockDev"
      ]
    },
    "v1.HostPathVolumeSource": {
      "type": "object",
      "properties": {
        "path": {
          "description": "Path of the directory on the host.\nIf the path is a symlink, it will follow the link to the real path.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
          "type": "string"
        },
        "type": {
          "description": "Type for HostPath Volume\nDefaults to \"\"\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.HostPathType"
            }
          ]
        }
      }
    },
    "v1.MountPropagationMode": {
      "type": "string",
      "enum": [
        "None",
        "HostToContainer",
        "Bidirectional"
      ],
      "x-enum-varnames": [
        "MountPropagationNone",
        "MountPropagationHostToContainer",
        "MountPropagationBidirectional"
      ]
    },
    "v1.ObjectFieldSelector": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".\n+optional",
          "type": "string"
        },
        "fieldPath": {
          "description": "Path of the field to select in the specified API version.",
          "type": "string"
        }
      }
    },
    "v1.PersistentVolumeClaimVolumeSource": {
      "type": "object",
      "properties": {
        "claimName": {
          "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
          "type": "string"
        },
        "readOnly": {
          "description": "Will force the ReadOnly setting in VolumeMounts.\nDefault false.\n+optional",
          "type": "boolean"
        }
      }
    },
    "v1.PodFSGroupChangePolicy": {
      "type": "string",
      "enum": [
        "OnRootMismatch",
        "Always"
      ],
      "x-enum-varnames": [
        "FSGroupChangeOnRootMismatch",
        "FSGroupChangeAlways"
      ]
    },
    "v1.PodSecurityContext": {
      "type": "object",
      "properties": {
        "fsGroup": {
          "description": "A special supplemental group that applies to all containers in a pod.\nSome volume types allow the Kubelet to change the ownership of that volume\nto be owned by the pod:\n\n1. The owning GID will be the FSGroup\n2. The setgid bit is set (new files created in the volume will be owned by FSGroup)\n3. The permission bits are OR'd with rw-rw----\n\nIf unset, the Kubelet will not modify the ownership and permissions of any volume.\n+optional",
          "type": "integer"
        },
        "fsGroupChangePolicy": {
          "description": "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume\nbefore being exposed inside Pod. This field will only apply to\nvolume types which support fsGroup based ownership(and permissions).\nIt will have no effect on ephemeral volume types such as: secret, configmaps\nand emptydir.\nValid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.PodFSGroupChangePolicy"
            }
          ]
        },
        "runAsGroup": {
          "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in SecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence\nfor that container.\n+optional",
          "type": "integer"
        },
        "runAsNonRoot": {
          "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in SecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "type": "boolean"
        },
        "runAsUser": {
          "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in SecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence\nfor that container.\n+optional",
          "type": "integer"
        },
        "seLinuxOptions": {
          "description": "The SELinux context to be applied to all containers.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in SecurityContext.  If set in\nboth SecurityContext and PodSecurityContext, the value specified in SecurityContext\ntakes precedence for that container.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.SELinuxOptions"
            }
          ]
        },
        "seccompProfile": {
          "description": "The seccomp options to use by the containers in this pod.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.SeccompProfile"
            }
          ]
        },
        "supplementalGroups": {
          "description": "A list of groups applied to the first process run in each container, in addition\nto the container's primary GID.  If unspecified, no groups will be added to\nany container.\n+optional",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "sysctls": {
          "description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported\nsysctls (by the container runtime) might fail to launch.\n+optional",
          "type": "array",
          "items": {
            "$ref": "#/$defs/v1.Sysctl"
          }
        },
        "windowsOptions": {
          "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options within a container's SecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.WindowsSecurityContextOptions"
            }
          ]
        }
      }
    },
    "v1.ProcMountType": {
      "type": "string",
      "enum": [
        "Default",
        "Unmasked"
      ],
      "x-enum-varnames": [
        "DefaultProcMount",
        "UnmaskedProcMount"
      ]
    },
    "v1.PullPolicy": {
      "type": "string",
      "enum": [
        "Always",
        "Never",
        "IfNotPresent"
      ],
      "x-enum-varnames": [
        "PullAlways",
        "PullNever",
        "PullIfNotPresent"
      ]
    },
    "v1.ResourceFieldSelector": {
      "type": "object",
      "properties": {
        "containerName": {
          "description": "Container name: required for volumes, optional for env vars\n+optional",
          "type": "string"
        },
        "divisor": {
          "description": "Specifies the output format of the exposed resources, defaults to \"1\"\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/resource.Quantity"
            }
          ]
        },
        "resource": {
          "description": "Required: resource to select",
          "type": "string"
        }
      }
    },
    "v1.SELinuxOptions": {
      "type": "object",
      "properties": {
        "level": {
          "description": "Level is SELinux level label that applies to the container.\n+optional",
          "type": "string"
        },
        "role": {
          "description": "Role is a SELinux role label that applies to the container.\n+optional",
          "type": "string"
        },
        "type": {
          "description": "Type is a SELinux type label that applies to the container.\n+optional",
          "type": "string"
        },
        "user": {
          "description": "User is a SELinux user label that applies to the container.\n+optional",
          "type": "string"
        }
      }
    },
    "v1.SeccompProfile": {
      "type": "object",
      "properties": {
        "localhostProfile": {
          "description": "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust only be set if type is \"Localhost\".\n+optional",
          "type": "string"
        },
        "type": {
          "description": "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied.\n+unionDiscriminator",
          "allOf": [
            {
              "$ref": "#/$defs/v1.SeccompProfileType"
            }
          ]
        }
      }
    },
    "v1.SeccompProfileType": {
      "type": "string",
      "enum": [
        "Unconfined",
        "RuntimeDefault",
        "Localhost"
      ],
      "x-enum-varnames": [
        "SeccompProfileTypeUnconfined",
        "SeccompProfileTypeRuntimeDefault",
        "SeccompProfileTypeLocalhost"
      ]
    },
    "v1.SecretKeySelector": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The key of the secret to select from.  Must be a valid secret key.",
          "type": "string"
        },
        "name": {
          "description": "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?\n+optional",
          "type": "string"
        },
        "optional": {
          "description": "Specify whether the Secret or its key must be defined\n+optional",
          "type": "boolean"
        }
      }
    },
    "v1.SecurityContext": {
      "type": "object",
      "properties": {
        "allowPrivilegeEscalation": {
          "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\n+optional",
          "type": "boolean"
        },
        "capabilities": {
          "description": "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.Capabilities"
            }
          ]
        },
        "privileged": {
          "description": "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\n+optional",
          "type": "boolean"
        },
        "procMount": {
          "description": "procMount denotes the type of proc mount to use for the containers.\nThe default is DefaultProcMount which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.ProcMountType"
            }
          ]
        },
        "readOnlyRootFilesystem": {
          "description": "Whether this container has a read-only root filesystem.\nDefault is false.\n+optional",
          "type": "boolean"
        },
        "runAsGroup": {
          "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "type": "integer"
        },
        "runAsNonRoot": {
          "description": "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "type": "boolean"
        },
        "runAsUser": {
          "description": "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "type": "integer"
        },
        "seLinuxOptions": {
          "description": "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer.  May also be set in PodSecurityContext.  If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.SELinuxOptions"
            }
          ]
        },
        "seccompProfile": {
          "description": "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container 

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/json-schema/harness-chaosfaulttemplate-get-action-template-response-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/harness-chaosfaulttemplate-get-action-template-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.