2
0
Daniel Vincze 5 жил өмнө
parent
commit
57e27c1a75
31 өөрчлөгдсөн 1022 нэмэгдсэн , 404 устгасан
  1. 2 1
      coriolis/api-refs/api_samples/endpoint/endpoint-get-resp-secret.json
  2. 2 2
      coriolis/api-refs/api_samples/endpoint/endpoint-instance-list-resp.json
  3. 1 1
      coriolis/api-refs/api_samples/endpoint/endpoint-instance-show-resp.json
  4. 6 3
      coriolis/api-refs/api_samples/endpoint/endpoint-list-resp.json
  5. 23 2
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-create-req.json
  6. 63 0
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-destination-minion-pool-options-list-resp.json
  7. 11 2
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-get-resp.json
  8. 58 0
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-source-minion-pool-options-list-resp.json
  9. 91 23
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-source-options-list-resp.json
  10. 23 2
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-update-req.json
  11. 23 2
      coriolis/api-refs/api_samples/endpoint/openstack-endpoint-update-resp.json
  12. 2 1
      coriolis/api-refs/api_samples/migration/migration-from-replica-req.json
  13. 16 2
      coriolis/api-refs/api_samples/migration/openstack-migration-create-req.json
  14. 16 1
      coriolis/api-refs/api_samples/migration/openstack-migration-create-resp.json
  15. 6 0
      coriolis/api-refs/api_samples/migration/openstack-migration-from-replica-resp.json
  16. 6 0
      coriolis/api-refs/api_samples/migration/openstack-migration-get-resp.json
  17. 12 0
      coriolis/api-refs/api_samples/migration/openstack-migration-list-detail-resp.json
  18. 212 169
      coriolis/api-refs/api_samples/provider/openstack-connection-provider-schema-get-resp.json
  19. 133 120
      coriolis/api-refs/api_samples/provider/provider-get-resp.json
  20. 5 1
      coriolis/api-refs/api_samples/replica/openstack-replica-create-req.json
  21. 4 0
      coriolis/api-refs/api_samples/replica/openstack-replica-create-resp.json
  22. 1 0
      coriolis/api-refs/api_samples/replica/openstack-replica-execution-resp.json
  23. 1 0
      coriolis/api-refs/api_samples/replica/openstack-replica-execution-show-resp.json
  24. 4 0
      coriolis/api-refs/api_samples/replica/openstack-replica-get-resp.json
  25. 6 3
      coriolis/api-refs/api_samples/replica/replica-execution-list-resp.json
  26. 4 0
      coriolis/api-refs/api_samples/replica/replica-list-resp.json
  27. 5 1
      coriolis/api-refs/api_samples/replica/replica-update-resp.json
  28. 138 52
      coriolis/api-refs/source/endpoint.inc
  29. 31 2
      coriolis/api-refs/source/migration.inc
  30. 82 3
      coriolis/api-refs/source/parameters.yaml
  31. 35 11
      coriolis/api-refs/source/replica.inc

+ 2 - 1
coriolis/api-refs/api_samples/endpoint/endpoint-get-resp-secret.json

@@ -12,6 +12,7 @@
     },
     },
     "type": "openstack",
     "type": "openstack",
     "name": "devstack",
     "name": "devstack",
-    "description": null
+    "description": null,
+    "mapped_regions": ["public"]
   }
   }
 }
 }

+ 2 - 2
coriolis/api-refs/api_samples/endpoint/endpoint-instance-list-resp.json

@@ -9,7 +9,7 @@
       "id": "3ba07383-6726-4bf8-82d5-d5ce871519bc",
       "id": "3ba07383-6726-4bf8-82d5-d5ce871519bc",
       "flavor_name": "m1.small",
       "flavor_name": "m1.small",
       "os_type": "linux",
       "os_type": "linux",
-      "instance_name": "ubuntu-xenial"
+      "firmware_type": "BIOS"
     },
     },
     {
     {
       "num_cpu": 4,
       "num_cpu": 4,
@@ -20,7 +20,7 @@
       "id": "e93f6d38-9240-4dec-b738-61ca225aba6a",
       "id": "e93f6d38-9240-4dec-b738-61ca225aba6a",
       "flavor_name": "windows2012",
       "flavor_name": "windows2012",
       "os_type": "windows",
       "os_type": "windows",
-      "instance_name": "windows"
+      "firmware_type": "EFI"
     }
     }
   ]
   ]
 }
 }

+ 1 - 1
coriolis/api-refs/api_samples/endpoint/endpoint-instance-show-resp.json

@@ -36,6 +36,6 @@
       "controllers": []
       "controllers": []
     },
     },
     "os_type": "linux",
     "os_type": "linux",
-    "instance_name": "ubuntu-xenial"
+    "firmware_type": "BIOS"
   }
   }
 }
 }

+ 6 - 3
coriolis/api-refs/api_samples/endpoint/endpoint-list-resp.json

@@ -22,7 +22,8 @@
       },
       },
       "type": "openstack",
       "type": "openstack",
       "name": "Endpoint Name Example",
       "name": "Endpoint Name Example",
-      "description": "Example Endpoint Description"
+      "description": "Example Endpoint Description",
+      "mapped_regions": ["public"]
     },
     },
     {
     {
       "created_at": "2019-07-09T07:04:13.000000",
       "created_at": "2019-07-09T07:04:13.000000",
@@ -37,7 +38,8 @@
       },
       },
       "type": "oci",
       "type": "oci",
       "name": "oci",
       "name": "oci",
-      "description": null
+      "description": null,
+      "mapped_regions": []
     },
     },
     {
     {
       "created_at": "2019-07-09T06:5826.000000",
       "created_at": "2019-07-09T06:5826.000000",
@@ -52,7 +54,8 @@
       },
       },
       "type": "openstack",
       "type": "openstack",
       "name": "devstack",
       "name": "devstack",
-      "description": null
+      "description": null,
+      "mapped_regions": []
     }
     }
   ]
   ]
 }
 }

+ 23 - 2
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-create-req.json

@@ -22,10 +22,31 @@
       "neutron_interface_name": "publicURL",
       "neutron_interface_name": "publicURL",
       "glance_interface_name": "publicURL",
       "glance_interface_name": "publicURL",
       "cinder_interface_name": "publicURL",
       "cinder_interface_name": "publicURL",
-      "swift_interface_name": "publicURL"
+      "swift_interface_name": "publicURL",
+      "ceph_options": {
+        "ceph_conf_file": [
+          "[global]",
+          "uth_supported = cephx",
+          "keyring = /etc/ceph/$cluster.$name.keyring",
+          "mon host = 10.107.3.219 10.107.3.222 10.107.3.239",
+          "log to syslog = false",
+          "err to syslog = false",
+          "clog to syslog = false",
+          "[client]"
+        ],
+        "ceph_username": "cinder-ceph",
+        "ceph_keyring_file": [
+          "[client.cinder-ceph]",
+          "key = AQCXsL9f7UCQBhAAqiKtO+BrngtjkqfjzyJyfg=="
+        ],
+        "ceph_pool_name": "cinder-ceph",
+        "ceph_cluster_name": "cinder-ceph",
+        "ceph_connection_timeout": 0
+      }
     },
     },
     "type": "openstack",
     "type": "openstack",
     "name": "Endpoint Name Example",
     "name": "Endpoint Name Example",
-    "description": "Example Endpoint Description"
+    "description": "Example Endpoint Description",
+    "mapped_regions": ["public"]
   }
   }
 }
 }

+ 63 - 0
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-destination-minion-pool-options-list-resp.json

@@ -0,0 +1,63 @@
+{
+    "destination_minion_pool_options": [
+        {
+            "name": "migr_network",
+            "values": [
+                "ext-net",
+                "admin-net"
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_fip_pool_name",
+            "values": [
+                {
+                    "name": "external-network-private/external-private",
+                    "id": "56471574-bbe8-4739-a103-1918198ca73d/8101d1a8-1e3e-423e-827d-6d7a5b6ba7be"
+                },
+                {
+                    "name": "ext-net/ext-subnet",
+                    "id": "b2f0b98e-03a1-4f13-92aa-ece55f34ebf8/038a72ea-1413-493b-82da-4c75a9077fbf"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_image",
+            "values": [
+                {
+                    "id": "c729f7b4-bac7-473f-a6e2-827dc01486f4",
+                    "name": "focal",
+                    "os_type": "unknown"
+                },
+                {
+                    "id": "d58f4bdf-bc45-4851-88e8-3cffc19a733a",
+                    "name": "CentOS8",
+                    "os_type": "linux"
+                },
+                {
+                    "id": "64df7925-fc27-4fce-80ed-63d85918064f",
+                    "name": "WS2016",
+                    "os_type": "windows"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_flavor_name",
+            "values": [
+                "m1.small",
+                "m1.medium"
+            ],
+            "config_default": "m1.small"
+        },
+        {
+            "name": "migr_worker_volume_type",
+            "values": [
+                "coriolis-tier",
+                "__DEFAULT__"
+            ],
+            "config_default": null
+        }
+    ]
+}

+ 11 - 2
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-get-resp.json

@@ -29,10 +29,19 @@
       "neutron_interface_name": "publicURL",
       "neutron_interface_name": "publicURL",
       "glance_interface_name": "publicURL",
       "glance_interface_name": "publicURL",
       "cinder_interface_name": "publicURL",
       "cinder_interface_name": "publicURL",
-      "swift_interface_name": "publicURL"
+      "swift_interface_name": "publicURL",
+      "ceph_options": {
+        "ceph_conf_file": "/etc/ceph/ceph.conf",
+        "ceph_username": "root",
+        "ceph_keyring_file": "/home/ubuntu/keyring_file",
+        "ceph_pool_name": "pool_name",
+        "ceph_cluster_name": "cluster_name",
+        "ceph_connection_timeout": "1200"
+      }
     },
     },
     "type": "openstack",
     "type": "openstack",
     "name": "Endpoint Name Example",
     "name": "Endpoint Name Example",
-    "description": "Example Endpoint Description"
+    "description": "Example Endpoint Description",
+    "mapped_regions": ["public"]
   }
   }
 }
 }

+ 58 - 0
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-source-minion-pool-options-list-resp.json

@@ -0,0 +1,58 @@
+{
+    "source_minion_pool_options": [
+        {
+            "name": "migr_network",
+            "values": [
+                "ext-net",
+                "admin-net"
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_fip_pool_name",
+            "values": [
+                {
+                    "name": "external-network-private/external-private",
+                    "id": "56471574-bbe8-4739-a103-1918198ca73d/8101d1a8-1e3e-423e-827d-6d7a5b6ba7be"
+                },
+                {
+                    "name": "ext-net/ext-subnet",
+                    "id": "b2f0b98e-03a1-4f13-92aa-ece55f34ebf8/038a72ea-1413-493b-82da-4c75a9077fbf"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_image",
+            "values": [
+                {
+                    "id": "c729f7b4-bac7-473f-a6e2-827dc01486f4",
+                    "name": "focal",
+                    "os_type": "unknown"
+                },
+                {
+                    "id": "64df7925-fc27-4fce-80ed-63d85918064f",
+                    "name": "WS2016",
+                    "os_type": "windows"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "migr_flavor_name",
+            "values": [
+                "m1.small",
+                "m1.medium"
+            ],
+            "config_default": "m1.small"
+        },
+        {
+            "name": "migr_worker_volume_type",
+            "values": [
+                "coriolis-tier",
+                "__DEFAULT__"
+            ],
+            "config_default": null
+        }
+    ]
+}

+ 91 - 23
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-source-options-list-resp.json

@@ -1,25 +1,93 @@
 {
 {
-  "source_options": [
-    {
-      "name": "intermediate_volume_format",
-      "values": [
-        "raw",
-        "vmdk",
-        "qcow",
-        "qcow2",
-        "vhd",
-        "vhdx"
-      ],
-      "config_default": "qcow2"
-    },
-    {
-      "name": "volume_backups_container",
-      "values": [
-        "coriolis",
-        "test",
-        "test2"
-      ],
-      "config_default": "coriolis"
-    }
-  ]
+    "source_options": [
+        {
+            "name": "export_image",
+            "values": [
+                {
+                    "name": "ws2008",
+                    "id": "5051a788-f133-4a84-af64-fd35e4c36f24"
+                },
+                {
+                    "name": "debian8",
+                    "id": "f298bc1b-a631-47cc-beef-ffd13e572226"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "export_network",
+            "values": [
+                {
+                    "name": "ext-net",
+                    "id": "b2f0b98e-03a1-4f13-92aa-ece55f34ebf8"
+                },
+                {
+                    "name": "admin-net",
+                    "id": "ea7d22c7-99ab-423f-b291-47d10a3bdc2e"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "export_flavor_name",
+            "values": [
+                {
+                    "name": "m1.small",
+                    "id": "c1910582-1911-4d00-86a7-b44e2d49ef8b"
+                },
+                {
+                    "name": "m1.medium",
+                    "id": "d7fcfc49-300c-40fb-9f8d-0cc814fd1125"
+                }
+            ],
+            "config_default": "m1.small"
+        },
+        {
+            "name": "export_fip_pool_name",
+            "values": [
+                {
+                    "name": "ext-net/ext-subnet",
+                    "id": "b2f0b98e-03a1-4f13-92aa-ece55f34ebf8/038a72ea-1413-493b-82da-4c75a9077fbf"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "export_worker_volume_type",
+            "values": [
+                {
+                    "id": "0ee0c11d-de6a-4904-b55c-b2d9137775a2",
+                    "name": "coriolis-tier"
+                },
+                {
+                    "id": "24d7eaab-c930-434b-a519-292e787937d5",
+                    "name": "__DEFAULT__"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "export_interim_volume_type",
+            "values": [
+                {
+                    "id": "0ee0c11d-de6a-4904-b55c-b2d9137775a2",
+                    "name": "coriolis-tier"
+                },
+                {
+                    "id": "24d7eaab-c930-434b-a519-292e787937d5",
+                    "name": "__DEFAULT__"
+                }
+            ],
+            "config_default": null
+        },
+        {
+            "name": "swift_volume_backups_container",
+            "values": [
+                "container",
+                "coriolis",
+                "volumebackups"
+            ],
+            "config_default": "coriolis"
+        }
+    ]
 }
 }

+ 23 - 2
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-update-req.json

@@ -22,9 +22,30 @@
       "user_domain_id": "default",
       "user_domain_id": "default",
       "allow_untrusted": false,
       "allow_untrusted": false,
       "identity_api_version": 3,
       "identity_api_version": 3,
-      "neutron_interface_name": "publicURL"
+      "neutron_interface_name": "publicURL",
+      "ceph_options": {
+        "ceph_conf_file": [
+          "[global]",
+          "uth_supported = cephx",
+          "keyring = /etc/ceph/$cluster.$name.keyring",
+          "mon host = 10.107.3.219 10.107.3.222 10.107.3.239",
+          "log to syslog = false",
+          "err to syslog = false",
+          "clog to syslog = false",
+          "[client]"
+        ],
+        "ceph_username": "cinder-ceph",
+        "ceph_keyring_file": [
+          "[client.cinder-ceph]",
+          "key = AQCXsL9f7UCQBhAAqiKtO+BrngtjkqfjzyJyfg=="
+        ],
+        "ceph_pool_name": "cinder-ceph",
+        "ceph_cluster_name": "cinder-ceph",
+        "ceph_connection_timeout": 0
+      }
     },
     },
     "name": "Updated Name",
     "name": "Updated Name",
-    "description": "Updated description"
+    "description": "Updated description",
+    "mapped_regions": ["public"]
   }
   }
 }
 }

+ 23 - 2
coriolis/api-refs/api_samples/endpoint/openstack-endpoint-update-resp.json

@@ -29,10 +29,31 @@
       "user_domain_id": "default",
       "user_domain_id": "default",
       "allow_untrusted": false,
       "allow_untrusted": false,
       "identity_api_version": 3,
       "identity_api_version": 3,
-      "neutron_interface_name": "publicURL"
+      "neutron_interface_name": "publicURL",
+      "ceph_options": {
+        "ceph_conf_file": [
+          "[global]",
+          "uth_supported = cephx",
+          "keyring = /etc/ceph/$cluster.$name.keyring",
+          "mon host = 10.107.3.219 10.107.3.222 10.107.3.239",
+          "log to syslog = false",
+          "err to syslog = false",
+          "clog to syslog = false",
+          "[client]"
+        ],
+        "ceph_username": "cinder-ceph",
+        "ceph_keyring_file": [
+          "[client.cinder-ceph]",
+          "key = AQCXsL9f7UCQBhAAqiKtO+BrngtjkqfjzyJyfg=="
+        ],
+        "ceph_pool_name": "cinder-ceph",
+        "ceph_cluster_name": "cinder-ceph",
+        "ceph_connection_timeout": 0
+      }
     },
     },
     "type": "openstack",
     "type": "openstack",
     "name": "Updated Name",
     "name": "Updated Name",
-    "description": "Updated description"
+    "description": "Updated description",
+    "mapped_regions": ["public"]
   }
   }
 }
 }

+ 2 - 1
coriolis/api-refs/api_samples/migration/migration-from-replica-req.json

@@ -3,6 +3,7 @@
     "clone_disks": true,
     "clone_disks": true,
     "force": false,
     "force": false,
     "replica_id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
     "replica_id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
-    "skip_os_morphing": false
+    "skip_os_morphing": false,
+    "instance_osmorphing_minion_pool_mappings": {"instance1": "morphing_pool"}
   }
   }
 }
 }

+ 16 - 2
coriolis/api-refs/api_samples/migration/openstack-migration-create-req.json

@@ -4,7 +4,7 @@
       "private": "provider-net"
       "private": "provider-net"
     },
     },
     "origin_endpoint_id": "5a276274-f964-4c07-aec4-01a7971d9eea",
     "origin_endpoint_id": "5a276274-f964-4c07-aec4-01a7971d9eea",
-    "instances": ["ubuntu-xenial"],
+    "instances": ["ubuntu-xenial", "windows2012r2"],
     "storage_mappings": {},
     "storage_mappings": {},
     "destination_environment": {
     "destination_environment": {
       "storage_mappings": {
       "storage_mappings": {
@@ -21,6 +21,20 @@
       "set_dhcp": true
       "set_dhcp": true
     },
     },
     "skip_os_morphing": false,
     "skip_os_morphing": false,
-    "destination_endpoint_id": "6258fa20-5d1f-44fa-ae12-c94122263fa3"
+    "destination_endpoint_id": "6258fa20-5d1f-44fa-ae12-c94122263fa3",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+    "instance_osmorphing_minion_pool_mappings": {},
+    "shutdown_instances": false,
+    "replication_count": 2,
+    "user_scripts": {
+      "global": {
+        "linux": "echo 'bash script to be run for every migrated Linux instance'",
+        "windows": "echo 'powershell script to be run for every migrated Windows instance'"
+      },
+      "instances": {
+        "ubuntu-xenial": "echo 'script to be run only on this instance'"
+      }
+    }
   }
   }
 }
 }

+ 16 - 1
coriolis/api-refs/api_samples/migration/openstack-migration-create-resp.json

@@ -22,7 +22,7 @@
         "set_dhcp": true
         "set_dhcp": true
     },
     },
     "type": "migration",
     "type": "migration",
-    "instances": ["windows"],
+    "instances": ["ubuntu-xenial", "windows2012r2"],
     "reservation_id": null,
     "reservation_id": null,
     "notes": "",
     "notes": "",
     "origin_endpoint_id": "b59051a2-bbf3-4fb7-a1eb-539db55339dc",
     "origin_endpoint_id": "b59051a2-bbf3-4fb7-a1eb-539db55339dc",
@@ -34,6 +34,21 @@
     "id": "1e31443d-5eb1-403f-9f15-c67a2c372bc3",
     "id": "1e31443d-5eb1-403f-9f15-c67a2c372bc3",
     "replica_id": null,
     "replica_id": null,
     "status": "RUNNING",
     "status": "RUNNING",
+    "last_execution_status": "UNEXECUTED",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+    "instance_osmorphing_minion_pool_mappings": {},
+    "shutdown_instances": false,
+    "replication_count": 2,
+    "user_scripts": {
+      "global": {
+        "linux": "echo 'bash script to be run for every migrated Linux instance'",
+        "windows": "echo 'powershell script to be run for every migrated Windows instance'"
+      },
+      "instances": {
+        "ubuntu-xenial": "echo 'script to be run only on this instance'"
+      }
+    },
     "tasks": [
     "tasks": [
       {
       {
         "created_at": "2019-07-11T08:40:02.000000",
         "created_at": "2019-07-11T08:40:02.000000",

+ 6 - 0
coriolis/api-refs/api_samples/migration/openstack-migration-from-replica-resp.json

@@ -34,6 +34,12 @@
     "id": "480a4ba6-db63-43cb-a91b-4ef65665cd26",
     "id": "480a4ba6-db63-43cb-a91b-4ef65665cd26",
     "replica_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "replica_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "status": "RUNNING",
     "status": "RUNNING",
+    "last_execution_status": "UNEXECUTED",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+    "instance_osmorphing_minion_pool_mappings": {"instance1": "morphing_pool"},
+    "shutdown_instances": false,
+    "replication_count": 2,
     "tasks": [
     "tasks": [
       {
       {
         "created_at": "2019-07-11T13:01:03.000000",
         "created_at": "2019-07-11T13:01:03.000000",

+ 6 - 0
coriolis/api-refs/api_samples/migration/openstack-migration-get-resp.json

@@ -34,6 +34,12 @@
     "id": "1e31443d-5eb1-403f-9f15-c67a2c372bc3",
     "id": "1e31443d-5eb1-403f-9f15-c67a2c372bc3",
     "replica_id": null,
     "replica_id": null,
     "status": "COMPLETED",
     "status": "COMPLETED",
+    "last_execution_status": "COMPLETED",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+    "instance_osmorphing_minion_pool_mappings": {},
+    "shutdown_instances": false,
+    "replication_count": 2,
     "tasks": [
     "tasks": [
       {
       {
         "created_at": "2019-07-10T07:24:09.000000",
         "created_at": "2019-07-10T07:24:09.000000",

+ 12 - 0
coriolis/api-refs/api_samples/migration/openstack-migration-list-detail-resp.json

@@ -55,6 +55,12 @@
       "id": "65bd70e4-c4ab-4f60-9d78-779c0b58c2ab",
       "id": "65bd70e4-c4ab-4f60-9d78-779c0b58c2ab",
       "replica_id": null,
       "replica_id": null,
       "status": "ERROR",
       "status": "ERROR",
+      "last_execution_status": "COMPLETED",
+      "origin_minion_pool_id": null,
+      "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+      "instance_osmorphing_minion_pool_mappings": {},
+      "shutdown_instances": false,
+      "replication_count": 2,
       "tasks": [
       "tasks": [
         {
         {
           "created_at": "2019-08-20T12:32:31.000000",
           "created_at": "2019-08-20T12:32:31.000000",
@@ -335,6 +341,11 @@
       "base_id": "9566af98-2c89-4969-ad73-a416e8a8a5ce",
       "base_id": "9566af98-2c89-4969-ad73-a416e8a8a5ce",
       "user_id": "7cf9b4745d514517b3eae440438136bc",
       "user_id": "7cf9b4745d514517b3eae440438136bc",
       "project_id": "ffc16db2011e41f28152897c279b6bcc",
       "project_id": "ffc16db2011e41f28152897c279b6bcc",
+      "last_execution_status": "COMPLETED",
+      "origin_minion_pool_id": null,
+      "destination_minion_pool_id": "a5e00fd3-42ac-4570-898b-5bbee0ff4acb",
+      "instance_osmorphing_minion_pool_mappings": {},
+      "shutdown_instances": false,
       "destination_environment": {
       "destination_environment": {
         "network_map": {
         "network_map": {
           "VM Network": "0e83bf34-9cc7-4580-9189-a9d9c3c7abb8"
           "VM Network": "0e83bf34-9cc7-4580-9189-a9d9c3c7abb8"
@@ -426,6 +437,7 @@
       "id": "9566af98-2c89-4969-ad73-a416e8a8a5ce",
       "id": "9566af98-2c89-4969-ad73-a416e8a8a5ce",
       "replica_id": "96d71f92-1cbd-48cb-98aa-06ce8cbf89cf",
       "replica_id": "96d71f92-1cbd-48cb-98aa-06ce8cbf89cf",
       "status": "COMPLETED",
       "status": "COMPLETED",
+      "replication_count": 2,
       "tasks": [
       "tasks": [
         {
         {
           "created_at": "2019-08-22T08:29:33.000000",
           "created_at": "2019-08-22T08:29:33.000000",

+ 212 - 169
coriolis/api-refs/api_samples/provider/openstack-connection-provider-schema-get-resp.json

@@ -1,173 +1,216 @@
 {
 {
-  "schemas": {
-    "connection_info_schema": {
-      "$schema": "http://cloudbase.it/coriolis/schemas/openstack_connection#",
-      "oneOf": [
-        {
-          "type": "object",
-          "properties": {
-            "identity_api_version": {
-              "type": "integer",
-              "title": "Identity API Version",
-              "description": "Version of the Identity API to use.",
-              "minimum": 2,
-              "maximum": 3,
-              "default": 2
-            },
-            "username": {
-              "type": "string",
-              "title": "Username",
-              "description": "The OpenStack user."
-            },
-            "password": {
-              "type": "string",
-              "title": "Password",
-              "description": "The password for the OpenStack user."
-            },
-            "project_name": {
-              "type": "string",
-              "title": "Project Name",
-              "description": "Name of the project/tenant for the OpenStack user."
-            },
-            "user_domain_name": {
-              "type": "string",
-              "title": "User Domain Name",
-              "description": "The name of the user domain."
-            },
-            "user_domain_id": {
-              "type": "string",
-              "title": "User Domain ID",
-              "description": "The ID of the user domain."
-            },
-            "project_domain_name": {
-              "type": "string",
-              "title": "Project Domain Name",
-              "description": "The name of the project domain."
-            },
-            "project_domain_id": {
-              "type": "string",
-              "title": "Project Domain ID",
-              "description": "The ID of the project domain."
-            },
-            "auth_url": {
-              "type": "string",
-              "title": "Authentication URL",
-              "description": "The full URL of the public endpoint of the authentication service (Keystone) for the OpenStack platform. Must include the port number as well as the API version path element. ('/v2.0' for Keystone v2 and '/v3' for Keystone v3)"
-            },
-            "glance_api_version": {
-              "type": "integer",
-              "title": "Glance API Version",
-              "description": "The API used by the OpenStack Image Service.(Glance)",
-              "minimum": 1,
-              "maximum": 2,
-              "default": 1
-            },
-            "allow_untrusted": {
-              "type": "boolean",
-              "title": "Allow Untrusted",
-              "description": "Whether or not to accept HTTPS connections with self-signed or untrusted certificates when interacting with the APIs of both the authentication service (Keystone) as well the other non-Swift services.",
-              "default": false
-            },
-            "allow_untrusted_swift": {
-              "type": "boolean",
-              "title": "Allow Untrusted Swift",
-              "description": "Whether or not to accept HTTPS connections with self-signed or untrusted certificates when interacting with the API of the OpenStack's Object Storage Service. (Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift.",
-              "default": false
-            },
-            "region_name": {
-              "type": "string",
-              "title": "Region Name",
-              "description": "The name of the OpenStack region to use."
-            },
-            "nova_region_name": {
-              "type": "string",
-              "title": "Nova Region Name",
-              "description": "The region name of the Openstack Compute Service (Nova)."
-            },
-            "neutron_region_name": {
-              "type": "string",
-              "title": "Neutron Region Name",
-              "description": "The region name of the OpenStack Networking Service (Neutron)."
-            },
-            "glance_region_name": {
-              "type": "string",
-              "title": "Glance Region Name",
-              "description": "The region name of the OpenStack Image Service (Glance)."
-            },
-            "cinder_region_name": {
-              "type": "string",
-              "title": "Cinder Region Name",
-              "description": "The region name of the OpenStack Block Storage Service (Cinder)."
-            },
-            "swift_region_name": {
-              "type": "string",
-              "title": "Swift Region Name",
-              "description": "The region name of the Openstack Object Storage Service(Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift/RADOS."
-            },
-            "interface_name": {
-              "type": "string",
-              "title": "Interface Name",
-              "description": "The name of the interface to use for all services. If a specific interface is required for different services, please use the option afferent to each service."
-            },
-            "nova_interface_name": {
-              "type": "string",
-              "title": "Nova Interface Name",
-              "description": "The interface name for the Openstack Compute Service (Nova)."
-            },
-            "neutron_interface_name": {
-              "type": "string",
-              "title": "Neutron Interface Name",
-              "description": "The interface name of the OpenStack Networking Service (Neutron)."
-            },
-            "glance_interface_name": {
-              "type": "string",
-              "title": "Glance Interface Name",
-              "description": "The interface name of the OpenStack Image Service (Glance)."
-            },
-            "cinder_interface_name": {
-              "type": "string",
-              "title": "Cinder Interface Name",
-              "description": "The interface name of the OpenStack Block Storage Service (Cinder)."
-            },
-            "swift_interface_name": {
-              "type": "string",
-              "title": "Swift Interface Name",
-              "description": "The interface name of the Openstack Object Storage Service(Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift/RADOS."
-            }
-          },
-          "required": [
-            "identity_api_version",
-            "username",
-            "password",
-            "project_name",
-            "auth_url"
-          ],
-          "additionalProperties": false
-        },
-        {
-          "type": "object",
-          "properties": {
-            "secret_ref": {
-              "type": "string",
-              "format": "uri"
-            }
-          },
-          "required": [
-            "secret_ref"
-          ],
-          "additionalProperties": false
-        },
-        {
-          "type": "object",
-          "properties": {
-
-          },
-          "additionalProperties": false
-        },
-        {
-          "type": "null"
+    "schemas": {
+        "connection_info_schema": {
+            "$schema": "http://cloudbase.it/coriolis/schemas/openstack_connection#",
+            "oneOf": [
+                {
+                    "type": "object",
+                    "properties": {
+                        "identity_api_version": {
+                            "type": "integer",
+                            "title": "Identity API Version",
+                            "description": "Version of the Identity API to use.",
+                            "minimum": 2,
+                            "maximum": 3,
+                            "default": 2
+                        },
+                        "username": {
+                            "type": "string",
+                            "title": "Username",
+                            "description": "The OpenStack user."
+                        },
+                        "password": {
+                            "type": "string",
+                            "title": "Password",
+                            "description": "The password for the OpenStack user."
+                        },
+                        "project_name": {
+                            "type": "string",
+                            "title": "Project Name",
+                            "description": "Name of the project/tenant for the OpenStack user."
+                        },
+                        "user_domain_name": {
+                            "type": "string",
+                            "title": "User Domain Name",
+                            "description": "The name of the user domain."
+                        },
+                        "user_domain_id": {
+                            "type": "string",
+                            "title": "User Domain ID",
+                            "description": "The ID of the user domain."
+                        },
+                        "project_domain_name": {
+                            "type": "string",
+                            "title": "Project Domain Name",
+                            "description": "The name of the project domain."
+                        },
+                        "project_domain_id": {
+                            "type": "string",
+                            "title": "Project Domain ID",
+                            "description": "The ID of the project domain."
+                        },
+                        "auth_url": {
+                            "type": "string",
+                            "title": "Authentication URL",
+                            "description": "The full URL of the public endpoint of the authentication service (Keystone) for the OpenStack platform. Must include the port number as well as the API version path element. ('/v2.0' for Keystone v2 and '/v3' for Keystone v3)"
+                        },
+                        "glance_api_version": {
+                            "type": "integer",
+                            "title": "Glance API Version",
+                            "description": "The API used by the OpenStack Image Service.(Glance)",
+                            "minimum": 1,
+                            "maximum": 2,
+                            "default": 1
+                        },
+                        "allow_untrusted": {
+                            "type": "boolean",
+                            "title": "Allow Untrusted",
+                            "description": "Whether or not to accept HTTPS connections with self-signed or untrusted certificates when interacting with the APIs of both the authentication service (Keystone) as well the other non-Swift services.",
+                            "default": false
+                        },
+                        "allow_untrusted_swift": {
+                            "type": "boolean",
+                            "title": "Allow Untrusted Swift",
+                            "description": "Whether or not to accept HTTPS connections with self-signed or untrusted certificates when interacting with the API of the OpenStack's Object Storage Service. (Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift.",
+                            "default": false
+                        },
+                        "region_name": {
+                            "type": "string",
+                            "title": "Region Name",
+                            "description": "The name of the OpenStack region to use."
+                        },
+                        "nova_region_name": {
+                            "type": "string",
+                            "title": "Nova Region Name",
+                            "description": "The region name of the Openstack Compute Service (Nova)."
+                        },
+                        "neutron_region_name": {
+                            "type": "string",
+                            "title": "Neutron Region Name",
+                            "description": "The region name of the OpenStack Networking Service (Neutron)."
+                        },
+                        "glance_region_name": {
+                            "type": "string",
+                            "title": "Glance Region Name",
+                            "description": "The region name of the OpenStack Image Service (Glance)."
+                        },
+                        "cinder_region_name": {
+                            "type": "string",
+                            "title": "Cinder Region Name",
+                            "description": "The region name of the OpenStack Block Storage Service (Cinder)."
+                        },
+                        "swift_region_name": {
+                            "type": "string",
+                            "title": "Swift Region Name",
+                            "description": "The region name of the Openstack Object Storage Service(Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift/RADOS."
+                        },
+                        "interface_name": {
+                            "type": "string",
+                            "title": "Interface Name",
+                            "description": "The name of the interface to use for all services. If a specific interface is required for different services, please use the option afferent to each service."
+                        },
+                        "nova_interface_name": {
+                            "type": "string",
+                            "title": "Nova Interface Name",
+                            "description": "The interface name for the Openstack Compute Service (Nova)."
+                        },
+                        "neutron_interface_name": {
+                            "type": "string",
+                            "title": "Neutron Interface Name",
+                            "description": "The interface name of the OpenStack Networking Service (Neutron)."
+                        },
+                        "glance_interface_name": {
+                            "type": "string",
+                            "title": "Glance Interface Name",
+                            "description": "The interface name of the OpenStack Image Service (Glance)."
+                        },
+                        "cinder_interface_name": {
+                            "type": "string",
+                            "title": "Cinder Interface Name",
+                            "description": "The interface name of the OpenStack Block Storage Service (Cinder)."
+                        },
+                        "swift_interface_name": {
+                            "type": "string",
+                            "title": "Swift Interface Name",
+                            "description": "The interface name of the Openstack Object Storage Service(Swift or RADOS Gateway) Only used when Replicating from a source OpenStack which has Cinder-backup configured to use Swift/RADOS."
+                        },
+                        "ceph_options": {
+                            "type": "object",
+                            "title": "Cinder Ceph Options",
+                            "descriptions": "If performing Ceph-based Replicas from a source OpenStack, the Ceph configuration file and credentials for a user with read-only access to the Ceph pool used by Cinder backups/snapshots must be provided. Coriolis must be able to connect to the source OpenStack's Ceph RADOS cluster by being able to reach at least one Ceph-monitor host. For the easiest setup possible, simply using the same credentials used by the Cinder service(s) will work.",
+                            "properties": {
+                                "ceph_conf_file": {
+                                    "type": "string",
+                                    "title": "Ceph Configuration File",
+                                    "description": "Contents of the ceph.conf configuration file containing the list of monitor hosts to connect to. Ideally, this should be the same ceph.conf as used by the Cinder volume/backup service(s). The '[mon] keyring' path options are irrelevant, as the keyring which is passed through the 'Ceph Keyring File' option will be used."
+                                },
+                                "ceph_username": {
+                                    "type": "string",
+                                    "title": "Ceph Username",
+                                    "description": "Ceph user to use when connecting to the source OpenStack's Ceph cluster. The user must have read-only access to the Ceph pool(s) used by the Cinder-backup and Cinder-volume service(s). Ideally, this should be the same user which the Cinder services themselves are using."
+                                },
+                                "ceph_keyring_file": {
+                                    "type": "string",
+                                    "title": "Ceph Keyring File",
+                                    "description": "Ceph keyring file with access key(s) for the user given as the 'Ceph Username' for the cluster described in the given 'Ceph Configuration File'. Ideally, this should be the same keyring file as used by the Cinder service(s)."
+                                },
+                                "ceph_pool_name": {
+                                    "type": "string",
+                                    "title": "Ceph Pool Name",
+                                    "description": "Name of the Ceph pool in which Cinder volume snapshots/backups are stored."
+                                },
+                                "ceph_cluster_name": {
+                                    "type": "string",
+                                    "title": "Ceph Cluster Name",
+                                    "description": "Name of the Ceph cluster in which Cinder volume snapshots/backups are stored."
+                                },
+                                "ceph_connection_timeout": {
+                                    "type": "integer",
+                                    "title": "Ceph Connection Timeout",
+                                    "description": "Integer number of seconds to wait on Ceph connections before timing out."
+                                }
+                            },
+                            "additionalProperties": false,
+                            "required": [
+                                "ceph_conf_file",
+                                "ceph_username",
+                                "ceph_keyring_file",
+                                "ceph_pool_name",
+                                "ceph_cluster_name"
+                            ]
+                        }
+                    },
+                    "required": [
+                        "identity_api_version",
+                        "username",
+                        "password",
+                        "project_name",
+                        "auth_url"
+                    ],
+                    "additionalProperties": false
+                },
+                {
+                    "type": "object",
+                    "properties": {
+                        "secret_ref": {
+                            "type": "string",
+                            "format": "uri"
+                        }
+                    },
+                    "required": [
+                        "secret_ref"
+                    ],
+                    "additionalProperties": false
+                },
+                {
+                    "type": "object",
+                    "properties": {},
+                    "additionalProperties": false
+                },
+                {
+                    "type": "null"
+                }
+            ]
         }
         }
-      ]
     }
     }
-  }
 }
 }

+ 133 - 120
coriolis/api-refs/api_samples/provider/provider-get-resp.json

@@ -1,123 +1,136 @@
 {
 {
-  "providers": {
-    "openstack": {
-      "types": [
-        1,
-        2,
-        4,
-        8,
-        16,
-        32,
-        128,
-        256,
-        512,
-        2048,
-        4096,
-        8192,
-        16384,
-        32768,
-        65536,
-        131072,
-        262144
-      ]
-    },
-    "oracle_vm": {
-      "types": [
-        1,
-        2,
-        4,
-        8,
-        16,
-        32,
-        128,
-        512,
-        2048,
-        8192,
-        16384,
-        32768,
-        65536,
-        262144
-      ]
-    },
-    "opc": {
-      "types": [
-        1,
-        2,
-        4,
-        8,
-        16,
-        32,
-        128,
-        256,
-        2048
-      ]
-    },
-    "vmware_vsphere": {
-      "types": [
-        2,
-        8,
-        32,
-        1024,
-        2048,
-        4096,
-        65536,
-        131072
-      ]
-    },
-    "aws": {
-      "types": [
-        2,
-        8,
-        32,
-        2048,
-        4096,
-        65536,
-        131072
-      ]
-    },
-    "hyper-v": {
-      "types": [
-        2,
-        8,
-        32,
-        2048,
-        4096
-      ]
-    },
-    "oci": {
-      "types": [
-        1,
-        4,
-        16,
-        128,
-        256,
-        512,
-        8192,
-        16384,
-        262144
-      ]
-    },
-    "azure": {
-      "types": [
-        1,
-        4,
-        16,
-        128,
-        256,
-        512,
-        8192,
-        16384,
-        32768,
-        262144
-      ]
-    },
-    "scvmm": {
-      "types": [
-        1,
-        4,
-        16,
-        128
-      ]
+    "providers": {
+        "openstack": {
+            "types": [
+                4,
+                8,
+                16,
+                32,
+                64,
+                128,
+                256,
+                512,
+                4096,
+                16384,
+                32768,
+                65536,
+                131072,
+                262144,
+                524288,
+                1048576
+            ]
+        },
+        "oracle_vm": {
+            "types": [
+                4,
+                8,
+                16,
+                32,
+                64,
+                128,
+                512,
+                4096,
+                16384,
+                32768,
+                65536,
+                131072,
+                262144
+            ]
+        },
+        "opc": {
+            "types": [
+                4,
+                8,
+                16,
+                32,
+                64,
+                128,
+                256,
+                512,
+                4096,
+                16384,
+                65536,
+                131072,
+                262144
+            ]
+        },
+        "vmware_vsphere": {
+            "types": [
+                8,
+                16,
+                32,
+                1024,
+                4096,
+                65536,
+                131072
+            ]
+        },
+        "azure": {
+            "types": [
+                4,
+                8,
+                16,
+                32,
+                64,
+                128,
+                256,
+                512,
+                4096,
+                16384,
+                32768,
+                65536,
+                131072,
+                262144
+            ]
+        },
+        "aws": {
+            "types": [
+                4,
+                8,
+                16,
+                32,
+                64,
+                128,
+                256,
+                512,
+                4096,
+                16384,
+                32768,
+                65536,
+                131072,
+                262144
+            ]
+        },
+        "hyper-v": {
+            "types": [
+                8,
+                16,
+                32,
+                4096,
+                65536
+            ]
+        },
+        "oci": {
+            "types": [
+                4,
+                16,
+                32,
+                64,
+                128,
+                256,
+                512,
+                16384,
+                32768,
+                262144
+            ]
+        },
+        "scvmm": {
+            "types": [
+                4,
+                16,
+                64,
+                128
+            ]
+        }
     }
     }
-  }
 }
 }

+ 5 - 1
coriolis/api-refs/api_samples/replica/openstack-replica-create-req.json

@@ -21,6 +21,10 @@
       "port_reuse_policy": "keep_mac",
       "port_reuse_policy": "keep_mac",
       "set_dhcp": true
       "set_dhcp": true
     },
     },
-    "destination_endpoint_id": "6258fa20-5d1f-44fa-ae12-c94122263fa3"
+    "destination_endpoint_id": "6258fa20-5d1f-44fa-ae12-c94122263fa3",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a9b5a0b5-18f6-422e-a014-1659f8a257a4",
+    "instance_osmorphing_minion_pool_mappings": {"ubuntu-xenial": "a9b5a0b5-18f6-422e-a014-1659f8a257a4"},
+    "user_scripts": {"instances": {"ubuntu-xenial": "echo 'anything you need'"}}
   }
   }
 }
 }

+ 4 - 0
coriolis/api-refs/api_samples/replica/openstack-replica-create-resp.json

@@ -35,6 +35,10 @@
     "storage_mappings": {},
     "storage_mappings": {},
     "source_environment": {},
     "source_environment": {},
     "id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": "a9b5a0b5-18f6-422e-a014-1659f8a257a4",
+    "instance_osmorphing_minion_pool_mappings": {"ubuntu-xenial": "a9b5a0b5-18f6-422e-a014-1659f8a257a4"},
+    "user_scripts": {"instances": {"ubuntu-xenial": "echo 'anything you need'"}},
     "executions": []
     "executions": []
   }
   }
 }
 }

+ 1 - 0
coriolis/api-refs/api_samples/replica/openstack-replica-execution-resp.json

@@ -8,6 +8,7 @@
     "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "status": "RUNNING",
     "status": "RUNNING",
     "number": 2,
     "number": 2,
+    "type": "replica_execution",
     "tasks": [
     "tasks": [
       {
       {
         "created_at": "2019-07-11T10:01:43.000000",
         "created_at": "2019-07-11T10:01:43.000000",

+ 1 - 0
coriolis/api-refs/api_samples/replica/openstack-replica-execution-show-resp.json

@@ -9,6 +9,7 @@
     "action_id": "7a7731ab-4802-449d-88d3-5960636affe9",
     "action_id": "7a7731ab-4802-449d-88d3-5960636affe9",
     "status": "RUNNING",
     "status": "RUNNING",
     "number": 1,
     "number": 1,
+    "type": "replica_execution",
     "tasks": [
     "tasks": [
       {
       {
         "created_at": "2019-07-24T21:04:16.000000",
         "created_at": "2019-07-24T21:04:16.000000",

+ 4 - 0
coriolis/api-refs/api_samples/replica/openstack-replica-get-resp.json

@@ -35,6 +35,10 @@
     "storage_mappings": {},
     "storage_mappings": {},
     "source_environment": {},
     "source_environment": {},
     "id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
     "id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
+    "last_execution_status": "COMPLETED",
+    "origin_minion_pool_id": null,
+    "destination_minion_pool_id": null,
+    "instance_osmorphing_minion_pool_mappings": {},
     "executions": [
     "executions": [
       {
       {
         "created_at": "2019-07-11T10:06:47.000000",
         "created_at": "2019-07-11T10:06:47.000000",

+ 6 - 3
coriolis/api-refs/api_samples/replica/replica-execution-list-resp.json

@@ -8,7 +8,8 @@
       "id": "220070fe-baa3-4d9c-baa7-8b95775475b8",
       "id": "220070fe-baa3-4d9c-baa7-8b95775475b8",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "status": "RUNNING",
       "status": "RUNNING",
-      "number": 4
+      "number": 4,
+      "type": "replica_execution"
     },
     },
     {
     {
       "created_at": "2019-07-11T10:06:47.000000",
       "created_at": "2019-07-11T10:06:47.000000",
@@ -18,7 +19,8 @@
       "id": "4147568c-f1d7-4a2d-bfbc-8d142a3d1c32",
       "id": "4147568c-f1d7-4a2d-bfbc-8d142a3d1c32",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "status": "COMPLETED",
       "status": "COMPLETED",
-      "number": 3
+      "number": 3,
+      "type": "replica_update"
     },
     },
     {
     {
       "created_at": "2019-07-11T09:57:17.000000",
       "created_at": "2019-07-11T09:57:17.000000",
@@ -28,7 +30,8 @@
       "id": "87faeb7e-97aa-4c2f-a8a2-ba8fa31167a5",
       "id": "87faeb7e-97aa-4c2f-a8a2-ba8fa31167a5",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "action_id": "78f89897-fca0-465c-bf0c-b23b36dfd619",
       "status": "ERROR",
       "status": "ERROR",
-      "number": 1
+      "number": 1,
+      "type": "replica_execution"
     }
     }
   ]
   ]
 }
 }

+ 4 - 0
coriolis/api-refs/api_samples/replica/replica-list-resp.json

@@ -55,6 +55,10 @@
       },
       },
       "source_environment": {},
       "source_environment": {},
       "id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
       "id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
+      "last_execution_status": "COMPLETED",
+      "origin_minion_pool_id": null,
+      "destination_minion_pool_id": null,
+      "instance_osmorphing_minion_pool_mappings": {},
       "executions": [
       "executions": [
         {
         {
           "created_at": "2019-07-23T17:01:03.000000",
           "created_at": "2019-07-23T17:01:03.000000",

+ 5 - 1
coriolis/api-refs/api_samples/replica/replica-update-resp.json

@@ -121,7 +121,11 @@
         ]
         ]
       },
       },
       "source_environment": {},
       "source_environment": {},
-      "id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22"
+      "id": "0460aa4d-6b16-4c98-bd56-27ee186e4a22",
+      "origin_minion_pool_id": null,
+      "destination_minion_pool_id": "a9b5a0b5-18f6-422e-a014-1659f8a257a4",
+      "instance_osmorphing_minion_pool_mappings": {"ubuntu-xenial": "a9b5a0b5-18f6-422e-a014-1659f8a257a4"},
+      "user_scripts": {"instances": {"ubuntu-xenial": "echo 'anything you need'"}},
     }
     }
   }
   }
 }
 }

+ 138 - 52
coriolis/api-refs/source/endpoint.inc

@@ -36,6 +36,7 @@ Response
   - type : endpoint_type
   - type : endpoint_type
   - name : endpoint_name
   - name : endpoint_name
   - description : endpoint_description
   - description : endpoint_description
+  - mapped_regions : endpoint_mapped_regions
 
 
 **Example of Endpoint List Response**
 **Example of Endpoint List Response**
 
 
@@ -82,6 +83,7 @@ Response
   - type : endpoint_id
   - type : endpoint_id
   - name : endpoint_created_at
   - name : endpoint_created_at
   - description : endpoint_description
   - description : endpoint_description
+  - mapped_regions : endpoint_mapped_regions
 
 
 **Example of Endpoint Show Response**
 **Example of Endpoint Show Response**
   .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-get-resp.json
   .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-get-resp.json
@@ -93,6 +95,57 @@ Response
   .. literalinclude:: ../api_samples/endpoint/endpoint-get-resp-secret.json
   .. literalinclude:: ../api_samples/endpoint/endpoint-get-resp-secret.json
      :language: javascript
      :language: javascript
 
 
+Create Endpoint
+===============
+
+.. rest_method:: POST /endpoints/
+
+Creates a cloud endpoint.
+
+Normal response codes: 200
+
+Error response codes: unauthorized(401), forbidden(403)
+
+Request
+-------
+
+.. rest_parameters:: parameters.yaml
+
+  - connection_info : connection_info
+  - type : provider_type
+  - name : endpoint_name
+  - description : endpoint_description
+  - mapped_regions : endpoint_mapped_regions
+
+**Example of Endpoint Create Request**
+
+  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-create-req.json
+     :language: javascript
+
+Response
+--------
+
+.. rest_parameters:: parameters.yaml
+
+  - endpoint : endpoint_object
+  - name : endpoint_created_at
+  - description : endpoint_description
+  - id : endpoint_id
+  - connection_info: connection_info
+  - deleted : endpoint_deleted
+  - deleted_at : endpoint_deleted_at
+  - created_at : endpoint_created_at
+  - updated_at : endpoint_updated_at
+  - type : endpoint_type
+  - user_id : user_id
+  - project_id : project_id
+  - mapped_regions : endpoint_mapped_regions
+
+
+**Example of Endpoint Create Response**
+
+  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-get-resp.json
+      :language: javascript
 
 
 Update Endpoint
 Update Endpoint
 ===============
 ===============
@@ -119,6 +172,7 @@ Request
    - name: endpoint_name
    - name: endpoint_name
    - description : endpoint_description
    - description : endpoint_description
    - connection_info : connection_info
    - connection_info : connection_info
+   - mapped_regions : endpoint_mapped_regions
 
 
 **Example of Endpoint Update Request**
 **Example of Endpoint Update Request**
 
 
@@ -158,7 +212,7 @@ Deletes an endpoint.
 
 
 The endpoint must exist.
 The endpoint must exist.
 
 
-Normal response codes: 200
+Normal response codes: 204
 
 
 Error response codes: itemNotFound(404),unauthorized(401),
 Error response codes: itemNotFound(404),unauthorized(401),
 forbidden(403)
 forbidden(403)
@@ -210,10 +264,10 @@ Response
   - num_cores_per_socket : instance_cores_per_socket
   - num_cores_per_socket : instance_cores_per_socket
   - nested_virtualization : instance_nested_virtualization
   - nested_virtualization : instance_nested_virtualization
   - memory_mb : instance_memory_mb
   - memory_mb : instance_memory_mb
-  - instance_name : instance_name
   - id : instance_id
   - id : instance_id
   - os_type : instance_os_type
   - os_type : instance_os_type
   - flavor_name : instance_flavor
   - flavor_name : instance_flavor
+  - firmware_type : instance_firmware_type
 
 
 **Example Instance List on Openstack Endpoint**
 **Example Instance List on Openstack Endpoint**
   .. literalinclude:: ../api_samples/endpoint/endpoint-instance-list-resp.json
   .. literalinclude:: ../api_samples/endpoint/endpoint-instance-list-resp.json
@@ -256,12 +310,12 @@ Response
   - id : instance_id
   - id : instance_id
   - os_type : instance_os_type
   - os_type : instance_os_type
   - memory_mb : instance_memory_mb
   - memory_mb : instance_memory_mb
-  - instance_name : instance_name
   - num_cpu: instance_num_cpu
   - num_cpu: instance_num_cpu
   - num_cores_per_socket : instance_cores_per_socket
   - num_cores_per_socket : instance_cores_per_socket
   - nested_virtualization : instance_nested_virtualization
   - nested_virtualization : instance_nested_virtualization
   - flavor_name : instance_flavor
   - flavor_name : instance_flavor
   - devices : instance_devices
   - devices : instance_devices
+  - firmware_type : instance_firmware_type
 
 
 **Example Instance Show On Openstack Endpoint**
 **Example Instance Show On Openstack Endpoint**
 
 
@@ -421,55 +475,6 @@ Response
   .. literalinclude:: ../api_samples/endpoint/endpoint-storage-list-resp.json
   .. literalinclude:: ../api_samples/endpoint/endpoint-storage-list-resp.json
       :language: javascript
       :language: javascript
 
 
-Create Endpoint
-===============
-
-.. rest_method:: POST /endpoints/
-
-Creates a cloud endpoint.
-
-Normal response codes: 200
-
-Error response codes: unauthorized(401), forbidden(403)
-
-Request
--------
-
-.. rest_parameters:: parameters.yaml
-
-  - connection_info : connection_info
-  - type : provider_type
-  - name : endpoint_name
-  - description : endpoint_description
-
-**Example of Endpoint Create Request**
-
-  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-create-req.json
-     :language: javascript
-
-Response
---------
-
-.. rest_parameters:: parameters.yaml
-
-  - endpoint : endpoint_object
-  - name : endpoint_created_at
-  - description : endpoint_description
-  - id : endpoint_id
-  - connection_info: connection_info
-  - deleted : endpoint_deleted
-  - deleted_at : endpoint_deleted_at
-  - created_at : endpoint_created_at
-  - updated_at : endpoint_updated_at
-  - type : endpoint_type
-  - user_id : user_id
-  - project_id : project_id
-
-**Example of Endpoint Create Response**
-
-  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-get-resp.json
-      :language: javascript
-
 
 
 Endpoint Actions
 Endpoint Actions
 ================
 ================
@@ -521,3 +526,84 @@ Response
 **Example of Failed Endpoint Validation Response**
 **Example of Failed Endpoint Validation Response**
   .. literalinclude:: ../api_samples/endpoint/endpoint-validate-connection-error-resp.json
   .. literalinclude:: ../api_samples/endpoint/endpoint-validate-connection-error-resp.json
      :language: javascript
      :language: javascript
+
+
+Endpoint Minion Pool Options
+============================
+
+Get Endpoint Destination Minion Pool Options
+============================================
+
+.. rest_method:: GET /endpoints/{endpoint_id}/destination-minion-pool-options
+
+Shows possible options for destination minion pool parameters
+
+**Preconditions**
+
+The endpoint must exist and the platform must support listing minion pool options.
+
+Normal response codes: 200
+
+Error response codes: unauthorized(401), forbidden(403),
+itemNotFound(404)
+
+Request
+-------
+
+.. rest_parameters:: parameters.yaml
+
+   - endpoint_id : endpoint_id_path
+
+Response
+--------
+
+.. rest_parameters:: parameters.yaml
+
+  - destination_minion_pool_options : destination_minion_pool_options
+  - values : option_values
+  - config_default : option_config_default
+  - name : option_name
+
+**Example Endpoint Destination Minion Pool Options List On Openstack Endpoint**
+
+  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-destination-minion-pool-options-list-resp.json
+     :language: javascript
+
+
+Get Endpoint Source Minion Pool Options
+=======================================
+
+.. rest_method:: GET /endpoints/{endpoint_id}/source-minion-pool-options
+
+Shows possible options for source minion pool parameters
+
+**Preconditions**
+
+The endpoint must exist and the platform must support listing minion pool options.
+
+Normal response codes: 200
+
+Error response codes: unauthorized(401), forbidden(403),
+itemNotFound(404)
+
+Request
+-------
+
+.. rest_parameters:: parameters.yaml
+
+   - endpoint_id : endpoint_id_path
+
+Response
+--------
+
+.. rest_parameters:: parameters.yaml
+
+  - source_minion_pool_options : source_minion_pool_options
+  - values : option_values
+  - config_default : option_config_default
+  - name : option_name
+
+**Example Endpoint Source Minion Pool Options List On Openstack Endpoint**
+
+  .. literalinclude:: ../api_samples/endpoint/openstack-endpoint-source-minion-pool-options-list-resp.json
+     :language: javascript

+ 31 - 2
coriolis/api-refs/source/migration.inc

@@ -45,6 +45,12 @@ Response
   - tasks : migration_tasks
   - tasks : migration_tasks
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - last_execution_status : migration_last_execution_status
+  - 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 : migration_shutdown_instances
+  - replication_count : replication_count
 
 
 **Example of a Migration List**
 **Example of a Migration List**
 
 
@@ -101,6 +107,12 @@ Response
   - destination_endpoint_id : migration_destination_endpoint_id
   - destination_endpoint_id : migration_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - last_execution_status : migration_last_execution_status
+  - 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 : migration_shutdown_instances
+  - replication_count : replication_count
 
 
 **Example of a Migration Show Response**
 **Example of a Migration Show Response**
   .. literalinclude:: ../api_samples/migration/openstack-migration-get-resp.json
   .. literalinclude:: ../api_samples/migration/openstack-migration-get-resp.json
@@ -131,6 +143,12 @@ Request
   - destination_endpoint_id : migration_destination_endpoint_id
   - destination_endpoint_id : migration_destination_endpoint_id
   - origin_endpoint_id : migration_origin_endpoint_id
   - origin_endpoint_id : migration_origin_endpoint_id
   - instances : migration_instances
   - instances : migration_instances
+  - 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 : migration_shutdown_instances
+  - replication_count : replication_count
+  - user_scripts : user_scripts
 
 
 **Example Migration Create Request**
 **Example Migration Create Request**
   .. literalinclude:: ../api_samples/migration/openstack-migration-create-req.json
   .. literalinclude:: ../api_samples/migration/openstack-migration-create-req.json
@@ -163,6 +181,12 @@ Response
   - destination_endpoint_id : migration_destination_endpoint_id
   - destination_endpoint_id : migration_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - last_execution_status : migration_last_execution_status
+  - 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 : migration_shutdown_instances
+  - replication_count : replication_count
 
 
 **Example Migration Create Response**
 **Example Migration Create Response**
   .. literalinclude:: ../api_samples/migration/openstack-migration-create-resp.json
   .. literalinclude:: ../api_samples/migration/openstack-migration-create-resp.json
@@ -191,6 +215,7 @@ Request
     - force : migration_force
     - force : migration_force
     - clone_disks : migration_clone_disks
     - clone_disks : migration_clone_disks
     - skip_os_morphing : skip_os_morphing
     - skip_os_morphing : skip_os_morphing
+    - instance_osmorphing_minion_pool_mappings : instance_osmorphing_minion_pool_mappings
 
 
 **Example of Migration Create From Replica Request**
 **Example of Migration Create From Replica Request**
   .. literalinclude:: ../api_samples/migration/migration-from-replica-req.json
   .. literalinclude:: ../api_samples/migration/migration-from-replica-req.json
@@ -223,7 +248,11 @@ Response
   - destination_endpoint_id : migration_destination_endpoint_id
   - destination_endpoint_id : migration_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
-
+  - last_execution_status : migration_last_execution_status
+  - 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 : migration_shutdown_instances
 
 
 **Example of Migration Create From Replica Response**
 **Example of Migration Create From Replica Response**
   .. literalinclude:: ../api_samples/migration/openstack-migration-from-replica-resp.json
   .. literalinclude:: ../api_samples/migration/openstack-migration-from-replica-resp.json
@@ -239,7 +268,7 @@ Deletes an non-running migration.
 
 
 The migration must exist and not be running.
 The migration must exist and not be running.
 
 
-Normal response codes: 200
+Normal response codes: 204
 
 
 Error response codes:
 Error response codes:
 unauthorized(401), forbidden(403), itemNotFound(404)
 unauthorized(401), forbidden(403), itemNotFound(404)

+ 82 - 3
coriolis/api-refs/source/parameters.yaml

@@ -94,6 +94,18 @@ destination_environment_schema:
   in: body
   in: body
   type: object
   type: object
   required: false
   required: false
+destination_minion_pool_id:
+  description: |
+    Pre-existing minion pool ID on the destination platform.
+  in: body
+  type: string
+  required: true
+destination_minion_pool_options:
+  description: |
+    Array that contains the parameter options possible for a minion pool with the endpoint as destination.
+  in: body
+  type: array
+  required: true
 destination_options:
 destination_options:
   description: |
   description: |
     An array that contains the parameter options possible for
     An array that contains the parameter options possible for
@@ -131,6 +143,12 @@ endpoint_id:
   in: body
   in: body
   type: uuid
   type: uuid
   required: true
   required: true
+endpoint_mapped_regions:
+  description: |
+    List containing the Coriolis regions this endpoint is available to.
+  in: body
+  type: array
+  required: true
 endpoint_name:
 endpoint_name:
   description: |
   description: |
     The name of the endpoint.
     The name of the endpoint.
@@ -179,6 +197,12 @@ instance_devices:
   in: body
   in: body
   type: object
   type: object
   required: true
   required: true
+instance_firmware_type:
+  description: |
+    The type of firmware of the VM.
+  in: body
+  type: string
+  required: false
 instance_flavor:
 instance_flavor:
   description: |
   description: |
     Name or ID of the flavor used by the instance.
     Name or ID of the flavor used by the instance.
@@ -233,6 +257,12 @@ instance_os_type:
   in: body
   in: body
   type: string
   type: string
   required: true
   required: true
+instance_osmorphing_minion_pool_mappings:
+  description: |
+    Mapping between migrated instance name and their respective morphing minion pool IDs.
+  in: body
+  type: object
+  required: true
 migration_cancel:
 migration_cancel:
   description: |
   description: |
     Object containing information about the type of migration cancellation.
     Object containing information about the type of migration cancellation.
@@ -301,6 +331,12 @@ migration_instances:
   in: body
   in: body
   type: array
   type: array
   required: true
   required: true
+migration_last_execution_status:
+  description: |
+    Last execution status of the current migration.
+  in: body
+  type: string
+  required: true
 migration_notes:
 migration_notes:
   description: |
   description: |
     Notes about the migration.
     Notes about the migration.
@@ -325,6 +361,13 @@ migration_replica_id:
   in: body
   in: body
   type: uuid
   type: uuid
   required: true
   required: true
+migration_shutdown_instances:
+  description: |
+    A boolean which describes whether the execution to shutdown the source
+    instance for the migration process.
+  in: body
+  type: boolean
+  required: true
 migration_status:
 migration_status:
   description: |
   description: |
     Migration status, can either be ``RUNNING``, ``ERROR`` or ``COMPLETED``.
     Migration status, can either be ``RUNNING``, ``ERROR`` or ``COMPLETED``.
@@ -383,22 +426,28 @@ networks_array:
   required: true
   required: true
 option_config_default:
 option_config_default:
   description: |
   description: |
-    The default option for the destination parameter.
+    The default option for the parameter.
   in: body
   in: body
   type: string
   type: string
   required: true
   required: true
 option_name:
 option_name:
   description: |
   description: |
-    The name of the destination parameter.
+    The name of the parameter.
   in: body
   in: body
   type: string
   type: string
   required: true
   required: true
 option_values:
 option_values:
   description: |
   description: |
-    An array of possible values for the respective destination parameter.
+    An array of possible values for the respective parameter.
   in: body
   in: body
   type: array
   type: array
   required: true
   required: true
+origin_minion_pool_id:
+  description: |
+    Pre-existing minion pool ID on the source platform.
+  in: body
+  type: string
+  required: true
 project_id:
 project_id:
   description: |
   description: |
     Coriolis supports multiple projects, this is the respective project's id.
     Coriolis supports multiple projects, this is the respective project's id.
@@ -545,6 +594,12 @@ replica_execution_tasks:
   in: body
   in: body
   type: array
   type: array
   required: true
   required: true
+replica_execution_type:
+  description: |
+    The type of the replica execution. Can either be 'replica_execution', 'replica_update' or 'replica_disks_delete'
+  in: body
+  type: string
+  required: true
 replica_execution_updated_at:
 replica_execution_updated_at:
   description: |
   description: |
     Timestamp of last replica execution update.
     Timestamp of last replica execution update.
@@ -563,6 +618,12 @@ replica_instances:
   in: body
   in: body
   type: array
   type: array
   required: true
   required: true
+replica_last_execution_status:
+  description: |
+    Last execution status of the current replica.
+  in: body
+  type: string
+  required: true
 replica_network_map:
 replica_network_map:
   description: |
   description: |
     Object containing the network mapping.
     Object containing the network mapping.
@@ -720,6 +781,12 @@ replicas_array:
   in: body
   in: body
   type: array
   type: array
   required: true
   required: true
+replication_count:
+  description: |
+    The number of disk syncs performed during a migration.
+  in: body
+  type: integer
+  required: true
 schemas:
 schemas:
   description: |
   description: |
     Object containing the platform's requested schema.
     Object containing the platform's requested schema.
@@ -744,6 +811,12 @@ source_environment_schema:
   in: body
   in: body
   type: object
   type: object
   required: false
   required: false
+source_minion_pool_options:
+  description: |
+    Array that contains the paramter options possible for a minion pool with the endpoint as source.
+  in: body
+  type: array
+  required: true
 source_options:
 source_options:
   description: |
   description: |
     An array that contains the parameter options possible for
     An array that contains the parameter options possible for
@@ -781,6 +854,12 @@ user_id:
   in: body
   in: body
   type: uuid
   type: uuid
   required: true
   required: true
+user_scripts:
+  description: |
+    Mapping between instances selected for migration and custom scripts to be run during OSMorphing stage.
+  in: body
+  type: object
+  required: false
 valid_connection:
 valid_connection:
   description: |
   description: |
     A boolean value representing whether the endpoint connection is valid.
     A boolean value representing whether the endpoint connection is valid.

+ 35 - 11
coriolis/api-refs/source/replica.inc

@@ -43,6 +43,10 @@ Response
   - destination_endpoint_id : replica_destination_endpoint_id
   - destination_endpoint_id : replica_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - last_execution_status : replica_last_execution_status
+  - 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 Replica List Response**
 **Example of Replica List Response**
 
 
@@ -96,6 +100,10 @@ Response
   - destination_endpoint_id : replica_destination_endpoint_id
   - destination_endpoint_id : replica_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - last_execution_status : replica_last_execution_status
+  - 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 Replica Show Response**
 **Example of Replica Show Response**
 
 
@@ -119,14 +127,18 @@ Request
 
 
 .. rest_parameters:: parameters.yaml
 .. rest_parameters:: parameters.yaml
 
 
-   - replica : replica_object
-   - destination_environment : replica_destination_environment
-   - source_environment : replica_source_environment
-   - destination_endpoint_id : replica_destination_endpoint_id
-   - origin_endpoint_id : replica_origin_endpoint_id
-   - instances : replica_instances
-   - network_map : network_map
-   - storage_mappings : storage_map
+  - replica : replica_object
+  - destination_environment : replica_destination_environment
+  - source_environment : replica_source_environment
+  - destination_endpoint_id : replica_destination_endpoint_id
+  - origin_endpoint_id : replica_origin_endpoint_id
+  - instances : replica_instances
+  - network_map : network_map
+  - storage_mappings : storage_map
+  - 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
+  - user_scripts : user_scripts
 
 
 **Example of Replica Create Request**
 **Example of Replica Create Request**
 
 
@@ -157,6 +169,10 @@ Response
   - destination_endpoint_id : replica_destination_endpoint_id
   - destination_endpoint_id : replica_destination_endpoint_id
   - network_map : network_map
   - network_map : network_map
   - storage_mappings : storage_map
   - storage_mappings : storage_map
+  - 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
+  - user_scripts : user_scripts
 
 
 **Example of Replica Create Response**
 **Example of Replica Create Response**
 
 
@@ -211,6 +227,10 @@ Response
       - tasks : replica_execution_tasks
       - tasks : replica_execution_tasks
       - action : replica_execution_action
       - action : replica_execution_action
       - id : replica_execution_id
       - id : replica_execution_id
+      - 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
+      - user_scripts : user_scripts
 
 
 **Example of Replica Update Response**
 **Example of Replica Update Response**
 
 
@@ -229,7 +249,7 @@ Deletes a replica.
 
 
 The replica must exist and not have a running execution or migration.
 The replica must exist and not have a running execution or migration.
 
 
-Normal response codes: 200
+Normal response codes: 204
 
 
 Error response codes: unauthorized(401), forbidden(403),
 Error response codes: unauthorized(401), forbidden(403),
 itemNotFound(404)
 itemNotFound(404)
@@ -289,6 +309,8 @@ Response
   - status : replica_execution_status
   - status : replica_execution_status
   - number : replica_execution_number
   - number : replica_execution_number
   - tasks : replica_execution_tasks
   - tasks : replica_execution_tasks
+  - action : replica_execution_action
+  - type : replica_execution_type
 
 
 **Example Replica Execution Response**
 **Example Replica Execution Response**
 
 
@@ -331,6 +353,7 @@ Response
   - number : replica_execution_number
   - number : replica_execution_number
   - status : replica_execution_status
   - status : replica_execution_status
   - id : replica_execution_id
   - id : replica_execution_id
+  - type : replica_execution_type
 
 
 **Example Replica Execute Response**
 **Example Replica Execute Response**
 
 
@@ -376,6 +399,7 @@ Response
   - tasks : replica_execution_tasks
   - tasks : replica_execution_tasks
   - action : replica_execution_action
   - action : replica_execution_action
   - id : replica_execution_id
   - id : replica_execution_id
+  - type : replica_execution_type
 
 
 
 
 **Example of Replica Executions Show Response**
 **Example of Replica Executions Show Response**
@@ -474,7 +498,7 @@ Deletes an replica execution.
 
 
 The replica execution must not be running.
 The replica execution must not be running.
 
 
-Normal response codes: 200
+Normal response codes: 204
 
 
 Error response codes:
 Error response codes:
 unauthorized(401), forbidden(403), itemNotFound(404)
 unauthorized(401), forbidden(403), itemNotFound(404)
@@ -724,7 +748,7 @@ Deletes a replica schedule.
 **Preconditions**
 **Preconditions**
 The replica schedule must exist.
 The replica schedule must exist.
 
 
-Normal response codes: 200
+Normal response codes: 204
 
 
 Error response codes: unauthorized(401),
 Error response codes: unauthorized(401),
 forbidden(403)
 forbidden(403)