Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 32 additions & 17 deletions airflow-core/src/airflow/provider.yaml.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -565,12 +565,22 @@
"type": "array",
"description": "Decorators to use with the TaskFlow API. Can be accessed by users via '@task.<name>'",
"items": {
"name": {
"type": "string"
"type": "object",
"properties": {
"name": {
"description": "Name the decorator is exposed under, following '@task.'",
"type": "string"
},
"class-name": {
"description": "Class name that implements the decorator",
"type": "string"
}
},
"path": {
"type": "string"
}
"additionalProperties": false,
"required": [
Comment thread
potiuk marked this conversation as resolved.
Resolved
"name",
"class-name"
]
}
},
"secrets-backends": {
Expand Down Expand Up @@ -688,24 +698,29 @@
"type": "array",
"description": "Plugins exposed by the provider",
"items": {
"name": {
"type": "string"
"type": "object",
"properties": {
"name": {
"description": "Name of the plugin",
"type": "string"
},
"plugin-class": {
"description": "Class name that implements the plugin",
"type": "string"
}
},
"plugin-class": {
"type": "string"
}
"additionalProperties": false,
"required": [
"name",
"plugin-class"
]
}
},
"queues": {
"type": "array",
"description": "Message Queues exposed by the provider",
"description": "Message queue provider class names",
"items": {
"name": {
"type": "string"
},
"message-queue-class": {
"type": "string"
}
"type": "string"
}
},
"source-date-epoch": {
Expand Down
42 changes: 21 additions & 21 deletions airflow-core/src/airflow/provider_info.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -432,39 +432,39 @@
"type": "array",
"description": "Apply custom decorators to the TaskFlow API. Can be accessed by users via '@task.<name>'",
"items": {
"name": {
"type": "string"
},
"path": {
"type": "string"
"type": "object",
"properties": {
"name": {
"description": "Name the decorator is exposed under, following '@task.'",
"type": "string"
},
"class-name": {
"description": "Class name that implements the decorator",
"type": "string"
}
}
}
},
"plugins": {
"type": "array",
"description": "Plugins provided by the provider",
"items": {
"name": {
"type": "string",
"description": "Name of the plugin"
},
"plugin-class": {
"type": "string",
"description": "Class to instantiate the plugin"
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the plugin"
},
"plugin-class": {
"type": "string",
"description": "Class to instantiate the plugin"
}
}
}
},
"queues": {
"type": "array",
"description": "Message Queues exposed by the provider",
"items": {
"name": {
"type": "string"
},
"message-queue-class": {
"type": "string"
}
}
"description": "Message queue provider class names"
}
},
"definitions": {
Expand Down
2 changes: 1 addition & 1 deletion providers-summary-docs/howto/create-custom-providers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Exposing customized functionality to the Airflow's core:
* ``sensors`` - this field should contain the list of all the sensor class names that the
provider provides. See :doc:`apache-airflow:core-concepts/sensors` for description of the sensors.

* ``task-decorators`` - this field should contain the list of dictionaries of name/path where the decorators
* ``task-decorators`` - this field should contain the list of dictionaries of name/class-name where the decorators
are available. See :doc:`apache-airflow:howto/create-custom-decorator` for description of how to add
custom decorators.

Expand Down