type: "io.kestra.plugin.soda.Scan"
Run a Soda scan.
Examples
Run a scan on BigQuery.
id: soda_scan
namespacae: company.team
tasks:
- id: scan
type: io.kestra.plugin.soda.Scan
configuration:
data_source kestra:
type: bigquery
connection:
project_id: kestra-unit-test
dataset: demo
account_info_json: |
{{ secret('GCP_CREDS') }}
checks:
checks for orderDetail:
- row_count > 0
- max(unitPrice):
warn: when between 1 and 250
fail: when > 250
checks for territory:
- row_count > 0
- failed rows:
name: Failed rows query test
fail condition: regionId = 4
requirements:
- soda-core-bigquery
Properties
checks
- Type: object
- Dynamic: ✔️
- Required: ✔️
The checks file
configuration
- Type: object
- Dynamic: ✔️
- Required: ✔️
The configuration file
requirements
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ✔️
List of python dependencies to add to the python execution process
Python dependencies list to setup in the virtualenv, in the same format than requirements.txt. It must at least provides dbt.
containerImage
- Type: string
- Dynamic: ✔️
- Required: ❌
- Default:
sodadata/soda-core
The task runner container image, only used if the task runner is container-based.
docker
- Type: DockerOptions
- Dynamic: ❌
- Required: ❌
Deprecated, use 'taskRunner' instead
dockerOptions
- Type: DockerOptions
- Dynamic: ❌
- Required: ❌
Deprecated, use the docker
property instead
env
- Type: object
- SubType: string
- Dynamic: ✔️
- Required: ❌
Additional environment variables for the current process.
inputFiles
- Type: object
- SubType: string
- Dynamic: ✔️
- Required: ❌
Input files are extra files that will be available in the dbt working directory.
You can define the files as map or a JSON string. Each file can be defined inlined or can reference a file from Kestra's internal storage.
runner
- Type: string
- Dynamic: ❌
- Required: ❌
- Possible Values:
PROCESS
DOCKER
Runner to use
Deprecated, use 'taskRunner' instead
taskRunner
- Type: TaskRunner
- Dynamic: ❌
- Required: ❌
- Default:
{ "type": "io.kestra.plugin.scripts.runner.docker.Docker" }
The task runner to use.
Task runners are provided by plugins, each have their own properties.
variables
- Type: object
- Dynamic: ✔️
- Required: ❌
The variables to pass
verbose
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
false
Whether to enable verbose logging
Outputs
configuration
- Type: object
- Required: ✔️
exitCode
- Type: integer
- Required: ✔️
- Default:
0
result
- Type: ScanResult
- Required: ❌
stdErrLineCount
- Type: integer
- Required: ❌
- Default:
0
stdOutLineCount
- Type: integer
- Required: ❌
- Default:
0
Definitions
io.kestra.plugin.soda.models.Metric
identity
- Type: string
- Dynamic: ❌
- Required: ❓
metricName
- Type: string
- Dynamic: ❌
- Required: ❓
value
- Type: object
- Dynamic: ❌
- Required: ❓
io.kestra.plugin.scripts.runner.docker.Cpu
cpus
- Type: integer
- Dynamic: ❌
- Required: ❌
io.kestra.core.models.tasks.runners.TaskRunner
type
- Type: string
- Dynamic: ❌
- Required: ✔️
- Validation RegExp:
\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*(\.\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*)*
- Min length:
1
io.kestra.plugin.scripts.runner.docker.Memory
kernelMemory
- Type: string
- Dynamic: ✔️
- Required: ❌
memory
- Type: string
- Dynamic: ✔️
- Required: ❌
memoryReservation
- Type: string
- Dynamic: ✔️
- Required: ❌
memorySwap
- Type: string
- Dynamic: ✔️
- Required: ❌
memorySwappiness
- Type: string
- Dynamic: ✔️
- Required: ❌
oomKillDisable
- Type: boolean
- Dynamic: ❌
- Required: ❌
io.kestra.plugin.scripts.exec.scripts.models.DockerOptions
image
- Type: string
- Dynamic: ✔️
- Required: ✔️
- Min length:
1
config
- Type:
- string
- object
- Dynamic: ✔️
- Required: ❌
- Type:
cpu
- Type: Cpu
- Dynamic: ❌
- Required: ❌
credentials
- Type: Credentials
- Dynamic: ✔️
- Required: ❌
deviceRequests
- Type: array
- SubType: DeviceRequest
- Dynamic: ❌
- Required: ❌
entryPoint
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
extraHosts
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
host
- Type: string
- Dynamic: ✔️
- Required: ❌
memory
- Type: Memory
- Dynamic: ❌
- Required: ❌
networkMode
- Type: string
- Dynamic: ✔️
- Required: ❌
pullPolicy
- Type: string
- Dynamic: ❌
- Required: ❌
- Default:
ALWAYS
- Possible Values:
IF_NOT_PRESENT
ALWAYS
NEVER
shmSize
- Type: string
- Dynamic: ✔️
- Required: ❌
user
- Type: string
- Dynamic: ✔️
- Required: ❌
volumes
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
io.kestra.plugin.soda.models.ScanResult
automatedMonitoringChecks
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❓
checks
- Type: array
- SubType: Check
- Dynamic: ❌
- Required: ❓
dataTimestamp
- Type: string
- Dynamic: ❌
- Required: ❓
- Format:
date-time
defaultDataSource
- Type: string
- Dynamic: ❌
- Required: ❓
definitionName
- Type: string
- Dynamic: ❌
- Required: ❓
hasErrors
- Type: boolean
- Dynamic: ❌
- Required: ❓
hasFailures
- Type: boolean
- Dynamic: ❌
- Required: ❓
hasWarnings
- Type: boolean
- Dynamic: ❌
- Required: ❓
metadata
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❓
metrics
- Type: array
- SubType: Metric
- Dynamic: ❌
- Required: ❓
profiling
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❓
scanEndTimestamp
- Type: string
- Dynamic: ❌
- Required: ❓
- Format:
date-time
scanStartTimestamp
- Type: string
- Dynamic: ❌
- Required: ❓
- Format:
date-time
io.kestra.plugin.scripts.runner.docker.Credentials
auth
- Type: string
- Dynamic: ✔️
- Required: ❌
identityToken
- Type: string
- Dynamic: ✔️
- Required: ❌
password
- Type: string
- Dynamic: ✔️
- Required: ❌
registry
- Type: string
- Dynamic: ✔️
- Required: ❌
registryToken
- Type: string
- Dynamic: ✔️
- Required: ❌
username
- Type: string
- Dynamic: ✔️
- Required: ❌
io.kestra.plugin.scripts.runner.docker.DeviceRequest
capabilities
- Type: array
- SubType: array
- Dynamic: ❌
- Required: ❌
count
- Type: integer
- Dynamic: ❌
- Required: ❌
deviceIds
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
driver
- Type: string
- Dynamic: ✔️
- Required: ❌
options
- Type: object
- SubType: string
- Dynamic: ❌
- Required: ❌
io.kestra.plugin.soda.models.Check
column
- Type: string
- Dynamic: ❌
- Required: ❓
dataSource
- Type: string
- Dynamic: ❌
- Required: ❓
definition
- Type: string
- Dynamic: ❌
- Required: ❓
identity
- Type: string
- Dynamic: ❌
- Required: ❓
metrics
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❓
name
- Type: string
- Dynamic: ❌
- Required: ❓
outcome
- Type: string
- Dynamic: ❌
- Required: ❓
- Possible Values:
pass
warn
fail
table
- Type: string
- Dynamic: ❌
- Required: ❓
type
- Type: string
- Dynamic: ❌
- Required: ❓