re-generate according to spec (#23) main
authorIlia Lazebnik <Ilia.lazebnik@gmail.com>
Mon, 9 May 2022 20:46:51 +0000 (23:46 +0300)
committerGitHub <noreply@github.com>
Mon, 9 May 2022 20:46:51 +0000 (22:46 +0200)
120 files changed:
airflow/README.md
airflow/api/openapi.yaml
airflow/api_config.go
airflow/api_connection.go
airflow/api_dag.go
airflow/api_dag_run.go
airflow/api_event_log.go
airflow/api_import_error.go
airflow/api_monitoring.go
airflow/api_permission.go
airflow/api_plugin.go
airflow/api_pool.go
airflow/api_provider.go
airflow/api_role.go
airflow/api_task_instance.go
airflow/api_user.go
airflow/api_variable.go
airflow/api_x_com.go
airflow/client.go
airflow/configuration.go
airflow/docs/DAGApi.md
airflow/docs/Dag.md
airflow/docs/DagDetail.md
airflow/docs/DagDetailAllOf.md
airflow/docs/DagRun.md
airflow/docs/Task.md
airflow/docs/TaskInstance.md
airflow/docs/TaskInstanceApi.md
airflow/model_action.go
airflow/model_action_collection.go
airflow/model_action_collection_all_of.go
airflow/model_action_resource.go
airflow/model_class_reference.go
airflow/model_clear_task_instance.go
airflow/model_collection_info.go
airflow/model_config.go
airflow/model_config_option.go
airflow/model_config_section.go
airflow/model_connection.go
airflow/model_connection_all_of.go
airflow/model_connection_collection.go
airflow/model_connection_collection_all_of.go
airflow/model_connection_collection_item.go
airflow/model_connection_test_.go
airflow/model_cron_expression.go
airflow/model_dag.go
airflow/model_dag_collection.go
airflow/model_dag_collection_all_of.go
airflow/model_dag_detail.go
airflow/model_dag_detail_all_of.go
airflow/model_dag_run.go
airflow/model_dag_run_collection.go
airflow/model_dag_run_collection_all_of.go
airflow/model_dag_state.go
airflow/model_error.go
airflow/model_event_log.go
airflow/model_event_log_collection.go
airflow/model_event_log_collection_all_of.go
airflow/model_extra_link.go
airflow/model_extra_link_collection.go
airflow/model_health_info.go
airflow/model_health_status.go
airflow/model_import_error.go
airflow/model_import_error_collection.go
airflow/model_import_error_collection_all_of.go
airflow/model_inline_response_200.go
airflow/model_inline_response_200_1.go
airflow/model_list_dag_runs_form.go
airflow/model_list_task_instance_form.go
airflow/model_metadatabase_status.go
airflow/model_plugin_collection.go
airflow/model_plugin_collection_all_of.go
airflow/model_plugin_collection_item.go
airflow/model_pool.go
airflow/model_pool_collection.go
airflow/model_pool_collection_all_of.go
airflow/model_provider.go
airflow/model_provider_collection.go
airflow/model_relative_delta.go
airflow/model_resource.go
airflow/model_role.go
airflow/model_role_collection.go
airflow/model_role_collection_all_of.go
airflow/model_schedule_interval.go
airflow/model_scheduler_status.go
airflow/model_sla_miss.go
airflow/model_tag.go
airflow/model_task.go
airflow/model_task_collection.go
airflow/model_task_extra_links.go
airflow/model_task_instance.go
airflow/model_task_instance_collection.go
airflow/model_task_instance_collection_all_of.go
airflow/model_task_instance_reference.go
airflow/model_task_instance_reference_collection.go
airflow/model_task_state.go
airflow/model_time_delta.go
airflow/model_trigger_rule.go
airflow/model_update_dag_run_state.go
airflow/model_update_task_instances_state.go
airflow/model_user.go
airflow/model_user_all_of.go
airflow/model_user_collection.go
airflow/model_user_collection_all_of.go
airflow/model_user_collection_item.go
airflow/model_user_collection_item_roles.go
airflow/model_variable.go
airflow/model_variable_all_of.go
airflow/model_variable_collection.go
airflow/model_variable_collection_all_of.go
airflow/model_variable_collection_item.go
airflow/model_version_info.go
airflow/model_weight_rule.go
airflow/model_x_com.go
airflow/model_x_com_all_of.go
airflow/model_x_com_collection.go
airflow/model_x_com_collection_all_of.go
airflow/model_x_com_collection_item.go
airflow/response.go
airflow/utils.go

index 825a0f17dd192bdb43d7af3687f141fde4803d4e..32946e956e406447322b3b6a9b1387b6c8feef5f 100644 (file)
@@ -126,14 +126,6 @@ Example:
 - APIs are designed to be backward compatible.
 - Any changes to the API will first go through a deprecation phase.
 
-# Summary of Changes
-
-| Airflow version | Description |
-|-|-|
-| v2.0 | Initial release |
-| v2.0.2    | Added /plugins endpoint |
-| v2.1 | New providers endpoint |
-
 # Trying the API
 
 You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/),
@@ -178,9 +170,9 @@ To be able to meet the requirements of many organizations, Airflow supports many
 and it is even possible to add your own method.
 
 If you want to check which auth backend is currently set, you can use
-`airflow config get-value api auth_backend` command as in the example below.
+`airflow config get-value api auth_backends` command as in the example below.
 ```bash
-$ airflow config get-value api auth_backend
+$ airflow config get-value api auth_backends
 airflow.api.auth.backend.basic_auth
 ```
 The default is to deny all requests.
@@ -241,7 +233,7 @@ fulfilling the request.
 This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.
 
 - API version: 1.0.0
-- Package version: 2.2.0
+- Package version: 2.1.0
 - Build package: org.openapitools.codegen.languages.GoClientCodegen
 For more information, please visit [https://airflow.apache.org](https://airflow.apache.org)
 
@@ -329,6 +321,7 @@ Class | Method | HTTP request | Description
 *DAGApi* | [**GetTask**](docs/DAGApi.md#gettask) | **Get** /dags/{dag_id}/tasks/{task_id} | Get simplified representation of a task
 *DAGApi* | [**GetTasks**](docs/DAGApi.md#gettasks) | **Get** /dags/{dag_id}/tasks | Get tasks for DAG
 *DAGApi* | [**PatchDag**](docs/DAGApi.md#patchdag) | **Patch** /dags/{dag_id} | Update a DAG
+*DAGApi* | [**PatchDags**](docs/DAGApi.md#patchdags) | **Patch** /dags | Update DAGs
 *DAGApi* | [**PostClearTaskInstances**](docs/DAGApi.md#postcleartaskinstances) | **Post** /dags/{dag_id}/clearTaskInstances | Clear a set of task instances
 *DAGApi* | [**PostSetTaskInstancesState**](docs/DAGApi.md#postsettaskinstancesstate) | **Post** /dags/{dag_id}/updateTaskInstancesState | Set a state of task instances
 *DAGRunApi* | [**DeleteDagRun**](docs/DAGRunApi.md#deletedagrun) | **Delete** /dags/{dag_id}/dagRuns/{dag_run_id} | Delete a DAG run
@@ -358,6 +351,8 @@ Class | Method | HTTP request | Description
 *RoleApi* | [**PostRole**](docs/RoleApi.md#postrole) | **Post** /roles | Create a role
 *TaskInstanceApi* | [**GetExtraLinks**](docs/TaskInstanceApi.md#getextralinks) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links | List extra links
 *TaskInstanceApi* | [**GetLog**](docs/TaskInstanceApi.md#getlog) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} | Get logs
+*TaskInstanceApi* | [**GetMappedTaskInstance**](docs/TaskInstanceApi.md#getmappedtaskinstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Get a mapped task instance
+*TaskInstanceApi* | [**GetMappedTaskInstances**](docs/TaskInstanceApi.md#getmappedtaskinstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped | List mapped task instances
 *TaskInstanceApi* | [**GetTaskInstance**](docs/TaskInstanceApi.md#gettaskinstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Get a task instance
 *TaskInstanceApi* | [**GetTaskInstances**](docs/TaskInstanceApi.md#gettaskinstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | List task instances
 *TaskInstanceApi* | [**GetTaskInstancesBatch**](docs/TaskInstanceApi.md#gettaskinstancesbatch) | **Post** /dags/~/dagRuns/~/taskInstances/list | List task instances (batch)
index 2af1e940f782a4dcbc2a6ba1ca68e7aef76594e5..246f75904ae04e0c04d39b9a38bc743c3137fe2d 100644 (file)
@@ -129,14 +129,6 @@ info:
     - APIs are designed to be backward compatible.
     - Any changes to the API will first go through a deprecation phase.
 
-    # Summary of Changes
-
-    | Airflow version | Description |
-    |-|-|
-    | v2.0 | Initial release |
-    | v2.0.2    | Added /plugins endpoint |
-    | v2.1 | New providers endpoint |
-
     # Trying the API
 
     You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/),
@@ -181,9 +173,9 @@ info:
     and it is even possible to add your own method.
 
     If you want to check which auth backend is currently set, you can use
-    `airflow config get-value api auth_backend` command as in the example below.
+    `airflow config get-value api auth_backends` command as in the example below.
     ```bash
-    $ airflow config get-value api auth_backend
+    $ airflow config get-value api auth_backends
     airflow.api.auth.backend.basic_auth
     ```
     The default is to deny all requests.
@@ -564,6 +556,9 @@ paths:
       x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
   /dags:
     get:
+      description: |
+        List DAGs in the database.
+        `dag_id_pattern` can be set to match dags of a specific pattern
       operationId: get_dags
       parameters:
       - description: The numbers of items to return.
@@ -611,7 +606,7 @@ paths:
           type: array
         style: form
       - description: |
-          Only return active DAGs.
+          Only filter active DAGs.
 
           *New in version 2.1.1*
         explode: true
@@ -624,8 +619,6 @@ paths:
         style: form
       - description: |
           If set, only return DAGs with dag_ids matching this pattern.
-
-          *New in version 2.3.0*
         explode: true
         in: query
         name: dag_id_pattern
@@ -651,6 +644,116 @@ paths:
       tags:
       - DAG
       x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
+    patch:
+      description: |
+        Update DAGs of a given dag_id_pattern using UpdateMask.
+        This endpoint allows specifying `~` as the dag_id_pattern to update all DAGs.
+        *New in version 2.3.0*
+      operationId: patch_dags
+      parameters:
+      - description: The numbers of items to return.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          default: 100
+          type: integer
+        style: form
+      - description: The number of items to skip before starting to collect the result
+          set.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          minimum: 0
+          type: integer
+        style: form
+      - description: |
+          List of tags to filter results.
+
+          *New in version 2.2.0*
+        explode: true
+        in: query
+        name: tags
+        required: false
+        schema:
+          items:
+            type: string
+          type: array
+        style: form
+      - description: |
+          The fields to update on the resource. If absent or empty, all modifiable fields are updated.
+          A comma-separated list of fully qualified names of fields.
+        explode: false
+        in: query
+        name: update_mask
+        required: false
+        schema:
+          items:
+            type: string
+          type: array
+        style: form
+      - description: |
+          Only filter active DAGs.
+
+          *New in version 2.1.1*
+        explode: true
+        in: query
+        name: only_active
+        required: false
+        schema:
+          default: true
+          type: boolean
+        style: form
+      - description: |
+          If set, only update DAGs with dag_ids matching this pattern.
+        explode: true
+        in: query
+        name: dag_id_pattern
+        required: true
+        schema:
+          type: string
+        style: form
+      requestBody:
+        content:
+          application/json:
+            example:
+              is_paused: true
+            schema:
+              $ref: '#/components/schemas/DAG'
+        required: true
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DAGCollection'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Update DAGs
+      tags:
+      - DAG
+      x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
   /dags/{dag_id}:
     delete:
       description: |
@@ -2024,16 +2127,306 @@ paths:
         name: dag_run_id
         required: true
         schema:
-          type: string
-        style: simple
-      - description: The task ID.
-        explode: false
-        in: path
-        name: task_id
-        required: true
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstance'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Get a task instance
+      tags:
+      - TaskInstance
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}:
+    get:
+      description: |
+        Get details of a mapped task instance.
+
+        *New in version 2.3.0*
+      operationId: get_mapped_task_instance
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The map index.
+        explode: false
+        in: path
+        name: map_index
+        required: true
+        schema:
+          type: integer
+        style: simple
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TaskInstance'
+          description: Success.
+        "401":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Request not authenticated due to missing, invalid, authentication
+            info.
+        "403":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: Client does not have sufficient permission.
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Error'
+          description: A specified resource is not found.
+      summary: Get a mapped task instance
+      tags:
+      - TaskInstance
+      x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
+  /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped:
+    get:
+      description: |
+        Get details of all mapped task instances.
+
+        *New in version 2.3.0*
+      operationId: get_mapped_task_instances
+      parameters:
+      - description: The DAG ID.
+        explode: false
+        in: path
+        name: dag_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The DAG run ID.
+        explode: false
+        in: path
+        name: dag_run_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The task ID.
+        explode: false
+        in: path
+        name: task_id
+        required: true
+        schema:
+          type: string
+        style: simple
+      - description: The numbers of items to return.
+        explode: true
+        in: query
+        name: limit
+        required: false
+        schema:
+          default: 100
+          type: integer
+        style: form
+      - description: The number of items to skip before starting to collect the result
+          set.
+        explode: true
+        in: query
+        name: offset
+        required: false
+        schema:
+          minimum: 0
+          type: integer
+        style: form
+      - description: |
+          Returns objects greater or equal to the specified date.
+
+          This can be combined with execution_date_lte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: execution_date_gte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects less than or equal to the specified date.
+
+          This can be combined with execution_date_gte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: execution_date_lte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects greater or equal the specified date.
+
+          This can be combined with start_date_lte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: start_date_gte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects less or equal the specified date.
+
+          This can be combined with start_date_gte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: start_date_lte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects greater or equal the specified date.
+
+          This can be combined with start_date_lte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: end_date_gte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects less than or equal to the specified date.
+
+          This can be combined with start_date_gte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: end_date_lte
+        required: false
+        schema:
+          format: date-time
+          type: string
+        style: form
+      - description: |
+          Returns objects greater than or equal to the specified values.
+
+          This can be combined with duration_lte parameter to receive only the selected period.
+        explode: true
+        in: query
+        name: duration_gte
+        required: false
+        schema:
+          type: number
+        style: form
+      - description: |
+          Returns objects less than or equal to the specified values.
+
+          This can be combined with duration_gte parameter to receive only the selected range.
+        explode: true
+        in: query
+        name: duration_lte
+        required: false
+        schema:
+          type: number
+        style: form
+      - description: The value can be repeated to retrieve multiple matching values
+          (OR condition).
+        explode: true
+        in: query
+        name: state
+        required: false
+        schema:
+          items:
+            type: string
+          type: array
+        style: form
+      - description: The value can be repeated to retrieve multiple matching values
+          (OR condition).
+        explode: true
+        in: query
+        name: pool
+        required: false
+        schema:
+          items:
+            type: string
+          type: array
+        style: form
+      - description: The value can be repeated to retrieve multiple matching values
+          (OR condition).
+        explode: true
+        in: query
+        name: queue
+        required: false
+        schema:
+          items:
+            type: string
+          type: array
+        style: form
+      - description: |
+          The name of the field to order the results by.
+          Prefix a field name with `-` to reverse the sort order.
+
+          *New in version 2.1.0*
+        explode: true
+        in: query
+        name: order_by
+        required: false
         schema:
           type: string
-        style: simple
+        style: form
       responses:
         "200":
           content:
@@ -2060,7 +2453,7 @@ paths:
               schema:
                 $ref: '#/components/schemas/Error'
           description: A specified resource is not found.
-      summary: Get a task instance
+      summary: List mapped task instances
       tags:
       - TaskInstance
       x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
@@ -3669,6 +4062,15 @@ components:
       schema:
         type: string
       style: simple
+    MapIndex:
+      description: The map index.
+      explode: false
+      in: path
+      name: map_index
+      required: true
+      schema:
+        type: integer
+      style: simple
     DAGRunID:
       description: The DAG run ID.
       explode: false
@@ -3919,6 +4321,19 @@ components:
       schema:
         type: string
       style: form
+    OnlyActive:
+      description: |
+        Only filter active DAGs.
+
+        *New in version 2.1.1*
+      explode: true
+      in: query
+      name: only_active
+      required: false
+      schema:
+        default: true
+        type: boolean
+      style: form
     FileToken:
       description: |
         The key containing the encrypted path to the file. Encryption and decryption take place only on
@@ -4166,20 +4581,35 @@ components:
     DAG:
       description: DAG
       example:
-        root_dag_id: root_dag_id
-        is_active: true
-        is_paused: true
         description: description
-        file_token: file_token
         owners:
         - owners
         - owners
-        dag_id: dag_id
-        is_subdag: true
         fileloc: fileloc
+        has_task_concurrency_limits: true
+        root_dag_id: root_dag_id
+        last_pickled: 2000-01-23T04:56:07.000+00:00
+        has_import_errors: true
+        last_parsed_time: 2000-01-23T04:56:07.000+00:00
+        next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
+        dag_id: dag_id
+        scheduler_lock: true
+        default_view: default_view
+        next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
+        next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
+        is_active: true
+        last_expired: 2000-01-23T04:56:07.000+00:00
+        max_active_runs: 6
+        file_token: file_token
+        max_active_tasks: 0
+        pickle_id: pickle_id
         tags:
         - name: name
         - name: name
+        timetable_description: timetable_description
+        is_paused: true
+        is_subdag: true
+        next_dagrun: 2000-01-23T04:56:07.000+00:00
       properties:
         dag_id:
           description: The ID of the DAG.
@@ -4209,6 +4639,58 @@ components:
           description: Whether the DAG is SubDAG.
           readOnly: true
           type: boolean
+        last_parsed_time:
+          description: |
+            The last time the DAG was parsed.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        last_pickled:
+          description: |
+            The last time the DAG was pickled.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        last_expired:
+          description: |
+            Time when the DAG last received a refresh signal
+            (e.g. the DAG's "refresh" button was clicked in the web UI)
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        scheduler_lock:
+          description: |
+            Whether (one of) the scheduler is scheduling this DAG at the moment
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: boolean
+        pickle_id:
+          description: |
+            Foreign key to the latest pickle_id
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: string
+        default_view:
+          description: |
+            Default view of the DAG inside the webserver
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: string
         fileloc:
           description: The absolute path to the file.
           readOnly: true
@@ -4231,6 +4713,14 @@ components:
           type: string
         schedule_interval:
           $ref: '#/components/schemas/ScheduleInterval'
+        timetable_description:
+          description: |
+            Timetable/Schedule Interval description.
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: string
         tags:
           description: List of tags.
           items:
@@ -4238,6 +4728,74 @@ components:
           nullable: true
           readOnly: true
           type: array
+        max_active_tasks:
+          description: |
+            Maximum number of active tasks that can be run on the DAG
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: integer
+        max_active_runs:
+          description: |
+            Maximum number of active DAG runs for the DAG
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: integer
+        has_task_concurrency_limits:
+          description: |
+            Whether the DAG has task concurrency limits
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: boolean
+        has_import_errors:
+          description: |
+            Whether the DAG has import errors
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: boolean
+        next_dagrun:
+          description: |
+            The logical date of the next dag run.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        next_dagrun_data_interval_start:
+          description: |
+            The start of the interval of the next dag run.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        next_dagrun_data_interval_end:
+          description: |
+            The end of the interval of the next dag run.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        next_dagrun_create_after:
+          description: |
+            Earliest time at which this ``next_dagrun`` can be created.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
       type: object
     DAGCollection:
       allOf:
@@ -4252,9 +4810,13 @@ components:
       example:
         end_date: 2000-01-23T04:56:07.000+00:00
         execution_date: 2000-01-23T04:56:07.000+00:00
-        dag_run_id: dag_run_id
         external_trigger: true
         conf: '{}'
+        data_interval_start: 2000-01-23T04:56:07.000+00:00
+        run_type: backfill
+        data_interval_end: 2000-01-23T04:56:07.000+00:00
+        last_scheduling_decision: 2000-01-23T04:56:07.000+00:00
+        dag_run_id: dag_run_id
         dag_id: dag_id
         logical_date: 2000-01-23T04:56:07.000+00:00
         start_date: 2000-01-23T04:56:07.000+00:00
@@ -4317,6 +4879,28 @@ components:
           nullable: true
           readOnly: true
           type: string
+        data_interval_start:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        data_interval_end:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        last_scheduling_decision:
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        run_type:
+          enum:
+          - backfill
+          - manual
+          - scheduled
+          readOnly: true
+          type: string
         state:
           $ref: '#/components/schemas/DagState'
         external_trigger:
@@ -4344,6 +4928,7 @@ components:
           enum:
           - success
           - failed
+          - queued
           type: string
       type: object
     DAGRunCollection:
@@ -4597,6 +5182,7 @@ components:
       example:
         end_date: end_date
         unixname: unixname
+        rendered_fields: '{}'
         execution_date: execution_date
         pool_slots: 5
         pool: pool
@@ -4680,6 +5266,12 @@ components:
           type: string
         sla_miss:
           $ref: '#/components/schemas/SLAMiss'
+        rendered_fields:
+          description: |
+            JSON object describing rendered fields.
+
+            *New in version 2.3.0*
+          type: object
       type: object
     TaskInstanceCollection:
       allOf:
@@ -4858,20 +5450,35 @@ components:
         - downstream_task_ids
         - downstream_task_ids
         sub_dag:
-          root_dag_id: root_dag_id
-          is_active: true
-          is_paused: true
           description: description
-          file_token: file_token
           owners:
           - owners
           - owners
-          dag_id: dag_id
-          is_subdag: true
           fileloc: fileloc
+          has_task_concurrency_limits: true
+          root_dag_id: root_dag_id
+          last_pickled: 2000-01-23T04:56:07.000+00:00
+          has_import_errors: true
+          last_parsed_time: 2000-01-23T04:56:07.000+00:00
+          next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
+          dag_id: dag_id
+          scheduler_lock: true
+          default_view: default_view
+          next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
+          next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
+          is_active: true
+          last_expired: 2000-01-23T04:56:07.000+00:00
+          max_active_runs: 6
+          file_token: file_token
+          max_active_tasks: 0
+          pickle_id: pickle_id
           tags:
           - name: name
           - name: name
+          timetable_description: timetable_description
+          is_paused: true
+          is_subdag: true
+          next_dagrun: 2000-01-23T04:56:07.000+00:00
         retries: 0.8008281904610115
         template_fields:
         - template_fields
@@ -4881,6 +5488,7 @@ components:
           __type: __type
           days: 1
           microseconds: 5
+        is_mapped: true
         wait_for_downstream: true
         priority_weight: 2.3021358869347655
         class_ref:
@@ -4921,6 +5529,9 @@ components:
         depends_on_past:
           readOnly: true
           type: boolean
+        is_mapped:
+          readOnly: true
+          type: boolean
         wait_for_downstream:
           readOnly: true
           type: boolean
@@ -4993,20 +5604,35 @@ components:
           - downstream_task_ids
           - downstream_task_ids
           sub_dag:
-            root_dag_id: root_dag_id
-            is_active: true
-            is_paused: true
             description: description
-            file_token: file_token
             owners:
             - owners
             - owners
-            dag_id: dag_id
-            is_subdag: true
             fileloc: fileloc
+            has_task_concurrency_limits: true
+            root_dag_id: root_dag_id
+            last_pickled: 2000-01-23T04:56:07.000+00:00
+            has_import_errors: true
+            last_parsed_time: 2000-01-23T04:56:07.000+00:00
+            next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
+            dag_id: dag_id
+            scheduler_lock: true
+            default_view: default_view
+            next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
+            next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
+            is_active: true
+            last_expired: 2000-01-23T04:56:07.000+00:00
+            max_active_runs: 6
+            file_token: file_token
+            max_active_tasks: 0
+            pickle_id: pickle_id
             tags:
             - name: name
             - name: name
+            timetable_description: timetable_description
+            is_paused: true
+            is_subdag: true
+            next_dagrun: 2000-01-23T04:56:07.000+00:00
           retries: 0.8008281904610115
           template_fields:
           - template_fields
@@ -5016,6 +5642,7 @@ components:
             __type: __type
             days: 1
             microseconds: 5
+          is_mapped: true
           wait_for_downstream: true
           priority_weight: 2.3021358869347655
           class_ref:
@@ -5048,20 +5675,35 @@ components:
           - downstream_task_ids
           - downstream_task_ids
           sub_dag:
-            root_dag_id: root_dag_id
-            is_active: true
-            is_paused: true
             description: description
-            file_token: file_token
             owners:
             - owners
             - owners
-            dag_id: dag_id
-            is_subdag: true
             fileloc: fileloc
+            has_task_concurrency_limits: true
+            root_dag_id: root_dag_id
+            last_pickled: 2000-01-23T04:56:07.000+00:00
+            has_import_errors: true
+            last_parsed_time: 2000-01-23T04:56:07.000+00:00
+            next_dagrun_create_after: 2000-01-23T04:56:07.000+00:00
+            dag_id: dag_id
+            scheduler_lock: true
+            default_view: default_view
+            next_dagrun_data_interval_end: 2000-01-23T04:56:07.000+00:00
+            next_dagrun_data_interval_start: 2000-01-23T04:56:07.000+00:00
+            is_active: true
+            last_expired: 2000-01-23T04:56:07.000+00:00
+            max_active_runs: 6
+            file_token: file_token
+            max_active_tasks: 0
+            pickle_id: pickle_id
             tags:
             - name: name
             - name: name
+            timetable_description: timetable_description
+            is_paused: true
+            is_subdag: true
+            next_dagrun: 2000-01-23T04:56:07.000+00:00
           retries: 0.8008281904610115
           template_fields:
           - template_fields
@@ -5071,6 +5713,7 @@ components:
             __type: __type
             days: 1
             microseconds: 5
+          is_mapped: true
           wait_for_downstream: true
           priority_weight: 2.3021358869347655
           class_ref:
@@ -5621,15 +6264,15 @@ components:
           type: array
       type: object
     ScheduleInterval:
+      anyOf:
+      - $ref: '#/components/schemas/TimeDelta'
+      - $ref: '#/components/schemas/RelativeDelta'
+      - $ref: '#/components/schemas/CronExpression'
       description: |
         Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's
         execution_date to figure out the next schedule.
       discriminator:
         propertyName: __type
-      oneOf:
-      - $ref: '#/components/schemas/TimeDelta'
-      - $ref: '#/components/schemas/RelativeDelta'
-      - $ref: '#/components/schemas/CronExpression'
       readOnly: true
     TimeDelta:
       description: Time delta
@@ -6009,6 +6652,49 @@ components:
             *New in version 2.0.1*
           readOnly: true
           type: object
+        end_date:
+          description: |
+            The DAG's end date.
+
+            *New in version 2.3.0*.
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        is_paused_upon_creation:
+          description: |
+            Whether the DAG is paused upon creation.
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: boolean
+        last_parsed:
+          description: |
+            The last time the DAG was parsed.
+
+            *New in version 2.3.0*
+          format: date-time
+          nullable: true
+          readOnly: true
+          type: string
+        template_search_path:
+          description: |
+            The template search path.
+
+            *New in version 2.3.0*
+          items:
+            type: string
+          nullable: true
+          type: array
+        render_template_as_native_obj:
+          description: |
+            Whether to render templates as native Python objects.
+
+            *New in version 2.3.0*
+          nullable: true
+          readOnly: true
+          type: boolean
       type: object
     Task_extra_links:
       example:
index bef39263f21fde52d5d8ef42ef111e06aa3f4d91..da4c41e9221f01b01175dec58a8364bee1e05076 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index b760d442436058c4955508fe5e10bd153dd12e05..e39bbd070654787e2fb094e4c126650750f973ac 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index be9cd4602a6febb28d48f7ef74df9e44949bf661..243bf42afdc99f5bec2831e5429056c90dfc12aa 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
@@ -644,12 +644,12 @@ func (r ApiGetDagsRequest) Tags(tags []string) ApiGetDagsRequest {
        r.tags = &tags
        return r
 }
-// Only return active DAGs.  *New in version 2.1.1* 
+// Only filter active DAGs.  *New in version 2.1.1* 
 func (r ApiGetDagsRequest) OnlyActive(onlyActive bool) ApiGetDagsRequest {
        r.onlyActive = &onlyActive
        return r
 }
-// If set, only return DAGs with dag_ids matching this pattern.  *New in version 2.3.0* 
+// If set, only return DAGs with dag_ids matching this pattern. 
 func (r ApiGetDagsRequest) DagIdPattern(dagIdPattern string) ApiGetDagsRequest {
        r.dagIdPattern = &dagIdPattern
        return r
@@ -662,6 +662,10 @@ func (r ApiGetDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error)
 /*
 GetDags List DAGs
 
+List DAGs in the database.
+`dag_id_pattern` can be set to match dags of a specific pattern
+
+
  @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  @return ApiGetDagsRequest
 */
@@ -1215,6 +1219,213 @@ func (a *DAGApiService) PatchDagExecute(r ApiPatchDagRequest) (DAG, *_nethttp.Re
        return localVarReturnValue, localVarHTTPResponse, nil
 }
 
+type ApiPatchDagsRequest struct {
+       ctx _context.Context
+       ApiService *DAGApiService
+       dagIdPattern *string
+       dAG *DAG
+       limit *int32
+       offset *int32
+       tags *[]string
+       updateMask *[]string
+       onlyActive *bool
+}
+
+// If set, only update DAGs with dag_ids matching this pattern. 
+func (r ApiPatchDagsRequest) DagIdPattern(dagIdPattern string) ApiPatchDagsRequest {
+       r.dagIdPattern = &dagIdPattern
+       return r
+}
+func (r ApiPatchDagsRequest) DAG(dAG DAG) ApiPatchDagsRequest {
+       r.dAG = &dAG
+       return r
+}
+// The numbers of items to return.
+func (r ApiPatchDagsRequest) Limit(limit int32) ApiPatchDagsRequest {
+       r.limit = &limit
+       return r
+}
+// The number of items to skip before starting to collect the result set.
+func (r ApiPatchDagsRequest) Offset(offset int32) ApiPatchDagsRequest {
+       r.offset = &offset
+       return r
+}
+// List of tags to filter results.  *New in version 2.2.0* 
+func (r ApiPatchDagsRequest) Tags(tags []string) ApiPatchDagsRequest {
+       r.tags = &tags
+       return r
+}
+// The fields to update on the resource. If absent or empty, all modifiable fields are updated. A comma-separated list of fully qualified names of fields. 
+func (r ApiPatchDagsRequest) UpdateMask(updateMask []string) ApiPatchDagsRequest {
+       r.updateMask = &updateMask
+       return r
+}
+// Only filter active DAGs.  *New in version 2.1.1* 
+func (r ApiPatchDagsRequest) OnlyActive(onlyActive bool) ApiPatchDagsRequest {
+       r.onlyActive = &onlyActive
+       return r
+}
+
+func (r ApiPatchDagsRequest) Execute() (DAGCollection, *_nethttp.Response, error) {
+       return r.ApiService.PatchDagsExecute(r)
+}
+
+/*
+PatchDags Update DAGs
+
+Update DAGs of a given dag_id_pattern using UpdateMask.
+This endpoint allows specifying `~` as the dag_id_pattern to update all DAGs.
+*New in version 2.3.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiPatchDagsRequest
+*/
+func (a *DAGApiService) PatchDags(ctx _context.Context) ApiPatchDagsRequest {
+       return ApiPatchDagsRequest{
+               ApiService: a,
+               ctx: ctx,
+       }
+}
+
+// Execute executes the request
+//  @return DAGCollection
+func (a *DAGApiService) PatchDagsExecute(r ApiPatchDagsRequest) (DAGCollection, *_nethttp.Response, error) {
+       var (
+               localVarHTTPMethod   = _nethttp.MethodPatch
+               localVarPostBody     interface{}
+               localVarFormFileName string
+               localVarFileName     string
+               localVarFileBytes    []byte
+               localVarReturnValue  DAGCollection
+       )
+
+       localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DAGApiService.PatchDags")
+       if err != nil {
+               return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+       }
+
+       localVarPath := localBasePath + "/dags"
+
+       localVarHeaderParams := make(map[string]string)
+       localVarQueryParams := _neturl.Values{}
+       localVarFormParams := _neturl.Values{}
+       if r.dagIdPattern == nil {
+               return localVarReturnValue, nil, reportError("dagIdPattern is required and must be specified")
+       }
+       if r.dAG == nil {
+               return localVarReturnValue, nil, reportError("dAG is required and must be specified")
+       }
+
+       if r.limit != nil {
+               localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+       }
+       if r.offset != nil {
+               localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+       }
+       if r.tags != nil {
+               t := *r.tags
+               if reflect.TypeOf(t).Kind() == reflect.Slice {
+                       s := reflect.ValueOf(t)
+                       for i := 0; i < s.Len(); i++ {
+                               localVarQueryParams.Add("tags", parameterToString(s.Index(i), "multi"))
+                       }
+               } else {
+                       localVarQueryParams.Add("tags", parameterToString(t, "multi"))
+               }
+       }
+       if r.updateMask != nil {
+               localVarQueryParams.Add("update_mask", parameterToString(*r.updateMask, "csv"))
+       }
+       if r.onlyActive != nil {
+               localVarQueryParams.Add("only_active", parameterToString(*r.onlyActive, ""))
+       }
+       localVarQueryParams.Add("dag_id_pattern", parameterToString(*r.dagIdPattern, ""))
+       // to determine the Content-Type header
+       localVarHTTPContentTypes := []string{"application/json"}
+
+       // set Content-Type header
+       localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+       if localVarHTTPContentType != "" {
+               localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+       }
+
+       // to determine the Accept header
+       localVarHTTPHeaderAccepts := []string{"application/json"}
+
+       // set Accept header
+       localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+       if localVarHTTPHeaderAccept != "" {
+               localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+       }
+       // body params
+       localVarPostBody = r.dAG
+       req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+       if err != nil {
+               return localVarReturnValue, nil, err
+       }
+
+       localVarHTTPResponse, err := a.client.callAPI(req)
+       if err != nil || localVarHTTPResponse == nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+       localVarHTTPResponse.Body.Close()
+       localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+       if err != nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       if localVarHTTPResponse.StatusCode >= 300 {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: localVarHTTPResponse.Status,
+               }
+               if localVarHTTPResponse.StatusCode == 401 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 403 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 404 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+       if err != nil {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: err.Error(),
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       return localVarReturnValue, localVarHTTPResponse, nil
+}
+
 type ApiPostClearTaskInstancesRequest struct {
        ctx _context.Context
        ApiService *DAGApiService
index fa507818ebadc36deaf63436deae8cb442b707d4..bc8684af4d4e69bafad25cef17c89c533ed3ef38 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 4a1c9eb4d0a16d16df6c97a5f830901da2613a32..56ea3cd230b5a84fa8a25025bb78156a7e208168 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 1563de3b7952de23ca011971743b4194d2d389cc..ebfdd4b0589dce2be4cef3b95fb5bfc0c88f1609 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 3acc0f3f14447ec0c07c4ebf42e6063660815531..23560585033d4784b464b204e0738cdb7c67291a 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 4c8d178bd17f97172e233d29e2222c1227052c1c..7cb87195e284a0335b7e53dca4e59f57efe1e863 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index b9ba88a69619875d8b423573e55e7f40d2027a3a..19a467a24041bbe747b881e7cde784f27ad7ca9b 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 2a4d6ea51690d91c27d4978af7bc0f8a3f083937..920be5cdeb5019d7fb8502accf050ea23957077a 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 50edbff163206dd66cecf9eda227c3e0055bed2a..c94c834e95f43a58ac2c52d6a31f2f4e94566e3b 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 69d43ff0a032b4c49cda3576046f50925f6b511e..e597ca79639339ae286ddd1eeff8b7665abe643a 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index d1a97bbc6cea0b39f8e7b7a93866d6f5e2f5c07a..036019c261e86cbd78114906577019436ff0847a 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
@@ -366,6 +366,452 @@ func (a *TaskInstanceApiService) GetLogExecute(r ApiGetLogRequest) (InlineRespon
        return localVarReturnValue, localVarHTTPResponse, nil
 }
 
+type ApiGetMappedTaskInstanceRequest struct {
+       ctx _context.Context
+       ApiService *TaskInstanceApiService
+       dagId string
+       dagRunId string
+       taskId string
+       mapIndex int32
+}
+
+
+func (r ApiGetMappedTaskInstanceRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+       return r.ApiService.GetMappedTaskInstanceExecute(r)
+}
+
+/*
+GetMappedTaskInstance Get a mapped task instance
+
+Get details of a mapped task instance.
+
+*New in version 2.3.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @param mapIndex The map index.
+ @return ApiGetMappedTaskInstanceRequest
+*/
+func (a *TaskInstanceApiService) GetMappedTaskInstance(ctx _context.Context, dagId string, dagRunId string, taskId string, mapIndex int32) ApiGetMappedTaskInstanceRequest {
+       return ApiGetMappedTaskInstanceRequest{
+               ApiService: a,
+               ctx: ctx,
+               dagId: dagId,
+               dagRunId: dagRunId,
+               taskId: taskId,
+               mapIndex: mapIndex,
+       }
+}
+
+// Execute executes the request
+//  @return TaskInstance
+func (a *TaskInstanceApiService) GetMappedTaskInstanceExecute(r ApiGetMappedTaskInstanceRequest) (TaskInstance, *_nethttp.Response, error) {
+       var (
+               localVarHTTPMethod   = _nethttp.MethodGet
+               localVarPostBody     interface{}
+               localVarFormFileName string
+               localVarFileName     string
+               localVarFileBytes    []byte
+               localVarReturnValue  TaskInstance
+       )
+
+       localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaskInstanceApiService.GetMappedTaskInstance")
+       if err != nil {
+               return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+       }
+
+       localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}"
+       localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+       localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+       localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+       localVarPath = strings.Replace(localVarPath, "{"+"map_index"+"}", _neturl.PathEscape(parameterToString(r.mapIndex, "")), -1)
+
+       localVarHeaderParams := make(map[string]string)
+       localVarQueryParams := _neturl.Values{}
+       localVarFormParams := _neturl.Values{}
+
+       // to determine the Content-Type header
+       localVarHTTPContentTypes := []string{}
+
+       // set Content-Type header
+       localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+       if localVarHTTPContentType != "" {
+               localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+       }
+
+       // to determine the Accept header
+       localVarHTTPHeaderAccepts := []string{"application/json"}
+
+       // set Accept header
+       localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+       if localVarHTTPHeaderAccept != "" {
+               localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+       }
+       req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+       if err != nil {
+               return localVarReturnValue, nil, err
+       }
+
+       localVarHTTPResponse, err := a.client.callAPI(req)
+       if err != nil || localVarHTTPResponse == nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+       localVarHTTPResponse.Body.Close()
+       localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+       if err != nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       if localVarHTTPResponse.StatusCode >= 300 {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: localVarHTTPResponse.Status,
+               }
+               if localVarHTTPResponse.StatusCode == 401 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 403 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 404 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+       if err != nil {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: err.Error(),
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetMappedTaskInstancesRequest struct {
+       ctx _context.Context
+       ApiService *TaskInstanceApiService
+       dagId string
+       dagRunId string
+       taskId string
+       limit *int32
+       offset *int32
+       executionDateGte *time.Time
+       executionDateLte *time.Time
+       startDateGte *time.Time
+       startDateLte *time.Time
+       endDateGte *time.Time
+       endDateLte *time.Time
+       durationGte *float32
+       durationLte *float32
+       state *[]string
+       pool *[]string
+       queue *[]string
+       orderBy *string
+}
+
+// The numbers of items to return.
+func (r ApiGetMappedTaskInstancesRequest) Limit(limit int32) ApiGetMappedTaskInstancesRequest {
+       r.limit = &limit
+       return r
+}
+// The number of items to skip before starting to collect the result set.
+func (r ApiGetMappedTaskInstancesRequest) Offset(offset int32) ApiGetMappedTaskInstancesRequest {
+       r.offset = &offset
+       return r
+}
+// Returns objects greater or equal to the specified date.  This can be combined with execution_date_lte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) ExecutionDateGte(executionDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.executionDateGte = &executionDateGte
+       return r
+}
+// Returns objects less than or equal to the specified date.  This can be combined with execution_date_gte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) ExecutionDateLte(executionDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.executionDateLte = &executionDateLte
+       return r
+}
+// Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) StartDateGte(startDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.startDateGte = &startDateGte
+       return r
+}
+// Returns objects less or equal the specified date.  This can be combined with start_date_gte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) StartDateLte(startDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.startDateLte = &startDateLte
+       return r
+}
+// Returns objects greater or equal the specified date.  This can be combined with start_date_lte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) EndDateGte(endDateGte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.endDateGte = &endDateGte
+       return r
+}
+// Returns objects less than or equal to the specified date.  This can be combined with start_date_gte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) EndDateLte(endDateLte time.Time) ApiGetMappedTaskInstancesRequest {
+       r.endDateLte = &endDateLte
+       return r
+}
+// Returns objects greater than or equal to the specified values.  This can be combined with duration_lte parameter to receive only the selected period. 
+func (r ApiGetMappedTaskInstancesRequest) DurationGte(durationGte float32) ApiGetMappedTaskInstancesRequest {
+       r.durationGte = &durationGte
+       return r
+}
+// Returns objects less than or equal to the specified values.  This can be combined with duration_gte parameter to receive only the selected range. 
+func (r ApiGetMappedTaskInstancesRequest) DurationLte(durationLte float32) ApiGetMappedTaskInstancesRequest {
+       r.durationLte = &durationLte
+       return r
+}
+// The value can be repeated to retrieve multiple matching values (OR condition).
+func (r ApiGetMappedTaskInstancesRequest) State(state []string) ApiGetMappedTaskInstancesRequest {
+       r.state = &state
+       return r
+}
+// The value can be repeated to retrieve multiple matching values (OR condition).
+func (r ApiGetMappedTaskInstancesRequest) Pool(pool []string) ApiGetMappedTaskInstancesRequest {
+       r.pool = &pool
+       return r
+}
+// The value can be repeated to retrieve multiple matching values (OR condition).
+func (r ApiGetMappedTaskInstancesRequest) Queue(queue []string) ApiGetMappedTaskInstancesRequest {
+       r.queue = &queue
+       return r
+}
+// The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0* 
+func (r ApiGetMappedTaskInstancesRequest) OrderBy(orderBy string) ApiGetMappedTaskInstancesRequest {
+       r.orderBy = &orderBy
+       return r
+}
+
+func (r ApiGetMappedTaskInstancesRequest) Execute() (TaskInstance, *_nethttp.Response, error) {
+       return r.ApiService.GetMappedTaskInstancesExecute(r)
+}
+
+/*
+GetMappedTaskInstances List mapped task instances
+
+Get details of all mapped task instances.
+
+*New in version 2.3.0*
+
+
+ @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param dagId The DAG ID.
+ @param dagRunId The DAG run ID.
+ @param taskId The task ID.
+ @return ApiGetMappedTaskInstancesRequest
+*/
+func (a *TaskInstanceApiService) GetMappedTaskInstances(ctx _context.Context, dagId string, dagRunId string, taskId string) ApiGetMappedTaskInstancesRequest {
+       return ApiGetMappedTaskInstancesRequest{
+               ApiService: a,
+               ctx: ctx,
+               dagId: dagId,
+               dagRunId: dagRunId,
+               taskId: taskId,
+       }
+}
+
+// Execute executes the request
+//  @return TaskInstance
+func (a *TaskInstanceApiService) GetMappedTaskInstancesExecute(r ApiGetMappedTaskInstancesRequest) (TaskInstance, *_nethttp.Response, error) {
+       var (
+               localVarHTTPMethod   = _nethttp.MethodGet
+               localVarPostBody     interface{}
+               localVarFormFileName string
+               localVarFileName     string
+               localVarFileBytes    []byte
+               localVarReturnValue  TaskInstance
+       )
+
+       localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaskInstanceApiService.GetMappedTaskInstances")
+       if err != nil {
+               return localVarReturnValue, nil, GenericOpenAPIError{error: err.Error()}
+       }
+
+       localVarPath := localBasePath + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped"
+       localVarPath = strings.Replace(localVarPath, "{"+"dag_id"+"}", _neturl.PathEscape(parameterToString(r.dagId, "")), -1)
+       localVarPath = strings.Replace(localVarPath, "{"+"dag_run_id"+"}", _neturl.PathEscape(parameterToString(r.dagRunId, "")), -1)
+       localVarPath = strings.Replace(localVarPath, "{"+"task_id"+"}", _neturl.PathEscape(parameterToString(r.taskId, "")), -1)
+
+       localVarHeaderParams := make(map[string]string)
+       localVarQueryParams := _neturl.Values{}
+       localVarFormParams := _neturl.Values{}
+
+       if r.limit != nil {
+               localVarQueryParams.Add("limit", parameterToString(*r.limit, ""))
+       }
+       if r.offset != nil {
+               localVarQueryParams.Add("offset", parameterToString(*r.offset, ""))
+       }
+       if r.executionDateGte != nil {
+               localVarQueryParams.Add("execution_date_gte", parameterToString(*r.executionDateGte, ""))
+       }
+       if r.executionDateLte != nil {
+               localVarQueryParams.Add("execution_date_lte", parameterToString(*r.executionDateLte, ""))
+       }
+       if r.startDateGte != nil {
+               localVarQueryParams.Add("start_date_gte", parameterToString(*r.startDateGte, ""))
+       }
+       if r.startDateLte != nil {
+               localVarQueryParams.Add("start_date_lte", parameterToString(*r.startDateLte, ""))
+       }
+       if r.endDateGte != nil {
+               localVarQueryParams.Add("end_date_gte", parameterToString(*r.endDateGte, ""))
+       }
+       if r.endDateLte != nil {
+               localVarQueryParams.Add("end_date_lte", parameterToString(*r.endDateLte, ""))
+       }
+       if r.durationGte != nil {
+               localVarQueryParams.Add("duration_gte", parameterToString(*r.durationGte, ""))
+       }
+       if r.durationLte != nil {
+               localVarQueryParams.Add("duration_lte", parameterToString(*r.durationLte, ""))
+       }
+       if r.state != nil {
+               t := *r.state
+               if reflect.TypeOf(t).Kind() == reflect.Slice {
+                       s := reflect.ValueOf(t)
+                       for i := 0; i < s.Len(); i++ {
+                               localVarQueryParams.Add("state", parameterToString(s.Index(i), "multi"))
+                       }
+               } else {
+                       localVarQueryParams.Add("state", parameterToString(t, "multi"))
+               }
+       }
+       if r.pool != nil {
+               t := *r.pool
+               if reflect.TypeOf(t).Kind() == reflect.Slice {
+                       s := reflect.ValueOf(t)
+                       for i := 0; i < s.Len(); i++ {
+                               localVarQueryParams.Add("pool", parameterToString(s.Index(i), "multi"))
+                       }
+               } else {
+                       localVarQueryParams.Add("pool", parameterToString(t, "multi"))
+               }
+       }
+       if r.queue != nil {
+               t := *r.queue
+               if reflect.TypeOf(t).Kind() == reflect.Slice {
+                       s := reflect.ValueOf(t)
+                       for i := 0; i < s.Len(); i++ {
+                               localVarQueryParams.Add("queue", parameterToString(s.Index(i), "multi"))
+                       }
+               } else {
+                       localVarQueryParams.Add("queue", parameterToString(t, "multi"))
+               }
+       }
+       if r.orderBy != nil {
+               localVarQueryParams.Add("order_by", parameterToString(*r.orderBy, ""))
+       }
+       // to determine the Content-Type header
+       localVarHTTPContentTypes := []string{}
+
+       // set Content-Type header
+       localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+       if localVarHTTPContentType != "" {
+               localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+       }
+
+       // to determine the Accept header
+       localVarHTTPHeaderAccepts := []string{"application/json"}
+
+       // set Accept header
+       localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+       if localVarHTTPHeaderAccept != "" {
+               localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+       }
+       req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
+       if err != nil {
+               return localVarReturnValue, nil, err
+       }
+
+       localVarHTTPResponse, err := a.client.callAPI(req)
+       if err != nil || localVarHTTPResponse == nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
+       localVarHTTPResponse.Body.Close()
+       localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
+       if err != nil {
+               return localVarReturnValue, localVarHTTPResponse, err
+       }
+
+       if localVarHTTPResponse.StatusCode >= 300 {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: localVarHTTPResponse.Status,
+               }
+               if localVarHTTPResponse.StatusCode == 401 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 403 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+                       return localVarReturnValue, localVarHTTPResponse, newErr
+               }
+               if localVarHTTPResponse.StatusCode == 404 {
+                       var v Error
+                       err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+                       if err != nil {
+                               newErr.error = err.Error()
+                               return localVarReturnValue, localVarHTTPResponse, newErr
+                       }
+                       newErr.model = v
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+       if err != nil {
+               newErr := GenericOpenAPIError{
+                       body:  localVarBody,
+                       error: err.Error(),
+               }
+               return localVarReturnValue, localVarHTTPResponse, newErr
+       }
+
+       return localVarReturnValue, localVarHTTPResponse, nil
+}
+
 type ApiGetTaskInstanceRequest struct {
        ctx _context.Context
        ApiService *TaskInstanceApiService
index d5564f212bb34e1c36f94ed0ccb250c619ba9115..b0873bcf3e9e6c6538cfcdb4b9da3d6205835d4a 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 1b37f30fa85538b255710fbb254b21ec34b6ab62..f0f35f999ce008c64d3130b9fd48746e37325ea0 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 3aabab994214c61ac063f45fa1fbbdb40d0527a2..4ca90fe2b1aa545347a45fb32fa72a4140880035 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index 42bea984050333250f1412c93b2f519d127becb7..38785fb0dbe73bfe551e82d6b581c6a3605b37f0 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
index b9f8994e01b373847ff77e4abd36ac4414a83674..a15cb581375821e7f219b74c4bc2f221fa721059 100644 (file)
@@ -18,7 +18,7 @@
 /*
 Airflow API (Stable)
 
-# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Summary of Changes  | Airflow version | Description | |-|-| | v2.0 | Initial release | | v2.0.2    | Added /plugins endpoint | | v2.1 | New providers endpoint |  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backend` command as in the example below. ```bash $ airflow config get-value api auth_backend airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
+# Overview  To facilitate management, Apache Airflow supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.  Most of the endpoints accept `JSON` as input and return `JSON` responses. This means that you must usually add the following headers to your request: ``` Content-type: application/json Accept: application/json ```  ## Resources  The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.  Resource names are used as part of endpoint URLs, as well as in API parameters and responses.  ## CRUD Operations  The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources. You can review the standards for these operations and their standard parameters below.  Some endpoints have special behavior as exceptions.  ### Create  To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata in the request body. The response returns a `201 Created` response code upon success with the resource's metadata, including its internal `id`, in the response body.  ### Read  The HTTP `GET` request can be used to read a resource or to list a number of resources.  A resource's `id` can be submitted in the request parameters to read a specific resource. The response usually returns a `200 OK` response code upon success, with the resource's metadata in the response body.  If a `GET` request does not include a specific resource `id`, it is treated as a list request. The response usually returns a `200 OK` response code upon success, with an object containing a list of resources' metadata in the response body.  When reading resources, some common query parameters are usually available. e.g.: ``` v1/connections?limit=25&offset=25 ```  |Query Parameter|Type|Description| |---------------|----|-----------| |limit|integer|Maximum number of objects to fetch. Usually 25 by default| |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|  ### Update  Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request, with the fields to modify in the request body. The response usually returns a `200 OK` response code upon success, with information about the modified resource in the response body.  ### Delete  Deleting a resource requires the resource `id` and is typically executing via an HTTP `DELETE` request. The response usually returns a `204 No Content` response code upon success.  ## Conventions  - Resource names are plural and expressed in camelCase. - Names are consistent between URL parameter name and field name.  - Field names are in snake_case. ```json {     \"name\": \"string\",     \"slots\": 0,     \"occupied_slots\": 0,     \"used_slots\": 0,     \"queued_slots\": 0,     \"open_slots\": 0 } ```  ### Update Mask  Update mask is available as a query parameter in patch endpoints. It is used to notify the API which fields you want to update. Using `update_mask` makes it easier to update objects by helping the server know which fields to update in an object instead of updating all fields. The update request ignores any fields that aren't specified in the field mask, leaving them with their current values.  Example: ```   resource = request.get('/resource/my-id').json()   resource['my_field'] = 'new-value'   request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource)) ```  ## Versioning and Endpoint Lifecycle  - API versioning is not synchronized to specific releases of the Apache Airflow. - APIs are designed to be backward compatible. - Any changes to the API will first go through a deprecation phase.  # Trying the API  You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/), [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test the Apache Airflow API.  Note that you will need to pass credentials data.  For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used: ```bash curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \\ -H 'Content-Type: application/json' \\ --user \"username:password\" \\ -d '{     \"is_paused\": true }' ```  Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/), it is possible to import the API specifications directly:  1. Download the API specification by clicking the **Download** button at top of this document 2. Import the JSON specification in the graphical tool of your choice.   - In *Postman*, you can click the **import** button at the top   - With *Insomnia*, you can just drag-and-drop the file on the UI  Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on the **Code** button.  ## Enabling CORS  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser.  For details on enabling/configuring CORS, see [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Authentication  To be able to meet the requirements of many organizations, Airflow supports many authentication methods, and it is even possible to add your own method.  If you want to check which auth backend is currently set, you can use `airflow config get-value api auth_backends` command as in the example below. ```bash $ airflow config get-value api auth_backends airflow.api.auth.backend.basic_auth ``` The default is to deny all requests.  For details on configuring the authentication, see [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).  # Errors  We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.  ## Unauthenticated  This indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. Please check that you have valid credentials.  ## PermissionDenied  This response means that the server understood the request but refuses to authorize it because it lacks sufficient rights to the resource. It happens when you do not have the necessary permission to execute the action you performed. You need to get the appropriate permissions in other to resolve this error.  ## BadRequest  This response means that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.  ## NotFound  This client error response indicates that the server cannot find the requested resource.  ## MethodNotAllowed  Indicates that the request method is known by the server but is not supported by the target resource.  ## NotAcceptable  The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.  ## AlreadyExists  The request could not be completed due to a conflict with the current state of the target resource, e.g. the resource it tries to create already exists.  ## Unknown  This means that the server encountered an unexpected condition that prevented it from fulfilling the request. 
 
 API version: 1.0.0
 Contact: dev@airflow.apache.org
@@ -119,7 +119,7 @@ type Configuration struct {
 func NewConfiguration() *Configuration {
        cfg := &Configuration{
                DefaultHeader:    make(map[string]string),
-               UserAgent:        "OpenAPI-Generator/2.2.0/go",
+               UserAgent:        "OpenAPI-Generator/2.1.0/go",
                Debug:            false,
                Servers:          ServerConfigurations{
                        {
index 39fa62c23ffd891d1dbd71a12c9dab98526ec4d8..4948fdc59afde4dc8108b9c131a57d35d941874c 100644 (file)
@@ -31,6 +31,7 @@ Method | HTTP request | Description
 [**GetTask**](DAGApi.md#GetTask) | **Get** /dags/{dag_id}/tasks/{task_id} | Get simplified representation of a task
 [**GetTasks**](DAGApi.md#GetTasks) | **Get** /dags/{dag_id}/tasks | Get tasks for DAG
 [**PatchDag**](DAGApi.md#PatchDag) | **Patch** /dags/{dag_id} | Update a DAG
+[**PatchDags**](DAGApi.md#PatchDags) | **Patch** /dags | Update DAGs
 [**PostClearTaskInstances**](DAGApi.md#PostClearTaskInstances) | **Post** /dags/{dag_id}/clearTaskInstances | Clear a set of task instances
 [**PostSetTaskInstancesState**](DAGApi.md#PostSetTaskInstancesState) | **Post** /dags/{dag_id}/updateTaskInstancesState | Set a state of task instances
 
@@ -320,6 +321,8 @@ No authorization required
 
 List DAGs
 
+
+
 ### Example
 
 ```go
@@ -337,8 +340,8 @@ func main() {
     offset := int32(56) // int32 | The number of items to skip before starting to collect the result set. (optional)
     orderBy := "orderBy_example" // string | The name of the field to order the results by. Prefix a field name with `-` to reverse the sort order.  *New in version 2.1.0*  (optional)
     tags := []string{"Inner_example"} // []string | List of tags to filter results.  *New in version 2.2.0*  (optional)
-    onlyActive := true // bool | Only return active DAGs.  *New in version 2.1.1*  (optional) (default to true)
-    dagIdPattern := "dagIdPattern_example" // string | If set, only return DAGs with dag_ids matching this pattern.  *New in version 2.3.0*  (optional)
+    onlyActive := true // bool | Only filter active DAGs.  *New in version 2.1.1*  (optional) (default to true)
+    dagIdPattern := "dagIdPattern_example" // string | If set, only return DAGs with dag_ids matching this pattern.  (optional)
 
     configuration := openapiclient.NewConfiguration()
     api_client := openapiclient.NewAPIClient(configuration)
@@ -367,8 +370,8 @@ Name | Type | Description  | Notes
  **offset** | **int32** | The number of items to skip before starting to collect the result set. | 
  **orderBy** | **string** | The name of the field to order the results by. Prefix a field name with &#x60;-&#x60; to reverse the sort order.  *New in version 2.1.0*  | 
  **tags** | **[]string** | List of tags to filter results.  *New in version 2.2.0*  | 
- **onlyActive** | **bool** | Only return active DAGs.  *New in version 2.1.1*  | [default to true]
- **dagIdPattern** | **string** | If set, only return DAGs with dag_ids matching this pattern.  *New in version 2.3.0*  
+ **onlyActive** | **bool** | Only filter active DAGs.  *New in version 2.1.1*  | [default to true]
+ **dagIdPattern** | **string** | If set, only return DAGs with dag_ids matching this pattern.  | 
 
 ### Return type
 
@@ -601,6 +604,84 @@ No authorization required
 [[Back to README]](../README.md)
 
 
+## PatchDags
+
+> DAGCollection PatchDags(ctx).DagIdPattern(dagIdPattern).DAG(dAG).Limit(limit).Offset(offset).Tags(tags).UpdateMask(updateMask).OnlyActive(onlyActive).Execute()
+
+Update DAGs
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagIdPattern := "dagIdPattern_example" // string | If set, only update DAGs with dag_ids matching this pattern. 
+    dAG := *openapiclient.NewDAG() // DAG | 
+    limit := int32(56) // int32 | The numbers of items to return. (optional) (default to 100)
+    offset := int32(56) // int32 | The number of items to skip before starting to collect the result set. (optional)
+    tags := []string{"Inner_example"} // []string | List of tags to filter results.  *New in version 2.2.0*  (optional)
+    updateMask := []string{"Inner_example"} // []string | The fields to update on the resource. If absent or empty, all modifiable fields are updated. A comma-separated list of fully qualified names of fields.  (optional)
+    onlyActive := true // bool | Only filter active DAGs.  *New in version 2.1.1*  (optional) (default to true)
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.DAGApi.PatchDags(context.Background()).DagIdPattern(dagIdPattern).DAG(dAG).Limit(limit).Offset(offset).Tags(tags).UpdateMask(updateMask).OnlyActive(onlyActive).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `DAGApi.PatchDags``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `PatchDags`: DAGCollection
+    fmt.Fprintf(os.Stdout, "Response from `DAGApi.PatchDags`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiPatchDagsRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **dagIdPattern** | **string** | If set, only update DAGs with dag_ids matching this pattern.  | 
+ **dAG** | [**DAG**](DAG.md) |  | 
+ **limit** | **int32** | The numbers of items to return. | [default to 100]
+ **offset** | **int32** | The number of items to skip before starting to collect the result set. | 
+ **tags** | **[]string** | List of tags to filter results.  *New in version 2.2.0*  | 
+ **updateMask** | **[]string** | The fields to update on the resource. If absent or empty, all modifiable fields are updated. A comma-separated list of fully qualified names of fields.  | 
+ **onlyActive** | **bool** | Only filter active DAGs.  *New in version 2.1.1*  | [default to true]
+
+### Return type
+
+[**DAGCollection**](DAGCollection.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
 ## PostClearTaskInstances
 
 > TaskInstanceReferenceCollection PostClearTaskInstances(ctx, dagId).ClearTaskInstance(clearTaskInstance).Execute()
index a600f8bd84c203b161fe376d4cedf7ba3c7aa060..705e7b633c1be5a2d8e6e148b55763de84c67136 100644 (file)
@@ -28,12 +28,27 @@ Name | Type | Description | Notes
 **IsPaused** | Pointer to **NullableBool** | Whether the DAG is paused. | [optional] 
 **IsActive** | Pointer to **NullableBool** | Whether the DAG is currently seen by the scheduler(s).  *New in version 2.1.1*  *Changed in version 2.2.0*&amp;#58; Field is read-only.  | [optional] [readonly] 
 **IsSubdag** | Pointer to **bool** | Whether the DAG is SubDAG. | [optional] [readonly] 
+**LastParsedTime** | Pointer to **NullableTime** | The last time the DAG was parsed.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastPickled** | Pointer to **NullableTime** | The last time the DAG was pickled.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastExpired** | Pointer to **NullableTime** | Time when the DAG last received a refresh signal (e.g. the DAG&#39;s \&quot;refresh\&quot; button was clicked in the web UI)  *New in version 2.3.0*  | [optional] [readonly] 
+**SchedulerLock** | Pointer to **NullableBool** | Whether (one of) the scheduler is scheduling this DAG at the moment  *New in version 2.3.0*  | [optional] [readonly] 
+**PickleId** | Pointer to **NullableString** | Foreign key to the latest pickle_id  *New in version 2.3.0*  | [optional] [readonly] 
+**DefaultView** | Pointer to **NullableString** | Default view of the DAG inside the webserver  *New in version 2.3.0*  | [optional] [readonly] 
 **Fileloc** | Pointer to **string** | The absolute path to the file. | [optional] [readonly] 
 **FileToken** | Pointer to **string** | The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change.  | [optional] [readonly] 
 **Owners** | Pointer to **[]string** |  | [optional] [readonly] 
 **Description** | Pointer to **NullableString** | User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.  | [optional] [readonly] 
 **ScheduleInterval** | Pointer to [**ScheduleInterval**](ScheduleInterval.md) |  | [optional] 
+**TimetableDescription** | Pointer to **NullableString** | Timetable/Schedule Interval description.  *New in version 2.3.0*  | [optional] [readonly] 
 **Tags** | Pointer to [**[]Tag**](Tag.md) | List of tags. | [optional] [readonly] 
+**MaxActiveTasks** | Pointer to **NullableInt32** | Maximum number of active tasks that can be run on the DAG  *New in version 2.3.0*  | [optional] [readonly] 
+**MaxActiveRuns** | Pointer to **NullableInt32** | Maximum number of active DAG runs for the DAG  *New in version 2.3.0*  | [optional] [readonly] 
+**HasTaskConcurrencyLimits** | Pointer to **NullableBool** | Whether the DAG has task concurrency limits  *New in version 2.3.0*  | [optional] [readonly] 
+**HasImportErrors** | Pointer to **NullableBool** | Whether the DAG has import errors  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrun** | Pointer to **NullableTime** | The logical date of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunDataIntervalStart** | Pointer to **NullableTime** | The start of the interval of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunDataIntervalEnd** | Pointer to **NullableTime** | The end of the interval of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunCreateAfter** | Pointer to **NullableTime** | Earliest time at which this &#x60;&#x60;next_dagrun&#x60;&#x60; can be created.  *New in version 2.3.0*  | [optional] [readonly] 
 
 ## Methods
 
@@ -209,6 +224,216 @@ SetIsSubdag sets IsSubdag field to given value.
 
 HasIsSubdag returns a boolean if a field has been set.
 
+### GetLastParsedTime
+
+`func (o *DAG) GetLastParsedTime() time.Time`
+
+GetLastParsedTime returns the LastParsedTime field if non-nil, zero value otherwise.
+
+### GetLastParsedTimeOk
+
+`func (o *DAG) GetLastParsedTimeOk() (*time.Time, bool)`
+
+GetLastParsedTimeOk returns a tuple with the LastParsedTime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastParsedTime
+
+`func (o *DAG) SetLastParsedTime(v time.Time)`
+
+SetLastParsedTime sets LastParsedTime field to given value.
+
+### HasLastParsedTime
+
+`func (o *DAG) HasLastParsedTime() bool`
+
+HasLastParsedTime returns a boolean if a field has been set.
+
+### SetLastParsedTimeNil
+
+`func (o *DAG) SetLastParsedTimeNil(b bool)`
+
+ SetLastParsedTimeNil sets the value for LastParsedTime to be an explicit nil
+
+### UnsetLastParsedTime
+`func (o *DAG) UnsetLastParsedTime()`
+
+UnsetLastParsedTime ensures that no value is present for LastParsedTime, not even an explicit nil
+### GetLastPickled
+
+`func (o *DAG) GetLastPickled() time.Time`
+
+GetLastPickled returns the LastPickled field if non-nil, zero value otherwise.
+
+### GetLastPickledOk
+
+`func (o *DAG) GetLastPickledOk() (*time.Time, bool)`
+
+GetLastPickledOk returns a tuple with the LastPickled field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastPickled
+
+`func (o *DAG) SetLastPickled(v time.Time)`
+
+SetLastPickled sets LastPickled field to given value.
+
+### HasLastPickled
+
+`func (o *DAG) HasLastPickled() bool`
+
+HasLastPickled returns a boolean if a field has been set.
+
+### SetLastPickledNil
+
+`func (o *DAG) SetLastPickledNil(b bool)`
+
+ SetLastPickledNil sets the value for LastPickled to be an explicit nil
+
+### UnsetLastPickled
+`func (o *DAG) UnsetLastPickled()`
+
+UnsetLastPickled ensures that no value is present for LastPickled, not even an explicit nil
+### GetLastExpired
+
+`func (o *DAG) GetLastExpired() time.Time`
+
+GetLastExpired returns the LastExpired field if non-nil, zero value otherwise.
+
+### GetLastExpiredOk
+
+`func (o *DAG) GetLastExpiredOk() (*time.Time, bool)`
+
+GetLastExpiredOk returns a tuple with the LastExpired field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastExpired
+
+`func (o *DAG) SetLastExpired(v time.Time)`
+
+SetLastExpired sets LastExpired field to given value.
+
+### HasLastExpired
+
+`func (o *DAG) HasLastExpired() bool`
+
+HasLastExpired returns a boolean if a field has been set.
+
+### SetLastExpiredNil
+
+`func (o *DAG) SetLastExpiredNil(b bool)`
+
+ SetLastExpiredNil sets the value for LastExpired to be an explicit nil
+
+### UnsetLastExpired
+`func (o *DAG) UnsetLastExpired()`
+
+UnsetLastExpired ensures that no value is present for LastExpired, not even an explicit nil
+### GetSchedulerLock
+
+`func (o *DAG) GetSchedulerLock() bool`
+
+GetSchedulerLock returns the SchedulerLock field if non-nil, zero value otherwise.
+
+### GetSchedulerLockOk
+
+`func (o *DAG) GetSchedulerLockOk() (*bool, bool)`
+
+GetSchedulerLockOk returns a tuple with the SchedulerLock field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSchedulerLock
+
+`func (o *DAG) SetSchedulerLock(v bool)`
+
+SetSchedulerLock sets SchedulerLock field to given value.
+
+### HasSchedulerLock
+
+`func (o *DAG) HasSchedulerLock() bool`
+
+HasSchedulerLock returns a boolean if a field has been set.
+
+### SetSchedulerLockNil
+
+`func (o *DAG) SetSchedulerLockNil(b bool)`
+
+ SetSchedulerLockNil sets the value for SchedulerLock to be an explicit nil
+
+### UnsetSchedulerLock
+`func (o *DAG) UnsetSchedulerLock()`
+
+UnsetSchedulerLock ensures that no value is present for SchedulerLock, not even an explicit nil
+### GetPickleId
+
+`func (o *DAG) GetPickleId() string`
+
+GetPickleId returns the PickleId field if non-nil, zero value otherwise.
+
+### GetPickleIdOk
+
+`func (o *DAG) GetPickleIdOk() (*string, bool)`
+
+GetPickleIdOk returns a tuple with the PickleId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPickleId
+
+`func (o *DAG) SetPickleId(v string)`
+
+SetPickleId sets PickleId field to given value.
+
+### HasPickleId
+
+`func (o *DAG) HasPickleId() bool`
+
+HasPickleId returns a boolean if a field has been set.
+
+### SetPickleIdNil
+
+`func (o *DAG) SetPickleIdNil(b bool)`
+
+ SetPickleIdNil sets the value for PickleId to be an explicit nil
+
+### UnsetPickleId
+`func (o *DAG) UnsetPickleId()`
+
+UnsetPickleId ensures that no value is present for PickleId, not even an explicit nil
+### GetDefaultView
+
+`func (o *DAG) GetDefaultView() string`
+
+GetDefaultView returns the DefaultView field if non-nil, zero value otherwise.
+
+### GetDefaultViewOk
+
+`func (o *DAG) GetDefaultViewOk() (*string, bool)`
+
+GetDefaultViewOk returns a tuple with the DefaultView field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDefaultView
+
+`func (o *DAG) SetDefaultView(v string)`
+
+SetDefaultView sets DefaultView field to given value.
+
+### HasDefaultView
+
+`func (o *DAG) HasDefaultView() bool`
+
+HasDefaultView returns a boolean if a field has been set.
+
+### SetDefaultViewNil
+
+`func (o *DAG) SetDefaultViewNil(b bool)`
+
+ SetDefaultViewNil sets the value for DefaultView to be an explicit nil
+
+### UnsetDefaultView
+`func (o *DAG) UnsetDefaultView()`
+
+UnsetDefaultView ensures that no value is present for DefaultView, not even an explicit nil
 ### GetFileloc
 
 `func (o *DAG) GetFileloc() string`
@@ -344,6 +569,41 @@ SetScheduleInterval sets ScheduleInterval field to given value.
 
 HasScheduleInterval returns a boolean if a field has been set.
 
+### GetTimetableDescription
+
+`func (o *DAG) GetTimetableDescription() string`
+
+GetTimetableDescription returns the TimetableDescription field if non-nil, zero value otherwise.
+
+### GetTimetableDescriptionOk
+
+`func (o *DAG) GetTimetableDescriptionOk() (*string, bool)`
+
+GetTimetableDescriptionOk returns a tuple with the TimetableDescription field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTimetableDescription
+
+`func (o *DAG) SetTimetableDescription(v string)`
+
+SetTimetableDescription sets TimetableDescription field to given value.
+
+### HasTimetableDescription
+
+`func (o *DAG) HasTimetableDescription() bool`
+
+HasTimetableDescription returns a boolean if a field has been set.
+
+### SetTimetableDescriptionNil
+
+`func (o *DAG) SetTimetableDescriptionNil(b bool)`
+
+ SetTimetableDescriptionNil sets the value for TimetableDescription to be an explicit nil
+
+### UnsetTimetableDescription
+`func (o *DAG) UnsetTimetableDescription()`
+
+UnsetTimetableDescription ensures that no value is present for TimetableDescription, not even an explicit nil
 ### GetTags
 
 `func (o *DAG) GetTags() []Tag`
@@ -379,6 +639,286 @@ HasTags returns a boolean if a field has been set.
 `func (o *DAG) UnsetTags()`
 
 UnsetTags ensures that no value is present for Tags, not even an explicit nil
+### GetMaxActiveTasks
+
+`func (o *DAG) GetMaxActiveTasks() int32`
+
+GetMaxActiveTasks returns the MaxActiveTasks field if non-nil, zero value otherwise.
+
+### GetMaxActiveTasksOk
+
+`func (o *DAG) GetMaxActiveTasksOk() (*int32, bool)`
+
+GetMaxActiveTasksOk returns a tuple with the MaxActiveTasks field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMaxActiveTasks
+
+`func (o *DAG) SetMaxActiveTasks(v int32)`
+
+SetMaxActiveTasks sets MaxActiveTasks field to given value.
+
+### HasMaxActiveTasks
+
+`func (o *DAG) HasMaxActiveTasks() bool`
+
+HasMaxActiveTasks returns a boolean if a field has been set.
+
+### SetMaxActiveTasksNil
+
+`func (o *DAG) SetMaxActiveTasksNil(b bool)`
+
+ SetMaxActiveTasksNil sets the value for MaxActiveTasks to be an explicit nil
+
+### UnsetMaxActiveTasks
+`func (o *DAG) UnsetMaxActiveTasks()`
+
+UnsetMaxActiveTasks ensures that no value is present for MaxActiveTasks, not even an explicit nil
+### GetMaxActiveRuns
+
+`func (o *DAG) GetMaxActiveRuns() int32`
+
+GetMaxActiveRuns returns the MaxActiveRuns field if non-nil, zero value otherwise.
+
+### GetMaxActiveRunsOk
+
+`func (o *DAG) GetMaxActiveRunsOk() (*int32, bool)`
+
+GetMaxActiveRunsOk returns a tuple with the MaxActiveRuns field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMaxActiveRuns
+
+`func (o *DAG) SetMaxActiveRuns(v int32)`
+
+SetMaxActiveRuns sets MaxActiveRuns field to given value.
+
+### HasMaxActiveRuns
+
+`func (o *DAG) HasMaxActiveRuns() bool`
+
+HasMaxActiveRuns returns a boolean if a field has been set.
+
+### SetMaxActiveRunsNil
+
+`func (o *DAG) SetMaxActiveRunsNil(b bool)`
+
+ SetMaxActiveRunsNil sets the value for MaxActiveRuns to be an explicit nil
+
+### UnsetMaxActiveRuns
+`func (o *DAG) UnsetMaxActiveRuns()`
+
+UnsetMaxActiveRuns ensures that no value is present for MaxActiveRuns, not even an explicit nil
+### GetHasTaskConcurrencyLimits
+
+`func (o *DAG) GetHasTaskConcurrencyLimits() bool`
+
+GetHasTaskConcurrencyLimits returns the HasTaskConcurrencyLimits field if non-nil, zero value otherwise.
+
+### GetHasTaskConcurrencyLimitsOk
+
+`func (o *DAG) GetHasTaskConcurrencyLimitsOk() (*bool, bool)`
+
+GetHasTaskConcurrencyLimitsOk returns a tuple with the HasTaskConcurrencyLimits field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHasTaskConcurrencyLimits
+
+`func (o *DAG) SetHasTaskConcurrencyLimits(v bool)`
+
+SetHasTaskConcurrencyLimits sets HasTaskConcurrencyLimits field to given value.
+
+### HasHasTaskConcurrencyLimits
+
+`func (o *DAG) HasHasTaskConcurrencyLimits() bool`
+
+HasHasTaskConcurrencyLimits returns a boolean if a field has been set.
+
+### SetHasTaskConcurrencyLimitsNil
+
+`func (o *DAG) SetHasTaskConcurrencyLimitsNil(b bool)`
+
+ SetHasTaskConcurrencyLimitsNil sets the value for HasTaskConcurrencyLimits to be an explicit nil
+
+### UnsetHasTaskConcurrencyLimits
+`func (o *DAG) UnsetHasTaskConcurrencyLimits()`
+
+UnsetHasTaskConcurrencyLimits ensures that no value is present for HasTaskConcurrencyLimits, not even an explicit nil
+### GetHasImportErrors
+
+`func (o *DAG) GetHasImportErrors() bool`
+
+GetHasImportErrors returns the HasImportErrors field if non-nil, zero value otherwise.
+
+### GetHasImportErrorsOk
+
+`func (o *DAG) GetHasImportErrorsOk() (*bool, bool)`
+
+GetHasImportErrorsOk returns a tuple with the HasImportErrors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHasImportErrors
+
+`func (o *DAG) SetHasImportErrors(v bool)`
+
+SetHasImportErrors sets HasImportErrors field to given value.
+
+### HasHasImportErrors
+
+`func (o *DAG) HasHasImportErrors() bool`
+
+HasHasImportErrors returns a boolean if a field has been set.
+
+### SetHasImportErrorsNil
+
+`func (o *DAG) SetHasImportErrorsNil(b bool)`
+
+ SetHasImportErrorsNil sets the value for HasImportErrors to be an explicit nil
+
+### UnsetHasImportErrors
+`func (o *DAG) UnsetHasImportErrors()`
+
+UnsetHasImportErrors ensures that no value is present for HasImportErrors, not even an explicit nil
+### GetNextDagrun
+
+`func (o *DAG) GetNextDagrun() time.Time`
+
+GetNextDagrun returns the NextDagrun field if non-nil, zero value otherwise.
+
+### GetNextDagrunOk
+
+`func (o *DAG) GetNextDagrunOk() (*time.Time, bool)`
+
+GetNextDagrunOk returns a tuple with the NextDagrun field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrun
+
+`func (o *DAG) SetNextDagrun(v time.Time)`
+
+SetNextDagrun sets NextDagrun field to given value.
+
+### HasNextDagrun
+
+`func (o *DAG) HasNextDagrun() bool`
+
+HasNextDagrun returns a boolean if a field has been set.
+
+### SetNextDagrunNil
+
+`func (o *DAG) SetNextDagrunNil(b bool)`
+
+ SetNextDagrunNil sets the value for NextDagrun to be an explicit nil
+
+### UnsetNextDagrun
+`func (o *DAG) UnsetNextDagrun()`
+
+UnsetNextDagrun ensures that no value is present for NextDagrun, not even an explicit nil
+### GetNextDagrunDataIntervalStart
+
+`func (o *DAG) GetNextDagrunDataIntervalStart() time.Time`
+
+GetNextDagrunDataIntervalStart returns the NextDagrunDataIntervalStart field if non-nil, zero value otherwise.
+
+### GetNextDagrunDataIntervalStartOk
+
+`func (o *DAG) GetNextDagrunDataIntervalStartOk() (*time.Time, bool)`
+
+GetNextDagrunDataIntervalStartOk returns a tuple with the NextDagrunDataIntervalStart field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunDataIntervalStart
+
+`func (o *DAG) SetNextDagrunDataIntervalStart(v time.Time)`
+
+SetNextDagrunDataIntervalStart sets NextDagrunDataIntervalStart field to given value.
+
+### HasNextDagrunDataIntervalStart
+
+`func (o *DAG) HasNextDagrunDataIntervalStart() bool`
+
+HasNextDagrunDataIntervalStart returns a boolean if a field has been set.
+
+### SetNextDagrunDataIntervalStartNil
+
+`func (o *DAG) SetNextDagrunDataIntervalStartNil(b bool)`
+
+ SetNextDagrunDataIntervalStartNil sets the value for NextDagrunDataIntervalStart to be an explicit nil
+
+### UnsetNextDagrunDataIntervalStart
+`func (o *DAG) UnsetNextDagrunDataIntervalStart()`
+
+UnsetNextDagrunDataIntervalStart ensures that no value is present for NextDagrunDataIntervalStart, not even an explicit nil
+### GetNextDagrunDataIntervalEnd
+
+`func (o *DAG) GetNextDagrunDataIntervalEnd() time.Time`
+
+GetNextDagrunDataIntervalEnd returns the NextDagrunDataIntervalEnd field if non-nil, zero value otherwise.
+
+### GetNextDagrunDataIntervalEndOk
+
+`func (o *DAG) GetNextDagrunDataIntervalEndOk() (*time.Time, bool)`
+
+GetNextDagrunDataIntervalEndOk returns a tuple with the NextDagrunDataIntervalEnd field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunDataIntervalEnd
+
+`func (o *DAG) SetNextDagrunDataIntervalEnd(v time.Time)`
+
+SetNextDagrunDataIntervalEnd sets NextDagrunDataIntervalEnd field to given value.
+
+### HasNextDagrunDataIntervalEnd
+
+`func (o *DAG) HasNextDagrunDataIntervalEnd() bool`
+
+HasNextDagrunDataIntervalEnd returns a boolean if a field has been set.
+
+### SetNextDagrunDataIntervalEndNil
+
+`func (o *DAG) SetNextDagrunDataIntervalEndNil(b bool)`
+
+ SetNextDagrunDataIntervalEndNil sets the value for NextDagrunDataIntervalEnd to be an explicit nil
+
+### UnsetNextDagrunDataIntervalEnd
+`func (o *DAG) UnsetNextDagrunDataIntervalEnd()`
+
+UnsetNextDagrunDataIntervalEnd ensures that no value is present for NextDagrunDataIntervalEnd, not even an explicit nil
+### GetNextDagrunCreateAfter
+
+`func (o *DAG) GetNextDagrunCreateAfter() time.Time`
+
+GetNextDagrunCreateAfter returns the NextDagrunCreateAfter field if non-nil, zero value otherwise.
+
+### GetNextDagrunCreateAfterOk
+
+`func (o *DAG) GetNextDagrunCreateAfterOk() (*time.Time, bool)`
+
+GetNextDagrunCreateAfterOk returns a tuple with the NextDagrunCreateAfter field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunCreateAfter
+
+`func (o *DAG) SetNextDagrunCreateAfter(v time.Time)`
+
+SetNextDagrunCreateAfter sets NextDagrunCreateAfter field to given value.
+
+### HasNextDagrunCreateAfter
+
+`func (o *DAG) HasNextDagrunCreateAfter() bool`
+
+HasNextDagrunCreateAfter returns a boolean if a field has been set.
+
+### SetNextDagrunCreateAfterNil
+
+`func (o *DAG) SetNextDagrunCreateAfterNil(b bool)`
+
+ SetNextDagrunCreateAfterNil sets the value for NextDagrunCreateAfter to be an explicit nil
+
+### UnsetNextDagrunCreateAfter
+`func (o *DAG) UnsetNextDagrunCreateAfter()`
+
+UnsetNextDagrunCreateAfter ensures that no value is present for NextDagrunCreateAfter, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
index 9f711c3a066b68dd52ccb0de87f6c779175fa3f0..00daa5856bef95403b5d8b3686bce869e32a9467 100644 (file)
@@ -28,12 +28,27 @@ Name | Type | Description | Notes
 **IsPaused** | Pointer to **NullableBool** | Whether the DAG is paused. | [optional] 
 **IsActive** | Pointer to **NullableBool** | Whether the DAG is currently seen by the scheduler(s).  *New in version 2.1.1*  *Changed in version 2.2.0*&amp;#58; Field is read-only.  | [optional] [readonly] 
 **IsSubdag** | Pointer to **bool** | Whether the DAG is SubDAG. | [optional] [readonly] 
+**LastParsedTime** | Pointer to **NullableTime** | The last time the DAG was parsed.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastPickled** | Pointer to **NullableTime** | The last time the DAG was pickled.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastExpired** | Pointer to **NullableTime** | Time when the DAG last received a refresh signal (e.g. the DAG&#39;s \&quot;refresh\&quot; button was clicked in the web UI)  *New in version 2.3.0*  | [optional] [readonly] 
+**SchedulerLock** | Pointer to **NullableBool** | Whether (one of) the scheduler is scheduling this DAG at the moment  *New in version 2.3.0*  | [optional] [readonly] 
+**PickleId** | Pointer to **NullableString** | Foreign key to the latest pickle_id  *New in version 2.3.0*  | [optional] [readonly] 
+**DefaultView** | Pointer to **string** |  | [optional] [readonly] 
 **Fileloc** | Pointer to **string** | The absolute path to the file. | [optional] [readonly] 
 **FileToken** | Pointer to **string** | The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change.  | [optional] [readonly] 
 **Owners** | Pointer to **[]string** |  | [optional] [readonly] 
 **Description** | Pointer to **NullableString** | User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents.  | [optional] [readonly] 
 **ScheduleInterval** | Pointer to [**ScheduleInterval**](ScheduleInterval.md) |  | [optional] 
+**TimetableDescription** | Pointer to **NullableString** | Timetable/Schedule Interval description.  *New in version 2.3.0*  | [optional] [readonly] 
 **Tags** | Pointer to [**[]Tag**](Tag.md) | List of tags. | [optional] [readonly] 
+**MaxActiveTasks** | Pointer to **NullableInt32** | Maximum number of active tasks that can be run on the DAG  *New in version 2.3.0*  | [optional] [readonly] 
+**MaxActiveRuns** | Pointer to **NullableInt32** | Maximum number of active DAG runs for the DAG  *New in version 2.3.0*  | [optional] [readonly] 
+**HasTaskConcurrencyLimits** | Pointer to **NullableBool** | Whether the DAG has task concurrency limits  *New in version 2.3.0*  | [optional] [readonly] 
+**HasImportErrors** | Pointer to **NullableBool** | Whether the DAG has import errors  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrun** | Pointer to **NullableTime** | The logical date of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunDataIntervalStart** | Pointer to **NullableTime** | The start of the interval of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunDataIntervalEnd** | Pointer to **NullableTime** | The end of the interval of the next dag run.  *New in version 2.3.0*  | [optional] [readonly] 
+**NextDagrunCreateAfter** | Pointer to **NullableTime** | Earliest time at which this &#x60;&#x60;next_dagrun&#x60;&#x60; can be created.  *New in version 2.3.0*  | [optional] [readonly] 
 **Timezone** | Pointer to **string** |  | [optional] 
 **Catchup** | Pointer to **bool** |  | [optional] [readonly] 
 **Orientation** | Pointer to **string** |  | [optional] [readonly] 
@@ -41,8 +56,12 @@ Name | Type | Description | Notes
 **StartDate** | Pointer to **NullableTime** | The DAG&#39;s start date.  *Changed in version 2.0.1*&amp;#58; Field becomes nullable.  | [optional] [readonly] 
 **DagRunTimeout** | Pointer to [**TimeDelta**](TimeDelta.md) |  | [optional] 
 **DocMd** | Pointer to **NullableString** |  | [optional] [readonly] 
-**DefaultView** | Pointer to **string** |  | [optional] [readonly] 
 **Params** | Pointer to **map[string]interface{}** | User-specified DAG params.  *New in version 2.0.1*  | [optional] [readonly] 
+**EndDate** | Pointer to **NullableTime** | The DAG&#39;s end date.  *New in version 2.3.0*.  | [optional] [readonly] 
+**IsPausedUponCreation** | Pointer to **NullableBool** | Whether the DAG is paused upon creation.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastParsed** | Pointer to **NullableTime** | The last time the DAG was parsed.  *New in version 2.3.0*  | [optional] [readonly] 
+**TemplateSearchPath** | Pointer to **[]string** | The template search path.  *New in version 2.3.0*  | [optional] 
+**RenderTemplateAsNativeObj** | Pointer to **NullableBool** | Whether to render templates as native Python objects.  *New in version 2.3.0*  | [optional] [readonly] 
 
 ## Methods
 
@@ -218,6 +237,206 @@ SetIsSubdag sets IsSubdag field to given value.
 
 HasIsSubdag returns a boolean if a field has been set.
 
+### GetLastParsedTime
+
+`func (o *DAGDetail) GetLastParsedTime() time.Time`
+
+GetLastParsedTime returns the LastParsedTime field if non-nil, zero value otherwise.
+
+### GetLastParsedTimeOk
+
+`func (o *DAGDetail) GetLastParsedTimeOk() (*time.Time, bool)`
+
+GetLastParsedTimeOk returns a tuple with the LastParsedTime field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastParsedTime
+
+`func (o *DAGDetail) SetLastParsedTime(v time.Time)`
+
+SetLastParsedTime sets LastParsedTime field to given value.
+
+### HasLastParsedTime
+
+`func (o *DAGDetail) HasLastParsedTime() bool`
+
+HasLastParsedTime returns a boolean if a field has been set.
+
+### SetLastParsedTimeNil
+
+`func (o *DAGDetail) SetLastParsedTimeNil(b bool)`
+
+ SetLastParsedTimeNil sets the value for LastParsedTime to be an explicit nil
+
+### UnsetLastParsedTime
+`func (o *DAGDetail) UnsetLastParsedTime()`
+
+UnsetLastParsedTime ensures that no value is present for LastParsedTime, not even an explicit nil
+### GetLastPickled
+
+`func (o *DAGDetail) GetLastPickled() time.Time`
+
+GetLastPickled returns the LastPickled field if non-nil, zero value otherwise.
+
+### GetLastPickledOk
+
+`func (o *DAGDetail) GetLastPickledOk() (*time.Time, bool)`
+
+GetLastPickledOk returns a tuple with the LastPickled field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastPickled
+
+`func (o *DAGDetail) SetLastPickled(v time.Time)`
+
+SetLastPickled sets LastPickled field to given value.
+
+### HasLastPickled
+
+`func (o *DAGDetail) HasLastPickled() bool`
+
+HasLastPickled returns a boolean if a field has been set.
+
+### SetLastPickledNil
+
+`func (o *DAGDetail) SetLastPickledNil(b bool)`
+
+ SetLastPickledNil sets the value for LastPickled to be an explicit nil
+
+### UnsetLastPickled
+`func (o *DAGDetail) UnsetLastPickled()`
+
+UnsetLastPickled ensures that no value is present for LastPickled, not even an explicit nil
+### GetLastExpired
+
+`func (o *DAGDetail) GetLastExpired() time.Time`
+
+GetLastExpired returns the LastExpired field if non-nil, zero value otherwise.
+
+### GetLastExpiredOk
+
+`func (o *DAGDetail) GetLastExpiredOk() (*time.Time, bool)`
+
+GetLastExpiredOk returns a tuple with the LastExpired field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastExpired
+
+`func (o *DAGDetail) SetLastExpired(v time.Time)`
+
+SetLastExpired sets LastExpired field to given value.
+
+### HasLastExpired
+
+`func (o *DAGDetail) HasLastExpired() bool`
+
+HasLastExpired returns a boolean if a field has been set.
+
+### SetLastExpiredNil
+
+`func (o *DAGDetail) SetLastExpiredNil(b bool)`
+
+ SetLastExpiredNil sets the value for LastExpired to be an explicit nil
+
+### UnsetLastExpired
+`func (o *DAGDetail) UnsetLastExpired()`
+
+UnsetLastExpired ensures that no value is present for LastExpired, not even an explicit nil
+### GetSchedulerLock
+
+`func (o *DAGDetail) GetSchedulerLock() bool`
+
+GetSchedulerLock returns the SchedulerLock field if non-nil, zero value otherwise.
+
+### GetSchedulerLockOk
+
+`func (o *DAGDetail) GetSchedulerLockOk() (*bool, bool)`
+
+GetSchedulerLockOk returns a tuple with the SchedulerLock field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSchedulerLock
+
+`func (o *DAGDetail) SetSchedulerLock(v bool)`
+
+SetSchedulerLock sets SchedulerLock field to given value.
+
+### HasSchedulerLock
+
+`func (o *DAGDetail) HasSchedulerLock() bool`
+
+HasSchedulerLock returns a boolean if a field has been set.
+
+### SetSchedulerLockNil
+
+`func (o *DAGDetail) SetSchedulerLockNil(b bool)`
+
+ SetSchedulerLockNil sets the value for SchedulerLock to be an explicit nil
+
+### UnsetSchedulerLock
+`func (o *DAGDetail) UnsetSchedulerLock()`
+
+UnsetSchedulerLock ensures that no value is present for SchedulerLock, not even an explicit nil
+### GetPickleId
+
+`func (o *DAGDetail) GetPickleId() string`
+
+GetPickleId returns the PickleId field if non-nil, zero value otherwise.
+
+### GetPickleIdOk
+
+`func (o *DAGDetail) GetPickleIdOk() (*string, bool)`
+
+GetPickleIdOk returns a tuple with the PickleId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPickleId
+
+`func (o *DAGDetail) SetPickleId(v string)`
+
+SetPickleId sets PickleId field to given value.
+
+### HasPickleId
+
+`func (o *DAGDetail) HasPickleId() bool`
+
+HasPickleId returns a boolean if a field has been set.
+
+### SetPickleIdNil
+
+`func (o *DAGDetail) SetPickleIdNil(b bool)`
+
+ SetPickleIdNil sets the value for PickleId to be an explicit nil
+
+### UnsetPickleId
+`func (o *DAGDetail) UnsetPickleId()`
+
+UnsetPickleId ensures that no value is present for PickleId, not even an explicit nil
+### GetDefaultView
+
+`func (o *DAGDetail) GetDefaultView() string`
+
+GetDefaultView returns the DefaultView field if non-nil, zero value otherwise.
+
+### GetDefaultViewOk
+
+`func (o *DAGDetail) GetDefaultViewOk() (*string, bool)`
+
+GetDefaultViewOk returns a tuple with the DefaultView field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDefaultView
+
+`func (o *DAGDetail) SetDefaultView(v string)`
+
+SetDefaultView sets DefaultView field to given value.
+
+### HasDefaultView
+
+`func (o *DAGDetail) HasDefaultView() bool`
+
+HasDefaultView returns a boolean if a field has been set.
+
 ### GetFileloc
 
 `func (o *DAGDetail) GetFileloc() string`
@@ -353,6 +572,41 @@ SetScheduleInterval sets ScheduleInterval field to given value.
 
 HasScheduleInterval returns a boolean if a field has been set.
 
+### GetTimetableDescription
+
+`func (o *DAGDetail) GetTimetableDescription() string`
+
+GetTimetableDescription returns the TimetableDescription field if non-nil, zero value otherwise.
+
+### GetTimetableDescriptionOk
+
+`func (o *DAGDetail) GetTimetableDescriptionOk() (*string, bool)`
+
+GetTimetableDescriptionOk returns a tuple with the TimetableDescription field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTimetableDescription
+
+`func (o *DAGDetail) SetTimetableDescription(v string)`
+
+SetTimetableDescription sets TimetableDescription field to given value.
+
+### HasTimetableDescription
+
+`func (o *DAGDetail) HasTimetableDescription() bool`
+
+HasTimetableDescription returns a boolean if a field has been set.
+
+### SetTimetableDescriptionNil
+
+`func (o *DAGDetail) SetTimetableDescriptionNil(b bool)`
+
+ SetTimetableDescriptionNil sets the value for TimetableDescription to be an explicit nil
+
+### UnsetTimetableDescription
+`func (o *DAGDetail) UnsetTimetableDescription()`
+
+UnsetTimetableDescription ensures that no value is present for TimetableDescription, not even an explicit nil
 ### GetTags
 
 `func (o *DAGDetail) GetTags() []Tag`
@@ -388,6 +642,286 @@ HasTags returns a boolean if a field has been set.
 `func (o *DAGDetail) UnsetTags()`
 
 UnsetTags ensures that no value is present for Tags, not even an explicit nil
+### GetMaxActiveTasks
+
+`func (o *DAGDetail) GetMaxActiveTasks() int32`
+
+GetMaxActiveTasks returns the MaxActiveTasks field if non-nil, zero value otherwise.
+
+### GetMaxActiveTasksOk
+
+`func (o *DAGDetail) GetMaxActiveTasksOk() (*int32, bool)`
+
+GetMaxActiveTasksOk returns a tuple with the MaxActiveTasks field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMaxActiveTasks
+
+`func (o *DAGDetail) SetMaxActiveTasks(v int32)`
+
+SetMaxActiveTasks sets MaxActiveTasks field to given value.
+
+### HasMaxActiveTasks
+
+`func (o *DAGDetail) HasMaxActiveTasks() bool`
+
+HasMaxActiveTasks returns a boolean if a field has been set.
+
+### SetMaxActiveTasksNil
+
+`func (o *DAGDetail) SetMaxActiveTasksNil(b bool)`
+
+ SetMaxActiveTasksNil sets the value for MaxActiveTasks to be an explicit nil
+
+### UnsetMaxActiveTasks
+`func (o *DAGDetail) UnsetMaxActiveTasks()`
+
+UnsetMaxActiveTasks ensures that no value is present for MaxActiveTasks, not even an explicit nil
+### GetMaxActiveRuns
+
+`func (o *DAGDetail) GetMaxActiveRuns() int32`
+
+GetMaxActiveRuns returns the MaxActiveRuns field if non-nil, zero value otherwise.
+
+### GetMaxActiveRunsOk
+
+`func (o *DAGDetail) GetMaxActiveRunsOk() (*int32, bool)`
+
+GetMaxActiveRunsOk returns a tuple with the MaxActiveRuns field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMaxActiveRuns
+
+`func (o *DAGDetail) SetMaxActiveRuns(v int32)`
+
+SetMaxActiveRuns sets MaxActiveRuns field to given value.
+
+### HasMaxActiveRuns
+
+`func (o *DAGDetail) HasMaxActiveRuns() bool`
+
+HasMaxActiveRuns returns a boolean if a field has been set.
+
+### SetMaxActiveRunsNil
+
+`func (o *DAGDetail) SetMaxActiveRunsNil(b bool)`
+
+ SetMaxActiveRunsNil sets the value for MaxActiveRuns to be an explicit nil
+
+### UnsetMaxActiveRuns
+`func (o *DAGDetail) UnsetMaxActiveRuns()`
+
+UnsetMaxActiveRuns ensures that no value is present for MaxActiveRuns, not even an explicit nil
+### GetHasTaskConcurrencyLimits
+
+`func (o *DAGDetail) GetHasTaskConcurrencyLimits() bool`
+
+GetHasTaskConcurrencyLimits returns the HasTaskConcurrencyLimits field if non-nil, zero value otherwise.
+
+### GetHasTaskConcurrencyLimitsOk
+
+`func (o *DAGDetail) GetHasTaskConcurrencyLimitsOk() (*bool, bool)`
+
+GetHasTaskConcurrencyLimitsOk returns a tuple with the HasTaskConcurrencyLimits field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHasTaskConcurrencyLimits
+
+`func (o *DAGDetail) SetHasTaskConcurrencyLimits(v bool)`
+
+SetHasTaskConcurrencyLimits sets HasTaskConcurrencyLimits field to given value.
+
+### HasHasTaskConcurrencyLimits
+
+`func (o *DAGDetail) HasHasTaskConcurrencyLimits() bool`
+
+HasHasTaskConcurrencyLimits returns a boolean if a field has been set.
+
+### SetHasTaskConcurrencyLimitsNil
+
+`func (o *DAGDetail) SetHasTaskConcurrencyLimitsNil(b bool)`
+
+ SetHasTaskConcurrencyLimitsNil sets the value for HasTaskConcurrencyLimits to be an explicit nil
+
+### UnsetHasTaskConcurrencyLimits
+`func (o *DAGDetail) UnsetHasTaskConcurrencyLimits()`
+
+UnsetHasTaskConcurrencyLimits ensures that no value is present for HasTaskConcurrencyLimits, not even an explicit nil
+### GetHasImportErrors
+
+`func (o *DAGDetail) GetHasImportErrors() bool`
+
+GetHasImportErrors returns the HasImportErrors field if non-nil, zero value otherwise.
+
+### GetHasImportErrorsOk
+
+`func (o *DAGDetail) GetHasImportErrorsOk() (*bool, bool)`
+
+GetHasImportErrorsOk returns a tuple with the HasImportErrors field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHasImportErrors
+
+`func (o *DAGDetail) SetHasImportErrors(v bool)`
+
+SetHasImportErrors sets HasImportErrors field to given value.
+
+### HasHasImportErrors
+
+`func (o *DAGDetail) HasHasImportErrors() bool`
+
+HasHasImportErrors returns a boolean if a field has been set.
+
+### SetHasImportErrorsNil
+
+`func (o *DAGDetail) SetHasImportErrorsNil(b bool)`
+
+ SetHasImportErrorsNil sets the value for HasImportErrors to be an explicit nil
+
+### UnsetHasImportErrors
+`func (o *DAGDetail) UnsetHasImportErrors()`
+
+UnsetHasImportErrors ensures that no value is present for HasImportErrors, not even an explicit nil
+### GetNextDagrun
+
+`func (o *DAGDetail) GetNextDagrun() time.Time`
+
+GetNextDagrun returns the NextDagrun field if non-nil, zero value otherwise.
+
+### GetNextDagrunOk
+
+`func (o *DAGDetail) GetNextDagrunOk() (*time.Time, bool)`
+
+GetNextDagrunOk returns a tuple with the NextDagrun field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrun
+
+`func (o *DAGDetail) SetNextDagrun(v time.Time)`
+
+SetNextDagrun sets NextDagrun field to given value.
+
+### HasNextDagrun
+
+`func (o *DAGDetail) HasNextDagrun() bool`
+
+HasNextDagrun returns a boolean if a field has been set.
+
+### SetNextDagrunNil
+
+`func (o *DAGDetail) SetNextDagrunNil(b bool)`
+
+ SetNextDagrunNil sets the value for NextDagrun to be an explicit nil
+
+### UnsetNextDagrun
+`func (o *DAGDetail) UnsetNextDagrun()`
+
+UnsetNextDagrun ensures that no value is present for NextDagrun, not even an explicit nil
+### GetNextDagrunDataIntervalStart
+
+`func (o *DAGDetail) GetNextDagrunDataIntervalStart() time.Time`
+
+GetNextDagrunDataIntervalStart returns the NextDagrunDataIntervalStart field if non-nil, zero value otherwise.
+
+### GetNextDagrunDataIntervalStartOk
+
+`func (o *DAGDetail) GetNextDagrunDataIntervalStartOk() (*time.Time, bool)`
+
+GetNextDagrunDataIntervalStartOk returns a tuple with the NextDagrunDataIntervalStart field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunDataIntervalStart
+
+`func (o *DAGDetail) SetNextDagrunDataIntervalStart(v time.Time)`
+
+SetNextDagrunDataIntervalStart sets NextDagrunDataIntervalStart field to given value.
+
+### HasNextDagrunDataIntervalStart
+
+`func (o *DAGDetail) HasNextDagrunDataIntervalStart() bool`
+
+HasNextDagrunDataIntervalStart returns a boolean if a field has been set.
+
+### SetNextDagrunDataIntervalStartNil
+
+`func (o *DAGDetail) SetNextDagrunDataIntervalStartNil(b bool)`
+
+ SetNextDagrunDataIntervalStartNil sets the value for NextDagrunDataIntervalStart to be an explicit nil
+
+### UnsetNextDagrunDataIntervalStart
+`func (o *DAGDetail) UnsetNextDagrunDataIntervalStart()`
+
+UnsetNextDagrunDataIntervalStart ensures that no value is present for NextDagrunDataIntervalStart, not even an explicit nil
+### GetNextDagrunDataIntervalEnd
+
+`func (o *DAGDetail) GetNextDagrunDataIntervalEnd() time.Time`
+
+GetNextDagrunDataIntervalEnd returns the NextDagrunDataIntervalEnd field if non-nil, zero value otherwise.
+
+### GetNextDagrunDataIntervalEndOk
+
+`func (o *DAGDetail) GetNextDagrunDataIntervalEndOk() (*time.Time, bool)`
+
+GetNextDagrunDataIntervalEndOk returns a tuple with the NextDagrunDataIntervalEnd field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunDataIntervalEnd
+
+`func (o *DAGDetail) SetNextDagrunDataIntervalEnd(v time.Time)`
+
+SetNextDagrunDataIntervalEnd sets NextDagrunDataIntervalEnd field to given value.
+
+### HasNextDagrunDataIntervalEnd
+
+`func (o *DAGDetail) HasNextDagrunDataIntervalEnd() bool`
+
+HasNextDagrunDataIntervalEnd returns a boolean if a field has been set.
+
+### SetNextDagrunDataIntervalEndNil
+
+`func (o *DAGDetail) SetNextDagrunDataIntervalEndNil(b bool)`
+
+ SetNextDagrunDataIntervalEndNil sets the value for NextDagrunDataIntervalEnd to be an explicit nil
+
+### UnsetNextDagrunDataIntervalEnd
+`func (o *DAGDetail) UnsetNextDagrunDataIntervalEnd()`
+
+UnsetNextDagrunDataIntervalEnd ensures that no value is present for NextDagrunDataIntervalEnd, not even an explicit nil
+### GetNextDagrunCreateAfter
+
+`func (o *DAGDetail) GetNextDagrunCreateAfter() time.Time`
+
+GetNextDagrunCreateAfter returns the NextDagrunCreateAfter field if non-nil, zero value otherwise.
+
+### GetNextDagrunCreateAfterOk
+
+`func (o *DAGDetail) GetNextDagrunCreateAfterOk() (*time.Time, bool)`
+
+GetNextDagrunCreateAfterOk returns a tuple with the NextDagrunCreateAfter field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetNextDagrunCreateAfter
+
+`func (o *DAGDetail) SetNextDagrunCreateAfter(v time.Time)`
+
+SetNextDagrunCreateAfter sets NextDagrunCreateAfter field to given value.
+
+### HasNextDagrunCreateAfter
+
+`func (o *DAGDetail) HasNextDagrunCreateAfter() bool`
+
+HasNextDagrunCreateAfter returns a boolean if a field has been set.
+
+### SetNextDagrunCreateAfterNil
+
+`func (o *DAGDetail) SetNextDagrunCreateAfterNil(b bool)`
+
+ SetNextDagrunCreateAfterNil sets the value for NextDagrunCreateAfter to be an explicit nil
+
+### UnsetNextDagrunCreateAfter
+`func (o *DAGDetail) UnsetNextDagrunCreateAfter()`
+
+UnsetNextDagrunCreateAfter ensures that no value is present for NextDagrunCreateAfter, not even an explicit nil
 ### GetTimezone
 
 `func (o *DAGDetail) GetTimezone() string`
@@ -583,56 +1117,206 @@ HasDocMd returns a boolean if a field has been set.
 `func (o *DAGDetail) UnsetDocMd()`
 
 UnsetDocMd ensures that no value is present for DocMd, not even an explicit nil
-### GetDefaultView
+### GetParams
 
-`func (o *DAGDetail) GetDefaultView() string`
+`func (o *DAGDetail) GetParams() map[string]interface{}`
 
-GetDefaultView returns the DefaultView field if non-nil, zero value otherwise.
+GetParams returns the Params field if non-nil, zero value otherwise.
 
-### GetDefaultViewOk
+### GetParamsOk
 
-`func (o *DAGDetail) GetDefaultViewOk() (*string, bool)`
+`func (o *DAGDetail) GetParamsOk() (*map[string]interface{}, bool)`
 
-GetDefaultViewOk returns a tuple with the DefaultView field if it's non-nil, zero value otherwise
+GetParamsOk returns a tuple with the Params field if it's non-nil, zero value otherwise
 and a boolean to check if the value has been set.
 
-### SetDefaultView
+### SetParams
 
-`func (o *DAGDetail) SetDefaultView(v string)`
+`func (o *DAGDetail) SetParams(v map[string]interface{})`
 
-SetDefaultView sets DefaultView field to given value.
+SetParams sets Params field to given value.
 
-### HasDefaultView
+### HasParams
 
-`func (o *DAGDetail) HasDefaultView() bool`
+`func (o *DAGDetail) HasParams() bool`
 
-HasDefaultView returns a boolean if a field has been set.
+HasParams returns a boolean if a field has been set.
 
-### GetParams
+### GetEndDate
 
-`func (o *DAGDetail) GetParams() map[string]interface{}`
+`func (o *DAGDetail) GetEndDate() time.Time`
 
-GetParams returns the Params field if non-nil, zero value otherwise.
+GetEndDate returns the EndDate field if non-nil, zero value otherwise.
 
-### GetParamsOk
+### GetEndDateOk
 
-`func (o *DAGDetail) GetParamsOk() (*map[string]interface{}, bool)`
+`func (o *DAGDetail) GetEndDateOk() (*time.Time, bool)`
 
-GetParamsOk returns a tuple with the Params field if it's non-nil, zero value otherwise
+GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
 and a boolean to check if the value has been set.
 
-### SetParams
+### SetEndDate
 
-`func (o *DAGDetail) SetParams(v map[string]interface{})`
+`func (o *DAGDetail) SetEndDate(v time.Time)`
 
-SetParams sets Params field to given value.
+SetEndDate sets EndDate field to given value.
 
-### HasParams
+### HasEndDate
 
-`func (o *DAGDetail) HasParams() bool`
+`func (o *DAGDetail) HasEndDate() bool`
 
-HasParams returns a boolean if a field has been set.
+HasEndDate returns a boolean if a field has been set.
+
+### SetEndDateNil
+
+`func (o *DAGDetail) SetEndDateNil(b bool)`
+
+ SetEndDateNil sets the value for EndDate to be an explicit nil
+
+### UnsetEndDate
+`func (o *DAGDetail) UnsetEndDate()`
+
+UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+### GetIsPausedUponCreation
+
+`func (o *DAGDetail) GetIsPausedUponCreation() bool`
+
+GetIsPausedUponCreation returns the IsPausedUponCreation field if non-nil, zero value otherwise.
+
+### GetIsPausedUponCreationOk
+
+`func (o *DAGDetail) GetIsPausedUponCreationOk() (*bool, bool)`
+
+GetIsPausedUponCreationOk returns a tuple with the IsPausedUponCreation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsPausedUponCreation
+
+`func (o *DAGDetail) SetIsPausedUponCreation(v bool)`
+
+SetIsPausedUponCreation sets IsPausedUponCreation field to given value.
+
+### HasIsPausedUponCreation
+
+`func (o *DAGDetail) HasIsPausedUponCreation() bool`
+
+HasIsPausedUponCreation returns a boolean if a field has been set.
+
+### SetIsPausedUponCreationNil
+
+`func (o *DAGDetail) SetIsPausedUponCreationNil(b bool)`
+
+ SetIsPausedUponCreationNil sets the value for IsPausedUponCreation to be an explicit nil
+
+### UnsetIsPausedUponCreation
+`func (o *DAGDetail) UnsetIsPausedUponCreation()`
+
+UnsetIsPausedUponCreation ensures that no value is present for IsPausedUponCreation, not even an explicit nil
+### GetLastParsed
+
+`func (o *DAGDetail) GetLastParsed() time.Time`
+
+GetLastParsed returns the LastParsed field if non-nil, zero value otherwise.
+
+### GetLastParsedOk
+
+`func (o *DAGDetail) GetLastParsedOk() (*time.Time, bool)`
+
+GetLastParsedOk returns a tuple with the LastParsed field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastParsed
+
+`func (o *DAGDetail) SetLastParsed(v time.Time)`
+
+SetLastParsed sets LastParsed field to given value.
+
+### HasLastParsed
+
+`func (o *DAGDetail) HasLastParsed() bool`
+
+HasLastParsed returns a boolean if a field has been set.
+
+### SetLastParsedNil
+
+`func (o *DAGDetail) SetLastParsedNil(b bool)`
+
+ SetLastParsedNil sets the value for LastParsed to be an explicit nil
+
+### UnsetLastParsed
+`func (o *DAGDetail) UnsetLastParsed()`
+
+UnsetLastParsed ensures that no value is present for LastParsed, not even an explicit nil
+### GetTemplateSearchPath
+
+`func (o *DAGDetail) GetTemplateSearchPath() []string`
+
+GetTemplateSearchPath returns the TemplateSearchPath field if non-nil, zero value otherwise.
+
+### GetTemplateSearchPathOk
+
+`func (o *DAGDetail) GetTemplateSearchPathOk() (*[]string, bool)`
+
+GetTemplateSearchPathOk returns a tuple with the TemplateSearchPath field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTemplateSearchPath
+
+`func (o *DAGDetail) SetTemplateSearchPath(v []string)`
+
+SetTemplateSearchPath sets TemplateSearchPath field to given value.
+
+### HasTemplateSearchPath
+
+`func (o *DAGDetail) HasTemplateSearchPath() bool`
+
+HasTemplateSearchPath returns a boolean if a field has been set.
+
+### SetTemplateSearchPathNil
+
+`func (o *DAGDetail) SetTemplateSearchPathNil(b bool)`
+
+ SetTemplateSearchPathNil sets the value for TemplateSearchPath to be an explicit nil
+
+### UnsetTemplateSearchPath
+`func (o *DAGDetail) UnsetTemplateSearchPath()`
+
+UnsetTemplateSearchPath ensures that no value is present for TemplateSearchPath, not even an explicit nil
+### GetRenderTemplateAsNativeObj
+
+`func (o *DAGDetail) GetRenderTemplateAsNativeObj() bool`
+
+GetRenderTemplateAsNativeObj returns the RenderTemplateAsNativeObj field if non-nil, zero value otherwise.
+
+### GetRenderTemplateAsNativeObjOk
+
+`func (o *DAGDetail) GetRenderTemplateAsNativeObjOk() (*bool, bool)`
+
+GetRenderTemplateAsNativeObjOk returns a tuple with the RenderTemplateAsNativeObj field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRenderTemplateAsNativeObj
+
+`func (o *DAGDetail) SetRenderTemplateAsNativeObj(v bool)`
+
+SetRenderTemplateAsNativeObj sets RenderTemplateAsNativeObj field to given value.
+
+### HasRenderTemplateAsNativeObj
+
+`func (o *DAGDetail) HasRenderTemplateAsNativeObj() bool`
+
+HasRenderTemplateAsNativeObj returns a boolean if a field has been set.
+
+### SetRenderTemplateAsNativeObjNil
+
+`func (o *DAGDetail) SetRenderTemplateAsNativeObjNil(b bool)`
+
+ SetRenderTemplateAsNativeObjNil sets the value for RenderTemplateAsNativeObj to be an explicit nil
+
+### UnsetRenderTemplateAsNativeObj
+`func (o *DAGDetail) UnsetRenderTemplateAsNativeObj()`
 
+UnsetRenderTemplateAsNativeObj ensures that no value is present for RenderTemplateAsNativeObj, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
index 234399b4e1d6a69dcb3a4c7d3e6b8a1af92b2675..5e13b9a5d1c48374bf266e5d7922a6da007b3162 100644 (file)
@@ -32,6 +32,11 @@ Name | Type | Description | Notes
 **DocMd** | Pointer to **NullableString** |  | [optional] [readonly] 
 **DefaultView** | Pointer to **string** |  | [optional] [readonly] 
 **Params** | Pointer to **map[string]interface{}** | User-specified DAG params.  *New in version 2.0.1*  | [optional] [readonly] 
+**EndDate** | Pointer to **NullableTime** | The DAG&#39;s end date.  *New in version 2.3.0*.  | [optional] [readonly] 
+**IsPausedUponCreation** | Pointer to **NullableBool** | Whether the DAG is paused upon creation.  *New in version 2.3.0*  | [optional] [readonly] 
+**LastParsed** | Pointer to **NullableTime** | The last time the DAG was parsed.  *New in version 2.3.0*  | [optional] [readonly] 
+**TemplateSearchPath** | Pointer to **[]string** | The template search path.  *New in version 2.3.0*  | [optional] 
+**RenderTemplateAsNativeObj** | Pointer to **NullableBool** | Whether to render templates as native Python objects.  *New in version 2.3.0*  | [optional] [readonly] 
 
 ## Methods
 
@@ -297,6 +302,181 @@ SetParams sets Params field to given value.
 
 HasParams returns a boolean if a field has been set.
 
+### GetEndDate
+
+`func (o *DAGDetailAllOf) GetEndDate() time.Time`
+
+GetEndDate returns the EndDate field if non-nil, zero value otherwise.
+
+### GetEndDateOk
+
+`func (o *DAGDetailAllOf) GetEndDateOk() (*time.Time, bool)`
+
+GetEndDateOk returns a tuple with the EndDate field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEndDate
+
+`func (o *DAGDetailAllOf) SetEndDate(v time.Time)`
+
+SetEndDate sets EndDate field to given value.
+
+### HasEndDate
+
+`func (o *DAGDetailAllOf) HasEndDate() bool`
+
+HasEndDate returns a boolean if a field has been set.
+
+### SetEndDateNil
+
+`func (o *DAGDetailAllOf) SetEndDateNil(b bool)`
+
+ SetEndDateNil sets the value for EndDate to be an explicit nil
+
+### UnsetEndDate
+`func (o *DAGDetailAllOf) UnsetEndDate()`
+
+UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+### GetIsPausedUponCreation
+
+`func (o *DAGDetailAllOf) GetIsPausedUponCreation() bool`
+
+GetIsPausedUponCreation returns the IsPausedUponCreation field if non-nil, zero value otherwise.
+
+### GetIsPausedUponCreationOk
+
+`func (o *DAGDetailAllOf) GetIsPausedUponCreationOk() (*bool, bool)`
+
+GetIsPausedUponCreationOk returns a tuple with the IsPausedUponCreation field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsPausedUponCreation
+
+`func (o *DAGDetailAllOf) SetIsPausedUponCreation(v bool)`
+
+SetIsPausedUponCreation sets IsPausedUponCreation field to given value.
+
+### HasIsPausedUponCreation
+
+`func (o *DAGDetailAllOf) HasIsPausedUponCreation() bool`
+
+HasIsPausedUponCreation returns a boolean if a field has been set.
+
+### SetIsPausedUponCreationNil
+
+`func (o *DAGDetailAllOf) SetIsPausedUponCreationNil(b bool)`
+
+ SetIsPausedUponCreationNil sets the value for IsPausedUponCreation to be an explicit nil
+
+### UnsetIsPausedUponCreation
+`func (o *DAGDetailAllOf) UnsetIsPausedUponCreation()`
+
+UnsetIsPausedUponCreation ensures that no value is present for IsPausedUponCreation, not even an explicit nil
+### GetLastParsed
+
+`func (o *DAGDetailAllOf) GetLastParsed() time.Time`
+
+GetLastParsed returns the LastParsed field if non-nil, zero value otherwise.
+
+### GetLastParsedOk
+
+`func (o *DAGDetailAllOf) GetLastParsedOk() (*time.Time, bool)`
+
+GetLastParsedOk returns a tuple with the LastParsed field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastParsed
+
+`func (o *DAGDetailAllOf) SetLastParsed(v time.Time)`
+
+SetLastParsed sets LastParsed field to given value.
+
+### HasLastParsed
+
+`func (o *DAGDetailAllOf) HasLastParsed() bool`
+
+HasLastParsed returns a boolean if a field has been set.
+
+### SetLastParsedNil
+
+`func (o *DAGDetailAllOf) SetLastParsedNil(b bool)`
+
+ SetLastParsedNil sets the value for LastParsed to be an explicit nil
+
+### UnsetLastParsed
+`func (o *DAGDetailAllOf) UnsetLastParsed()`
+
+UnsetLastParsed ensures that no value is present for LastParsed, not even an explicit nil
+### GetTemplateSearchPath
+
+`func (o *DAGDetailAllOf) GetTemplateSearchPath() []string`
+
+GetTemplateSearchPath returns the TemplateSearchPath field if non-nil, zero value otherwise.
+
+### GetTemplateSearchPathOk
+
+`func (o *DAGDetailAllOf) GetTemplateSearchPathOk() (*[]string, bool)`
+
+GetTemplateSearchPathOk returns a tuple with the TemplateSearchPath field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTemplateSearchPath
+
+`func (o *DAGDetailAllOf) SetTemplateSearchPath(v []string)`
+
+SetTemplateSearchPath sets TemplateSearchPath field to given value.
+
+### HasTemplateSearchPath
+
+`func (o *DAGDetailAllOf) HasTemplateSearchPath() bool`
+
+HasTemplateSearchPath returns a boolean if a field has been set.
+
+### SetTemplateSearchPathNil
+
+`func (o *DAGDetailAllOf) SetTemplateSearchPathNil(b bool)`
+
+ SetTemplateSearchPathNil sets the value for TemplateSearchPath to be an explicit nil
+
+### UnsetTemplateSearchPath
+`func (o *DAGDetailAllOf) UnsetTemplateSearchPath()`
+
+UnsetTemplateSearchPath ensures that no value is present for TemplateSearchPath, not even an explicit nil
+### GetRenderTemplateAsNativeObj
+
+`func (o *DAGDetailAllOf) GetRenderTemplateAsNativeObj() bool`
+
+GetRenderTemplateAsNativeObj returns the RenderTemplateAsNativeObj field if non-nil, zero value otherwise.
+
+### GetRenderTemplateAsNativeObjOk
+
+`func (o *DAGDetailAllOf) GetRenderTemplateAsNativeObjOk() (*bool, bool)`
+
+GetRenderTemplateAsNativeObjOk returns a tuple with the RenderTemplateAsNativeObj field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRenderTemplateAsNativeObj
+
+`func (o *DAGDetailAllOf) SetRenderTemplateAsNativeObj(v bool)`
+
+SetRenderTemplateAsNativeObj sets RenderTemplateAsNativeObj field to given value.
+
+### HasRenderTemplateAsNativeObj
+
+`func (o *DAGDetailAllOf) HasRenderTemplateAsNativeObj() bool`
+
+HasRenderTemplateAsNativeObj returns a boolean if a field has been set.
+
+### SetRenderTemplateAsNativeObjNil
+
+`func (o *DAGDetailAllOf) SetRenderTemplateAsNativeObjNil(b bool)`
+
+ SetRenderTemplateAsNativeObjNil sets the value for RenderTemplateAsNativeObj to be an explicit nil
+
+### UnsetRenderTemplateAsNativeObj
+`func (o *DAGDetailAllOf) UnsetRenderTemplateAsNativeObj()`
+
+UnsetRenderTemplateAsNativeObj ensures that no value is present for RenderTemplateAsNativeObj, not even an explicit nil
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
index 0aa41f28e342c35d5c412c549ce888b82146ca61..70a8e892a2d874a70d0523c37c4050eabd154dc5 100644 (file)
@@ -29,6 +29,10 @@ Name | Type | Description | Notes
 **ExecutionDate** | Pointer to **NullableTime** | The execution date. This is the same as logical_date, kept for backwards compatibility. If both this field and logical_date are provided but with different values, the request will fail with an BAD_REQUEST error.  *Changed in version 2.2.0*&amp;#58; Field becomes nullable.  *Deprecated since version 2.2.0*&amp;#58; Use &#39;logical_date&#39; instead.  | [optional] 
 **StartDate** | Pointer to **NullableTime** | The start time. The time when DAG run was actually created.  *Changed in version 2.1.3*&amp;#58; Field becomes nullable.  | [optional] [readonly] 
 **EndDate** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**DataIntervalStart** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**DataIntervalEnd** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**LastSchedulingDecision** | Pointer to **NullableTime** |  | [optional] [readonly] 
+**RunType** | Pointer to **string** |  | [optional] [readonly] 
 **State** | Pointer to [**DagState**](DagState.md) |  | [optional] 
 **ExternalTrigger** | Pointer to **bool** |  | [optional] [readonly] [default to true]
 **Conf** | Pointer to **map[string]interface{}** | JSON object describing additional configuration parameters.  The value of this field can be set only when creating the object. If you try to modify the field of an existing object, the request fails with an BAD_REQUEST error.  | [optional] 
@@ -252,6 +256,136 @@ HasEndDate returns a boolean if a field has been set.
 `func (o *DAGRun) UnsetEndDate()`
 
 UnsetEndDate ensures that no value is present for EndDate, not even an explicit nil
+### GetDataIntervalStart
+
+`func (o *DAGRun) GetDataIntervalStart() time.Time`
+
+GetDataIntervalStart returns the DataIntervalStart field if non-nil, zero value otherwise.
+
+### GetDataIntervalStartOk
+
+`func (o *DAGRun) GetDataIntervalStartOk() (*time.Time, bool)`
+
+GetDataIntervalStartOk returns a tuple with the DataIntervalStart field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDataIntervalStart
+
+`func (o *DAGRun) SetDataIntervalStart(v time.Time)`
+
+SetDataIntervalStart sets DataIntervalStart field to given value.
+
+### HasDataIntervalStart
+
+`func (o *DAGRun) HasDataIntervalStart() bool`
+
+HasDataIntervalStart returns a boolean if a field has been set.
+
+### SetDataIntervalStartNil
+
+`func (o *DAGRun) SetDataIntervalStartNil(b bool)`
+
+ SetDataIntervalStartNil sets the value for DataIntervalStart to be an explicit nil
+
+### UnsetDataIntervalStart
+`func (o *DAGRun) UnsetDataIntervalStart()`
+
+UnsetDataIntervalStart ensures that no value is present for DataIntervalStart, not even an explicit nil
+### GetDataIntervalEnd
+
+`func (o *DAGRun) GetDataIntervalEnd() time.Time`
+
+GetDataIntervalEnd returns the DataIntervalEnd field if non-nil, zero value otherwise.
+
+### GetDataIntervalEndOk
+
+`func (o *DAGRun) GetDataIntervalEndOk() (*time.Time, bool)`
+
+GetDataIntervalEndOk returns a tuple with the DataIntervalEnd field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDataIntervalEnd
+
+`func (o *DAGRun) SetDataIntervalEnd(v time.Time)`
+
+SetDataIntervalEnd sets DataIntervalEnd field to given value.
+
+### HasDataIntervalEnd
+
+`func (o *DAGRun) HasDataIntervalEnd() bool`
+
+HasDataIntervalEnd returns a boolean if a field has been set.
+
+### SetDataIntervalEndNil
+
+`func (o *DAGRun) SetDataIntervalEndNil(b bool)`
+
+ SetDataIntervalEndNil sets the value for DataIntervalEnd to be an explicit nil
+
+### UnsetDataIntervalEnd
+`func (o *DAGRun) UnsetDataIntervalEnd()`
+
+UnsetDataIntervalEnd ensures that no value is present for DataIntervalEnd, not even an explicit nil
+### GetLastSchedulingDecision
+
+`func (o *DAGRun) GetLastSchedulingDecision() time.Time`
+
+GetLastSchedulingDecision returns the LastSchedulingDecision field if non-nil, zero value otherwise.
+
+### GetLastSchedulingDecisionOk
+
+`func (o *DAGRun) GetLastSchedulingDecisionOk() (*time.Time, bool)`
+
+GetLastSchedulingDecisionOk returns a tuple with the LastSchedulingDecision field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastSchedulingDecision
+
+`func (o *DAGRun) SetLastSchedulingDecision(v time.Time)`
+
+SetLastSchedulingDecision sets LastSchedulingDecision field to given value.
+
+### HasLastSchedulingDecision
+
+`func (o *DAGRun) HasLastSchedulingDecision() bool`
+
+HasLastSchedulingDecision returns a boolean if a field has been set.
+
+### SetLastSchedulingDecisionNil
+
+`func (o *DAGRun) SetLastSchedulingDecisionNil(b bool)`
+
+ SetLastSchedulingDecisionNil sets the value for LastSchedulingDecision to be an explicit nil
+
+### UnsetLastSchedulingDecision
+`func (o *DAGRun) UnsetLastSchedulingDecision()`
+
+UnsetLastSchedulingDecision ensures that no value is present for LastSchedulingDecision, not even an explicit nil
+### GetRunType
+
+`func (o *DAGRun) GetRunType() string`
+
+GetRunType returns the RunType field if non-nil, zero value otherwise.
+
+### GetRunTypeOk
+
+`func (o *DAGRun) GetRunTypeOk() (*string, bool)`
+
+GetRunTypeOk returns a tuple with the RunType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRunType
+
+`func (o *DAGRun) SetRunType(v string)`
+
+SetRunType sets RunType field to given value.
+
+### HasRunType
+
+`func (o *DAGRun) HasRunType() bool`
+
+HasRunType returns a boolean if a field has been set.
+
 ### GetState
 
 `func (o *DAGRun) GetState() DagState`
index 2bc085670592f66ac10d97d5fb7bcf8c0ab12105..e5e57c05e9a0cb6997e6f35f908b3301c7ab11de 100644 (file)
@@ -31,6 +31,7 @@ Name | Type | Description | Notes
 **TriggerRule** | Pointer to [**TriggerRule**](TriggerRule.md) |  | [optional] 
 **ExtraLinks** | Pointer to [**[]TaskExtraLinks**](TaskExtraLinks.md) |  | [optional] [readonly] 
 **DependsOnPast** | Pointer to **bool** |  | [optional] [readonly] 
+**IsMapped** | Pointer to **bool** |  | [optional] [readonly] 
 **WaitForDownstream** | Pointer to **bool** |  | [optional] [readonly] 
 **Retries** | Pointer to **float32** |  | [optional] [readonly] 
 **Queue** | Pointer to **string** |  | [optional] [readonly] 
@@ -276,6 +277,31 @@ SetDependsOnPast sets DependsOnPast field to given value.
 
 HasDependsOnPast returns a boolean if a field has been set.
 
+### GetIsMapped
+
+`func (o *Task) GetIsMapped() bool`
+
+GetIsMapped returns the IsMapped field if non-nil, zero value otherwise.
+
+### GetIsMappedOk
+
+`func (o *Task) GetIsMappedOk() (*bool, bool)`
+
+GetIsMappedOk returns a tuple with the IsMapped field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsMapped
+
+`func (o *Task) SetIsMapped(v bool)`
+
+SetIsMapped sets IsMapped field to given value.
+
+### HasIsMapped
+
+`func (o *Task) HasIsMapped() bool`
+
+HasIsMapped returns a boolean if a field has been set.
+
 ### GetWaitForDownstream
 
 `func (o *Task) GetWaitForDownstream() bool`
index 04e243fe554f7fc4cacde1d3d6d6844e3630e9e3..c3d41afec54d37df085506ef4bbef5412d7284fb 100644 (file)
@@ -44,6 +44,7 @@ Name | Type | Description | Notes
 **Pid** | Pointer to **NullableInt32** |  | [optional] 
 **ExecutorConfig** | Pointer to **string** |  | [optional] 
 **SlaMiss** | Pointer to [**SLAMiss**](SLAMiss.md) |  | [optional] 
+**RenderedFields** | Pointer to **map[string]interface{}** | JSON object describing rendered fields.  *New in version 2.3.0*  | [optional] 
 
 ## Methods
 
@@ -649,6 +650,31 @@ SetSlaMiss sets SlaMiss field to given value.
 
 HasSlaMiss returns a boolean if a field has been set.
 
+### GetRenderedFields
+
+`func (o *TaskInstance) GetRenderedFields() map[string]interface{}`
+
+GetRenderedFields returns the RenderedFields field if non-nil, zero value otherwise.
+
+### GetRenderedFieldsOk
+
+`func (o *TaskInstance) GetRenderedFieldsOk() (*map[string]interface{}, bool)`
+
+GetRenderedFieldsOk returns a tuple with the RenderedFields field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRenderedFields
+
+`func (o *TaskInstance) SetRenderedFields(v map[string]interface{})`
+
+SetRenderedFields sets RenderedFields field to given value.
+
+### HasRenderedFields
+
+`func (o *TaskInstance) HasRenderedFields() bool`
+
+HasRenderedFields returns a boolean if a field has been set.
+
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
index 6476d9b3467afa98653e03517a9db7f2541a25be..9e4214b996846c95758d9a6e849f89cfd47434ce 100644 (file)
@@ -25,6 +25,8 @@ Method | HTTP request | Description
 ------------- | ------------- | -------------
 [**GetExtraLinks**](TaskInstanceApi.md#GetExtraLinks) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links | List extra links
 [**GetLog**](TaskInstanceApi.md#GetLog) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number} | Get logs
+[**GetMappedTaskInstance**](TaskInstanceApi.md#GetMappedTaskInstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Get a mapped task instance
+[**GetMappedTaskInstances**](TaskInstanceApi.md#GetMappedTaskInstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped | List mapped task instances
 [**GetTaskInstance**](TaskInstanceApi.md#GetTaskInstance) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id} | Get a task instance
 [**GetTaskInstances**](TaskInstanceApi.md#GetTaskInstances) | **Get** /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances | List task instances
 [**GetTaskInstancesBatch**](TaskInstanceApi.md#GetTaskInstancesBatch) | **Post** /dags/~/dagRuns/~/taskInstances/list | List task instances (batch)
@@ -190,6 +192,190 @@ No authorization required
 [[Back to README]](../README.md)
 
 
+## GetMappedTaskInstance
+
+> TaskInstance GetMappedTaskInstance(ctx, dagId, dagRunId, taskId, mapIndex).Execute()
+
+Get a mapped task instance
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"
+    openapiclient "./openapi"
+)
+
+func main() {
+    dagId := "dagId_example" // string | The DAG ID.
+    dagRunId := "dagRunId_example" // string | The DAG run ID.
+    taskId := "taskId_example" // string | The task ID.
+    mapIndex := int32(56) // int32 | The map index.
+
+    configuration := openapiclient.NewConfiguration()
+    api_client := openapiclient.NewAPIClient(configuration)
+    resp, r, err := api_client.TaskInstanceApi.GetMappedTaskInstance(context.Background(), dagId, dagRunId, taskId, mapIndex).Execute()
+    if err != nil {
+        fmt.Fprintf(os.Stderr, "Error when calling `TaskInstanceApi.GetMappedTaskInstance``: %v\n", err)
+        fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+    }
+    // response from `GetMappedTaskInstance`: TaskInstance
+    fmt.Fprintf(os.Stdout, "Response from `TaskInstanceApi.GetMappedTaskInstance`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**dagId** | **string** | The DAG ID. | 
+**dagRunId** | **string** | The DAG run ID. | 
+**taskId** | **string** | The task ID. | 
+**mapIndex** | **int32** | The map index. | 
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetMappedTaskInstanceRequest struct via the builder pattern
+
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+
+
+### Return type
+
+[**TaskInstance**](TaskInstance.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetMappedTaskInstances
+
+> TaskInstance GetMappedTaskInstances(ctx, dagId, dagRunId, taskId).Limit(limit).Offset(offset).ExecutionDateGte(executionDateGte).ExecutionDateLte(executionDateLte).StartDateGte(startDateGte).StartDateLte(startDateLte).EndDateGte(endDateGte).EndDateLte(endDateLte).DurationGte(durationGte).DurationLte(durationLte).State(state).Pool(pool).Queue(queue).OrderBy(orderBy).Execute()
+
+List mapped task instances
+
+
+
+### Example
+
+```go
+package main
+
+import (
+    "context"
+    "fmt"
+    "os"