This scenario lists all environments for a user, then checks the status of a specific one. Then, it takes a snapshot of the environment and reverts the machine back to the snapshot state.
List environments
List all environments for user |
Requesthttps://use.cloudshare.com/API/v2/Env/ListEnvironments?timestamp=1363462656&token=6WDPTRKQEV&UserApiId=VWRWJ4550LB086FG&HMAC=ccd88c851e04395dc0ecc169470c1d5ea8016613 Response{ "data": [ { "blueprint": "A linux environment", "description": " CloudShare Pro environment", "envId": "V0MDPUQHHN1A", "envToken": "VQbE1o1IBQK6B633_UFGog2", "environmentPolicy": null, "expirationTime": "Wed, 18 Dec 2013 22:00:00 GMT", "invitationAllowed": true, "licenseValid": "Valid", "name": "A linux environment", "organization": null, "owner": "jsmith@company.com", "project": null, "snapshot": "snap1", "status_code": 2, "status_text": "Not ready", "view_url": "https://use.cloudshare.com/Pro/Environment.mvc/View/VQbE1o1IBQK6B633_U }, { "blueprint": "linux environment", "description": "A new linux environment", "envId": "VJ1DWJYN5GXB", "envToken": "9wtGldOX2PVXHaUlrTRG2g2", "environmentPolicy": "CloudShare/PoC (10 days)", "expirationTime": "Thu, 04 Apr 2013 09:55:44 GMT", "invitationAllowed": true, "licenseValid": "Not relevant", "name": "Linux2", "organization": "CloudShare", "owner": "jsmith@company.com", "project": "Documentation Campaign", "snapshot": "Initial State Snapshot", "status_code": 2, "status_text": "Not ready", "view_url": "https://use.cloudshare.com/Ent/Environment.mvc/View/9wtGldOX2PVXHaUlrT }, { "blueprint": "linux environment", "description": "A new linux environment", "envId": "P400PXZJOWEB", "envToken": "9FgUl7qx5--BByJ3sEholw2", "environmentPolicy": "CloudShare/PoC (10 days)", "expirationTime": "Thu, 04 Apr 2013 10:05:53 GMT", "invitationAllowed": true, "licenseValid": "Not relevant", "name": "Linux2", "organization": "CloudShare", "owner": "jsmith@company.com", "project": "Documentation Campaign", "snapshot": "Initial State Snapshot", "status_code": 2, "status_text": "Not ready", "view_url": "https://use.cloudshare.com/Ent/Environment.mvc/View/9FgUl7qx5--BByJ3sE }, { "blueprint": "Linux2", "description": "A new linux environment", "envId": "HA0VLW3GJ0PA", "envToken": "Gh5wSR5wN2nm7I6orvTcDg2", "environmentPolicy": "CloudShare/PoC (10 days)", "expirationTime": "Thu, 04 Apr 2013 08:37:32 GMT", "invitationAllowed": false, "licenseValid": "Not relevant", "name": "Linux2", "organization": "CloudShare", "owner": "jsmith@company.com", "project": "Documentation Campaign", "snapshot": null, "status_code": 2, "status_text": "Not ready", "view_url": "https://use.cloudshare.com/Ent/Environment.mvc/View/Gh5wSR5wN2nm7I6orv } ], "remaining_api_calls": 99999, "status_additional_data": null, "status_code": "0x20000", "status_text": "Success" } StatusHTTP/1.1 200 OK |
Get state of environment
Request status of environment with id HA0VLW3GJ0PA Response lists single machine for the environment. |
Requesthttps://use.cloudshare.com/API/v2/Env/GetEnvironmentState?envId=HA0VLW3GJ0PA×tamp=1363463260&token=EA9VL7X4F2&UserApiId=VWRWJ4550LB086FG&HMAC=bd8aa60d0377278294f3c56c28fcc24638225849 Response{ "data": { "available_actions": { "add_vms": true, "delete_vm": true, "reboot_vm": true, "resume_environment": false, "revert_environment": false, "revert_vm": false, "take_snapshot": true }, "blueprint": "Linux2", "description": "A new linux environment", "envId": "HA0VLW3GJ0PA", "envToken": "Gh5wSR5wN2nm7I6orvTcDg2", "environmentPolicy": "CloudShare/PoC (10 days)", "expirationTime": "Thu, 04 Apr 2013 08:37:32 GMT", "invitationAllowed": false, "licenseValid": "Not relevant", "name": "Linux2", "organization": "CloudShare", "owner": "jsmith@company.com", "project": "Documentation Campaign", "resources": { "cpu_in_use": 1, "cpu_qouta": 10, "disk_size_in_use_mb": 12288, "disk_size_qouta_mb": 204800, "total_memory_in_use_mb": 1024, "total_memory_qouta_mb": 10240 }, "snapshot": null, "status_code": 0, "status_text": "Ready", "view_url": "https://use.cloudshare.com/Ent/Environment.mvc/View/Gh5wSR5wN2nm7I6orvTcDg2", "vms": [ { "FQDN": null, "IP": "pub9-70.env.cloudshare.com", "description": "OS: CentOS 5 Spec: 12 GB HD / 1 GB RAM Installed: MySQL ", "image_url": "https://use.cloudshare.com/ImageHandler.ashx?zsjkKbLQqcJ1PLTNRN2o4w2", "name": "CentOS 5 W/ MySQL", "os": "Linux", "password": null, "progress": 100, "status_code": 0, "status_text": "Ready", "url": "https://use.cloudshare.com/Ent/Machine.mvc/Show?machineToken=03kPsIRWu58N-nIGEtOahw2", "username": null, "vmId": "ZN3OZ4Z3VE2B", "vmToken": "03kPsIRWu58N-nIGEtOahw2", "webAccessUrl": null } ] }, "remaining_api_calls": 99997, "status_additional_data": null, "status_code": "0x20000", "status_text": "Success" } StatusHTTP/1.1 200 OK |
Take a snapshot of the environment
Label the snapshot, Initial snapshot |
Requesthttps://use.cloudshare.com/API/v2/Env/EntAppTakeSnapshot?description=snapshot%20at%20initialization&envId=HA0VLW3GJ0PA&setAsDefault=false&snapshotName=Initial%20snapshot×tamp=1363464317&token=Z09YVIOXLY&UserApiId=VWRWJ4550LB086FG&HMAC=67201b68789f73f1c4b1e9e094d7f64921a05345 Response{ "data": { "envId": "HA0VLW3GJ0PA" }, "remaining_api_calls": 99996, "status_additional_data": null, "status_code": "0x20000", "status_text": "Success" } StatusHTTP/1.1 200 OK |
Revert machine to snapshot state.
The default snapshot is used. The machine id, ZN3OZ4Z3VE2B, is obtained from the getEnvironmentState request, above. |
Requesthttps://use.cloudshare.com/API/v2/Env/RevertVm?envId=HA0VLW3GJ0PA×tamp=1363464690&token=KRJIRKOMCX&UserApiId=VWRWJ4550LB086FG&vmId=ZN3OZ4Z3VE2B&HMAC=87c5d31cda6b32aeb698f21b5d6b91f307c320d2 Response{ "data": { "vmId": "ZN3OZ4Z3VE2B" }, "remaining_api_calls": 99994, "status_additional_data": null, "status_code": "0x20000", "status_text": "Success" } StatusHTTP/1.1 200 OK |
Check progress of revert request, using the getEnvironmentState request.
Progress is indicated by the ‘progress‘ line in the JSON response. |
Requesthttps://use.cloudshare.com/API/v2/Env/GetEnvironmentState?envId=HA0VLW3GJ0PA×tamp=1363464889&token=KYV8SUFT3U&UserApiId=VWRWJ4550LB086FG&HMAC=da3d5c09af0773ad699ab55d8cc8ef010c974fd5 Response{ "data": { "available_actions": { "add_vms": true, "delete_vm": true, "reboot_vm": true, "resume_environment": false, "revert_environment": true, "revert_vm": true, "take_snapshot": false }, "blueprint": "Linux2", "description": "A new linux environment", "envId": "HA0VLW3GJ0PA", "envToken": "Gh5wSR5wN2nm7I6orvTcDg2", "environmentPolicy": "CloudShare/PoC (10 days)", "expirationTime": "Thu, 04 Apr 2013 08:37:32 GMT", "invitationAllowed": true, "licenseValid": "Not relevant", "name": "Linux2", "organization": "CloudShare", "owner": "jsmith@company.com", "project": "Documentation Campaign", "resources": { "cpu_in_use": 1, "cpu_qouta": 10, "disk_size_in_use_mb": 12288, "disk_size_qouta_mb": 204800, "total_memory_in_use_mb": 1024, "total_memory_qouta_mb": 10240 }, "snapshot": "Initial snapshot", "status_code": 1, "status_text": "In progress", "view_url": "https://use.cloudshare.com/Ent/Environment.mvc/View/Gh5wSR5wN2nm7I6orvTcDg2", "vms": [ { "FQDN": null, "IP": "pub12-201.env.cloudshare.com", "description": "OS: CentOS 5 Spec: 12 GB HD / 1 GB RAM Installed: MySQL", "image_url": "https://use.cloudshare.com/ImageHandler.ashx?zsjkKbLQqcJ1PLTNRN2o4w2", "name": "CentOS 5 W/ MySQL", "os": "Linux", "password": null, "progress": 63, "status_code": 1, "status_text": "In progress", "url": "https://use.cloudshare.com/Ent/Machine.mvc/Show?machineToken=03kPsIRWu58N-nIGEtOahw2", "username": null, "vmId": "ZN3OZ4Z3VE2B", "vmToken": "03kPsIRWu58N-nIGEtOahw2", "webAccessUrl": null } ] }, "remaining_api_calls": 99993, "status_additional_data": null, "status_code": "0x20000", "status_text": "Success" } StatusHTTP/1.1 200 OK |