Procházet zdrojové kódy

docs: Sync api-refs with current API implementation

The API reference docs had drifted from the actual endpoint / schema / model
code over time: several fields returned or accepted by the API were undocumented,
some documented fields / params no longer exist, and a few path / action names
and responses were incorrect.

Corrects region, service, provider, diagnostics, endpoint, transfer, deployment,
and minion_pool docs, their shared parameters.yaml, and the JSON samples to
match the current coriolis/api/v1/ implementation.
Claudiu Belu před 4 týdny
rodič
revize
1f4079eac8
22 změnil soubory, kde provedl 301 přidání a 84 odebrání
  1. 5 1
      coriolis/api-refs/api_samples/deployment/openstack-deployment-from-transfer-resp.json
  2. 6 2
      coriolis/api-refs/api_samples/deployment/openstack-deployment-get-resp.json
  3. 11 3
      coriolis/api-refs/api_samples/deployment/openstack-deployment-list-detail-resp.json
  4. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-allocate-resp.json
  5. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-create-resp.json
  6. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-deallocate-resp.json
  7. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-refresh-resp.json
  8. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-show.json
  9. 0 2
      coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-update-resp.json
  10. 2 1
      coriolis/api-refs/api_samples/transfer/transfer-execution-req.json
  11. 2 1
      coriolis/api-refs/api_samples/transfer/transfer-schedule-create-req.json
  12. 1 0
      coriolis/api-refs/api_samples/transfer/transfer-schedule-create-resp.json
  13. 3 0
      coriolis/api-refs/api_samples/transfer/transfer-schedule-list-resp.json
  14. 1 0
      coriolis/api-refs/api_samples/transfer/transfer-schedule-show-resp.json
  15. 2 1
      coriolis/api-refs/api_samples/transfer/transfer-schedule-update-req.json
  16. 1 0
      coriolis/api-refs/api_samples/transfer/transfer-schedule-update-resp.json
  17. 41 11
      coriolis/api-refs/source/deployment.inc
  18. 24 8
      coriolis/api-refs/source/endpoint.inc
  19. 1 15
      coriolis/api-refs/source/minion_pool.inc
  20. 151 19
      coriolis/api-refs/source/parameters.yaml
  21. 3 3
      coriolis/api-refs/source/provider.inc
  22. 47 7
      coriolis/api-refs/source/transfer.inc

+ 5 - 1
coriolis/api-refs/api_samples/deployment/openstack-deployment-from-transfer-resp.json

@@ -43,8 +43,12 @@
       "instance1": "morphing_pool"
     },
     "user_scripts": {},
+    "clone_disks": true,
+    "skip_os_morphing": false,
+    "clustered": false,
+    "deployer_id": null,
+    "trust_id": null,
     "transfer_scenario_type": "replica",
-    "shutdown_instances": false,
     "tasks": [
       {
         "created_at": "2019-07-11T13:01:03.000000",

+ 6 - 2
coriolis/api-refs/api_samples/deployment/openstack-deployment-get-resp.json

@@ -100,7 +100,6 @@
     "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
     "instance_osmorphing_minion_pool_mappings": {},
     "transfer_scenario_type": "replica",
-    "shutdown_instances": false,
     "tasks": [
       {
         "created_at": "2019-07-10T07:24:09.000000",
@@ -562,6 +561,11 @@
         ],
         "events": []
       }
-    ]
+    ],
+    "clone_disks": true,
+    "skip_os_morphing": false,
+    "clustered": false,
+    "deployer_id": null,
+    "trust_id": null
   }
 }

+ 11 - 3
coriolis/api-refs/api_samples/deployment/openstack-deployment-list-detail-resp.json

@@ -75,8 +75,12 @@
         "global": {},
         "instances": {}
       },
-      "transfer_scenario_type": "replica",
-      "shutdown_instances": false
+      "clone_disks": true,
+      "skip_os_morphing": false,
+      "clustered": false,
+      "deployer_id": null,
+      "trust_id": null,
+      "transfer_scenario_type": "replica"
     },
     {
       "created_at": "2019-08-22T08:29:33.000000",
@@ -90,7 +94,6 @@
       "origin_minion_pool_id": null,
       "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
       "instance_osmorphing_minion_pool_mappings": {},
-      "shutdown_instances": false,
       "destination_environment": {
         "network_map": {
           "VM Network": "0e83bf34-9cc7-4580-9189-a9d9c3c7abb8"
@@ -184,6 +187,11 @@
         "global": {},
         "instances": {}
       },
+      "clone_disks": true,
+      "skip_os_morphing": false,
+      "clustered": false,
+      "deployer_id": null,
+      "trust_id": null,
       "id": "9566af98-2c89-4969-ad73-a416e8a8a5ce",
       "transfer_id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
       "transfer_scenario_type": "replica"

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-allocate-resp.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "540a29df-94e4-4a65-bf3b-40ea18929c40",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "525a0b79388c43f38d23770a57038780",
         "name": "source_pool",
         "notes": "",

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-create-resp.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "540a29df-94e4-4a65-bf3b-40ea18929c40",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "525a0b79388c43f38d23770a57038780",
         "name": "source_pool",
         "notes": "",

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-deallocate-resp.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "540a29df-94e4-4a65-bf3b-40ea18929c40",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "525a0b79388c43f38d23770a57038780",
         "name": "source_pool",
         "notes": "",

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-refresh-resp.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "540a29df-94e4-4a65-bf3b-40ea18929c40",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "525a0b79388c43f38d23770a57038780",
         "name": "source_pool",
         "notes": "",

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-show.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "540a29df-94e4-4a65-bf3b-40ea18929c40",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "525a0b79388c43f38d23770a57038780",
         "name": "source_pool",
         "notes": "",

+ 0 - 2
coriolis/api-refs/api_samples/minion_pool/openstack-minion-pool-update-resp.json

@@ -5,8 +5,6 @@
         "deleted_at": null,
         "deleted": "0",
         "id": "be74a17c-5476-4cf8-93f7-dd58c700de70",
-        "user_id": "bdb2d792fc0c48818ef4b1b1240fbb69",
-        "project_id": "f801306887294bf0b98ffc05601f22db",
         "maintenance_trust_id": "71718e42267f44c5988beac7260159db",
         "name": "dest_pool_linux",
         "notes": "Converted from Windows Minion Pool",

+ 2 - 1
coriolis/api-refs/api_samples/transfer/transfer-execution-req.json

@@ -1,5 +1,6 @@
 {
   "execution": {
-    "shutdown_instances": false
+    "shutdown_instances": false,
+    "auto_deploy": false
   }
 }

+ 2 - 1
coriolis/api-refs/api_samples/transfer/transfer-schedule-create-req.json

@@ -6,5 +6,6 @@
     "hour": 20,
     "minute": 30,
     "dom": 23
-  }
+  },
+  "auto_deploy": false
 }

+ 1 - 0
coriolis/api-refs/api_samples/transfer/transfer-schedule-create-resp.json

@@ -15,6 +15,7 @@
     "expiration_date": null,
     "enabled": true,
     "shutdown_instance": false,
+    "auto_deploy": false,
     "trust_id": "cfebd7de4dbf48369b6345dba7610e6d"
   }
 }

+ 3 - 0
coriolis/api-refs/api_samples/transfer/transfer-schedule-list-resp.json

@@ -14,6 +14,7 @@
       "expiration_date": null,
       "enabled": true,
       "shutdown_instance": false,
+      "auto_deploy": false,
       "trust_id": "16120b7803864466bc445d8d43af1980"
     },
     {
@@ -30,6 +31,7 @@
       "expiration_date": null,
       "enabled": true,
       "shutdown_instance": false,
+      "auto_deploy": false,
       "trust_id": "e11a61a320ca4e15bae39beda9c4a2ad"
     },
     {
@@ -48,6 +50,7 @@
       "expiration_date": null,
       "enabled": true,
       "shutdown_instance": false,
+      "auto_deploy": false,
       "trust_id": "cfebd7de4dbf48369b6345dba7610e6d"
     }
   ]

+ 1 - 0
coriolis/api-refs/api_samples/transfer/transfer-schedule-show-resp.json

@@ -15,6 +15,7 @@
     "expiration_date": null,
     "enabled": true,
     "shutdown_instance": false,
+    "auto_deploy": false,
     "trust_id": "cfebd7de4dbf48369b6345dba7610e6d"
   }
 }

+ 2 - 1
coriolis/api-refs/api_samples/transfer/transfer-schedule-update-req.json

@@ -4,5 +4,6 @@
     "dow": 0,
     "minute": 30,
     "hour": 20
-  }
+  },
+  "auto_deploy": false
 }

+ 1 - 0
coriolis/api-refs/api_samples/transfer/transfer-schedule-update-resp.json

@@ -14,6 +14,7 @@
     "expiration_date": null,
     "enabled": true,
     "shutdown_instance": true,
+    "auto_deploy": false,
     "trust_id": "16120b7803864466bc445d8d43af1980"
   }
 }

+ 41 - 11
coriolis/api-refs/source/deployment.inc

@@ -19,6 +19,19 @@ Normal response codes: 200
 Error response codes:   unauthorized(401),
 forbidden(403)
 
+Request
+-------
+
+.. rest_parameters:: parameters.yaml
+
+  - show_deleted : show_deleted
+  - include_task_info : include_task_info
+  - status : transfer_status_filter
+  - marker : paging_marker
+  - limit : paging_limit
+  - sort_key : sort_key
+  - sort_dir : sort_dir
+
 Response
 --------
 
@@ -26,8 +39,6 @@ Response
 
   - deployments : deployments_array
   - id : deployment_id
-  - include_task_info : include_task_info
-  - show_deleted : show_deleted
   - deleted : deployment_deleted
   - deleted_at : deployment_deleted_at
   - instances : deployment_instances
@@ -50,9 +61,14 @@ Response
   - destination_minion_pool_id : destination_minion_pool_id
   - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
   - user_scripts : user_scripts
-  - transfer_id : transfer_id
   - transfer_scenario_type : transfer_scenario_type
-  - shutdown_instances : deployment_shutdown_instances
+  - clone_disks : deployment_clone_disks
+  - skip_os_morphing : skip_os_morphing
+  - clustered : deployment_clustered
+  - reservation_id : deployment_reservation_id
+  - transfer_result : deployment_transfer_result
+  - deployer_id : deployment_deployer_id
+  - trust_id : deployment_trust_id
 
 **Example of a Deployment List**
 
@@ -82,6 +98,7 @@ Request
 .. rest_parameters:: parameters.yaml
 
   - deployment_id : deployment_id_path
+  - include_task_info : include_task_info
 
 Response
 --------
@@ -90,7 +107,6 @@ Response
 
   - deployment : deployment_object
   - id : deployment_id
-  - include_task_info : include_task_info
   - deleted : deployment_deleted
   - deleted_at : deployment_deleted_at
   - instances : deployment_instances
@@ -114,9 +130,15 @@ Response
   - destination_minion_pool_id : destination_minion_pool_id
   - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
   - user_scripts : user_scripts
-  - transfer_id : transfer_id
   - transfer_scenario_type : transfer_scenario_type
-  - shutdown_instances : deployment_shutdown_instances
+  - clone_disks : deployment_clone_disks
+  - skip_os_morphing : skip_os_morphing
+  - clustered : deployment_clustered
+  - reservation_id : deployment_reservation_id
+  - transfer_result : deployment_transfer_result
+  - deployer_id : deployment_deployer_id
+  - trust_id : deployment_trust_id
+  - info : deployment_info
 
 **Example of a Deployment Show Response**
   .. literalinclude:: ../api_samples/deployment/openstack-deployment-get-resp.json
@@ -151,6 +173,7 @@ Request
     - clone_disks : deployment_clone_disks
     - skip_os_morphing : skip_os_morphing
     - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
+    - user_scripts : user_scripts
 
 **Example of Deployment Create From Transfer Request**
   .. literalinclude:: ../api_samples/deployment/deployment-from-transfer-req.json
@@ -167,11 +190,10 @@ Response
   - deleted_at : deployment_deleted_at
   - instances : deployment_instances
   - notes : deployment_notes
-  - status : deployment_notes
   - tasks : deployment_tasks
   - user_id : user_id
   - destination_environment : destination_environment
-  - source_environtment : source_environment
+  - source_environment : source_environment
   - type : deployment_type
   - info : deployment_info
   - origin_endpoint_id : deployment_origin_endpoint_id
@@ -187,7 +209,15 @@ Response
   - origin_minion_pool_id : origin_minion_pool_id
   - destination_minion_pool_id : destination_minion_pool_id
   - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
-  - shutdown_instances : deployment_shutdown_instances
+  - user_scripts : user_scripts
+  - transfer_scenario_type : transfer_scenario_type
+  - clone_disks : deployment_clone_disks
+  - skip_os_morphing : skip_os_morphing
+  - clustered : deployment_clustered
+  - reservation_id : deployment_reservation_id
+  - transfer_result : deployment_transfer_result
+  - deployer_id : deployment_deployer_id
+  - trust_id : deployment_trust_id
 
 **Example of Deployment Create From Transfer Response**
   .. literalinclude:: ../api_samples/deployment/openstack-deployment-from-transfer-resp.json
@@ -244,8 +274,8 @@ Request
 .. rest_parameters:: parameters.yaml
 
   - deployment_id : deployment_id_path
-  - force : deployment_cancel_force
   - cancel : deployment_cancel
+  - force : deployment_cancel_force
 
 **Example of A Deployment Cancellation Request**
   .. literalinclude:: ../api_samples/deployment/deployment-cancel-req.json

+ 24 - 8
coriolis/api-refs/source/endpoint.inc

@@ -80,8 +80,8 @@ Response
   - user_id : user_id
   - project_id : project_id
   - connection_info: connection_info
-  - type : endpoint_id
-  - name : endpoint_created_at
+  - type : endpoint_type
+  - name : endpoint_name
   - description : endpoint_description
   - mapped_regions : endpoint_mapped_regions
 
@@ -128,7 +128,7 @@ Response
 .. rest_parameters:: parameters.yaml
 
   - endpoint : endpoint_object
-  - name : endpoint_created_at
+  - name : endpoint_name
   - description : endpoint_description
   - id : endpoint_id
   - connection_info: connection_info
@@ -193,9 +193,10 @@ Response
   - user_id : user_id
   - project_id : project_id
   - connection_info: connection_info
-  - type : endpoint_id
-  - name : endpoint_created_at
+  - type : endpoint_type
+  - name : endpoint_name
   - description : endpoint_description
+  - mapped_regions : endpoint_mapped_regions
 
 **Example of Endpoint Update Response**
   .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-update-resp.json
@@ -252,6 +253,10 @@ Request
 
    - endpoint_id : endpoint_id_path
    - refresh : instance_refresh
+   - marker : instance_marker
+   - limit : instance_limit
+   - name : instance_name_filter
+   - env : endpoint_resources_env
 
 Response
 --------
@@ -259,7 +264,6 @@ Response
 .. rest_parameters:: parameters.yaml
 
   - instances : instance_array
-  - limit : instance_limit
   - name : instance_identifier
   - num_cpu : instance_num_cpu
   - num_cores_per_socket : instance_cores_per_socket
@@ -301,6 +305,7 @@ Request
 
    - endpoint_id : endpoint_id_path
    - instance_name_base64 : instance_name_base64_path
+   - env : endpoint_resources_env
 
 Response
 --------
@@ -408,6 +413,8 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - endpoint_id : endpoint_id_path
+   - env : endpoint_resources_env
+   - options : endpoint_options_query
 
 Response
 --------
@@ -448,6 +455,8 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - endpoint_id : endpoint_id_path
+   - env : endpoint_resources_env
+   - options : endpoint_options_query
 
 Response
 --------
@@ -485,6 +494,7 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - endpoint_id : endpoint_id_path
+   - env : endpoint_resources_env
 
 Response
 --------
@@ -523,12 +533,14 @@ Request
 .. rest_parameters:: parameters.yaml
 
   - endpoint_id : endpoint_id_path
+  - env : endpoint_resources_env
 
 Response
 --------
 
 .. rest_parameters:: parameters.yaml
 
+  - storage : storage
   - storage_backends : storage_backends
   - name : storage_name
   - id : storage_id
@@ -563,7 +575,7 @@ Request
 
 .. rest_parameters:: parameters.yaml
 
-  - validate_connection : validate_connection
+  - validate-connection : validate_connection
   - endpoint_id : endpoint_id_path
 
 **Example of Endpoint Validate Connection Request**
@@ -575,7 +587,7 @@ Response
 
 .. rest_parameters:: parameters.yaml
 
-  - validate_connection : validate_connection
+  - validate-connection : validate_connection
   - valid : valid_connection
   - message : validation_message
 
@@ -615,6 +627,8 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - endpoint_id : endpoint_id_path
+   - env : endpoint_resources_env
+   - options : endpoint_options_query
 
 Response
 --------
@@ -654,6 +668,8 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - endpoint_id : endpoint_id_path
+   - env : endpoint_resources_env
+   - options : endpoint_options_query
 
 Response
 --------

+ 1 - 15
coriolis/api-refs/source/minion_pool.inc

@@ -99,8 +99,6 @@ Response
   - minion_max_idle_time : minion_max_idle_time
   - minion_retention_strategy : minion_pool_retention_strategy
   - minion_machines : minion_pool_machines
-  - user_id : user_id
-  - project_id : project_id
   - events : minion_pool_events
   - progress_updates : minion_pool_progress_updates
 
@@ -169,8 +167,6 @@ Response
   - minion_max_idle_time : minion_max_idle_time
   - minion_retention_strategy : minion_pool_retention_strategy
   - minion_machines : minion_pool_machines
-  - user_id : user_id
-  - project_id : project_id
   - events : minion_pool_events
   - progress_updates : minion_pool_progress_updates
 
@@ -204,15 +200,12 @@ Request
     - minion_pool : minion_pool_object
     - name : minion_pool_name
     - notes : minion_pool_notes
-    - endpoint_id : minion_pool_endpoint_id
     - environment_options : minion_pool_environment_options
     - os_type : minion_pool_os_type
-    - platform : minion_pool_platform
     - minimum_minions : minimum_minions
     - maximum_minions : maximum_minions
     - minion_max_idle_time : minion_max_idle_time
     - minion_retention_strategy : minion_pool_retention_strategy
-    - notes : minion_pool_notes
 
 **Example of Minion Pool Update Request**
 
@@ -244,8 +237,6 @@ Response
     - minion_max_idle_time : minion_max_idle_time
     - minion_retention_strategy : minion_pool_retention_strategy
     - minion_machines : minion_pool_machines
-    - user_id : user_id
-    - project_id : project_id
     - events : minion_pool_events
     - progress_updates : minion_pool_progress_updates
 
@@ -341,8 +332,6 @@ Response
   - minion_max_idle_time : minion_max_idle_time
   - minion_retention_strategy : minion_pool_retention_strategy
   - minion_machines : minion_pool_machines
-  - user_id : user_id
-  - project_id : project_id
   - events : minion_pool_events
   - progress_updates : minion_pool_progress_updates
 
@@ -375,6 +364,7 @@ Request
 
   - minion_pool_id : minion_pool_id_path
   - deallocate : minion_pool_deallocate
+  - force : minion_pool_deallocate_force
 
 **Example of Minion Pool Deallocation Request**
 
@@ -406,8 +396,6 @@ Response
   - minion_max_idle_time : minion_max_idle_time
   - minion_retention_strategy : minion_pool_retention_strategy
   - minion_machines : minion_pool_machines
-  - user_id : user_id
-  - project_id : project_id
   - events : minion_pool_events
   - progress_updates : minion_pool_progress_updates
 
@@ -471,8 +459,6 @@ Response
   - minion_max_idle_time : minion_max_idle_time
   - minion_retention_strategy : minion_pool_retention_strategy
   - minion_machines : minion_pool_machines
-  - user_id : user_id
-  - project_id : project_id
   - events : minion_pool_events
   - progress_updates : minion_pool_progress_updates
 

+ 151 - 19
coriolis/api-refs/source/parameters.yaml

@@ -29,15 +29,17 @@ minion_pool_id_path:
   in: path
   type: uuid
   required: true
-platform:
+platform_name_path:
   description: |
-    The type of cloud service platform.
+    The name of the cloud service platform (e.g. "openstack", "vmware_vsphere").
   in: path
   type: string
   required: true
-provider_id:
+provider_type_path:
   description: |
-    The ID of cloud service provider.
+    The numeric provider type bitmask flag for the schema requested (e.g.
+    4 for Transfer Import, 8 for Transfer Export, 512 for Destination
+    Endpoint Options), as defined by the ``PROVIDER_TYPE_*`` constants.
   in: path
   type: integer
   required: true
@@ -110,7 +112,82 @@ show_deleted:
   required: false
   type: boolean
   default: false
+instance_marker:
+  description: |
+    The id of the last instance seen in a previous page, used to fetch the
+    next page of results.
+  in: query
+  required: false
+  type: string
+instance_name_filter:
+  description: |
+    Filters returned instances by name.
+  in: query
+  required: false
+  type: string
+endpoint_resources_env:
+  description: |
+    Optional base64-encoded JSON object containing environment options used
+    to filter/scope the request. When omitted, the provider's defaults are
+    used.
+  in: query
+  required: false
+  type: string
+endpoint_options_query:
+  description: |
+    Optional base64-encoded JSON object listing the specific option names to
+    retrieve. When omitted, all available options are returned.
+  in: query
+  required: false
+  type: string
+paging_marker:
+  description: |
+    The id of the last item seen in a previous page, used to fetch the next
+    page of results.
+  in: query
+  required: false
+  type: string
+paging_limit:
+  description: |
+    Returns a number of items up to a limit value.
+  in: query
+  required: false
+  type: integer
+sort_key:
+  description: |
+    The field to sort results by.
+  in: query
+  required: false
+  type: string
+sort_dir:
+  description: |
+    The direction to sort results in. Possible values: "asc", "desc".
+  in: query
+  required: false
+  type: string
+transfer_status_filter:
+  description: |
+    Filters transfers/executions by task status.
+  in: query
+  required: false
+  type: string
+show_expired:
+  description: |
+    Whether to include expired transfer schedules in the response.
+  in: query
+  required: false
+  type: boolean
+  default: true
 # body variables
+auto_deploy:
+  description: |
+    Boolean whether the transfer execution/schedule should automatically
+    deploy the transferred instances once the execution completes
+    successfully.
+  in: body
+  type: boolean
+  required: false
+  default: false
 base_id:
   description: |
     The id of the deployment in the mariadb database.
@@ -143,20 +220,28 @@ deployment_cancel:
   description: |
     Object containing information about the type of deployment cancellation.
   in: body
-  type: string
-  required: true
+  type: object
+  required: false
 deployment_cancel_force:
   description: |
     Boolean representing whether the deployment cancellation is forced.
+    Defaults to false.
   in: body
   type: boolean
-  required: true
+  required: false
 deployment_clone_disks:
   description: |
     Boolean representing whether the deployment is started from transferred disks.
   in: body
   type: boolean
   required: true
+deployment_clustered:
+  description: |
+    Boolean representing whether the deployment enables cross-instance sync
+    barriers and shared-disk handling for multi-instance transfers.
+  in: body
+  type: boolean
+  required: true
 deployment_created_at:
   description: |
     Timestamp of deployment creation.
@@ -166,10 +251,10 @@ deployment_created_at:
 deployment_deleted:
   description: |
     Whether a deployment is deleted or not.
-    1 for deleted
-    0 for not deleted
+    "1" for deleted
+    "0" for not deleted
   in: body
-  type: integer
+  type: string
   required: true
 deployment_deleted_at:
   description: |
@@ -177,6 +262,12 @@ deployment_deleted_at:
   in: body
   type: object
   required: true
+deployment_deployer_id:
+  description: |
+    The id of the transfer execution used to deploy the deployment.
+  in: body
+  type: uuid
+  required: false
 deployment_destination_endpoint_id:
   description: |
     The id of the deployment destination cloud endpoint.
@@ -225,19 +316,32 @@ deployment_object:
   in: body
   type: object
   required: true
+deployment_reservation_id:
+  description: |
+    The id of the resource reservation associated with the deployment, if any.
+  in: body
+  type: string
+  required: false
+deployment_transfer_result:
+  description: |
+    Object describing the resulting deployed instance(s) once the deployment
+    has completed.
+  in: body
+  type: object
+  required: false
+deployment_trust_id:
+  description: |
+    The id of the Keystone trust created for the deployment to perform
+    automated actions on the user's behalf.
+  in: body
+  type: string
+  required: false
 deployment_origin_endpoint_id:
   description: |
     The id of the deployment source cloud endpoint.
   in: body
   type: uuid
   required: true
-deployment_shutdown_instances:
-  description: |
-    A boolean which describes whether the execution to shutdown the source
-    instance for the deployment process.
-  in: body
-  type: boolean
-  required: true
 deployment_tasks:
   description: |
     The array of tasks that the deployment is going through,
@@ -543,6 +647,13 @@ minion_pool_deallocate:
   in: body
   type: object
   required: true
+minion_pool_deallocate_force:
+  description: |
+    Boolean representing whether the minion pool deallocation is forced.
+    Defaults to false.
+  in: body
+  type: boolean
+  required: false
 minion_pool_deleted:
   description: |
     Whether a minion pool is deleted or not.
@@ -656,7 +767,7 @@ minion_pool_skip_allocation:
 minion_pool_status:
   description: |
     The status of the minion pool. Accepted values: 'UNKNOWN', 'ERROR',
-    'DEALLOCATED', 'VALIATING_INPUTS', 'ALLOCATING_SHARED_RESOURCES',
+    'DEALLOCATED', 'VALIDATING_INPUTS', 'ALLOCATING_SHARED_RESOURCES',
     'ALLOCATING_MACHINES', 'DEALLOCATING_MACHINES',
     'DEALLOCATING_SHARED_RESOURCES', 'ALLOCATED', 'IN_MAINTENANCE'.
   in: body
@@ -963,6 +1074,12 @@ source_options:
   in: body
   type: object
   required: true
+storage:
+  description: |
+    Object containing the storage available on an endpoint.
+  in: body
+  type: object
+  required: true
 storage_backends:
   description: |
     Array containing storage backends available to an endpoint.
@@ -993,6 +1110,13 @@ transfer_action_id:
   in: body
   type: uuid
   required: true
+transfer_clone_disks:
+  description: |
+    Boolean representing whether the transfer's disks should be cloned.
+    Defaults to true.
+  in: body
+  type: boolean
+  required: false
 transfer_created_at:
   description: |
     Timestamp of transfer creation.
@@ -1001,7 +1125,8 @@ transfer_created_at:
   required: true
 transfer_delete_disks:
   description: |
-    An object that describes delete disk transfer action.
+    The action key for the delete disks transfer action; the request body
+    has no other required fields.
   in: body
   type: object
   required: true
@@ -1247,6 +1372,13 @@ transfer_schedule_month:
   in: body
   type: integer
   required: false
+transfer_schedule_trust_id:
+  description: |
+    The id of the Keystone trust created for the transfer schedule to
+    perform automated actions on the user's behalf.
+  in: body
+  type: string
+  required: true
 transfer_schedule_updated_at:
   description: |
     Timestamp of last transfer schedule update.

+ 3 - 3
coriolis/api-refs/source/provider.inc

@@ -33,7 +33,7 @@ Response
 List Provider Schemas
 =====================
 
-.. rest_method:: GET /providers/{platform}/schemas/{provider_type}
+.. rest_method:: GET /providers/{platform_name}/schemas/{provider_type}
 
 Lists a provider schema by given platform and provider type.
 
@@ -50,8 +50,8 @@ Request
 
 .. rest_parameters:: parameters.yaml
 
-    - platform : platform
-    - provider_type : provider_id
+    - platform_name : platform_name_path
+    - provider_type : provider_type_path
 
 Response
 --------

+ 47 - 7
coriolis/api-refs/source/transfer.inc

@@ -19,6 +19,19 @@ Normal response codes: 200
 Error response codes: unauthorized(401),
 forbidden(403), itemNotFound(404)
 
+Request
+-------
+
+.. rest_parameters:: parameters.yaml
+
+  - show_deleted : show_deleted
+  - include_task_info : include_task_info
+  - status : transfer_status_filter
+  - marker : paging_marker
+  - limit : paging_limit
+  - sort_key : sort_key
+  - sort_dir : sort_dir
+
 Response
 --------
 
@@ -26,8 +39,6 @@ Response
 
   - transfers : transfers_array
   - id : transfer_id
-  - include_task_info: include_task_info
-  - show_deleted : show_deleted
   - deleted : transfer_deleted
   - deleted_at : transfer_deleted_at
   - executions : transfer_empty_execution_array
@@ -150,6 +161,9 @@ Request
   - user_scripts : user_scripts
   - id : transfer_id
   - scenario: scenario_type
+  - notes : transfer_notes
+  - clone_disks : transfer_clone_disks
+  - skip_os_morphing : skip_os_morphing
 
 **Example of Transfer Create Request**
 
@@ -213,11 +227,18 @@ Request
   .. rest_parameters:: parameters.yaml
 
       - transfer_id : transfer_id_path
+      - transfer : transfer_object
       - destination_environment : transfer_destination_environment
       - source_environment : transfer_source_environment
       - network_map : transfer_network_map
       - notes : transfer_update_notes
       - storage_mappings : transfer_storage_map
+      - user_scripts : user_scripts
+      - clone_disks : transfer_clone_disks
+      - skip_os_morphing : skip_os_morphing
+      - origin_minion_pool_id : origin_minion_pool_id
+      - destination_minion_pool_id : destination_minion_pool_id
+      - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
 
 **Example of Transfer Update Request**
 
@@ -299,8 +320,10 @@ Request
 
 .. rest_parameters:: parameters.yaml
 
-    - shutdown_instances : transfer_shutdown_instances
     - transfer_id : transfer_id_path
+    - execution : transfer_execution_object
+    - shutdown_instances : transfer_shutdown_instances
+    - auto_deploy : auto_deploy
 
 **Example Transfer Execution Create Request**
 
@@ -351,6 +374,11 @@ Request
 .. rest_parameters:: parameters.yaml
 
    - transfer_id : transfer_id_path
+   - status : transfer_status_filter
+   - marker : paging_marker
+   - limit : paging_limit
+   - sort_key : sort_key
+   - sort_dir : sort_dir
 
 Response
 --------
@@ -445,7 +473,7 @@ Request
 
 .. rest_parameters:: parameters.yaml
 
-    - delete_disks : transfer_delete_disks
+    - delete-disks : transfer_delete_disks
     - transfer_id : transfer_id_path
 
 **Example of Transfer Execution Cancel Request**
@@ -551,6 +579,7 @@ Request
   .. rest_parameters:: parameters.yaml
 
     - transfer_id : transfer_id_path
+    - show_expired : show_expired
 
 Response
 --------
@@ -566,6 +595,7 @@ Response
     - transfer_id : transfer_id
     - enabled : transfer_schedule_enabled
     - shutdown_instance : transfer_shutdown_instances
+    - auto_deploy : auto_deploy
     - schedule : transfer_schedule
     - minute : transfer_schedule_minute
     - hour : transfer_schedule_hour
@@ -573,6 +603,7 @@ Response
     - month : transfer_schedule_month
     - dow : transfer_schedule_day_of_week
     - expiration_date : transfer_schedule_expiration
+    - trust_id : transfer_schedule_trust_id
 
 **Example of Transfer Schedule List Response**
 
@@ -616,6 +647,7 @@ Response
     - transfer_id : transfer_id
     - enabled : transfer_schedule_enabled
     - shutdown_instance : transfer_shutdown_instances
+    - auto_deploy : auto_deploy
     - schedule : transfer_schedule
     - minute : transfer_schedule_minute
     - hour : transfer_schedule_hour
@@ -623,6 +655,7 @@ Response
     - month : transfer_schedule_month
     - dow : transfer_schedule_day_of_week
     - expiration_date : transfer_schedule_expiration
+    - trust_id : transfer_schedule_trust_id
 
 **Example Transfer Schedule Show Response**
 
@@ -646,9 +679,10 @@ Request
 
 .. rest_parameters:: parameters.yaml
 
-  - transfer_id : transfer_id
+  - transfer_id : transfer_id_path
   - enabled : transfer_schedule_enabled
   - shutdown_instance : transfer_shutdown_instances
+  - auto_deploy : auto_deploy
   - schedule : transfer_schedule
   - minute : transfer_schedule_minute
   - hour : transfer_schedule_hour
@@ -676,6 +710,7 @@ Response
   - transfer_id : transfer_id
   - enabled : transfer_schedule_enabled
   - shutdown_instance : transfer_shutdown_instances
+  - auto_deploy : auto_deploy
   - schedule : transfer_schedule
   - minute : transfer_schedule_minute
   - hour : transfer_schedule_hour
@@ -683,6 +718,7 @@ Response
   - month : transfer_schedule_month
   - dow : transfer_schedule_day_of_week
   - expiration_date : transfer_schedule_expiration
+  - trust_id : transfer_schedule_trust_id
 
 **Example of Transfer Schedule Create Response**
 
@@ -709,9 +745,11 @@ Request
 
   .. rest_parameters:: parameters.yaml
 
-    - transfer_id : transfer_id
+    - transfer_id : transfer_id_path
     - schedule_id : transfer_schedule_id_path
+    - enabled : transfer_schedule_enabled
     - shutdown_instance : transfer_shutdown_instances
+    - auto_deploy : auto_deploy
     - schedule : transfer_schedule
     - minute : transfer_schedule_minute
     - hour : transfer_schedule_hour
@@ -738,6 +776,7 @@ Response
     - transfer_id : transfer_id
     - enabled : transfer_schedule_enabled
     - shutdown_instance : transfer_shutdown_instances
+    - auto_deploy : auto_deploy
     - schedule : transfer_schedule
     - minute : transfer_schedule_minute
     - hour : transfer_schedule_hour
@@ -745,6 +784,7 @@ Response
     - month : transfer_schedule_month
     - dow : transfer_schedule_day_of_week
     - expiration_date : transfer_schedule_expiration
+    - trust_id : transfer_schedule_trust_id
 
 **Example of Transfer Schedule Update Response**
 
@@ -772,7 +812,7 @@ Request
   .. rest_parameters:: parameters.yaml
 
     - transfer_id : transfer_id_path
-    - schedule_id : transfer_schedule_id
+    - schedule_id : transfer_schedule_id_path
 
 Response
 --------