{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-actions-action-response-schema.json", "title": "actions.ActionResponse", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/harness-actions-api-openapi.yml#/components/schemas/actions.ActionResponse", "type": "object", "required": [ "accountID", "name" ], "properties": { "accountID": { "type": "string" }, "actionProperties": { "$ref": "#/$defs/action.ActionTemplateProperties" }, "actionReferenceCount": { "type": "integer" }, "actionTemplate": { "type": "string" }, "actionsRef": { "type": "string" }, "createdAt": { "type": "integer" }, "createdBy": { "$ref": "#/$defs/github_com_harness_hce-saas_graphql_server_graph_model.UserDetails" }, "description": { "type": "string" }, "hasSecrets": { "type": "boolean" }, "hubRef": { "type": "string" }, "identity": { "type": "string" }, "importType": { "$ref": "#/$defs/mongodb.ImportType" }, "infrastructureType": { "$ref": "#/$defs/actions.InfrastructureType" }, "inputs": { "type": "array", "items": { "$ref": "#/$defs/template.Variable" } }, "isImported": { "type": "boolean" }, "isRemoved": { "type": "boolean" }, "managedBy": { "$ref": "#/$defs/mongodb.ManagedBy" }, "name": { "type": "string" }, "orgID": { "type": "string" }, "projectID": { "type": "string" }, "recentExecutions": { "type": "array", "items": { "$ref": "#/$defs/actions.RecentExecutions" } }, "runProperties": { "$ref": "#/$defs/action.ActionTemplateRunProperties" }, "tags": { "type": "array", "items": { "type": "string" } }, "type": { "$ref": "#/$defs/actions.ActionType" }, "updatedAt": { "type": "integer" }, "updatedBy": { "$ref": "#/$defs/github_com_harness_hce-saas_graphql_server_graph_model.UserDetails" }, "variables": { "description": "CHAOS-11100", "type": "array", "items": { "$ref": "#/$defs/template.Variable" } } }, "$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.ExecutedByExperiment": { "type": "object", "properties": { "experimentID": { "type": "string" }, "experimentName": { "type": "string" }, "experimentRunID": { "type": "string" }, "notifyID": { "type": "string" }, "updatedAt": { "type": "integer" }, "updatedBy": { "$ref": "#/$defs/actions.UserDetails" } } }, "actions.InfrastructureType": { "type": "string", "enum": [ "Kubernetes", "KubernetesV2", "Windows", "Linux", "CloudFoundry", "Container" ], "x-enum-varnames": [ "InfrastructureTypeKubernetes", "InfrastructureTypeKubernetesV2", "InfrastructureTypeWindows", "InfrastructureTypeLinux", "InfrastructureTypeCloudFoundry", "InfrastructureTypeContainer" ] }, "actions.RecentExecutions": { "type": "object", "properties": { "executedByExperiment": { "$ref": "#/$defs/actions.ExecutedByExperiment" }, "status": { "type": "string" }, "stepName": { "type": "string" } } }, "actions.UserDetails": { "type": "object", "properties": { "email": { "type": "string" }, "userID": { "type": "string" }, "username": { "type": "string" } } }, "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" } ] } } }, "mongodb.ImportType": { "type": "string", "enum": [ "LOCAL", "REFERENCE" ], "x-enum-varnames": [ "ImportTypeLocal", "ImportTypeReference" ] }, "mongodb.ManagedBy": { "type": "string", "enum": [ "EXPERIMENT" ], "x-enum-varnames": [ "ManagedByExperiment" ] }, "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['']`, `metadata.annotations['']`,\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 options\noverride the pod options.\n+optional", "allOf": [ { "$ref": "#/$defs/v1.SeccompProfile" } ] }, "windowsOptions": { "description": "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext 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.StorageMedium": { "type": "string", "enum": [ "", "Memory", "HugePages", "HugePages-" ], "x-enum-comments": { "StorageMediumDefault": "use whatever the default is for the node, assume anything we don't explicitly handle is this", "StorageMediumHugePages": "use hugepages", "StorageMediumHugePagesPrefix": "prefix for full medium notation HugePages-", "StorageMediumMemory": "use memory (e.g. tmpfs on linux)" }, "x-enum-varnames": [ "StorageMediumDefault", "StorageMediumMemory", "StorageMediumHugePages", "StorageMediumHugePagesPrefix" ] }, "v1.Sysctl": { "type": "object", "properties": { "name": { "description": "Name of a property to set", "type": "string" }, "value": { "description": "Value of a property to set", "type": "string" } } }, "v1.TaintEffect": { "type": "string", "enum": [ "NoSchedule", "PreferNoSchedule", "NoExecute" ], "x-enum-varnames": [ "TaintEffectNoSchedule", "TaintEffectPreferNoSchedule", "TaintEffectNoExecute" ] }, "v1.Toleration": { "type": "object", "properties": { "effect": { "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n+optional", "allOf": [ { "$ref": "#/$defs/v1.TaintEffect" } ] }, "key": { "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.\n+optional", "type": "string" }, "operator": { "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.\n+optional", "allOf": [ { "$ref": "#/$defs/v1.TolerationOperator" } ] }, "tolerationSeconds": { "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.\n+optional", "type": "integer" }, "value": { "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.\n+optional", "type": "string" } } }, "v1.TolerationOperator": { "type": "string", "enum": [ "Exists", "Equal" ], "x-enum-varnames": [ "TolerationOpExists", "TolerationOpEqual" ] }, "v1.VolumeMount": { "type": "object", "properties": { "mountPath": { "description": "Path within the container at which the volume should be mounted. Must\nnot contain ':'.", "type": "string" }, "mountPropagation": { "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\n+optional", "allOf": [ { "$ref": "#/$defs/v1.MountPropagationMode" } ] }, "name": { "description": "This must match the Name of a Volume.", "type": "string" }, "readOnly": { "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.\n+optional", "type": "boolean" }, "subPath": { "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).\n+optional", "type": "string" }, "subPathExpr": { "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.\n+optional", "type": "string" } } }, "v1.WindowsSecurityContextOptions": { "type": "object", "properties": { "gmsaCredentialSpec": { "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field.\n+optional", "type": "string" }, "gmsaCredentialSpecName": { "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.\n+optional", "type": "string" }, "runAsUserName": { "description": "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the 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": "string" } } } } }