airflow.providers.microsoft.psrp.operators.psrp

Module Contents

Classes

PsrpOperator

PowerShell Remoting Protocol operator.

class airflow.providers.microsoft.psrp.operators.psrp.PsrpOperator(*, psrp_conn_id, command=None, powershell=None, cmdlet=None, arguments=None, parameters=None, logging_level=DEBUG, runspace_options=None, wsman_options=None, psrp_session_init=None, **kwargs)[source]

Bases: airflow.models.BaseOperator

PowerShell Remoting Protocol operator.

Use one of the ‘command’, ‘cmdlet’, or ‘powershell’ arguments.

The ‘securestring’ template filter can be used to tag a value for serialization into a System.Security.SecureString (applicable only for DAGs which have render_template_as_native_obj=True).

When using the cmdlet or powershell arguments and when do_xcom_push is enabled, the command output is converted to JSON by PowerShell using the ConvertTo-Json cmdlet such that the operator return value is serializable to an XCom value.

Parameters
  • psrp_conn_id (str) – connection id

  • command (str | None) – command to execute on remote host. (templated)

  • powershell (str | None) – powershell to execute on remote host. (templated)

  • cmdlet (str | None) – cmdlet to execute on remote host (templated). Also used as the default value for task_id.

  • arguments (list[str] | None) – When using the cmdlet or powershell option, use arguments to provide arguments (templated).

  • parameters (dict[str, str] | None) – When using the cmdlet or powershell option, use parameters to provide parameters (templated). Note that a parameter with a value of None becomes an argument (i.e., switch).

  • logging_level (int) – Logging level for message streams which are received during remote execution. The default is to include all messages in the task log.

  • runspace_options (dict[str, Any] | None) – optional dictionary which is passed when creating the runspace pool. See RunspacePool for a description of the available options.

  • wsman_options (dict[str, Any] | None) – optional dictionary which is passed when creating the WSMan client. See WSMan for a description of the available options.

  • psrp_session_init (pypsrp.powershell.Command | None) – Optional command which will be added to the pipeline when a new PowerShell session has been established, prior to invoking the action specified using the cmdlet, command, or powershell parameters.

template_fields: Sequence[str] = ('cmdlet', 'command', 'arguments', 'parameters', 'powershell')[source]
template_fields_renderers[source]
ui_color = '#c2e2ff'[source]
execute(context)[source]

Derive when creating an operator.

Context is the same dictionary used as when rendering jinja templates.

Refer to get_template_context for more context.

get_template_env()[source]

Get the template environment for rendering templates.

Was this entry helpful?