Source code for airflow_systemd.config.task_ssh

from typing import Type

from airflow_pydantic import Host, ImportPath, Task, TaskArgs
from pydantic import Field, field_validator

from .systemd_ssh import SystemdSSHAirflowConfiguration

__all__ = ("SystemdSSHOperator", "SystemdSSHOperatorArgs", "SystemdSSHTask", "SystemdSSHTaskArgs")


[docs] class SystemdSSHTaskArgs(TaskArgs, extra="allow"): cfg: SystemdSSHAirflowConfiguration host: Host | None = Field(default=None, description="Host used to override the configured SSH connection")
SystemdSSHOperatorArgs = SystemdSSHTaskArgs
[docs] class SystemdSSHTask(Task, SystemdSSHTaskArgs): operator: ImportPath = Field(default="airflow_systemd.SystemdSSH", validate_default=True) @field_validator("operator") @classmethod def validate_operator(cls, value: Type) -> Type: from airflow_systemd.airflow import SystemdSSH if value is not SystemdSSH: raise ValueError(f"operator must be 'airflow_systemd.SystemdSSH', got: {value}") return value
SystemdSSHOperator = SystemdSSHTask