Files
fabric-rest-api-specs/apacheAirflowJob/definitions.json
T

676 lines
25 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "Apache Airflow job data types",
"version": "v1"
},
"paths": {},
"definitions": {
"ApacheAirflowJob": {
"description": "An Apache Airflow job object.",
"type": "object",
"required": ["type"],
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/Item"
}
]
},
"ApacheAirflowJobs": {
"description": "A list of Apache Airflow job objects.",
"required": ["value"],
"type": "object",
"properties": {
"value": {
"description": "A list of Apache Airflow job objects.",
"type": "array",
"items": {
"$ref": "#/definitions/ApacheAirflowJob"
}
}
},
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/PaginatedResponse"
}
]
},
"CreateApacheAirflowJobRequest": {
"description": "Create request payload.",
"required": ["displayName"],
"properties": {
"displayName": {
"description": "The Apache Airflow job display name. The display name must follow naming rules according to item type.",
"type": "string",
"readOnly": false
},
"description": {
"description": "The Apache Airflow job description. Maximum length is 256 characters.",
"type": "string",
"readOnly": false
},
"folderId": {
"description": "The folder ID. If not specified or null, the Apache Airflow job is created with the workspace as its folder.",
"type": "string",
"format": "uuid",
"readOnly": false
},
"definition": {
"description": "The Apache Airflow job public definition.",
"$ref": "#/definitions/ApacheAirflowJobDefinition",
"readOnly": false
},
"sensitivityLabelSettings": {
"description": "The sensitivity label settings for the Apache Airflow job.",
"$ref": "../common/definitions.json#/definitions/SensitivityLabelSettings",
"readOnly": false
}
}
},
"UpdateApacheAirflowJobDefinitionRequest": {
"description": "Update public definition request payload.",
"required": ["definition"],
"properties": {
"definition": {
"$ref": "#/definitions/ApacheAirflowJobDefinition"
}
}
},
"ApacheAirflowJobDefinitionResponse": {
"description": "Apache Airflow job public definition response.",
"required": ["definition"],
"properties": {
"definition": {
"$ref": "#/definitions/ApacheAirflowJobDefinition",
"readOnly": true
}
}
},
"ApacheAirflowJobDefinition" : {
"description": "Apache Airflow job public definition object.",
"type": "object",
"required": ["parts"],
"properties": {
"format": {
"description": "The format of the Apache Airflow job definition.",
"type": "string",
"readOnly": false
},
"parts": {
"description": "A list of definition parts.",
"type": "array",
"items": {
"$ref": "#/definitions/ApacheAirflowJobDefinitionPart"
},
"readOnly": false
}
}
},
"ApacheAirflowJobDefinitionPart": {
"description": "Apache Airflow job public definition part object.",
"type": "object",
"properties": {
"path": {
"description": "The public definition part path.",
"type": "string",
"readOnly": false
},
"payload": {
"description": "The public definition part payload.",
"type": "string",
"readOnly": false
},
"payloadType":{
"description": "The payload type.",
"$ref": "../common/definitions.json#/definitions/PayloadType",
"readOnly": false
}
}
},
"UpdateApacheAirflowJobRequest": {
"description": "Update Apache Airflow job request.",
"properties": {
"displayName": {
"description": "The Apache Airflow job display name. The display name must follow naming rules according to item type.",
"type": "string",
"readOnly": false
},
"description": {
"description": "The Apache Airflow job description. Maximum length is 256 characters.",
"type": "string",
"readOnly": false
}
}
},
"ApacheAirflowJobFileMetadata": {
"description": "Apache Airflow job file metadata.",
"type": "object",
"required": [
"filePath",
"sizeInBytes"
],
"properties": {
"filePath": {
"description": "The file path relative to the Apache Airflow job root. It must begin with either 'dags/' or 'plugins/' (for example, `dags/example_dag.py`).",
"type": "string",
"readOnly": true
},
"sizeInBytes": {
"description": "The file size, in bytes.",
"type": "integer",
"format": "int64",
"readOnly": true
}
}
},
"ApacheAirflowJobFiles": {
"description": "A list of Apache Airflow job files.",
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"description": "A list of Apache Airflow job files.",
"type": "array",
"items": {
"$ref": "#/definitions/ApacheAirflowJobFileMetadata"
},
"readOnly": true
}
},
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/PaginatedResponse"
}
]
},
"AirflowWorkspaceSettings": {
"type": "object",
"description": "Apache Airflow workspace settings.",
"properties": {
"defaultPoolTemplateId": {
"type": "string",
"format": "uuid",
"description": "The default pool template ID for the workspace."
}
}
},
"UpdateAirflowWorkspaceSettingsRequest": {
"type": "object",
"description": "Update Apache Airflow workspace settings request payload.",
"properties": {
"defaultPoolTemplateId": {
"type": "string",
"format": "uuid",
"description": "The default pool template ID for the workspace."
}
}
},
"AirflowPoolTemplate": {
"description": "Apache Airflow pool template.",
"type": "object",
"properties": {
"id": {
"format": "uuid",
"description": "The pool template ID.",
"type": "string",
"readOnly": true
},
"name": {
"description": "The pool template name.",
"type": "string"
},
"nodeSize": {
"description": "The node size.",
"$ref": "#/definitions/NodeSize"
},
"shutdownPolicy": {
"description": "The shutdown policy.",
"$ref": "#/definitions/ShutdownPolicy",
"readOnly": true
},
"computeScalability": {
"$ref": "#/definitions/ComputeScalability",
"description": "Compute scalability settings."
},
"apacheAirflowJobVersion": {
"description": "The Apache Airflow job version.",
"type": "string"
}
}
},
"AirflowPoolTemplates": {
"required": ["value"],
"type": "object",
"properties": {
"value": {
"description": "A list of Apache Airflow pool templates.",
"type": "array",
"items": {
"$ref": "#/definitions/AirflowPoolTemplate"
}
}
},
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/PaginatedResponse"
}
]
},
"CreateAirflowPoolTemplateRequest": {
"description": "Create Apache Airflow pool template request payload.",
"required": [
"name",
"nodeSize",
"computeScalability",
"apacheAirflowJobVersion"
],
"type": "object",
"properties": {
"name": {
"description": "The pool template name.",
"type": "string"
},
"nodeSize": {
"description": "The node size.",
"$ref": "#/definitions/NodeSize"
},
"computeScalability": {
"$ref": "#/definitions/ComputeScalability",
"description": "Compute scalability settings."
},
"apacheAirflowJobVersion": {
"description": "The Apache Airflow job version (e.g., '1.0.0').",
"type": "string"
}
}
},
"NodeSize": {
"type": "string",
"description": "Node size. Additional `NodeSize` types may be added over time.",
"enum": ["Small", "Large"],
"x-ms-enum": {
"name": "NodeSize",
"modelAsString": true,
"values": [
{
"value": "Small",
"description": "Small node size"
},
{
"value": "Large",
"description": "Large node size"
}
]
}
},
"ShutdownPolicy": {
"type": "string",
"description": "Shutdown policy. Additional `ShutdownPolicy` types may be added over time.",
"enum": ["AlwaysOn", "OneHourInactivity"],
"x-ms-enum": {
"name": "ShutdownPolicy",
"modelAsString": true,
"values": [
{
"value": "AlwaysOn",
"description": "Always on"
},
{
"value": "OneHourInactivity",
"description": "Shutdown after one hour of inactivity"
}
]
}
},
"ComputeScalability": {
"description": "Compute scalability properties.",
"required": [
"minNodeCount",
"maxNodeCount"
],
"type": "object",
"properties": {
"minNodeCount": {
"description": "The minimum node count. The minimum value is always 5.",
"format": "int32",
"type": "integer",
"minimum": 5
},
"maxNodeCount": {
"description": "The maximum node count.",
"format": "int32",
"type": "integer",
"minimum": 5
}
}
},
"AirflowEnvironmentStatusResponse": {
"description": "Apache Airflow environment status response.",
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"description": "The Apache Airflow environment status.",
"$ref": "#/definitions/AirflowEnvironmentStatus",
"readOnly": true
}
}
},
"AirflowEnvironmentStatus": {
"type": "string",
"description": "Apache Airflow environment status. Additional statuses may be added over time.",
"enum": [
"Initial",
"Starting",
"Started",
"Stopping",
"Stopped",
"Upgrading",
"Failed"
],
"x-ms-enum": {
"name": "AirflowEnvironmentStatus",
"modelAsString": true,
"values": [
{
"value": "Initial",
"description": "The environment for the Airflow is initializing."
},
{
"value": "Starting",
"description": "The environment for the Airflow is starting."
},
{
"value": "Started",
"description": "The environment for the Airflow is running."
},
{
"value": "Stopping",
"description": "The environment for the Airflow is stopping."
},
{
"value": "Stopped",
"description": "The environment for the Airflow is stopped."
},
{
"value": "Upgrading",
"description": "The environment for the Airflow is upgrading."
},
{
"value": "Failed",
"description": "The environment for the Airflow encountered a failure."
}
]
}
},
"AirflowLibrariesResponse": {
"description": "Apache Airflow libraries response.",
"type": "object",
"required": ["value"],
"properties": {
"value": {
"description": "A list of installed libraries.",
"type": "array",
"items": {
"$ref": "#/definitions/AirflowLibrary"
},
"readOnly": true
}
},
"allOf": [
{
"$ref": "../common/definitions.json#/definitions/PaginatedResponse"
}
]
},
"AirflowLibrary": {
"description": "Apache Airflow library.",
"type": "object",
"properties": {
"name": {
"description": "The library name.",
"type": "string",
"readOnly": true
},
"libraryType": {
"description": "The library type.",
"$ref": "#/definitions/LibraryType",
"readOnly": true
},
"source": {
"description": "The library source.",
"$ref": "#/definitions/LibrarySource",
"readOnly": true
},
"version": {
"description": "The library version.",
"type": "string",
"readOnly": true
}
}
},
"LibraryType": {
"type": "string",
"description": "Library type. Additional `LibraryType` values may be added over time.",
"enum": ["Public", "Private"],
"x-ms-enum": {
"name": "LibraryType",
"modelAsString": true,
"values": [
{
"value": "Public",
"description": "A public library."
},
{
"value": "Private",
"description": "A private library."
}
]
}
},
"LibrarySource": {
"type": "string",
"description": "Library source. Additional `LibrarySource` values may be added over time.",
"enum": ["PyPI", "Internal"],
"x-ms-enum": {
"name": "LibrarySource",
"modelAsString": true,
"values": [
{
"value": "PyPI",
"description": "Library sourced from PyPI."
},
{
"value": "Internal",
"description": "Library sourced internally."
}
]
}
},
"AirflowEnvironmentSettingsResponse": {
"description": "Apache Airflow environment settings response.",
"type": "object",
"properties": {
"environmentVariables": {
"description": "Environment variables configured for the Airflow environment.",
"type": "array",
"items": {
"$ref": "#/definitions/NameValuePair"
},
"readOnly": true
},
"airflowConfigurationOverrides": {
"description": "Airflow configuration overrides.",
"type": "array",
"items": {
"$ref": "#/definitions/NameValuePair"
},
"readOnly": true
},
"triggerers": {
"description": "The triggerers status for the Airflow environment. When set to `Disabled`, triggerers do not run. When set to `Enabled`, triggerers resume running. Disabling triggerers does not delete any environment settings.",
"$ref": "#/definitions/TriggerersStatus",
"readOnly": true
}
}
},
"NameValuePair": {
"description": "A name-value pair.",
"type": "object",
"properties": {
"name": {
"description": "The name.",
"type": "string"
},
"value": {
"description": "The value.",
"type": "string"
}
}
},
"TriggerersStatus": {
"type": "string",
"description": "Triggerers status. Additional `TriggerersStatus` values may be added over time.",
"enum": ["Enabled", "Disabled"],
"x-ms-enum": {
"name": "TriggerersStatus",
"modelAsString": true,
"values": [
{
"value": "Enabled",
"description": "Triggerers are enabled."
},
{
"value": "Disabled",
"description": "Triggerers are disabled."
}
]
}
},
"AirflowEnvironmentSettingsRequest": {
"description": "The request payload for updating Apache Airflow environment settings.",
"type": "object",
"properties": {
"environmentVariables": {
"description": "Environment variables to configure for the Airflow environment. When updating, users must submit the complete set of desired values; existing values will be replaced.",
"type": "array",
"items": {
"$ref": "#/definitions/NameValuePair"
}
},
"airflowConfigurationOverrides": {
"description": "Airflow configuration overrides. When updating, users must submit the complete set of desired values; existing values will be replaced.",
"type": "array",
"items": {
"$ref": "#/definitions/NameValuePair"
}
},
"triggerers": {
"description": "The triggerers status for the Airflow environment. When set to `Disabled`, triggerers do not run. When set to `Enabled`, triggerers resume running. Disabling triggerers does not delete any environment settings.",
"$ref": "#/definitions/TriggerersStatus"
}
}
},
"AirflowEnvironmentComputeRequest": {
"description": "The request payload for updating Apache Airflow environment compute configuration.",
"type": "object",
"required": [
"poolTemplateId"
],
"properties": {
"poolTemplateId": {
"description": "The pool template ID.",
"type": "string",
"format": "uuid"
}
}
},
"AirflowComputeResponse": {
"description": "Apache Airflow compute configuration response.",
"type": "object",
"properties": {
"poolTemplateId": {
"description": "The pool template ID.",
"type": "string",
"format": "uuid",
"readOnly": true
},
"poolTemplateName": {
"description": "The pool template name.",
"type": "string",
"readOnly": true
},
"nodeSize": {
"description": "The node size.",
"$ref": "#/definitions/NodeSize",
"readOnly": true
},
"computeScalability": {
"description": "Compute scalability settings.",
"$ref": "#/definitions/ComputeScalability",
"readOnly": true
},
"apacheAirflowJobVersion": {
"description": "The Apache Airflow job version.",
"type": "string",
"readOnly": true
},
"apacheAirflowJobVersionDetails": {
"description": "The Apache Airflow job version details.",
"$ref": "#/definitions/ApacheAirflowJobVersionDetails",
"readOnly": true
},
"availabilityZones": {
"description": "The availability zones status.",
"$ref": "#/definitions/AvailabilityZonesStatus",
"readOnly": true
},
"shutdownPolicy": {
"description": "The shutdown policy.",
"$ref": "#/definitions/ShutdownPolicy",
"readOnly": true
}
}
},
"ApacheAirflowJobVersionDetails": {
"description": "Apache Airflow job version details.",
"type": "object",
"properties": {
"apacheAirflowVersion": {
"description": "The Apache Airflow version.",
"type": "string",
"readOnly": true
},
"pythonVersion": {
"description": "The Python version.",
"type": "string",
"readOnly": true
}
}
},
"AvailabilityZonesStatus": {
"type": "string",
"description": "Availability zones status. Additional `AvailabilityZonesStatus` values may be added over time.",
"enum": ["Enabled", "Disabled"],
"x-ms-enum": {
"name": "AvailabilityZonesStatus",
"modelAsString": true,
"values": [
{
"value": "Enabled",
"description": "Availability zones are enabled."
},
{
"value": "Disabled",
"description": "Availability zones are disabled."
}
]
}
}
}
}