From 038b4f3d65c145dac8077286a32a393c842cfe10 Mon Sep 17 00:00:00 2001 From: pavel <36902936+pavel-github@users.noreply.github.com> Date: Sat, 4 Jul 2020 06:28:07 +0200 Subject: [PATCH 01/72] Add missing snippet for listing single fwpolicy --- fwpolicies.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/fwpolicies.rst b/fwpolicies.rst index 9f446b2..68cd1bb 100644 --- a/fwpolicies.rst +++ b/fwpolicies.rst @@ -54,6 +54,26 @@ Detailed listing :language: javascript +List single policy +------------------ +.. http:get:: /fwpolicies/(uuid:fwpolicy_uuid)/ + +Gets detailed information for firewall policy identified by `fwpolicy_uuid`. + +:statuscode 200: no error + +**Example request**: + +.. literalinclude:: dumps/request_fwpolicy_get + :language: http + + +**Example response**: + + +.. literalinclude:: dumps/response_fwpolicy_get + :language: javascript + Create ------ .. http:post:: /fwpolicies/ From 02919cf726fa21c603bcc24030190f8403e2fa0e Mon Sep 17 00:00:00 2001 From: pavel <36902936+pavel-github@users.noreply.github.com> Date: Sun, 12 Jul 2020 00:17:51 +0200 Subject: [PATCH 02/72] Fix small typos in keypairs resource whethre -> whether hast_private_key -> has_private_key --- keypairs.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keypairs.rst b/keypairs.rst index 3e3196d..5edab56 100644 --- a/keypairs.rst +++ b/keypairs.rst @@ -96,7 +96,7 @@ Pubkeys resource ---------------- In order to access just the public keys without the need for OTP, you can use the ``pubkeys`` resource. Instead -of a private key it contains an attribute ``has_private_key`` which indicates whethre the private key was set. +of a private key it contains an attribute ``has_private_key`` which indicates whether the private key was set. For example creating an autogenerated keypair: @@ -106,7 +106,7 @@ For example creating an autogenerated keypair: .. literalinclude:: dumps/response_autogen_keypair_create :language: javascript -Results in a corresponding ``pubkeys`` object with ``hast_private_key``, which is `true`: +Results in a corresponding ``pubkeys`` object with ``has_private_key``, which is `true`: .. literalinclude:: dumps/request_pubkeys_full_keypair :language: http From 87725cc83cdd000e379acdc873bbe7ad4ee7f4d0 Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 7 Jan 2021 20:53:24 -0600 Subject: [PATCH 03/72] DEV-6434 As a Developer I want to Fix readthedocs title --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index ae0126f..db7050a 100644 --- a/conf.py +++ b/conf.py @@ -57,7 +57,7 @@ # The short X.Y version. version = '2.0' # The full version, including alpha/beta/rc tags. -release = os.getenv('CURRENT_HG_REV', 'unknown') +release = 'v2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 6c4138dc3aceeae4e9fdfe40913fc33a0177546f Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 14 Jan 2021 16:33:36 -0600 Subject: [PATCH 04/72] Fixing typos and minor issues --- general.rst | 4 ++-- servers.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/general.rst b/general.rst index f5d03ce..4e68ad1 100644 --- a/general.rst +++ b/general.rst @@ -13,8 +13,8 @@ API endpoint Given a server running the CloudSigma API it will be available on the following base URL e.g.:: https://{loc}.cloudsigma.com/api/2.0/ - -Where {loc} is a subdomain for a specific location. In the rest of the documentation the URL's will be given relative to + +Where {loc} is a subdomain for a specific location. In the rest of the documentation the URLs will be given relative to that base. Currently the following CloudSigma location endpoints are available: diff --git a/servers.rst b/servers.rst index 2caa87a..9441445 100644 --- a/servers.rst +++ b/servers.rst @@ -102,7 +102,7 @@ Editing .. http:put:: /servers/{uuid}/ - Edits a server. Used also for attaching NIC's and drives to servers. Note that if a server is running, only + Edits a server. Used also for attaching NICs and drives to servers. Note that if a server is running, only ``name``, ``meta``, and ``tags`` fields can be changed, and all other changes to the definition of a running server will be ignored. @@ -175,7 +175,7 @@ Delete Server together with attached drives (recursive delete) .. http:delete:: /servers/{uuid}/?recurse={recurse_option} -It is possible to delete a server together with it's drives (recursive delete). There are three options: delete all +It is possible to delete a server together with its drives (recursive delete). There are three options: delete all attached drives, delete only disks(non-cdrom drives), or delete only attached cdroms. To recursively delete drives, supply a ``recurse`` URL parameter with a value as described in the following table: From c82076a6e16ba243bcd34f2ae24954a3bd0f3caa Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 14 Jan 2021 17:15:59 -0600 Subject: [PATCH 05/72] Adding CRK to the list of locations --- dumps/locations.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/dumps/locations.csv b/dumps/locations.csv index 956e965..4a32c1e 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -1,4 +1,5 @@ Location,Location Code,API Endpoint +"Clark, Philippines",CRK,https://crk.cloudsigma.com/api/2.0/ "Dublin, Ireland",DUB,https://ec.servecentric.com/api/2.0/ "Frankfurt, Germany",FRA,https://fra.cloudsigma.com/api/2.0/ "Geneva, Switzerland",GVA,https://gva.cloudsigma.com/api/2.0/ From 419e901bf970ec749ac1a8f50dccd91aa95fc188 Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 14 Jan 2021 17:16:39 -0600 Subject: [PATCH 06/72] Removing MIA adding LLA and MNL2 and sorting the list --- dumps/locations.csv | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index 4a32c1e..74828a8 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -3,10 +3,11 @@ Location,Location Code,API Endpoint "Dublin, Ireland",DUB,https://ec.servecentric.com/api/2.0/ "Frankfurt, Germany",FRA,https://fra.cloudsigma.com/api/2.0/ "Geneva, Switzerland",GVA,https://gva.cloudsigma.com/api/2.0/ -"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ -"Miami, United States",MIA,https://mia.cloudsigma.com/api/2.0/ -"Melbourne, Australia",MEL,https://mel.cloudsigma.com/api/2.0/ "Honolulu, United States",HNL,https://hnl.cloudsigma.com/api/2.0/ +"Boden, Sweden",LLA,https://cloud.hydro66.com/api/2.0/ +"Melbourne, Australia",MEL,https://mel.cloudsigma.com/api/2.0/ +"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ +"Manila-2, Philippines",MNL2,https://mnl2.cloudsigma.com/api/2.0/ "Perth, Australia",PER,https://per.cloudsigma.com/api/2.0/ "Riyadh, Saudi Arabia",RUH,https://ruh.cloudsigma.com/api/2.0/ "San Jose, United States",SJC,https://sjc.cloudsigma.com/api/2.0/ From 017d433e7d143e96f70b3b4b4e8c554cc2f16d5a Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 14 Jan 2021 17:17:35 -0600 Subject: [PATCH 07/72] Cleaning new line chars --- dumps/locations.csv | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index 74828a8..ac04f03 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -1,16 +1,16 @@ -Location,Location Code,API Endpoint -"Clark, Philippines",CRK,https://crk.cloudsigma.com/api/2.0/ -"Dublin, Ireland",DUB,https://ec.servecentric.com/api/2.0/ -"Frankfurt, Germany",FRA,https://fra.cloudsigma.com/api/2.0/ -"Geneva, Switzerland",GVA,https://gva.cloudsigma.com/api/2.0/ -"Honolulu, United States",HNL,https://hnl.cloudsigma.com/api/2.0/ -"Boden, Sweden",LLA,https://cloud.hydro66.com/api/2.0/ -"Melbourne, Australia",MEL,https://mel.cloudsigma.com/api/2.0/ -"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ -"Manila-2, Philippines",MNL2,https://mnl2.cloudsigma.com/api/2.0/ -"Perth, Australia",PER,https://per.cloudsigma.com/api/2.0/ -"Riyadh, Saudi Arabia",RUH,https://ruh.cloudsigma.com/api/2.0/ -"San Jose, United States",SJC,https://sjc.cloudsigma.com/api/2.0/ -"Tokyo, Japan",TYO,https://tyo.cloudsigma.com/api/2.0/ -"Washington DC, United States",WDC,https://wdc.cloudsigma.com/api/2.0/ -"Zurich, Switzerland",ZRH,https://zrh.cloudsigma.com/api/2.0/ +Location,Location Code,API Endpoint +"Clark, Philippines",CRK,https://crk.cloudsigma.com/api/2.0/ +"Dublin, Ireland",DUB,https://ec.servecentric.com/api/2.0/ +"Frankfurt, Germany",FRA,https://fra.cloudsigma.com/api/2.0/ +"Geneva, Switzerland",GVA,https://gva.cloudsigma.com/api/2.0/ +"Honolulu, United States",HNL,https://hnl.cloudsigma.com/api/2.0/ +"Boden, Sweden",LLA,https://cloud.hydro66.com/api/2.0/ +"Melbourne, Australia",MEL,https://mel.cloudsigma.com/api/2.0/ +"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ +"Manila-2, Philippines",MNL2,https://mnl2.cloudsigma.com/api/2.0/ +"Perth, Australia",PER,https://per.cloudsigma.com/api/2.0/ +"Riyadh, Saudi Arabia",RUH,https://ruh.cloudsigma.com/api/2.0/ +"San Jose, United States",SJC,https://sjc.cloudsigma.com/api/2.0/ +"Tokyo, Japan",TYO,https://tyo.cloudsigma.com/api/2.0/ +"Washington DC, United States",WDC,https://wdc.cloudsigma.com/api/2.0/ +"Zurich, Switzerland",ZRH,https://zrh.cloudsigma.com/api/2.0/ From 60c2db5a726713d438edfd92728edb52cf7ad681 Mon Sep 17 00:00:00 2001 From: Miguel Trujillo Date: Thu, 14 Jan 2021 17:23:40 -0600 Subject: [PATCH 08/72] Adding CRK, MNL2, LLA and removing MIA from response_locations --- dumps/response_locations | 52 +++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/dumps/response_locations b/dumps/response_locations index b687f91..88adc13 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -5,7 +5,7 @@ Content-Type: application/json; charset=utf-8 "meta":{ "limit":0, "offset":0, - "total_count":13 + "total_count":15 }, "objects":[ { @@ -80,6 +80,18 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.tyo.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.tyo.cloudsigma.com/websocket" }, + { + "alternative_frontend_url":"https://crk.cloudsigma.com/ui/", + "api_endpoint":"https://crk.cloudsigma.com/api/2.0/", + "country_code":"PH", + "default_frontend_signup_url":"https://crk.cloudsigma.com/ui/", + "default_frontend_url":"https://crk.cloudsigma.com/ui/", + "display_name":"Clark, Philippines", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"CRK", + "upload_url":"https://direct.crk.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.crk.cloudsigma.com/websocket" + }, { "alternative_frontend_url":"https://mnl.cloudsigma.com/ui/", "api_endpoint":"https://mnl.cloudsigma.com/api/2.0/", @@ -92,6 +104,18 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.mnl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.mnl.cloudsigma.com/websocket" }, + { + "alternative_frontend_url":"https://mnl2.cloudsigma.com/ui/", + "api_endpoint":"https://mnl2.cloudsigma.com/api/2.0/", + "country_code":"PH", + "default_frontend_signup_url":"https://mnl2.cloudsigma.com/ui/", + "default_frontend_url":"https://mnl2.cloudsigma.com/ui/", + "display_name":"Manila-2, Philippines", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"MNL2", + "upload_url":"https://direct.mnl2.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.mnl2.cloudsigma.com/websocket" + }, { "alternative_frontend_url":"https://ruh.cloudsigma.com/ui/", "api_endpoint":"https://ruh.cloudsigma.com/api/2.0/", @@ -104,6 +128,18 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.ruh.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.ruh.cloudsigma.com/websocket" }, + { + "alternative_frontend_url":"https://cloud.hydro66.com/ui/", + "api_endpoint":"https://cloud.hydro66.com/api/2.0/", + "country_code":"SE", + "default_frontend_signup_url":"https://cloud.hydro66.com/ui/", + "default_frontend_url":"https://cloud.hydro66.com/ui/", + "display_name":"Boden, Sweden", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"LLA", + "upload_url":"https://direct.cloud.hydro66.com/api/2.0/", + "websocket_url":"wss://direct.cloud.hydro66.com/websocket" + }, { "alternative_frontend_url":"https://gva.cloudsigma.com/ui/", "api_endpoint":"https://gva.cloudsigma.com/api/2.0/", @@ -128,18 +164,6 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.hnl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.hnl.cloudsigma.com/websocket" }, - { - "alternative_frontend_url":"https://mia.cloudsigma.com/ui/", - "api_endpoint":"https://mia.cloudsigma.com/api/2.0/", - "country_code":"US", - "default_frontend_signup_url":"https://mia.cloudsigma.com/ui/", - "default_frontend_url":"https://mia.cloudsigma.com/ui/", - "display_name":"Miami, United States", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", - "id":"MIA", - "upload_url":"https://direct.mia.cloudsigma.com/api/2.0/", - "websocket_url":"wss://direct.mia.cloudsigma.com/websocket" - }, { "alternative_frontend_url":"https://sjc.cloudsigma.com/ui/", "api_endpoint":"https://sjc.cloudsigma.com/api/2.0/", @@ -165,4 +189,4 @@ Content-Type: application/json; charset=utf-8 "websocket_url":"wss://direct.wdc.cloudsigma.com/websocket" } ] -} \ No newline at end of file +} From 7d67daa176b009dcd70b24bc5445dc8287a0e012 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 23 Jun 2021 09:26:51 +0300 Subject: [PATCH 09/72] Update copyright year. --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index db7050a..4921d6f 100644 --- a/conf.py +++ b/conf.py @@ -48,7 +48,7 @@ # General information about the project. project = u'CloudSigma API' -copyright = u'2012, CloudSigma' +copyright = u'2021, CloudSigma' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From 22011bbb56c707a847aa426bfb4662c0560a1368 Mon Sep 17 00:00:00 2001 From: Adam Leskis Date: Thu, 29 Jul 2021 20:15:55 +0100 Subject: [PATCH 10/72] fix simple typo --- keypairs.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keypairs.rst b/keypairs.rst index 5edab56..8a5f32f 100644 --- a/keypairs.rst +++ b/keypairs.rst @@ -122,7 +122,7 @@ Creating a keypair with only a public key: .. literalinclude:: dumps/response_pub_key_only_keypair_create :language: javascript -Results in a corresponding ``pubkeys`` object with ``hast_private_key``, which is `false`: +Results in a corresponding ``pubkeys`` object with ``has_private_key``, which is `false`: .. literalinclude:: dumps/request_pubkeys_pub_only_keypair :language: http From 2bf25adaccd30eb59ae50c2934684c1f67965612 Mon Sep 17 00:00:00 2001 From: joshokay <78550681+joshokay@users.noreply.github.com> Date: Thu, 30 Jun 2022 12:32:16 +0300 Subject: [PATCH 11/72] Update Makefile --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 6d57ac1..49399f1 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ # Makefile for Sphinx documentation # +# # You can set these variables from the command line. SPHINXOPTS = From 044f2374fac71d59d6c0294993b9769b010e4150 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 5 Oct 2022 18:13:15 +0330 Subject: [PATCH 12/72] Remove the file fwpolicies.rst. --- fwpolicies.rst | 207 ------------------------------------------------- 1 file changed, 207 deletions(-) delete mode 100644 fwpolicies.rst diff --git a/fwpolicies.rst b/fwpolicies.rst deleted file mode 100644 index 68cd1bb..0000000 --- a/fwpolicies.rst +++ /dev/null @@ -1,207 +0,0 @@ -Firewall Policies -================= - -Allowed HTTP methods --------------------- - -+--------+---------------------+ -| Method | Description | -+========+=====================+ -| GET | get / list object/s | -+--------+---------------------+ - -.. note:: - - See :rfc:`2616#section-9` for more details on HTTP methods semantics - -Listing -------- - -.. http:get:: /fwpolicies/ - - Gets the list of firewall policies to which the authenticated user has access. - - :param fields: A set of field names specifying the returned fields - :statuscode 200: no error - - **Example request**: - - .. literalinclude:: dumps/request_fwpolicy_list - :language: http - - **Example response**: - - .. literalinclude:: dumps/response_fwpolicy_list - :language: javascript - - -Detailed listing ----------------- -.. http:get:: /fwpolicies/detail/ - - Gets a detailed list of firewall policies to which the authenticated user has access. - - :statuscode 200: no error - - **Example request**: - - .. literalinclude:: dumps/request_fwpolicy_list_detail - :language: http - - **Example response**: - - .. literalinclude:: dumps/response_fwpolicy_list_detail - :language: javascript - - -List single policy ------------------- -.. http:get:: /fwpolicies/(uuid:fwpolicy_uuid)/ - -Gets detailed information for firewall policy identified by `fwpolicy_uuid`. - -:statuscode 200: no error - -**Example request**: - -.. literalinclude:: dumps/request_fwpolicy_get - :language: http - - -**Example response**: - - -.. literalinclude:: dumps/response_fwpolicy_get - :language: javascript - -Create ------- -.. http:post:: /fwpolicies/ - - Creates a firewall policy. - - :statuscode 201: no error - - **Example request - minimal**: - - .. literalinclude:: dumps/request_fwpolicy_create_minimal - :language: http - - **Example response - minimal**: - - .. literalinclude:: dumps/response_fwpolicy_create_minimal - :language: javascript - - This is the minimal data required to create a policy. It is blank one ( does not contain any rules ), - but you can use it to attach it to a couple of servers and edit it later to match your needs. - - **Example request - full**: - - .. literalinclude:: dumps/request_fwpolicy_create_full - :language: http - - **Example response - full**: - - .. literalinclude:: dumps/response_fwpolicy_create_full - :language: javascript - - This is a more useful firewall policy. The rules are applied in the order they are stated. - -.. note:: - * The IP and port fields support "!" prefix, which specifies "NOT" ( ex. "!192.168.1.1" ). - * You can specify port ranges with ":" ( ex. "1:1024" or "!1:1024") - * The IP fields support subnet definition using the CIDR notation ( ex. "192.168.1.1/24" ) - -Editing -------- -.. http:put:: /fwpolicies/{uuid}/ - - Update an existing firewall policy - - .. warning:: - Changes are applied every 30 seconds to all running servers with nics that have the policy attached. - - :statuscode 200: no error - - **Example policy**: - .. includejson:: dumps/response_fwpolicy_get - :hide_header: true - - **Update request**: - .. literalinclude:: dumps/request_fwpolicy_update - :language: http - - **Update response**: - .. literalinclude:: dumps/response_fwpolicy_update - :language: javascript - -Delete ------- -.. http:delete:: /fwpolicies/{uuid}/ - - Delete a firewall policy - - .. warning:: - Only policies attached to servers in status **stopped** can be deleted. - - :statuscode 204: no content, object is deleted - - **Example request**: - - .. includejson:: dumps/request_fwpolicy_delete - - **Example response**: - - .. includejson:: dumps/response_fwpolicy_delete - -Attach policy to a server -------------------------- -Attaching a policy is done by specifying the policy *uuid* in the field *firewall_policy* on the server's NIC, using -the :ref:`create ` or :ref:`edit ` server calls - -.. includejson:: dumps/request_fwpolicy_server_attach - :hide_header: true - :accessor: objects.0 - -.. warning:: - Firewall policies are only applied when attached to your server's public network interfaces. - - -.. _firewall_restrictions: - -Default network restrictions ----------------------------- -Depending on your account's current state, the following network restrictions are applied to -the public interfaces of your running servers: - - * **regular** - for *REGULAR* users: - Running servers have limits set on originating broadcast and multicast traffic: - * broadcast - limited to 5 packets/second with burst of 100 - * multicast - limited to 10 packets/second with burst of 100 - - * **no_outgoing_email** - for new *REGULAR* users: - Same as **regular**, but users cannot send emails from running servers. - - * **trial** - for *TRIAL* users: - Applies **regular** restrictions plus running servers cannot open communication - channels to ports 22, 23, 25, 7777, 43594, 43595 and 25565 - - * **guest** - for *GUEST* and *NEW* users: - Applies **regular** restrictions plus running servers can only send ICMP requests, - request a DHCP IP, query a DNS server and send requests to TCP port 80 and 443 ( usually HTTP and HTTPS ) - - -Please contact support if any of these restrictions breaks your workflow. -You can check your effective network restrictions via -the **network_restrictions** field on the :ref:`user profile ` - -.. note:: - When converting from one user type to another, restrictions are automatically adjusted - no need to - powercycle your running servers. - - -Schema ------- - - .. literalinclude:: dumps/response_fwpolicy_schema - :language: javascript From 2c1c018f15ffe87787c0267644828580588989c4 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 7 Nov 2022 18:11:25 +0330 Subject: [PATCH 13/72] Add the algorithm types for the Keypairs section. --- dumps/request_autogen_keypair_create | 3 ++- keypairs.rst | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dumps/request_autogen_keypair_create b/dumps/request_autogen_keypair_create index 50bb676..2674f34 100644 --- a/dumps/request_autogen_keypair_create +++ b/dumps/request_autogen_keypair_create @@ -5,7 +5,8 @@ Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZ { "objects": [ { - "name": "test_name" + "name": "test_name", + "algorithm_type": "rsa" # or "ed25519" } ] } diff --git a/keypairs.rst b/keypairs.rst index 8a5f32f..4b4fcf8 100644 --- a/keypairs.rst +++ b/keypairs.rst @@ -14,6 +14,8 @@ read-only version of the ``keypairs`` resource. The ``pubkeys`` objects are iden fact that they do not contain the private key, and have a ``has_private_key`` attribute instead of ``private_key``, which indicates whether the private key was set. +We currently support two types of SSH Keys: RSA and ed25519. + Creating a keypair ------------------ @@ -25,6 +27,8 @@ You have three choices when creating a keypair: * Provide only a public key, in which case the private key will remain empty * Provide no public, neither private key, in which case a new pair will be generated for you +For the 3rd choice, you need to also define the "algorithm_type" for generating the key. + Here is an example of providing both pairs: .. literalinclude:: dumps/request_self_gen_keypair_create @@ -41,7 +45,8 @@ Here is an example of providing only a public key: .. literalinclude:: dumps/response_pub_key_only_keypair_create :language: javascript -Here is an example of creating an autogenerated pair: +Here is an example of creating an autogenerated pair, for which you need to also specify the algorithm type. +The choices for the algorithm_type can be one of the "rsa" or "ed25519" types. .. literalinclude:: dumps/request_autogen_keypair_create :language: http From 8a7fe73330e6c482511eb89c2eef0b3b476e18d6 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 7 Nov 2022 18:23:24 +0330 Subject: [PATCH 14/72] Add the maximum size for the RSA key pairs. --- keypairs.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keypairs.rst b/keypairs.rst index 4b4fcf8..f220089 100644 --- a/keypairs.rst +++ b/keypairs.rst @@ -15,6 +15,7 @@ fact that they do not contain the private key, and have a ``has_private_key`` at which indicates whether the private key was set. We currently support two types of SSH Keys: RSA and ed25519. +The maximum size for the RSA keys is 4096 bits. Creating a keypair ------------------ @@ -47,6 +48,7 @@ Here is an example of providing only a public key: Here is an example of creating an autogenerated pair, for which you need to also specify the algorithm type. The choices for the algorithm_type can be one of the "rsa" or "ed25519" types. +The maximum size for the RSA keys is 4096 bits. .. literalinclude:: dumps/request_autogen_keypair_create :language: http From 158d4f7276a8bd9bd332081d769fcda247253102 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 16 Feb 2023 12:22:19 +0200 Subject: [PATCH 15/72] Add changelogs for Chlorine-17.2302. --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 8dec8bd..ad01c1e 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,17 @@ Release Notes ============= +Chlorine-17.2302 Release +--------------- + +**Date Released:** 2023-02-16 + +* Password Reset Link requests now expires after one 24 hours. +* Fixed an issue related to notification text when an account has no saved credit card. +* Fixed an issue related to the error message "incorrect email", when a customer already activated a Guest session from the same IP. +* A number of other Bug Fixes & minor UI Improvements + + Silicon Release --------------- From 5ec117a54f422e6bf34a79bd7010792753ce8a5e Mon Sep 17 00:00:00 2001 From: CS-Stoyan <101558193+varlyakov@users.noreply.github.com> Date: Fri, 17 Feb 2023 17:00:28 +0200 Subject: [PATCH 16/72] Update release_notes.rst --- release_notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release_notes.rst b/release_notes.rst index ad01c1e..a43e967 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -6,7 +6,7 @@ Chlorine-17.2302 Release **Date Released:** 2023-02-16 -* Password Reset Link requests now expires after one 24 hours. +* Password Reset Link requests now expires after 24 hours. * Fixed an issue related to notification text when an account has no saved credit card. * Fixed an issue related to the error message "incorrect email", when a customer already activated a Guest session from the same IP. * A number of other Bug Fixes & minor UI Improvements From 2bc1388820ffdf075f849587b2a076112e6e1e08 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Fri, 17 Mar 2023 11:35:14 +0200 Subject: [PATCH 17/72] Add release notes for the Chlorine-17.2303 version. --- release_notes.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index a43e967..dcb8823 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,19 @@ Release Notes ============= +Chlorine-17.2303 Release +--------------- + +**Date Released:** 2023-03-16 + +* A new notification is introduced, for the rare condition when a Virtual Machine is terminated because of resource exhaustion (memory). +* SSH keys will now be synced to the PAAS service. +* A name adjustment for our UK, London location +* A new notifications is introduced, which will send a digest with all subscriptions and notifications on the first day of each month. +* A new storage type is introduced to our infrastructure - NVMe +* A number of other Bug Fixes & minor UI Improvements + + Chlorine-17.2302 Release --------------- From 9d917fd4d5fde626bd5dde6b5208f852b0433201 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 29 Mar 2023 12:00:32 +0300 Subject: [PATCH 18/72] Temporarily remove two new features as we found small bugs in them. --- release_notes.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/release_notes.rst b/release_notes.rst index dcb8823..8ef5a59 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -6,10 +6,8 @@ Chlorine-17.2303 Release **Date Released:** 2023-03-16 -* A new notification is introduced, for the rare condition when a Virtual Machine is terminated because of resource exhaustion (memory). -* SSH keys will now be synced to the PAAS service. * A name adjustment for our UK, London location -* A new notifications is introduced, which will send a digest with all subscriptions and notifications on the first day of each month. +* A new notification is introduced, which will send a digest with all subscriptions and notifications on the first day of each month. * A new storage type is introduced to our infrastructure - NVMe * A number of other Bug Fixes & minor UI Improvements From e6104865238fb088103628409475c477e7e14292 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 20 Apr 2023 15:36:28 +0300 Subject: [PATCH 19/72] Add release notes for Chlorine-17.2304. --- release_notes.rst | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/release_notes.rst b/release_notes.rst index 8ef5a59..bb3dc26 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,15 +1,27 @@ Release Notes ============= +Chlorine-17.2304 Release +--------------- + +**Date Released:** 2023-04-11 + +* We enabled a new SSH Key type (ED25519) as an option for new VM creation and new SSH key creation. +* We are improving the SQL server experience. After a SQL Server subscription has expired, the resource will continue to operate on burst pricing, instead of stopping abruptly. +* A new notification type for SQL Server bursting is introduced. +* An issue regarding metadata was resolved (SSH keys remain in Metadata after deletion). +* A number of other Bug Fixes & minor UI Improvements. + + Chlorine-17.2303 Release --------------- **Date Released:** 2023-03-16 -* A name adjustment for our UK, London location +* A name adjustment for our UK, London location. * A new notification is introduced, which will send a digest with all subscriptions and notifications on the first day of each month. -* A new storage type is introduced to our infrastructure - NVMe -* A number of other Bug Fixes & minor UI Improvements +* A new storage type is introduced to our infrastructure - NVMe. +* A number of other Bug Fixes & minor UI Improvements. Chlorine-17.2302 Release @@ -20,7 +32,7 @@ Chlorine-17.2302 Release * Password Reset Link requests now expires after 24 hours. * Fixed an issue related to notification text when an account has no saved credit card. * Fixed an issue related to the error message "incorrect email", when a customer already activated a Guest session from the same IP. -* A number of other Bug Fixes & minor UI Improvements +* A number of other Bug Fixes & minor UI Improvements. Silicon Release From 219ff22f538ab0d891beedb4dd50fdd810bb53b7 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 2 May 2023 18:15:27 +0300 Subject: [PATCH 20/72] Add the storage_type request/response to the Drive creation section. --- drives.rst | 17 ++++++++++++- dumps/request_drive_storage_type | 13 ++++++++++ dumps/response_drive_storage_type | 40 +++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 dumps/request_drive_storage_type create mode 100644 dumps/response_drive_storage_type diff --git a/drives.rst b/drives.rst index 5bbe86d..93ad39b 100644 --- a/drives.rst +++ b/drives.rst @@ -103,11 +103,26 @@ Creating **Example request**: - Create a drive + Create a drive: .. includejson:: dumps/request_drive_create_bulk :accessor: objects.0 + You can also pass the **storage type**: + + .. includejson:: dumps/request_drive_storage_type + + .. includejson:: dumps/request_drive_storage_type + :accessor: objects.0 + + **Example response** + + .. literalinclude:: dumps/response_drive_storage_type + :language: javascript + + Please note that in some cases when NVMe storage is not provided in the locations you might get the following error: + *We currently cannot provide enough resources to create a nvme drive* + or create multiple drives .. includejson:: dumps/request_drive_create_bulk diff --git a/dumps/request_drive_storage_type b/dumps/request_drive_storage_type new file mode 100644 index 0000000..0692706 --- /dev/null +++ b/dumps/request_drive_storage_type @@ -0,0 +1,13 @@ +POST /api/2.0/drives/ HTTP/1.1 +Content-Type: application/json +Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop + +{ + "objects": [ + { + "media": "disk", + "name": "test_nvme_drive", + "size": 1073741824, + "storage_type": "nvme" + } +} diff --git a/dumps/response_drive_storage_type b/dumps/response_drive_storage_type new file mode 100644 index 0000000..241de08 --- /dev/null +++ b/dumps/response_drive_storage_type @@ -0,0 +1,40 @@ +HTTP/1.1 201 CREATED +Content-Type: application/json; charset=utf-8 + +{ + "objects": [ + { + "affinities": [], + "allow_multimount": false, + "backup_scheduler": null, + "grantees": [], + "iops": null, + "jobs": [], + "licenses": [], + "media": "disk", + "meta": { + "description": "" + }, + "mounted_on": [], + "name": "test_nvme_drive", + "owner": { + "resource_uri": "/api/2.0/user/e2e634af-d326-4130-a6c4-b1cb267e646f/", + "uuid": "e2e634af-d326-4130-a6c4-b1cb267e646f" + }, + "permissions": [], + "remote_snapshots": [], + "resource_uri": "/api/2.0/drives/0840ecd2-46b3-40c7-249d-02a4024a350e/", + "runtime": { + "is_snapshotable": true, + "snapshots_allocated_size": 0, + "storage_type": "nvme" + }, + "size": 1073741824, + "snapshots": [], + "status": "creating", + "storage_type": "nvme", + "tags": [], + "uuid": "0840ecd2-46b3-40c7-249d-02a4024a350e" + } + ] +} From 7766155924ea6f9e44c4693e2613dbf0cf66202b Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 2 May 2023 18:41:10 +0300 Subject: [PATCH 21/72] Add descriptions about NVMe to the Storage Type section. --- drives.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drives.rst b/drives.rst index 93ad39b..3dca068 100644 --- a/drives.rst +++ b/drives.rst @@ -345,6 +345,14 @@ Currently the following storage types are available: .. versionadded:: Neon +``nvme`` + The UI name for nvme is "NVMe". NVMe (nonvolatile memory express) is a new storage access and transport protocol + for flash and next-generation solid-state drives (SSDs) that delivers the highest throughput and fastest response times + yet for all types of enterprise workloads. + + .. versionadded:: Chlorine + + Creating ~~~~~~~~ From 0a3fffb0ff970a0ddf968624c70cb59186cb63f0 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 9 May 2023 15:11:30 +0300 Subject: [PATCH 22/72] Add information about the new CWL location. --- dumps/response_locations | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dumps/response_locations b/dumps/response_locations index 27933c8..d06f011 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -187,6 +187,18 @@ Content-Type: application/json; charset=utf-8 "id":"WDC", "upload_url":"https://direct.wdc.alpha3cloud.com/api/2.0/", "websocket_url":"wss://direct.wdc.alpha3cloud.com/websocket" + }, + { + "alternative_frontend_url":"https://cwl.cloudsigma.com/ui/", + "api_endpoint":"https://cwl.cloudsigma.com/api/2.0/", + "country_code":"GB", + "default_frontend_signup_url":"https://cwl.cloudsigma.com/ui/", + "default_frontend_url":"https://cwl.cloudsigma.com/ui/", + "display_name":"Newport, Wales", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"CWL", + "upload_url":"https://direct.cwl.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.cwl.cloudsigma.com/websocket" } ] } From e6e972f234ecb60d60537d8dec09b83a4366e389 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 9 May 2023 18:28:40 +0300 Subject: [PATCH 23/72] Change the version of the documents to 2023. --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 9ff2f52..22f1e10 100644 --- a/conf.py +++ b/conf.py @@ -49,7 +49,7 @@ # General information about the project. project = u'CloudSigma API' -copyright = u'2022, CloudSigma' +copyright = u'2023, CloudSigma' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From 11afb922b91cd366dc73523dd11e223fb71e23db Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 10 May 2023 11:39:56 +0300 Subject: [PATCH 24/72] Change the urllib3 version as a requirement for the ReadTheDocs build tools. --- conf.py | 198 +---------------------------------------------- requirements.txt | 1 + 2 files changed, 3 insertions(+), 196 deletions(-) diff --git a/conf.py b/conf.py index 22f1e10..0747374 100644 --- a/conf.py +++ b/conf.py @@ -1,31 +1,7 @@ -# -*- coding: utf-8 -*- -# -# CloudSigma API ver. 2.0 documentation build configuration file, created by -# sphinx-quickstart on Tue Mar 13 11:16:34 2012. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# https://www.sphinx-doc.org/en/master/usage/configuration.html import sys, os -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. - EXAMPLE_SNIPPETS_DUMP_PATH = os.getenv('EXAMPLE_SNIPPETS_DUMP_PATH', '~/.turlo/dumps/') if os.path.exists(os.path.expanduser(EXAMPLE_SNIPPETS_DUMP_PATH)) and not os.path.exists(os.path.join(os.path.dirname(__file__), 'dumps')): @@ -34,217 +10,47 @@ extensions = ['sphinxcontrib.httpdomain', 'sphinx.ext.viewcode', 'sphinxcontrib.programoutput', 'include_json'] -# Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -# The suffix of source filenames. source_suffix = '.rst' -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. master_doc = 'index' -# General information about the project. project = u'CloudSigma API' copyright = u'2023, CloudSigma' -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. version = '2.0' -# The full version, including alpha/beta/rc tags. release = 'v2' -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. exclude_patterns = ['_build'] -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. html_theme = 'default' -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. html_last_updated_fmt = '%b %d, %Y' -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. html_show_sphinx = False -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. htmlhelp_basename = 'CloudSigmaAPIver20doc' +latex_elements = {} -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ('index', 'CloudSigmaAPIver20.tex', u'CloudSigma API ver. 2.0 Documentation', u'CloudSigma', 'manual'), ] -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). man_pages = [ ('index', 'cloudsigmaapiver20', u'CloudSigma API ver. 2.0 Documentation', [u'CloudSigma'], 1) ] -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) texinfo_documents = [ ('index', 'CloudSigmaAPIver20', u'CloudSigma API ver. 2.0 Documentation', u'CloudSigma', 'CloudSigmaAPIver20', 'One line description of project.', 'Miscellaneous'), ] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' diff --git a/requirements.txt b/requirements.txt index 0ab6aa3..6a0d6ad 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ sphinxcontrib-httpdomain==1.7.0 sphinxcontrib-programoutput==0.14 simplejson +urllib3==2.0.1 From c61daa6fabbf1a851eb7d4fe250f7f64b562d4d4 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 10 May 2023 12:10:47 +0300 Subject: [PATCH 25/72] Change the requests package version as a requirement for the ReadTheDocs build tools. --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6a0d6ad..21f40e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ sphinxcontrib-httpdomain==1.7.0 sphinxcontrib-programoutput==0.14 simplejson -urllib3==2.0.1 +urllib3==1.26.15 +requests==2.29.0 From dc37f1cf8e59dabd16256c0ddde8cad53d9b78cd Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 10 May 2023 13:06:49 +0300 Subject: [PATCH 26/72] Add the release notes for Chlorine-17.2305. --- release_notes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index bb3dc26..bfb432f 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,18 @@ Release Notes ============= +Chlorine-17.2305 Release +--------------- + +**Date Released:** 2023-05-10 + +* We are proud to announce that our cloud is growing with another new location, CWL - "Newport, Wales". +* We have tweaked the subject of our email notifications to be more informational by including the cloud location 3-letter code. +* We changed the API call to create drives, if no drive type is specified, we will take a default input as defined per cloud location. +* We did a lot of under-the-hood work, to make your cloud computing experience seamless. +* A number of other Bug Fixes & minor UI Improvements. + + Chlorine-17.2304 Release --------------- From 23cc01ef7a1fab75b00b3ab10150c06714bf5f81 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 27 Jun 2023 16:24:07 +0300 Subject: [PATCH 27/72] Add release notes for the version 17.2306. --- release_notes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index bfb432f..edcd815 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,18 @@ Release Notes ============= +Chlorine-17.2306 Release +--------------- + +**Date Released:** 2023-06-15 + +* This month's release mainly focuses on making our platform shinier behind the scenes. While nothing major to report, we have a few things to note. +* We've improved an out-of-memory notification event. +* We improved the invoice generation capabilities that were having a hiccup with some languages. +* We added support for our new soon-to-be-announced location under the hood. +* A number of other Bug Fixes & minor UI Improvements. + + Chlorine-17.2305 Release --------------- From fa3560fe15c26f6df21b0833b3f3b79ef2ac4dd8 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 19 Jul 2023 11:18:32 +0300 Subject: [PATCH 28/72] Add release notes for the version 17.2307. --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index edcd815..b674e50 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,17 @@ Release Notes ============= +Chlorine-17.2307 Release +--------------- + +**Date Released:** 2023-07-19 + +* We fixed a minor issue regarding drive resizing by the grantee when a drive is shared with them. +* We've fixed a rarely occurring issue related to our scheduler for migrations. +* Some of our clouds are receiving better stability when operating with GPUs in pass-through mode. +* We are making further improvements under the hood so that our next-gen UI can bring your beloved cloud experience. + + Chlorine-17.2306 Release --------------- From 703d97cecea12c6a29aca72fd2b5304c941e3fad Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 28 Aug 2023 12:00:23 +0300 Subject: [PATCH 29/72] Add release notes for the version Chlorine-17.2308 --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index b674e50..1073780 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,17 @@ Release Notes ============= +Chlorine-17.2308 Release +--------------- + +**Date Released:** 2023-08-15 + +* We fixed an issue that prevented our system from sending automated monthly transactions and subscription reports. Your highly valuable report is back in action now! +* We've disabled the account country change per API call. If you need to change your country, please contact our support department. +* We've improved payment method creation logic, so your payment experience is better and our bank account - is happier! +* And many others, which are not-so-interesting. + + Chlorine-17.2307 Release --------------- From e70b96934cf6fa1799a3c514d384a62ae241a31b Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 28 Aug 2023 13:25:35 +0300 Subject: [PATCH 30/72] Add the readthedocs.yaml configurations for building the docs --- .readthedocs.yaml | 13 +++++++++++++ conf.py | 15 ++++++++++++++- requirements.txt | 1 + 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..93bf047 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,13 @@ +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +sphinx: + configuration: conf.py + +python: + install: + - requirements: requirements.txt diff --git a/conf.py b/conf.py index 0747374..35d8c39 100644 --- a/conf.py +++ b/conf.py @@ -27,7 +27,7 @@ pygments_style = 'sphinx' -html_theme = 'default' +html_theme = 'sphinx_rtd_theme' html_static_path = ['_static'] @@ -54,3 +54,16 @@ u'CloudSigma', 'CloudSigmaAPIver20', 'One line description of project.', 'Miscellaneous'), ] + +html_theme_options = { + 'display_version': True, + 'prev_next_buttons_location': 'bottom', + 'style_external_links': False, + 'vcs_pageview_mode': '', + 'style_nav_header_background': 'green', + 'collapse_navigation': True, + 'sticky_navigation': True, + 'navigation_depth': 4, + 'includehidden': True, + 'titles_only': False +} diff --git a/requirements.txt b/requirements.txt index 21f40e1..8671ac5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ sphinxcontrib-programoutput==0.14 simplejson urllib3==1.26.15 requests==2.29.0 +sphinx-rtd-theme From 60be80f80a7cc5fbccaacc13ecc062611fa30f2f Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 28 Aug 2023 17:24:52 +0300 Subject: [PATCH 31/72] Add CWL to General Notes and remove MNL. --- dumps/locations.csv | 2 +- dumps/response_locations | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index 6423f62..7f4f472 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -5,7 +5,6 @@ Location,Location Code,API Endpoint "Switzerland, Geneva",GVA,https://gva.cloudsigma.com/api/2.0/ "United States, Honolulu",HNL,https://hnl.cloudsigma.com/api/2.0/ "UK, London",LON, https://lon.cloudsigma.com/api/2.0/ -"Philippines, Manila",MNL,https://mnl.cloudsigma.com/api/2.0/ "Philippines, Manila-2",MNL2,https://mnl2.cloudsigma.com/api/2.0/ "Australia, Perth",PER,https://per.cloudsigma.com/api/2.0/ "Saudi Arabia, Riyadh",RUH,https://ruh.cloudsigma.com/api/2.0/ @@ -13,3 +12,4 @@ Location,Location Code,API Endpoint "Japan, Tokyo",TYO,https://tyo.cloudsigma.com/api/2.0/ "United States, Washington DC",WDC,https://wdc.alpha3cloud.com/api/2.0/ "Switzerland, Zurich",ZRH,https://zrh.cloudsigma.com/api/2.0/ +"UK, Cardiff",CWL,https://cwl.cloudsigma.com/api/2.0/ diff --git a/dumps/response_locations b/dumps/response_locations index d06f011..ab07d93 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -92,18 +92,6 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.crk.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.crk.cloudsigma.com/websocket" }, - { - "alternative_frontend_url":"https://mnl.cloudsigma.com/ui/", - "api_endpoint":"https://mnl.cloudsigma.com/api/2.0/", - "country_code":"PH", - "default_frontend_signup_url":"https://mnl.cloudsigma.com/ui/", - "default_frontend_url":"https://mnl.cloudsigma.com/ui/", - "display_name":"Manila, Philippines", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", - "id":"MNL", - "upload_url":"https://direct.mnl.cloudsigma.com/api/2.0/", - "websocket_url":"wss://direct.mnl.cloudsigma.com/websocket" - }, { "alternative_frontend_url":"https://mnl2.cloudsigma.com/ui/", "api_endpoint":"https://mnl2.cloudsigma.com/api/2.0/", From 97d0a162fe14ceacbb96a0cbcb310e271bf6d464 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 13 Sep 2023 18:10:26 +0300 Subject: [PATCH 32/72] Add information about the remote snapshots to the documentation. --- .readthedocs.yaml | 4 +++ backup_schedulers.rst | 13 +++++--- drives.rst | 2 +- index.rst | 7 ++--- release_notes.rst | 14 ++++----- remote_snapshots.rst | 73 ++++++++++++++++++++++++++----------------- snapshots.rst | 4 +-- 7 files changed, 69 insertions(+), 48 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 93bf047..9741d1b 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,6 +8,10 @@ build: sphinx: configuration: conf.py +formats: + - pdf + - epub + python: install: - requirements: requirements.txt diff --git a/backup_schedulers.rst b/backup_schedulers.rst index fdbc093..df282ec 100644 --- a/backup_schedulers.rst +++ b/backup_schedulers.rst @@ -13,6 +13,9 @@ There are three different types of schedulers: * migration * backup +.. note:: + + This document is related to backup schedulers only. Allowed HTTP methods -------------------- @@ -86,7 +89,7 @@ Detailed listing Gets the detailed list of backup schedulers with additional information to which the authenticated user has access. - + :statuscode 200: no error @@ -202,7 +205,7 @@ Single backup scheduler **Example response**: - + .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_delete :language: javascript @@ -211,7 +214,7 @@ Deletes multiple backup schedulers .. http:delete:: /backupschedulers/ - Deletes multiple backup schedulers specified by their UUID's. + Deletes multiple backup schedulers specified by their UUIDs. :statuscode 204: No content, object deletion started. @@ -237,9 +240,9 @@ Deletes multiple backup schedulers **Example response**: - + .. sourcecode:: http - + HTTP/1.0 204 NO CONTENT Set scheduler to a drive diff --git a/drives.rst b/drives.rst index 3dca068..1ed16f9 100644 --- a/drives.rst +++ b/drives.rst @@ -222,7 +222,7 @@ Multiple drives .. http:delete:: /drives/ - Deletes multiple mounted or unmounted drives specified by their UUID's. + Deletes multiple mounted or unmounted drives specified by their UUIDs. :statuscode 204: No content, object deletion started. diff --git a/index.rst b/index.rst index dd7acc2..5c7fa09 100644 --- a/index.rst +++ b/index.rst @@ -8,7 +8,7 @@ Welcome to CloudSigma API documentation! .. toctree:: :maxdepth: 2 - + release_notes general locations @@ -16,9 +16,10 @@ Welcome to CloudSigma API documentation! errors capabilities clone_naming - + drives snapshots + remote_snapshots libdrives upload_download servers_vmware @@ -29,7 +30,6 @@ Welcome to CloudSigma API documentation! server_context network_interfaces networking - fwpolicies tags acls @@ -53,4 +53,3 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` - diff --git a/release_notes.rst b/release_notes.rst index 1073780..f8de862 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -2,7 +2,7 @@ Release Notes ============= Chlorine-17.2308 Release ---------------- +------------------------ **Date Released:** 2023-08-15 @@ -13,7 +13,7 @@ Chlorine-17.2308 Release Chlorine-17.2307 Release ---------------- +------------------------ **Date Released:** 2023-07-19 @@ -24,7 +24,7 @@ Chlorine-17.2307 Release Chlorine-17.2306 Release ---------------- +------------------------ **Date Released:** 2023-06-15 @@ -36,7 +36,7 @@ Chlorine-17.2306 Release Chlorine-17.2305 Release ---------------- +------------------------ **Date Released:** 2023-05-10 @@ -48,7 +48,7 @@ Chlorine-17.2305 Release Chlorine-17.2304 Release ---------------- +------------------------ **Date Released:** 2023-04-11 @@ -60,7 +60,7 @@ Chlorine-17.2304 Release Chlorine-17.2303 Release ---------------- +------------------------ **Date Released:** 2023-03-16 @@ -71,7 +71,7 @@ Chlorine-17.2303 Release Chlorine-17.2302 Release ---------------- +------------------------ **Date Released:** 2023-02-16 diff --git a/remote_snapshots.rst b/remote_snapshots.rst index 6c754bd..2de0b37 100644 --- a/remote_snapshots.rst +++ b/remote_snapshots.rst @@ -2,18 +2,28 @@ Remote Snapshots ================ Remote snapshots are point-in-time versions of a drive. They can be -:ref:`cloned ` to a full drive, which +:ref:`cloned ` to a full drive, which makes it possible to restore an older version of a VM image. +Remote snapshots are our backup solution. If the drive gets deleted and +the remote snapshot is created, the remote snapshot won't disappear. +All remote snapshots (backups) of deleted drives can be found in the +UI -> Storage -> Backups. +But the remote snapshots of active drives can be found at the +Storage -> Drives -> A drive in detailed view -> Backups section. + Remote snapshots are billed based on their occupied size. Since only the differences from the current drive image are stored, a single remote snapshot's size will be equal to the size of the data which has changed since the remote snapshot has taken. If no data has changed, the remote snapshot's size will be zero. -Note that remote snapshots are billed as ``storage``, so storage subscriptions +Note that remote snapshots are billed as ``backup``, so backup subscriptions should be bought in order not to burst on remote snapshots usage. +We have remote snapshots in the following locations: +``GVA, ZRH, FRA, CWL, LON, and DUB`` + Allowed HTTP methods -------------------- @@ -46,12 +56,12 @@ Listing **Example request - default list**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_list + .. literalinclude:: dumps/request_snapshot_list :language: http **Example response - default list**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_list + .. literalinclude:: dumps/response_snapshot_list :language: javascript Detailed listing @@ -67,13 +77,13 @@ Detailed listing **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_list_detail + .. literalinclude:: dumps/request_snapshot_list_detail :language: http **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_list_detail + .. literalinclude:: dumps/response_snapshot_list_detail :language: javascript List single remote snapshot @@ -89,38 +99,41 @@ List single remote snapshot **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_get + .. literalinclude:: dumps/request_snapshot_get :language: http **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_get + .. literalinclude:: dumps/response_snapshot_get :language: javascript Creating -------- +Please note that you cannot create more than one remote snapshot of a drive within 30 minutes. +And also you cannot create a second remote snapshot of a drive when the previous one is in ``transferring`` or ``creating`` state. .. http:post:: /remotesnapshots/ - Creates a new snapshot or multiple snapshots. + Creates a new remote snapshot. :statuscode 201: object created **Example request**: - Create a snapshot + Create a remote snapshot - .. includejson:: dumps/remote_snapshots/request_snapshot_create + .. includejson:: dumps/request_snapshot_create :accessor: objects.0 **Example response** - .. literalinclude:: dumps/remote_snapshots/response_snapshot_create + .. literalinclude:: dumps/response_snapshot_create :language: javascript Editing ------- +Please note that you cannot edit a remote snapshot when the state is ``transferring`` or ``creating``. .. http:put:: /remotesnapshots/{uuid}/ @@ -130,12 +143,12 @@ Editing **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_edit + .. literalinclude:: dumps/request_snapshot_edit :language: http **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_edit + .. literalinclude:: dumps/response_snapshot_edit :language: javascript Metadata @@ -147,9 +160,10 @@ See Deleting -------- +Please note that you cannot delete a remote snapshot when the state is ``transferring`` or ``creating``. -Single snapshot -~~~~~~~~~~~~~~~ +Single Remote snapshot +~~~~~~~~~~~~~~~~~~~~~~ .. http:delete:: /remotesnapshots/{uuid}/ @@ -159,21 +173,21 @@ Single snapshot **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_delete + .. literalinclude:: dumps/request_snapshot_delete :language: http **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_delete + .. literalinclude:: dumps/response_snapshot_delete :language: javascript -Multiple snapshots -~~~~~~~~~~~~~~~~~~ +Multiple remote snapshots +~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:delete:: /remotesnapshots/ - Deletes multiple mounted or unmounted remote snapshots specified by their UUID's. + Deletes multiple remote snapshots specified by their UUIDs. :statuscode 204: No content, object deletion started. @@ -205,10 +219,11 @@ Multiple snapshots HTTP/1.0 204 NO CONTENT -.. _snapshot_cloning: +.. _remote_snapshot_cloning: Cloning ------- +Please note that you cannot clone (promote to a full drive) a remote snapshot when the state is ``transferring`` or ``creating``. .. http:post:: /remotesnapshots/{uuid}/action/?do=clone @@ -219,13 +234,13 @@ Cloning **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_clone + .. literalinclude:: dumps/request_snapshot_clone :language: http **Example response**: The response is actually a drive definition. - .. literalinclude:: dumps/remote_snapshots/response_snapshot_clone + .. literalinclude:: dumps/response_snapshot_clone :language: javascript .. note:: @@ -247,12 +262,12 @@ You can apply a drive filter to remote snapshots. **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshot_list_for_drive + .. literalinclude:: dumps/request_snapshot_list_for_drive :language: javascript **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshot_list_for_drive + .. literalinclude:: dumps/response_snapshot_list_for_drive :language: javascript In drive definition @@ -265,12 +280,12 @@ In the detailed drive definition there is a "remote_snapshots" field. **Example request**: - .. literalinclude:: dumps/remote_snapshots/request_snapshots_in_drive_def + .. literalinclude:: dumps/request_snapshots_in_drive_def :language: javascript **Example response**: - .. literalinclude:: dumps/remote_snapshots/response_snapshots_in_drive_def + .. literalinclude:: dumps/response_snapshots_in_drive_def :language: javascript Request schema @@ -297,6 +312,6 @@ Request schema Schema ------ - .. literalinclude:: dumps/remote_snapshots/response_snapshot_schema + .. literalinclude:: dumps/response_snapshot_schema :language: javascript diff --git a/snapshots.rst b/snapshots.rst index 3b33993..f4b4782 100644 --- a/snapshots.rst +++ b/snapshots.rst @@ -98,7 +98,7 @@ Creating .. http:post:: /snapshots/ - Creates a new snapshot or multiple snapshots. + Creates a new snapshot. :statuscode 201: object created @@ -166,7 +166,7 @@ Multiple snapshots .. http:delete:: /snapshots/ - Deletes multiple mounted or unmounted snapshots specified by their UUID's. + Deletes multiple snapshots specified by their UUIDs. :statuscode 204: No content, object deletion started. From dbc0bb1ac7eaaf1a619f7c0674b7a5c95373a9cc Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 13 Sep 2023 18:31:38 +0300 Subject: [PATCH 33/72] Add the release notes for Chlorine-17.2309 --- release_notes.rst | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/release_notes.rst b/release_notes.rst index f8de862..2844f8a 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,8 +1,22 @@ Release Notes ============= -Chlorine-17.2308 Release ------------------------- +Chlorine Release +---------------- + +Chlorine-17.2309 +~~~~~~~~~~~~~~~~ + +**Date Released:** 2023-09-11 + +* We're adding lots of features under the hood that will be available in our WebUI soon. +* We're enabling support for zones in different data centers and the capability to create remote snapshots in multiple clusters as well. +* We're also making account inactivity settings configurable, which will make it to our shiny new WebApp anytime soon. +* And other bugs and improvements (13 to be precise). + + +Chlorine-17.2308 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-08-15 @@ -12,8 +26,8 @@ Chlorine-17.2308 Release * And many others, which are not-so-interesting. -Chlorine-17.2307 Release ------------------------- +Chlorine-17.2307 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-07-19 @@ -23,8 +37,8 @@ Chlorine-17.2307 Release * We are making further improvements under the hood so that our next-gen UI can bring your beloved cloud experience. -Chlorine-17.2306 Release ------------------------- +Chlorine-17.2306 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-06-15 @@ -35,8 +49,8 @@ Chlorine-17.2306 Release * A number of other Bug Fixes & minor UI Improvements. -Chlorine-17.2305 Release ------------------------- +Chlorine-17.2305 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-05-10 @@ -47,8 +61,8 @@ Chlorine-17.2305 Release * A number of other Bug Fixes & minor UI Improvements. -Chlorine-17.2304 Release ------------------------- +Chlorine-17.2304 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-04-11 @@ -59,8 +73,8 @@ Chlorine-17.2304 Release * A number of other Bug Fixes & minor UI Improvements. -Chlorine-17.2303 Release ------------------------- +Chlorine-17.2303 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-03-16 @@ -70,8 +84,8 @@ Chlorine-17.2303 Release * A number of other Bug Fixes & minor UI Improvements. -Chlorine-17.2302 Release ------------------------- +Chlorine-17.2302 +~~~~~~~~~~~~~~~~ **Date Released:** 2023-02-16 From 804a5d72cf8b8cd367e2fb058b8fcfcddad46bd2 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 10 Oct 2023 17:19:29 +0300 Subject: [PATCH 34/72] Add the release notes for the Chlorine-17.2310 --- release_notes.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 2844f8a..fcae4bb 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,16 @@ Release Notes Chlorine Release ---------------- +Chlorine-17.2310 +~~~~~~~~~~~~~~~~ + +**Date Released:** 2023-10-12 + +* This month we're working on making our product more stable and robust. +* We've introduced a number of improvements under the hood, 9 to be precise. +* It behaves the exact same way as before, just better. + + Chlorine-17.2309 ~~~~~~~~~~~~~~~~ From ed485858fc493d4189295d56fc72f362f05be128 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 15 Nov 2023 17:24:02 +0200 Subject: [PATCH 35/72] Add location details for MNL and BOM. --- dumps/locations.csv | 2 ++ dumps/response_locations | 38 +++++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index 7f4f472..30be0d4 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -13,3 +13,5 @@ Location,Location Code,API Endpoint "United States, Washington DC",WDC,https://wdc.alpha3cloud.com/api/2.0/ "Switzerland, Zurich",ZRH,https://zrh.cloudsigma.com/api/2.0/ "UK, Cardiff",CWL,https://cwl.cloudsigma.com/api/2.0/ +"Mumbai, India",BOM,https://bom.cloudsigma.com/api/2.0/ +"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ diff --git a/dumps/response_locations b/dumps/response_locations index ab07d93..3dfd305 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -5,7 +5,7 @@ Content-Type: application/json; charset=utf-8 "meta":{ "limit":0, "offset":0, - "total_count":15 + "total_count":16 }, "objects":[ { @@ -20,18 +20,6 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.zrh.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.zrh.cloudsigma.com/websocket" }, - { - "alternative_frontend_url":"https://mel.cloudsigma.com/ui/", - "api_endpoint":"https://mel.cloudsigma.com/api/2.0/", - "country_code":"AU", - "default_frontend_signup_url":"https://mel.cloudsigma.com/ui/", - "default_frontend_url":"https://mel.cloudsigma.com/ui/", - "display_name":"Melbourne, Australia", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", - "id":"MEL", - "upload_url":"https://direct.mel.cloudsigma.com/api/2.0/", - "websocket_url":"wss://direct.mel.cloudsigma.com/websocket" - }, { "alternative_frontend_url":"https://per.cloudsigma.com/ui/", "api_endpoint":"https://per.cloudsigma.com/api/2.0/", @@ -187,6 +175,30 @@ Content-Type: application/json; charset=utf-8 "id":"CWL", "upload_url":"https://direct.cwl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.cwl.cloudsigma.com/websocket" + }, + { + "alternative_frontend_url":"https://bom.cloudsigma.com/ui/", + "api_endpoint":"https://bom.cloudsigma.com/api/2.0/", + "country_code":"IN", + "default_frontend_signup_url":"https://bom.cloudsigma.com/ui/", + "default_frontend_url":"https://bom.cloudsigma.com/ui/", + "display_name":"Mumbai, India", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"BOM", + "upload_url":"https://direct.bom.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.bom.cloudsigma.com/websocket" + }, + { + "alternative_frontend_url":"https://mnl.cloudsigma.com/ui/", + "api_endpoint":"https://mnl.cloudsigma.com/api/2.0/", + "country_code":"PH", + "default_frontend_signup_url":"https://mnl.cloudsigma.com/ui/", + "default_frontend_url":"https://mnl.cloudsigma.com/ui/", + "display_name":"Manila, Philippines", + "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "id":"MNL", + "upload_url":"https://direct.mnl.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.mnl.cloudsigma.com/websocket" } ] } From fd3bf8d3e36cc10185106f8f8c502a4990dfd377 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 16 Nov 2023 11:11:01 +0200 Subject: [PATCH 36/72] Remove BOM from the locations page temporarily. --- dumps/locations.csv | 1 - dumps/response_locations | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index 30be0d4..b27ec0c 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -13,5 +13,4 @@ Location,Location Code,API Endpoint "United States, Washington DC",WDC,https://wdc.alpha3cloud.com/api/2.0/ "Switzerland, Zurich",ZRH,https://zrh.cloudsigma.com/api/2.0/ "UK, Cardiff",CWL,https://cwl.cloudsigma.com/api/2.0/ -"Mumbai, India",BOM,https://bom.cloudsigma.com/api/2.0/ "Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ diff --git a/dumps/response_locations b/dumps/response_locations index 3dfd305..dd6e795 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -176,18 +176,6 @@ Content-Type: application/json; charset=utf-8 "upload_url":"https://direct.cwl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.cwl.cloudsigma.com/websocket" }, - { - "alternative_frontend_url":"https://bom.cloudsigma.com/ui/", - "api_endpoint":"https://bom.cloudsigma.com/api/2.0/", - "country_code":"IN", - "default_frontend_signup_url":"https://bom.cloudsigma.com/ui/", - "default_frontend_url":"https://bom.cloudsigma.com/ui/", - "display_name":"Mumbai, India", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", - "id":"BOM", - "upload_url":"https://direct.bom.cloudsigma.com/api/2.0/", - "websocket_url":"wss://direct.bom.cloudsigma.com/websocket" - }, { "alternative_frontend_url":"https://mnl.cloudsigma.com/ui/", "api_endpoint":"https://mnl.cloudsigma.com/api/2.0/", From 02063f08f9601a4c290b5fc4ab351d2be5b9816e Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 20 Nov 2023 12:49:31 +0200 Subject: [PATCH 37/72] Add release notes for the Chlorine-17.2311. --- release_notes.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index fcae4bb..d472aad 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,15 @@ Release Notes Chlorine Release ---------------- +Chlorine-17.2311 +~~~~~~~~~~~~~~~~ + +**Date Released:** 2023-11-13 + +* For this release, we've introduced a number of improvements under the hood, 23 to be precise. +* The system behaves the exact same way as before, just better. + + Chlorine-17.2310 ~~~~~~~~~~~~~~~~ From 0ffb2d24fd6e250f91a435b1f18ed1f50b4c3f5c Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Fri, 8 Dec 2023 16:42:31 +0200 Subject: [PATCH 38/72] Add the release notes for the Chlorine-17.2312 release. --- release_notes.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index d472aad..043a5a3 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,16 @@ Release Notes Chlorine Release ---------------- +Chlorine-17.2312 +~~~~~~~~~~~~~~~~ + +**Date Released:** 2023-12-08 + +* We fixed a rare condition, which could cause a problem when trying to save a payment method while making a payment. +* We are happy to announce that our cloud is growing again with more locations! So we did the magic under the hood, so they work just as well. +* We also introduced 20 improvements under the hood, 9 to be precise. + + Chlorine-17.2311 ~~~~~~~~~~~~~~~~ From ba6ee220d14262918b3b9a5480cb4c3df040af8f Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Fri, 8 Dec 2023 17:53:57 +0200 Subject: [PATCH 39/72] Fix the number of improvements. --- general.rst | 4 ++++ release_notes.rst | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/general.rst b/general.rst index 8321e77..ee657da 100644 --- a/general.rst +++ b/general.rst @@ -52,6 +52,10 @@ Here is a list of the possible URL formats relative to the base url (https://{ap For example a server object has a start action which is called on the following URL: */servers/6e5ceaaa-0cf8-417a-bf47-53e56d4fcaaa/action/?do=start* +Cloud Status API +---------------- +The Cloud Status API is mainly being used by the WebApp, but you can also use it if you + Authentication -------------- diff --git a/release_notes.rst b/release_notes.rst index 043a5a3..1e35c09 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -11,7 +11,7 @@ Chlorine-17.2312 * We fixed a rare condition, which could cause a problem when trying to save a payment method while making a payment. * We are happy to announce that our cloud is growing again with more locations! So we did the magic under the hood, so they work just as well. -* We also introduced 20 improvements under the hood, 9 to be precise. +* We also introduced 20 improvements under the hood. Chlorine-17.2311 From 260a25071403fc0f29e453dad379318b9cb72853 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 13 Dec 2023 17:27:23 +0200 Subject: [PATCH 40/72] Update the response data of capabalities API call. --- dumps/response_capabilities | 253 ++++++++++++++++++++++++++---------- 1 file changed, 183 insertions(+), 70 deletions(-) diff --git a/dumps/response_capabilities b/dumps/response_capabilities index b9f8c9b..0902fe2 100644 --- a/dumps/response_capabilities +++ b/dumps/response_capabilities @@ -2,79 +2,192 @@ HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { - "drives": { - "dssd": { - "max_size": 4971194891468, - "min_size": 536870912, - "size": { - "max": 4971194891468, - "min": 536870912 - } - } + "backfilling": false, + "currencies": [ + { + "id": "CHF", + "name": "chf" }, - "hosts": { - "amd": { - "cpu": { - "max": 40000, - "min": 250 - }, - "cpu_per_smp": { - "max": 2400, - "min": 1000 - }, - "mem": { - "max": 68719476736, - "min": 268435456 - }, - "smp": { - "max": 24, - "min": 1 - } - }, - "intel": { - "cpu": { - "max": 40000, - "min": 250 - }, - "cpu_per_smp": { - "max": 2400, - "min": 1000 - }, - "mem": { - "max": 68719476736, - "min": 268435456 - }, - "smp": { - "max": 48, - "min": 1 - } - } + { + "id": "USD", + "name": "usd" }, - "hypervisors": { - "kvm": [ - "amd" - ] + { + "id": "EUR", + "name": "eur" }, - "servers": { - "cpu": { - "max": 40000, - "min": 250 - }, - "cpu_per_smp": { - "max": 2400, - "min": 1000 - }, - "mem": { - "max": 68719476736, - "min": 268435456 - }, - "smp": { - "max": 24, - "min": 1 - } + { + "id": "GBP", + "name": "gbp" }, - "snapshots": { - "current": 0, - "max": 600 + { + "id": "PHP", + "name": "php" + }, + { + "id": "AUD", + "name": "aud" + }, + { + "id": "SAR", + "name": "sar" + }, + { + "id": "JPY", + "name": "jpy" + } + ], + "default_inactive_period": 45, + "default_storage_type": "dssd", + "drives": { + "dssd": { + "iops": { + "base": 30000, + "max": 60000, + "min": 1 + }, + "max_size": 15087863484255, + "min_size": 536870912, + "size": { + "max": 15087863484255, + "min": 536870912 + } + }, + "nvme": { + "iops": { + "base": 30000, + "max": 60000, + "min": 1 + }, + "max_size": 12079598531766, + "min_size": 536870912, + "size": { + "max": 12079598531766, + "min": 536870912 + } + }, + "zadara": { + "iops": { + "base": 4000, + "max": 8000, + "min": 1 + }, + "max_size": 13775679960716, + "min_size": 1073741824.0, + "size": { + "max": 13775679960716, + "min": 1073741824.0 + } + } + }, + "epc": { + "epc_mem_ratio": 0.5, + "max_per_host": 68719476736 + }, + "gpus": { + "nvidia_a100": { + "max_cpu_per_host": 378000, + "max_memory_per_host": 455886655488, + "max_per_host": 2, + "max_smp_per_host": 108, + "model_name": "GPU Nvidia A100" + } + }, + "hosts": { + "amd": { + "cpu": { + "max": 96000, + "min": 250 + }, + "cpu_per_smp": { + "max": 2893, + "min": 1000 + }, + "mem": { + "max": 558345748480, + "min": 268435456 + }, + "smp": { + "max": 32, + "min": 1 + } + }, + "intel": { + "cpu": { + "max": 96000, + "min": 250 + }, + "cpu_per_smp": { + "max": 3000, + "min": 1000 + }, + "mem": { + "max": 558345748480, + "min": 268435456 + }, + "smp": { + "max": 32, + "min": 1 + } + } + }, + "hypervisors": { + "kvm": [ + "intel", + "amd" + ] + }, + "inactive_period_range": { + "max": 250, + "min": 0 + }, + "remote_snapshots": { + "current": 0, + "max": 600, + "remote_locations": [ + "TBC" + ] + }, + "servers": { + "cpu": { + "max": 96000, + "min": 250 + }, + "cpu_per_smp": { + "max": 3000, + "min": 1000 + }, + "default_start_method": "regular", + "mem": { + "max": 558345748480, + "min": 268435456 + }, + "smp": { + "max": 32, + "min": 1 + }, + "start_methods": [ + "eager", + "lazy", + "regular" + ] + }, + "snapshots": { + "current": 0, + "max": 700, + "max_per_drive": 90 + }, + "vmware_drives": { + "storage_capacity": { + "limit": 6291200.0, + "units": "MB", + "used": 2127040.0 + } + }, + "vmware_servers": { + "compute_capacity": { + "cpu_max": 117797, + "mem_max": 271061 } + } } From 02e99b5f595256d5995efa8610555d080953980f Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 4 Jan 2024 16:41:35 +0200 Subject: [PATCH 41/72] Add information about DUS locatiosn. --- dumps/locations.csv | 3 ++- dumps/response_locations | 42 ++++++++++++++++++++++++++-------------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/dumps/locations.csv b/dumps/locations.csv index b27ec0c..8bcfb81 100644 --- a/dumps/locations.csv +++ b/dumps/locations.csv @@ -13,4 +13,5 @@ Location,Location Code,API Endpoint "United States, Washington DC",WDC,https://wdc.alpha3cloud.com/api/2.0/ "Switzerland, Zurich",ZRH,https://zrh.cloudsigma.com/api/2.0/ "UK, Cardiff",CWL,https://cwl.cloudsigma.com/api/2.0/ -"Manila, Philippines",MNL,https://mnl.cloudsigma.com/api/2.0/ +"Philippines, Manila",MNL,https://mnl.cloudsigma.com/api/2.0/ +"Germany, Dusseldorf",DUS,https://dus.cloudsigma.com/api/2.0/ diff --git a/dumps/response_locations b/dumps/response_locations index dd6e795..57d22d7 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -15,7 +15,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://zrh.cloudsigma.com/ui/", "default_frontend_url":"https://zrh.cloudsigma.com/ui/", "display_name":"Zurich, Switzerland", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.14/", + "documentation_url":"https://docs.cloudsigma.com", "id":"ZRH", "upload_url":"https://direct.zrh.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.zrh.cloudsigma.com/websocket" @@ -27,7 +27,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://per.cloudsigma.com/ui/", "default_frontend_url":"https://per.cloudsigma.com/ui/", "display_name":"Perth, Australia", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"PER", "upload_url":"https://direct.per.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.per.cloudsigma.com/websocket" @@ -39,7 +39,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://fra.cloudsigma.com/ui/", "default_frontend_url":"https://fra.cloudsigma.com/ui/", "display_name":"Frankfurt, Germany", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"FRA", "upload_url":"https://direct.fra.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.fra.cloudsigma.com/websocket" @@ -51,7 +51,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://ec.servecentric.com/ui/", "default_frontend_url":"https://ec.servecentric.com/ui/", "display_name":"Dublin, Ireland", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"DUB", "upload_url":"https://direct.ec.servecentric.com/api/2.0/", "websocket_url":"wss://direct.ec.servecentric.com/websocket" @@ -63,7 +63,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://tyo.cloudsigma.com/ui/", "default_frontend_url":"https://tyo.cloudsigma.com/ui/", "display_name":"Tokyo, Japan", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"TYO", "upload_url":"https://direct.tyo.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.tyo.cloudsigma.com/websocket" @@ -75,7 +75,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://crk.cloudsigma.com/ui/", "default_frontend_url":"https://crk.cloudsigma.com/ui/", "display_name":"Clark, Philippines", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"CRK", "upload_url":"https://direct.crk.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.crk.cloudsigma.com/websocket" @@ -87,7 +87,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://mnl2.cloudsigma.com/ui/", "default_frontend_url":"https://mnl2.cloudsigma.com/ui/", "display_name":"Manila-2, Philippines", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"MNL2", "upload_url":"https://direct.mnl2.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.mnl2.cloudsigma.com/websocket" @@ -99,7 +99,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://ruh.cloudsigma.com/ui/", "default_frontend_url":"https://ruh.cloudsigma.com/ui/", "display_name":"Riyadh, Saudi Arabia", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"RUH", "upload_url":"https://direct.ruh.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.ruh.cloudsigma.com/websocket" @@ -111,7 +111,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://cloud.hydro66.com/ui/", "default_frontend_url":"https://cloud.hydro66.com/ui/", "display_name":"Boden, Sweden", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"LLA", "upload_url":"https://direct.cloud.hydro66.com/api/2.0/", "websocket_url":"wss://direct.cloud.hydro66.com/websocket" @@ -123,7 +123,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://gva.cloudsigma.com/ui/", "default_frontend_url":"https://gva.cloudsigma.com/ui/", "display_name":"Geneva, Switzerland", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"GVA", "upload_url":"https://direct.gva.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.gva.cloudsigma.com/websocket" @@ -135,7 +135,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://hnl.cloudsigma.com/ui/", "default_frontend_url":"https://hnl.cloudsigma.com/ui/", "display_name":"Honolulu, United States", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"HNL", "upload_url":"https://direct.hnl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.hnl.cloudsigma.com/websocket" @@ -147,7 +147,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://sjc.alpha3cloud.com/ui/", "default_frontend_url":"https://sjc.alpha3cloud.com/ui/", "display_name":"San Jose, United States", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"SJC", "upload_url":"https://direct.sjc.alpha3cloud.com/api/2.0/", "websocket_url":"wss://direct.sjc.alpha3cloud.com/websocket" @@ -159,7 +159,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://wdc.alpha3cloud.com/ui/", "default_frontend_url":"https://wdc.alpha3cloud.com/ui/", "display_name":"Washington DC, United States", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"WDC", "upload_url":"https://direct.wdc.alpha3cloud.com/api/2.0/", "websocket_url":"wss://direct.wdc.alpha3cloud.com/websocket" @@ -171,7 +171,7 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://cwl.cloudsigma.com/ui/", "default_frontend_url":"https://cwl.cloudsigma.com/ui/", "display_name":"Newport, Wales", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"CWL", "upload_url":"https://direct.cwl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.cwl.cloudsigma.com/websocket" @@ -183,10 +183,22 @@ Content-Type: application/json; charset=utf-8 "default_frontend_signup_url":"https://mnl.cloudsigma.com/ui/", "default_frontend_url":"https://mnl.cloudsigma.com/ui/", "display_name":"Manila, Philippines", - "documentation_url":"https://cloudsigma-docs.readthedocs.org/en/2.11/", + "documentation_url":"https://docs.cloudsigma.com", "id":"MNL", "upload_url":"https://direct.mnl.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.mnl.cloudsigma.com/websocket" + }, + { + "alternative_frontend_url":"https://dus.cloudsigma.com/ui/", + "api_endpoint":"https://dus.cloudsigma.com/api/2.0/", + "country_code":"DE", + "default_frontend_signup_url":"https://dus.cloudsigma.com/ui/", + "default_frontend_url":"https://dus.cloudsigma.com/ui/", + "display_name":"Dusseldorf, Germany", + "documentation_url":"https://docs.cloudsigma.com", + "id":"DUS", + "upload_url":"https://direct.dus.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.dus.cloudsigma.com/websocket" } ] } From 2e1f41f534787054c5c28698f665c6ed23368a46 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 23 Jan 2024 14:21:33 +0200 Subject: [PATCH 42/72] Add the release notes for 2401. --- release_notes.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 1e35c09..eddc5fa 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,19 @@ Release Notes ============= +2024 Release +------------ + +2401 +~~~~ + +**Date Released:** 2024-01-18 + +* Starting with this version, we are adding a few changes to the required data for all our accounts such as "state/province" and "mobile number". +* We improved the accuracy of the out-of-memory exception, which all our customers received. +* We fixed a minor issue in the Backup Scheduler. +* And 30 other bugs and improvements. + Chlorine Release ---------------- From a6c2572c259f81c9d9252947f448185b818987e2 Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:36:23 +0200 Subject: [PATCH 43/72] Update capabilities.rst --- capabilities.rst | 110 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/capabilities.rst b/capabilities.rst index fcaf4ac..9c439d5 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -61,6 +61,114 @@ is disabled, it will disappear from the result of this call. Most entries are ob .. literalinclude:: dumps/response_capabilities :language: javascript - +### This is an explanation of the API response parameters: + +* id: It is the unique identifier for the currency. In this case, "CHF" represents the Swiss Franc. + +* name: It is the common or display name for the currency. In this case, "chf" represents the abbreviation or name used to refer to the Swiss Franc. + +So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. + +* default_inactive_period: The default inactive period is defined as days. A value of 45 indicates the inactive period is 45 days. + +This value is used to find the users with the last login made 45 days ago(using the value in the previous paragraph) and mark them as INACTIVE users. + +* default_storage_type: Indicates the default storage type (e.g., "dssd"). + +* drives: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. Example: +``` +{ + "dssd": { + // Details about dssd drive type + }, + "nvme": { + // Details about nvme drive type + }, + "zadara": { + // Details about zadara drive type + } +} +``` + +* epc: The epc values are related to the Intel SGX enclaves. + +More information here: +``` +{ + "epc_mem_ratio": 0.5, + "max_per_host": 68719476736 +} +``` + +* epc_mem_ratio: The epc_mem_ratio represents the ratio of memory needed to start a guest that supports SGX. + +* max_per_host: Represents the maximum free Enclave Page Cache (EPC) available in the location. The value is in bytes. + +* gpus: Lists GPU models with their maximum CPU, memory, SMP, and other relevant configurations. +``` +{ + "nvidia_a100": { + // Details about Nvidia A100 GPU + } +} +``` +* hosts: Details limitations for different host types (e.g., AMD, Intel) concerning CPU, CPU per SMP, memory, and SMP. +``` +{ + "amd": { + // Details about AMD host type + }, + "intel": { + // Details about Intel host type + } +} +``` +* hypervisors: Specifies which hypervisors (e.g., KVM) are available on particular host types (e.g., Intel, AMD). + +The "hypervisors" parameter informs users about the available hypervisors and the types of hosts (architectures) each hypervisor supports. In this specific case, the KVM hypervisor supports both "intel" and "amd" architectures. +``` +{ + "kvm": ["intel", "amd"] +} +``` +* inactive_period_range: Defines the maximum and minimum values accepted for the Inactivation Timeout defined by the user https://tbc.cloudsigma.com/ui/5.0/security + +* remote_snapshots: Contains information about remote snapshots, including the current count, maximum allowed, and locations. + +As a note, the difference between a snapshot and a remote snapshot is that the snapshot is stored in the same location as the source drive; the remote snapshot is stored in a different location. + +* servers : Details about server properties, including CPU, memory, SMP, and start methods. +``` +{ + "cpu": { "max": 96000, "min": 250 }, + // ... (other server details) +} +``` + +* snapshots: Specifies the current count, maximum allowed, and maximum per drive for snapshots. + +a "snapshot" refers to a point-in-time copy of the state of a virtual machine or a storage drive. Snapshots are typically used for backup, recovery, or cloning purposes. + +* vmware_drives: Provides details about VMware drive storage capacity limits. +``` +{ + "storage_capacity": { + "limit": 6291200.0, + "units": "MB", + "used": 2127040.0 + } +} +``` +* vmware_servers: + +Description: Indicates VMware server compute capacity limits for CPU and memory. +``` +{ + "compute_capacity": { + "cpu_max": 117797, + "mem_max": 271061 + } +} +``` From a6187cdfda1424bb446f0376f4df22f0f9b48e16 Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:37:41 +0200 Subject: [PATCH 44/72] Update capabilities.rst From d55039f87668d9c0ca858b27e2e76454e1c7f26f Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:38:33 +0200 Subject: [PATCH 45/72] Update capabilities.rst --- capabilities.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/capabilities.rst b/capabilities.rst index 9c439d5..5249aa3 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -76,6 +76,7 @@ This value is used to find the users with the last login made 45 days ago(using * default_storage_type: Indicates the default storage type (e.g., "dssd"). * drives: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. Example: + ``` { "dssd": { From 26e741f2332f3beae7aba3c53d95c35b84d7bb3e Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:40:45 +0200 Subject: [PATCH 46/72] Update capabilities.rst --- capabilities.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/capabilities.rst b/capabilities.rst index 5249aa3..24cf2f3 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -67,7 +67,8 @@ is disabled, it will disappear from the result of this call. Most entries are ob * name: It is the common or display name for the currency. In this case, "chf" represents the abbreviation or name used to refer to the Swiss Franc. -So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. + > [!NOTE] + > So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. * default_inactive_period: The default inactive period is defined as days. A value of 45 indicates the inactive period is 45 days. From 9224cf95564c389e800ee74bd94fc8fe26918949 Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:41:41 +0200 Subject: [PATCH 47/72] Update capabilities.rst --- capabilities.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/capabilities.rst b/capabilities.rst index 24cf2f3..51c33c3 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -67,8 +67,8 @@ is disabled, it will disappear from the result of this call. Most entries are ob * name: It is the common or display name for the currency. In this case, "chf" represents the abbreviation or name used to refer to the Swiss Franc. - > [!NOTE] - > So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. +> [!NOTE] +> So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. * default_inactive_period: The default inactive period is defined as days. A value of 45 indicates the inactive period is 45 days. From 2a556f9214bb50bb7a9d28d997ad99d973a98512 Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:48:50 +0200 Subject: [PATCH 48/72] Update capabilities.rst --- capabilities.rst | 114 ----------------------------------------------- 1 file changed, 114 deletions(-) diff --git a/capabilities.rst b/capabilities.rst index 51c33c3..aba0fce 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -60,117 +60,3 @@ is disabled, it will disappear from the result of this call. Most entries are ob .. literalinclude:: dumps/response_capabilities :language: javascript - -### This is an explanation of the API response parameters: - -* id: It is the unique identifier for the currency. In this case, "CHF" represents the Swiss Franc. - -* name: It is the common or display name for the currency. In this case, "chf" represents the abbreviation or name used to refer to the Swiss Franc. - -> [!NOTE] -> So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "chf" is the identifier or name used within the system for this currency. - -* default_inactive_period: The default inactive period is defined as days. A value of 45 indicates the inactive period is 45 days. - -This value is used to find the users with the last login made 45 days ago(using the value in the previous paragraph) and mark them as INACTIVE users. - -* default_storage_type: Indicates the default storage type (e.g., "dssd"). - -* drives: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. Example: - -``` -{ - "dssd": { - // Details about dssd drive type - }, - "nvme": { - // Details about nvme drive type - }, - "zadara": { - // Details about zadara drive type - } -} -``` - -* epc: The epc values are related to the Intel SGX enclaves. - -More information here: -``` -{ - "epc_mem_ratio": 0.5, - "max_per_host": 68719476736 -} -``` - -* epc_mem_ratio: The epc_mem_ratio represents the ratio of memory needed to start a guest that supports SGX. - -* max_per_host: Represents the maximum free Enclave Page Cache (EPC) available in the location. The value is in bytes. - -* gpus: Lists GPU models with their maximum CPU, memory, SMP, and other relevant configurations. -``` -{ - "nvidia_a100": { - // Details about Nvidia A100 GPU - } -} -``` -* hosts: Details limitations for different host types (e.g., AMD, Intel) concerning CPU, CPU per SMP, memory, and SMP. -``` -{ - "amd": { - // Details about AMD host type - }, - "intel": { - // Details about Intel host type - } -} -``` -* hypervisors: Specifies which hypervisors (e.g., KVM) are available on particular host types (e.g., Intel, AMD). - -The "hypervisors" parameter informs users about the available hypervisors and the types of hosts (architectures) each hypervisor supports. In this specific case, the KVM hypervisor supports both "intel" and "amd" architectures. -``` -{ - "kvm": ["intel", "amd"] -} -``` -* inactive_period_range: Defines the maximum and minimum values accepted for the Inactivation Timeout defined by the user https://tbc.cloudsigma.com/ui/5.0/security - -* remote_snapshots: Contains information about remote snapshots, including the current count, maximum allowed, and locations. - -As a note, the difference between a snapshot and a remote snapshot is that the snapshot is stored in the same location as the source drive; the remote snapshot is stored in a different location. - -* servers : Details about server properties, including CPU, memory, SMP, and start methods. -``` -{ - "cpu": { "max": 96000, "min": 250 }, - // ... (other server details) -} -``` - -* snapshots: Specifies the current count, maximum allowed, and maximum per drive for snapshots. - -a "snapshot" refers to a point-in-time copy of the state of a virtual machine or a storage drive. Snapshots are typically used for backup, recovery, or cloning purposes. - -* vmware_drives: Provides details about VMware drive storage capacity limits. -``` -{ - "storage_capacity": { - "limit": 6291200.0, - "units": "MB", - "used": 2127040.0 - } -} -``` -* vmware_servers: - -Description: Indicates VMware server compute capacity limits for CPU and memory. -``` -{ - "compute_capacity": { - "cpu_max": 117797, - "mem_max": 271061 - } -} -``` - - From 04591cddb95f28363596cbbf68d076370127d2a7 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 20 Feb 2024 18:13:25 +0200 Subject: [PATCH 49/72] Add the release notes for 2402. --- general.rst | 4 ---- release_notes.rst | 11 +++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/general.rst b/general.rst index ee657da..8321e77 100644 --- a/general.rst +++ b/general.rst @@ -52,10 +52,6 @@ Here is a list of the possible URL formats relative to the base url (https://{ap For example a server object has a start action which is called on the following URL: */servers/6e5ceaaa-0cf8-417a-bf47-53e56d4fcaaa/action/?do=start* -Cloud Status API ----------------- -The Cloud Status API is mainly being used by the WebApp, but you can also use it if you - Authentication -------------- diff --git a/release_notes.rst b/release_notes.rst index eddc5fa..dbac210 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,16 @@ Release Notes 2024 Release ------------ +2402 +~~~~ + +**Date Released:** 2024-02-15 + +* We had to change the address in the profile section to be no longer than 180 characters. +* Due to an external dependency, we had to change the allowed characters in the fields: address, state, city, and postcode to accept ASCII characters. +* And 17 other bug fixes and improvements. + + 2401 ~~~~ @@ -14,6 +24,7 @@ Release Notes * We fixed a minor issue in the Backup Scheduler. * And 30 other bugs and improvements. + Chlorine Release ---------------- From ba48a9ff14cc8e3c8794b4eb5b54f91a502f2d0e Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 19 Mar 2024 16:51:33 +0200 Subject: [PATCH 50/72] Add the release notes for 2403 release. --- release_notes.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index dbac210..8da0c53 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,16 @@ Release Notes 2024 Release ------------ +2403 +~~~~ + +**Date Released:** 2024-03-18 + +* For the sake of easier interaction with our Cloud services, we have introduced a newer version of our main website (aka WebApp). You can try it from the Home page in each cloud location, now! +* In other news, we are now switching to Stripe as our payment system. +* And the usual bug extermination routine, of small issues, core system improvements, etc. 43 of them. + + 2402 ~~~~ From 5a5ce5b67cacdfcacdbc89b4229283f8ccf6abef Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 1 Apr 2024 15:20:14 +0300 Subject: [PATCH 51/72] Update the copyright year. --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 35d8c39..27daef4 100644 --- a/conf.py +++ b/conf.py @@ -18,7 +18,7 @@ project = u'CloudSigma API' -copyright = u'2023, CloudSigma' +copyright = u'2024, CloudSigma' version = '2.0' release = 'v2' From 9990004da19200e03e855cbfe5d7cc2edbea1263 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 18 Apr 2024 17:19:56 +0300 Subject: [PATCH 52/72] Add release notes for 2404. --- release_notes.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 8da0c53..7f68e95 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,16 @@ Release Notes 2024 Release ------------ +2404 +~~~~ + +**Date Released:** 2024-04-13 + +* While there are no new groundbreaking features at this time, we've been busy making improvements behind the scenes to enhance stability, security, and usability by implementing almost 20 stories. +* We've ironed out some wrinkles to ensure a smoother user experience. +* We are pleased to announce that our cloud is getting closer to you with a new location, DUS - "Düsseldorf, Germany". + + 2403 ~~~~ From 9921b28f2894d08d5c0c6f238648e1fa6e334178 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 18 Apr 2024 17:44:05 +0300 Subject: [PATCH 53/72] Add info about the two new locations, DUS and MTY. --- release_notes.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release_notes.rst b/release_notes.rst index 7f68e95..40c349d 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -11,7 +11,7 @@ Release Notes * While there are no new groundbreaking features at this time, we've been busy making improvements behind the scenes to enhance stability, security, and usability by implementing almost 20 stories. * We've ironed out some wrinkles to ensure a smoother user experience. -* We are pleased to announce that our cloud is getting closer to you with a new location, DUS - "Düsseldorf, Germany". +* Exciting news! Our cloud is expanding with a new location, bringing you a more seamless experience, MTY - "Monterrey, Mexico". 2403 @@ -55,6 +55,7 @@ Chlorine-17.2312 * We fixed a rare condition, which could cause a problem when trying to save a payment method while making a payment. * We are happy to announce that our cloud is growing again with more locations! So we did the magic under the hood, so they work just as well. +* We are pleased to announce that our cloud is getting closer to you with a new location, DUS - "Düsseldorf, Germany". * We also introduced 20 improvements under the hood. From 9674d39b4f1eba6dd633344b9d171fc98897e4c1 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 14 May 2024 15:46:36 +0300 Subject: [PATCH 54/72] Update the capabilities, backfilling, and billing, and add more examples. --- accounts.rst | 8 +- acls.rst | 51 +++-- async.rst | 4 +- audit_logs.rst | 39 ++-- availability_groups.rst | 44 ++-- backfilling.rst | 28 +-- backup_schedulers.rst | 25 +- billing.rst | 439 +++++++++++++++++++++++++++++++++++- burst_usage.rst | 14 +- capabilities.rst | 66 +++++- dumps/response_capabilities | 302 ++++++++++++------------- dumps/response_pricing_list | 84 ++++++- 12 files changed, 818 insertions(+), 286 deletions(-) diff --git a/accounts.rst b/accounts.rst index ec0b60d..240f2de 100644 --- a/accounts.rst +++ b/accounts.rst @@ -2,7 +2,7 @@ Accounts ======== .. note:: - + See :rfc:`2616#section-9` for more details on HTTP methods semantics General @@ -14,7 +14,7 @@ Create account .. http:post:: /accounts/action/?do=create - Creates an account on the system. In case of succes, the user has to check + Creates an account on the system. In case of success, the user has to check his email for a confirmation link, which will ask him to create a password for the account. @@ -38,7 +38,7 @@ Login/Logout .. http:post:: /accounts/action/?do=login - Login to the system using cookie auth + Log in to the system using cookie auth :statuscode 200: no error :statuscode 401: unauthorized @@ -94,7 +94,7 @@ Login/Logout .. http:post:: /accounts/action/?do=check_login - Check if you are logged in the system + Check if you are logged in to the system :statuscode 200: no error diff --git a/acls.rst b/acls.rst index 0117ac9..67b0a8f 100644 --- a/acls.rst +++ b/acls.rst @@ -8,17 +8,17 @@ to your private network (VLAN). Permissions can be granted on servers, drives, network resources, and firewall policies. All of these resources support ``LIST`` and ``EDIT`` permissions, which respectively allow the grantee to see the resources when listing them and to edit resources. When a user is granted a ``LIST`` permission, this resource appears in the grantee's resource list. For -example granting ``LIST`` on a drive will make it appear in the list with grantees drives, when they make a GET request +example, granting ``LIST`` on a drive will make it appear in the list with grantees' drives, when they make a GET request to */drives*. Own resources can be differentiated from granted resources, by the ``owner`` field. Some resources have additional permissions. Drives have ``ATTACH`` permission which allows another user to use the drive on their server. IPs, VLANs, and Firewall policies have ``ATTACH`` which will allow another user to assign these -network resource to NICs on their server. Servers have ``START`` and ``STOP``, ``OPEN_VNC`` permissions which allow +network resources to NICs on their server. Servers have ``START`` and ``STOP``, ``OPEN_VNC`` permissions which allow another user to start or stop the server, or to open the server console through VNC. Note that ACLs may contain -permissions that are not directly applicable on some resources, for example it is possible to to have ``STOP`` +permissions that are not directly applicable to some resources, for example, it is possible to have ``STOP`` permission in an ACL on tag which refers only to drives. Drives and servers support ``CLONE`` permission, which allows -cloning them to the grantee account. Note that in order to clone someone else's server, you need ``CLONE`` permission -on both the owner's server, and on the attached non-cdrom drives. For cdrom drives, the user will need a ``ATTACH`` +cloning them to the grantee account. Note that to clone someone else's server, you need ``CLONE`` permission +on both the owner's server and on the attached non-cdrom drives. For cdrom drives, the user will need an ``ATTACH`` permission. The table below summarizes the permissions applicable to each resource: ========================= =========================================================== @@ -30,11 +30,11 @@ IP, VLAN, Firewall Policy ``LIST`` ``EDIT`` ``ATTACH`` ========================= =========================================================== -ACLs are granted on tags, and apply for all the tagged resources. One ACL can be attached to multiple tags, and will +ACLs are granted on tags and apply to all the tagged resources. One ACL can be attached to multiple tags, and will apply to the set of all resources tagged by these tags. It is also possible to have multiple ACLs on a tag, in which case the permissions on the tagged resources are the combination of all ACLs rules. -Each ACL can have one or more grantee users. Each ACL object has a list of rules, which specify what permission are +Each ACL can have one or more grantee users. Each ACL object has a list of rules, that specify what permissions are given by the ACL. Permissions are not transferable to third parties, i.e. if you grant permission to someone, they can't grant it to a @@ -125,7 +125,7 @@ Creates a new ACL. .. literalinclude:: dumps/response_acls_create :language: javascript -It is possible to define the grantees, tags and rules at creation time. Just specify their UUIDs the `grantees` list: +It is possible to define the grantees, tags, and rules at creation time. Just specify their UUIDs in the `grantees` list: **Example request**: @@ -183,7 +183,7 @@ Deletes a single ACL. Full Example of Sharing a Resource ---------------------------------- -First let's create a tag which will be shared with another user: +First, let's create a tag that will be shared with another user: **Request**: @@ -230,7 +230,7 @@ If we get the drive definition we will see the grantee in the ``grantees`` attri .. literalinclude:: dumps/response_own_drive_grantees :language: javascript -Since there is an ACL on the the tag all resources created with this tag will be shared. For example if we create a +Since there is an ACL on the tag all resources created with this tag will be shared. For example, if we create a server with the same tag, we see that it also shows ``grantees``: .. literalinclude:: dumps/request_server_with_acl @@ -239,15 +239,22 @@ server with the same tag, we see that it also shows ``grantees``: .. literalinclude:: dumps/response_server_with_acl :language: javascript +*The units for CPU, MEM, and SSD/DSSD are:* + +CPU: GHz + +MEM: Bytes + +SSD / DSSD: Bytes Permissions on Resources Attached to a Server --------------------------------------------- When updating another user's server, the attached resources, such as drives, IPs, VLANs, or firewall policies, should -be available for the server owner. This means that either the attached resource should be owned by the server owner, -or the owner should be given ``ATTACH`` permission on the attached resource. For example if user A shares a -server with ``EDIT`` permission to user B, and user B wants to attach their drive on the server, user B will have to -grant ``ATTACH`` permission on the drive, so that the owner of the server is able to start it. Trying to attach a +be available for the server owner. This means that either the attached resource should be owned by the server owner +or the owner should be given ``ATTACH`` permission on the attached resource. For example, if user A shares a +server with ``EDIT`` permission to user B, and user B wants to attach their drive to the server, user B will have to +grant ``ATTACH`` permission on the drive so that the owner of the server can start it. Trying to attach a drive, on which there is no permission for the owner of the server will result in an error. Recognizing Shared Resources and What Permissions Are Given on Them @@ -256,10 +263,10 @@ Recognizing Shared Resources and What Permissions Are Given on Them Finding out which resources were shared with you ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Resources shared with you appear in the resource list along with your own resources. In order to differentiate between +Resources shared with you appear in the resource list along with your resources. To differentiate between owner, and shared with you resources you have to look at the ``owner`` field. If the user is the same as you, the resource is yours. Non-owned resource have their respective owner uuid in the ``owner`` field. The examples in the -next two subsections show the same drive from the view point of permission grantor and grantee. Notice how ``owner`` +next two subsections show the same drive from the viewpoint of permission grantor and grantee. Notice how ``owner`` is the same. Finding what permissions are granted to you on a resource @@ -270,7 +277,7 @@ resource, it hard to do so in a simple script. That is why each resource has ``p effective permissions the current user has on the resource. The ``permissions`` field is empty if the owner is the same as the current user. -For example if you get the definition of a drive shared by another user with you: +For example, if you get the definition of a drive shared by another user with you: .. literalinclude:: dumps/request_foreign_drive_permissions :language: http @@ -284,17 +291,17 @@ The definition includes non-empty ``permissions`` attribute: :keys: permissions :hide_header: true -In the next subsection there is an example of the same drive but from the view point of the drive owner. +In the next subsection, there is an example of the same drive but from the viewpoint of the drive owner. Finding what permissions you have granted on a resource ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -As is the case with finding out what permissions are given to the current user, it also hard to find out, to find out +As is the case with finding out what permissions are given to the current user, it is also hard to find out, to find out what is granted to other users, as users may be granted different permissions through several ACLs referring to different tags. Therefore each resource has read-only field ``grantees``. Each object of the ``grantees`` list contains -a references to the grantee user, and a list of the permissions granted to them. +references to the grantee user and a list of the permissions granted to them. -For example if you get the definition of your drive shared with another user: +For example, if you get the definition of your drive shared with another user: .. literalinclude:: dumps/request_own_drive_grantees :language: http @@ -308,7 +315,7 @@ The definition includes non-empty ``grantees`` attribute: :keys: grantees :hide_header: true -In the previous subsection there is an example of the same drive definition but from the view point of the permissions +In the previous subsection, there is an example of the same drive definition but from the viewpoint of the permissions grantee. Schema diff --git a/async.rst b/async.rst index 9e45e91..d8b593f 100644 --- a/async.rst +++ b/async.rst @@ -5,7 +5,7 @@ Asynchronous server Authentication -------------- -In order to use the asynchronous server, you must first authenticate through the API. This will give you a cookie that is valid for 2 minutes and that has to be used when connecting to the server. +To use the asynchronous server, you must first authenticate through the API. This will give you a cookie that is valid for 2 minutes and that has to be used when connecting to the server. :statuscode 200: no error @@ -51,4 +51,4 @@ The frame is a JSON object that contains the following fields: * resource_type: A text field that describes the type of resource covered by the notification. * resource_uri: The URI of the resource that has changed. -The JSON object might contain a 'object' key, that will contain the full blown resource referenced by the notification, JSON encoded. +The JSON object might contain an 'object' key, that will contain the full-blown resource referenced by the notification, JSON encoded. diff --git a/audit_logs.rst b/audit_logs.rst index af77c82..624082d 100644 --- a/audit_logs.rst +++ b/audit_logs.rst @@ -2,13 +2,13 @@ Audit logs ========== .. note:: - + See :rfc:`2616#section-9` for more details on HTTP methods semantics General ------- Audit logs are used to track changes made on your resources, either by you or by other parties, like CloudSigma -staff or people that have permission to access you resources. +staff or people who have permission to access your resources. Querying is done as follows: @@ -27,11 +27,11 @@ Actions ------- Actions give information about the operation that created the log. They go in a few categories. -* General actions - related to most resource types like servers, drives and snapshots: +* General actions - related to most resource types like servers, drives, and snapshots: - **create:** During resource creation - **update:** During resource update - - **delete:** During resource deletion - - **change_owner:** The ownership of the resource has changed. Currently only CloudSigma staff can + - **delete:** During resource depletion + - **change_owner:** The ownership of the resource has changed. Currently, only CloudSigma staff can change ownership of a resource. - **clone_src:** Resource is used as a cloning source - **clone_dst:** Resource is a cloning destination - the newly cloned drive. @@ -43,16 +43,16 @@ Actions give information about the operation that created the log. They go in a Only staff members can convert drives. - **init_upload:** Drive upload is initialized. -* Server specific actions - these only relate to servers: +* Server-specific actions - these only relate to servers: - **start_send:** An attempt to start a server - **boot:** The result of a start operation. - **stop_send:** An attempt to stop a server. - **stop:** The result of a stop operation - **open_vnc:** Open VNC channel to a server - **close_vnc:** Close VNC channel to a server - - **shutdown_ACPI_send:** An ACPI shutdown request is send to the server. - - **heal:** Server got healed, because its recorded state did not match the physical infrastructure. - For example, a server is marked as unavailable, but it is actually running fine. + - **shutdown_ACPI_send:** An ACPI shutdown request is sent to the server. + - **heal:** The Server got healed because its recorded state did not match the physical infrastructure. + For example, a server is marked as unavailable, but it is running fine. Errors ------ @@ -60,14 +60,14 @@ If the field **success** is marked as **False**, that means that an error occurr The error details are saved in the following fields: * **error_type** - States the type of the error - * **error_point** - Points to cause of the error and is mainly used for validation errors + * **error_point** - Points to the cause of the error and is mainly used for validation errors * **error_message** - Human readable message associated with the error Example ------- The following example will show all the logged information during a server's lifecycle. -First we create a server: +First, we create a server: .. literalinclude:: dumps/request_create_server_for_audit :language: http @@ -75,6 +75,13 @@ First we create a server: .. literalinclude:: dumps/response_create_server_for_audit :language: javascript +*The units for CPU, MEM, and SSD/DSSD are:* + +CPU: GHz + +MEM: Bytes + +SSD / DSSD: Bytes Upon completion you will see the following log at the top of the audit log list: @@ -85,8 +92,8 @@ Upon completion you will see the following log at the top of the audit log list: :language: javascript - **action** states that we wanted to create a server -- **details** state the parameters of the create call -- **actor** states the user which executed the operation +- **Details** state the parameters of the create call +- **actor** states the user who executed the operation - **success** is *true*, so the operation completed successfully. - **uuid** matches the server's uuid @@ -107,7 +114,7 @@ We check the logs again. We see that the action is **start_send** and **success* If the server is fully booted and operational, its status will change to **running**. -If it failed to boot for some reason, the **error_type**, **error_point** and **error_message** fields will +If it failed to boot for some reason, the **error_type**, **error_point**, and **error_message** fields will explain why that happened. In this particular case, we had a successful start, so the audit log looks like this: .. literalinclude:: dumps/response_start_server_audit_log_complete @@ -116,8 +123,8 @@ explain why that happened. In this particular case, we had a successful start, s The pattern is the same when stopping a server: * an audit log with action **stop_send** is saved, representing the status of the request to stop a server. - * If that succeeded i.e. the request to stop a server is successfully send, you can expect a log with action - **stop**, representing the status of the stop operation i.e. the server actually stopped. + * If that succeeded i.e. the request to stop a server is successfully sent, you can expect a log with action + **stop**, representing the status of the stop operation i.e. the server stopped. .. note:: diff --git a/availability_groups.rst b/availability_groups.rst index 09ce3b8..5998085 100644 --- a/availability_groups.rst +++ b/availability_groups.rst @@ -1,16 +1,16 @@ Availability Grouping and Avoid =============================== -Resources requested by user are usually allocated to maximize performance. However this can lead to a situation, where -user's servers or drives share the same compute or storage host. This may be undesirable if the user attempts to build, -a redundant setup, as in the unlikely event of hardware failure, servers sharing the same faild compute host will crash +Resources requested by the user are usually allocated to maximize performance. However, this can lead to a situation, where +the user's servers or drives share the same compute or storage host. This may be undesirable if the user attempts to build, +a redundant setup, as in the unlikely event of hardware failure, servers sharing the same field compute host will crash at the same time, and drives sharing the same failed storage host will become unavailable at the same time. -To improve the robustness of redundant setups, it is possible to hint the system, which resources are preferred to be +To improve the robustness of redundant setups, it is possible to hint in the system, which resources are preferred to be on separated physical hosts. This is achieved through the *Avoid* functionality for starting servers, and for creating/cloning drives. -To check the grouping of running servers on compute hosts, or the grouping of drives on storage hosts, one can use the +To check the grouping of running servers on compute hosts or the grouping of drives on storage hosts, one can use the corresponding ``availaility_groups`` API calls. @@ -29,15 +29,15 @@ Server availability groups :statuscode 200: no error -Returns which running servers share same physical computes host. Returns an array containing arrays. -Each inner array holds the UUIDs of servers which reside on same physical host. Non-running servers are not in the +Returns that running servers share the same physical computer host. Returns an array containing arrays. +Each inner array holds the UUIDs of servers that reside on the same physical host. Non-running servers are not in the array as they are on any host. .. http:get:: /servers/availability_groups/{uuid}/ :statuscode 200: no error -Queries which other servers share same physical host with the given one. Returns an array holding server UUIDs. The +Queries in which other servers share the same physical host as the given one. Returns an array holding server UUIDs. The response includes also the UUID of the queried server. If the queried server is not running, the array will be empty. .. _drive-availability: @@ -49,14 +49,14 @@ Drives availability groups :statuscode 200: no error -Returns which drives share same physical storage host. Returns an array containing arrays. -Each inner array holds the UUIDs of drives which reside on same physical host. +Returns that drive share the same physical storage host. Returns an array containing arrays. +Each inner array holds the UUIDs of drives that reside on the same physical host. .. http:get:: /drives/availability_groups/{uuid}/ :statuscode 200: no error -Queries which other drives share same physical storage host with the given one. Returns an array holding drives UUIDs. +Queries with other drives share the same physical storage host as the given one. Returns an array holding drives UUIDs. The response includes also the UUID of the queried drive. Examples @@ -107,17 +107,17 @@ Examples General Notes on Avoid Functionality ------------------------------------- -Avoid functionality is **best effort**. This means that requests containing avoid will succeed even if the avoid can not +Avoiding functionality is **best effort**. This means that requests containing avoid will succeed even if the avoid can not be satisfied and the requested resource ends in the same availability group as an avoid resource. The **order of the avoid argument UUIDs also specifies the order of preference to avoid**. This means that avoid requests -are satisfied from left to right, and if it is not possible to satisfy the full avoid list, only part of the aoid -list will be satisfied and it will consist of UUIDs from the left part of the list. For example if there are only three -hosts which can satisfy a request, and there are three avoid resources on these hosts, the newly request resource, will +are satisfied from left to right, and if it is not possible to satisfy the full avoid list, only part of the avoid +list will be satisfied and it will consist of UUIDs from the left part of the list. For example, if there are only three +hosts that can satisfy a request, and there are three avoid resources on these hosts, the newly requested resource, will end up on the same host as the avoid resource which appears last in the list. -Avoid functionality may incur **performance penalty**. Specifying avoid for drives cloning and servers cloning, as it -also clones attached drives, usually slows down significantly the clone operation, as the drive data has to be moved +Avoiding functionality may incur **performance penalty**. Specifying avoid for drives cloning and servers cloning, as it +also clones attached drives, usually slow down significantly the clone operation, as the drive data has to be moved over the network between storage hosts. .. _servers-avoid: @@ -129,7 +129,7 @@ Starting Servers in a Different Availability Group (Start Avoid) :statuscode 202: Action accepted, execution is proceeding. -Starts a server with specific UUID attempting to run it on a different physical infrastructure host from the other +Starts a server with a specific UUID attempting to run it on a different physical infrastructure host from the other servers specified in the `avoid` argument which is a single server UUID or a comma-separated list of server UUIDs. This way the server specified by `uuid` may be run in a distinct availability group from the other listed servers. @@ -159,12 +159,12 @@ Creating Drives in a Different Availability Group (Create/Clone Avoid) :statuscode 202: Action accepted, execution is proceeding. -It is possible to hint the system which drives are preferred to be on separate physical storage hosts. Avoid can be +It is possible to hint at the system in which drives are preferred to be on separate physical storage hosts. Avoid can be specified on all drive creation operations: create, clone drive, and clone server. The value of the ``avoid`` GET parameter may contain a single or a comma-separated list of drive or server UUIDs. If a server uuid is in the ``avoid`` parameter, this is interpreted as avoiding all the drives attached to the server. -Note that it might not always be create a drive in a different availability group, therefore the order of the +Note that it might not always create a drive in a different availability group, therefore the order of the `avoid` list also signifies the priority of avoiding other drives. Since it is not possible to specify the order of drives attached to a server, if a drive from a server needs to be avoided with high priority, it may be specified in addition to the server UUID. For example ``avoid={important_to_avoid_drive_uuid},{server_uuid_to_which_drive_is_attached}``. @@ -172,8 +172,8 @@ addition to the server UUID. For example ``avoid={important_to_avoid_drive_uuid} Recipe for Creating a Redundant Server Backed by Separate Infrastructure ------------------------------------------------------------------------- -The best way to create a clone of server that does not share hardware with the original is to clone the origin server -with avoiding itself, and to start the clone with avoiding the origing: +The best way to create a clone of a server that does not share hardware with the original is to clone the origin server +with avoiding itself, and to start the clone by avoiding the origin: .. sourcecode:: http diff --git a/backfilling.rst b/backfilling.rst index e135420..5ccb094 100644 --- a/backfilling.rst +++ b/backfilling.rst @@ -1,24 +1,24 @@ Backfilling =========== -Backfilling is a feature which allows you to start servers without guarantee how long they will be running. +Backfilling is a feature that allows you to start servers without guaranteeing how long they will be running. The servers defined as "backfilling servers" behave the same as normal servers, except for the following: * they occupy the free resources currently available in the cloud * they can be stopped at an arbitrary moment if demand for resources appears by normal servers * instead of shutdown they can be dynamically downsized in terms of CPU and memory if demand for - resources appears by normal servers + resources appear by normal servers * they are billed at a separate discount burst rate. No CPU and MEM subscriptions are allowed for the resources consumed by the backfilling servers. -In order to use backfilling servers your account must be granted a special permission. +To use backfilling servers your account must be granted special permission. Checking For Available Backfilling Resources -------------------------------------------- -If your account is granted permission to run backfilling server the capabilities API (see :doc:`capabilities`) call +If your account is granted permission to run a backfilling server the capabilities API (see :doc:`capabilities`) call will show additional information regarding backfilling capacity. The `free_resources` object contains three objects, -which show what are the maximum resources that can be use by a single backfilling server. +which show what are the maximum resources that can be used by a single backfilling server. Here is an example capabilities call from a backfilling user: @@ -43,7 +43,7 @@ The following list summarises the information given by each `free_resources` obj This object shows what is the maximum memory available for a single server, and what is the amount of CPU associated with it. If you need as much RAM as possible in your server, use this object. -In general the maximum memory and maximum CPU will not be available on a single physical host, so you should use either +In general, the maximum memory and maximum CPU will not be available on a single physical host, so you should use either `most_free_by_cpu` or `most_free_by_memory` depending on whether your workload needs CPU or memory. Listing @@ -101,7 +101,7 @@ Creating .. http:post:: /bservers/ -Creates a new virtual server or multiple servers. The minimial amount of information you need to set is as follows +Creates a new virtual server or multiple servers. The minimal amount of information you need to set is as follows :statuscode 201: object created @@ -121,7 +121,7 @@ Editing .. http:put:: /bservers/{uuid}/ -Edits a server. Used also for attaching NIC's and drives to servers. Note that if a server is running, only +Edits a server. Used also for attaching NICs and drives to servers. Note that if a server is running, only ``name``, ``meta``, and ``tags`` fields can be changed, and all other changes to the definition of a running server will be ignored. @@ -192,7 +192,7 @@ Start .. http:post:: /bservers/{uuid}/action/?do=start -Starts a server with specific UUID. +Starts a server with a specific UUID. :statuscode 202: Action accepted, execution is proceeding. @@ -215,7 +215,7 @@ Stop .. http:post:: /bservers/{uuid}/action/?do=stop -Stops a server with specific UUID. This action is equivalent to pulling the power cord of a physical server. For +Stops a server with a specific UUID. This action is equivalent to pulling the power cord of a physical server. For more graceful shutdown see :ref:`acpi_shutdown`. :statuscode 202: Action accepted, execution is proceeding. @@ -234,10 +234,10 @@ more graceful shutdown see :ref:`acpi_shutdown`. Compatibility with normal servers API and operations ---------------------------------------------------- -For compatibility and interoperability reasons all the operations supported for normal servers and supported for the -backfilling ones as well. See the :doc:`servers` section for detailed documentation. In this regard backfilling servers -are a subset of all servers in the account. The API described in :doc:`servers` applies for all servers -(including the backfilling ones), but the API decribed in this section applies for backfilling servers only. +For compatibility and interoperability reasons, all the operations are supported for normal servers and supported for the +backfilling ones as well. See the :doc:`servers` section for detailed documentation. In this regard, backfilling servers +are a subset of all servers in the account. The API described in :doc:`servers` applies to all servers +(including the backfilling ones), but the API described in this section applies to backfilling servers only. Allowed HTTP methods -------------------- diff --git a/backup_schedulers.rst b/backup_schedulers.rst index df282ec..27a18e5 100644 --- a/backup_schedulers.rst +++ b/backup_schedulers.rst @@ -1,9 +1,9 @@ Backup Schedulers ================= -Backup schedulers are a set of rules to automate the creation and +Backup schedules are a set of rules to automate the creation and deletion of remote snapshots. It is possible to configure a backup scheduler -to periodically create remote snapshots , e.g. daily, weekly or monthly. Also, +to periodically create remote snapshots, e.g. daily, weekly, or monthly. Also, it is possible to configure the retention policy to automate the deletion of the remote snapshots created by the scheduler. @@ -13,9 +13,6 @@ There are three different types of schedulers: * migration * backup -.. note:: - - This document is related to backup schedulers only. Allowed HTTP methods -------------------- @@ -64,8 +61,8 @@ Listing schedulers by type .. http:get:: /backupschedulers/?type=scheduler_type - Gets the list of backups schedulers to which the authenticated user has - access and are from type specified in the filters. + Gets the list of backup schedulers to which the authenticated user has + access and are from the type specified in the filters. :statuscode 200: no error @@ -88,7 +85,7 @@ Detailed listing .. http:get:: /backupschedulers/detail/ Gets the detailed list of backup schedulers with additional information to - which the authenticated user has access. + which the authenticated user has access to. :statuscode 200: no error @@ -110,7 +107,7 @@ Detailed listing schedulers by type .. http:get:: /backupschedulers/detail/?type=scheduler_type Gets the detailed list of backup schedulers to which the authenticated user - has access and are from type specified in the filters. + has access and is from the type specified in the filters. :statuscode 200: no error @@ -214,7 +211,7 @@ Deletes multiple backup schedulers .. http:delete:: /backupschedulers/ - Deletes multiple backup schedulers specified by their UUIDs. + Deletes multiple backup schedulers specified by their UUID's. :statuscode 204: No content, object deletion started. @@ -245,7 +242,7 @@ Deletes multiple backup schedulers HTTP/1.0 204 NO CONTENT -Set scheduler to a drive +Set the scheduler to a drive ------------------------ .. http:post:: /drives/{drive_uuid}/action/?do=set_scheduler @@ -266,7 +263,7 @@ Set scheduler to a drive Allowed timezones ----------------- -The following list are the allowed timezone values for the fields +The following list is the allowed timezone values for the fields orchestrator_timezone and user_timezone. .. literalinclude:: dumps/backupschedulers/backup_scheduler_timezones @@ -288,14 +285,14 @@ days. .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_periodic_example_2 :language: javascript -Configure a weekly backup scheduler to create a remote snapshot every sunday +Configure a weekly backup scheduler to create a remote snapshot every Sunday at 23:00 hours and only keeps those that were taken in the past 4 weeks. .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_periodic_example_3 :language: javascript Configure a monthly backup scheduler to create a remote snapshot every first -of month at 23:59 hours and only keeps those that were taken in the past 6 +of the month at 23:59 hours and only keeps those that were taken in the past 6 months. .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_periodic_example_4 diff --git a/billing.rst b/billing.rst index c1fb6ce..e61c537 100644 --- a/billing.rst +++ b/billing.rst @@ -47,7 +47,42 @@ Schema .. literalinclude:: dumps/response_balance_schema :language: javascript +Schema listing for getting the balance and currency of the current account: +1. allowed_detail_http_methods:Array of allowed HTTP methods for detailed views. + +2. allowed_list_http_methods:Array of allowed HTTP methods for listing. + +3. default_format:Default format for the response (e.g., "application/json"). + +4. default_limit:Default limit for the number of items in a response. + +fields: + +5. balance: This field represents the amount of money in the account. It is read-only, meaning it cannot be updated directly, and it's required as it is a fundamental piece of information about the account. The data type is decimal, which is appropriate for handling monetary values. + +6. credit_limit: This field indicates the credit limit applied to the account, if applicable. Like balance, it is read-only and required. The data type is a string, suggesting that credit limits might be represented as alphanumeric values. + +7. currency: This field specifies the currency of the account. It is read-only, required, and has a data type of string, indicating that it holds textual information about the currency. + +filtering: + +7. name:Filter Type: "exact", This filter allows to retrieval objects where the "name" field exactly matches the specified value. + +8. name__contains:Filter Type: "exact", Similar to the name filter, this allows retrieving objects where the "name" field exactly matches the specified value. + +9. tag:Filter Type: "exact", This filter enables retrieval objects based on an exact match for the "tag" field. If you have objects tagged with specific identifiers, you can use this filter to fetch those objects precisely. + +10. uuid: This filter is designed to retrieve objects based on an exact match for the "uuid" (Universally Unique Identifier) field. + +**Note**: + * The API allows to retrieval of information about available discount periods and their corresponding values. + + * The discount periods are provided in the "objects" array, each with a "period" and a "value." + + * The "period" indicates the duration for which the discount is applicable (e.g., 3 months, 6 months). + + * The "value" represents the discount value, provided as a string representing a decimal number. Pricing ------- @@ -73,7 +108,7 @@ Listing .. http:get:: /pricing/ - Gets the pricing information that are applicable to the cloud. Subscription prices use a burst level of 0. + Gets the pricing information that applies to the cloud. Subscription prices use a burst level of 0. :statuscode 200: no error @@ -89,12 +124,277 @@ Listing :language: javascript + + * Current: current contains the current burst level + +The parameters inside the "objects" section represent different types of resources or services and their corresponding usage counts. Here's an explanation for each parameter: + + * backup: The number of instances or units of backup service currently in use. + + * CPU: The number of instances or units of CPU resources currently in use. + + * cpu_vmware: The number of instances or units of CPU resources specific to VMware currently in use. + + * dedicated_host_6148: The number of instances or units of dedicated hosts with model 6148 currently in use. + + * dedicated_node_large: The number of instances or units of large dedicated nodes currently in use. + + * dedicated_node_medium: The number of instances or units of medium dedicated nodes currently in use. + + * dedicated_node_small: The number of instances or units of small dedicated nodes currently in use. + + * disaster_recovery: The number of instances or units of disaster recovery service currently in use. + + * dssd: The number of instances or units of DSSD (Data Scale-out Storage) currently in use. + + * dssd_vmware: The number of instances or units of DSSD specific to VMware currently in use. + + * EPC: The number of instances or units of EPC (Evolved Packet Core) currently in use. + + * gpu_amd_mi50: The number of instances or units of AMD MI50 GPUs (Graphics Processing Units) currently in use. + + * gpu_nvidia_a100: The number of instances or units of NVIDIA A100 GPUs currently in use. + + * gpu_nvidia_a6000: The number of instances or units of NVIDIA A6000 GPUs currently in use. + + * intel_cpu: The number of instances or units of Intel CPUs currently in use. (Note: It has a count of 2) + + * intel_mem: The number of instances or units of Intel memory currently in use. + + * ip: The number of instances or units of IP addresses currently in use. + + * ip_vmware: The number of instances or units of IP addresses specific to VMware currently in use. + + * mem: The number of instances or units of memory currently in use. + + * mem_vmware: The number of instances or units of memory specific to VMware currently in use. + + * Migration: The number of instances or units of migration service currently in use. + + * msft_6wc_00002: The number of instances or units of a Microsoft service with code "6wc_00002" currently in use. + + * msft_7jq_00341: The number of instances or units of a Microsoft service with code "7jq_00341" currently in use. + + * msft_7nq_00302: The number of instances or units of a Microsoft service with code "7nq_00302" currently in use. + + * msft_9ea_00039: The number of instances or units of a Microsoft service with code "9ea_00039" currently in use. + + * msft_p73_04837_core: The number of instances or units of a Microsoft service with code "p73_04837_core" currently in use. + + * msft_tfa_00523: The number of instances or units of a Microsoft service with code "tfa_00523" currently in use. + +nvme: The number of instances or units of NVMe (Non-Volatile Memory Express) currently in use. + + * object_storage: The number of instances or units of object storage service currently in use. + + * rx_foreign: The number of instances or units of foreign RX (Receive) currently in use. + + * rx_local: The number of instances or units of local RX (Receive) currently in use. + + * ssd: The number of instances or units of SSD (Solid State Drive) currently in use. + + * tx: The number of instances or units of TX (Transmit) currently in use. + + * tx_foreign: The number of instances or units of foreign TX (Transmit) currently in use. + + * tx_local: The number of instances or units of local TX (Transmit) currently in use. + + * tx_vmware: The number of instances or units of TX (Transmit) specific to VMware currently in use. + + * virtual_private_cloud: The number of instances or units of virtual private cloud service currently in use. + + * vlan: The number of instances or units of VLANs (Virtual Local Area Networks) currently in use. + + * vlan_ecx: The number of instances or units of VLANs specific to Equinix Cloud Exchange currently in use. + + * vlan_ecx_1000: The number of instances or units of VLANs with a specific bandwidth (1000 Mbps) currently in use. + + * vlan_ecx_200: The number of instances or units of VLANs with a specific bandwidth (200 Mbps) currently in use. + + * vlan_ecx_500: The number of instances or units of VLANs with a specific bandwidth (500 Mbps) currently in use. + + * vlan_vmware: The number of instances or units of VLANs specific to VMware currently in use. + + * vpc: The number of instances or units of VPCs (Virtual Private Clouds) currently in use. + + * vrouter_basic: The number of instances or units of a basic virtual router currently in use. + + * vrouter_basic_500: The number of instances or units of a basic virtual router with a specific bandwidth (500 Mbps) currently in use. + + * vrouter_enterprise: The number of instances or units of an enterprise virtual router currently in use. + + * vrouter_premium: The number of instances or units of a premium virtual router currently in use. + + * zadara: The number of instances or units of Zadara storage currently in use. + +These parameters provide a detailed breakdown of the current usage of various resources or services in the listed environment. + + * Next: next contains the next burst level + +the parameters for the count and usage status of different resources or services in a system: + + * backup: The number of instances or units of backup service currently in use. + + * CPU: The number of instances or units of CPU resources currently in use. + + * cpu_vmware: The number of instances or units of CPU resources specific to VMware currently in use. + + * dedicated_host_6148: The number of instances or units of dedicated hosts with model 6148 currently in use. + + * dedicated_node_large: The number of instances or units of large dedicated nodes currently in use. + + * dedicated_node_medium: The number of instances or units of medium dedicated nodes currently in use. + + * dedicated_node_small: The number of instances or units of small dedicated nodes currently in use. + + * disaster_recovery: The number of instances or units of disaster recovery service currently in use. + + * dssd: The number of instances or units of DSSD (Data Scale-out Storage) currently in use. + + * dssd_vmware: The number of instances or units of DSSD specific to VMware currently in use. + + * EPC: The number of instances or units of EPC (Evolved Packet Core) currently in use. + + * gpu_amd_mi50: The number of instances or units of AMD MI50 GPUs (Graphics Processing Units) currently in use. + + * gpu_nvidia_a100: The number of instances or units of NVIDIA A100 GPUs currently in use. + + * gpu_nvidia_a6000: The number of instances or units of NVIDIA A6000 GPUs currently in use. + + * intel_cpu: The number of instances or units of Intel CPUs currently in use. (Note: It has a count of 2) + + * intel_mem: The number of instances or units of Intel memory currently in use. + + * ip: The number of instances or units of IP addresses currently in use. + + * ip_vmware: The number of instances or units of IP addresses specific to VMware currently in use. + + * mem: The number of instances or units of memory currently in use. + + * mem_vmware: The number of instances or units of memory specific to VMware currently in use. + + * Migration: The number of instances or units of migration service currently in use. + +msft_6wc_00002: The number of instances or units of a Microsoft service with code "6wc_00002" currently in use. + + * msft_7jq_00341: The number of instances or units of a Microsoft service with code "7jq_00341" currently in use. + + * msft_7nq_00302: The number of instances or units of a Microsoft service with code "7nq_00302" currently in use. + + * msft_9ea_00039: The number of instances or units of a Microsoft service with code "9ea_00039" currently in use. + + * msft_p73_04837_core: The number of instances or units of a Microsoft service with code "p73_04837_core" currently in use. + + * msft_tfa_00523: The number of instances or units of a Microsoft service with code "tfa_00523" currently in use. + + * nvme: The number of instances or units of NVMe (Non-Volatile Memory Express) currently in use. + + * object_storage: The number of instances or units of object storage service currently in use. + + * rx_foreign: The number of instances or units of foreign RX (Receive) currently in use. + + * rx_local: The number of instances or units of local RX (Receive) currently in use. + + * ssd: The number of instances or units of SSD (Solid State Drive) currently in use. + + * tx: The number of instances or units of TX (Transmit) currently in use. + + * tx_foreign: The number of instances or units of foreign TX (Transmit) currently in use. + + * tx_local: The number of instances or units of local TX (Transmit) currently in use. + + * tx_vmware: The number of instances or units of TX (Transmit) specific to VMware currently in use. + + * virtual_private_cloud: The number of instances or units of virtual private cloud service currently in use. + + * vlan: The number of instances or units of VLANs (Virtual Local Area Networks) currently in use. + + * vlan_ecx: The number of instances or units of VLANs specific to Equinix Cloud Exchange currently in use. + + * vlan_ecx_1000: The number of instances or units of VLANs with a specific bandwidth (1000 Mbps) currently in use. + + * vlan_ecx_200: The number of instances or units of VLANs with a specific bandwidth (200 Mbps) currently in use. + + * vlan_ecx_500: The number of instances or units of VLANs with a specific bandwidth (500 Mbps) currently in use. + + * vlan_vmware: The number of instances or units of VLANs specific to VMware currently in use. + + * vpc: The number of instances or units of VPCs (Virtual Private Clouds) currently in use. + + * vrouter_basic: The number of instances or units of a basic virtual router currently in use. + + * vrouter_basic_500: The number of instances or units of a basic virtual router with a specific bandwidth (500 Mbps) currently in use. + + * vrouter_enterprise: The number of instances or units of an enterprise virtual router currently in use. + + * vrouter_premium: The number of instances or units of a premium virtual router currently in use. + + * zadara: The number of instances or units of Zadara storage currently in use. + +The parameters for the current usage of various resources or services in the listed environment: + + * objects: An array containing information about individual resources and their pricing details. Each object in the array represents a specific resource. Let's explain the parameters for one of the resource objects: + + * Currency: The currency in which the pricing information is provided (e.g., "AUD" for Australian Dollar). + + * id: A unique identifier for the resource. + + * Level: The level or category of the resource. In this example, it's set to 4. + + * multiplier: A value used as a multiplier to calculate the price. In this case, it's 3600000. + + * price: The price of the resource. It's a decimal value, and in this example, it's "0.02400000000000000000." + + * resource: The type or category of the resource (e.g., "intel_cpu"). + +unit: The unit in which the resource usage is measured. In this case, it's "GHz/hour." + +This information provides details about the Current and next burst levels. + +This is the API call to get the current usage and pricing for various resources, including their currency, identifier, level, multiplier, price, resource type, and unit of measurement. The objects array contains details for each resource present in the listing. + +The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated) + +The billing cycle is executed every five minutes, and the burst is calculated for all the customers. + +If a customer is bursting a resource, then the system bills for that: + +Example: + +Burst: 4.50 GB of dssd for 5 minutes at 2014-06-05 09:06 + +Billing — CloudSigma API v2 documentation + +How burst is calculated? + +Example: + +A user has subscriptions for 100Gb, but she has two drives, 75Gb each. + +That means her current usage is 150Gb. + +100Gb are covered by the subscription + +The billing cycle will bill the extra 50Gb + + * Multiplier: The multiplier is a factor applied to calculate the price based on the unit of the resource. In this case, it's used to determine the cost of one unit per second for the specified resource. + +To find the cost for a certain amount of the resource, that amount should be multiplied by the multiplier. + +In response, for finding the cost of using 1 GB of the specified resource for one month, this formula can be used: The price is calculated using the formula: + +bill = price * interval(seconds) * amount / resource.multiplier + +The multiplier value is a large integer (2783138807808000), and its specific significance would depend on the internal calculations or conventions used by the API provider. + +In summary, the multiplier is a factor applied to calculate the price for a specific resource, and its exact interpret + Burst levels ~~~~~~~~~~~~ The current and future burst levels are provided in objects at the root of the response. The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated) .. includejson:: dumps/response_pricing_list - :keys: current,next + :keys: current, next Schema ~~~~~~ @@ -194,6 +494,28 @@ Schema :language: javascript + * Amount: The numeric value representing the amount of the transaction. In this context, it's "0.00014583333333333333." this is the actual value of the transaction, which could represent monetary values or quantities associated with the transaction. + + * billing_cycle: An identifier associated with the billing cycle. In this response, it's "105157." this is an identifier associated with the billing cycle, indicating when the transaction occurred in the billing cycle. + + * end: A timestamp or numeric value indicating the end of a particular period or transaction. In this case, it's "469291.07488238102453490453." This indicates the end of the transaction or the end of a specific period. + + * human_interval: A human-readable representation of the interval. In this context, it's "5 minutes." this is a human-readable representation of the interval, providing an easy-to-understand description of the duration. + + * id: A unique identifier for the transaction. Here, it's "39509304." + +initial: A numeric value representing the initial state or value. In this response, it's "469291.07502821435786823786." + + * interval: The duration of the interval, measured in seconds. In this case, it's "300" seconds (5 minutes). + + * poll_time: A timestamp indicating the time of polling or recording the transaction. For response, "2014-06-05T09:06:06.713945+00:00." + + * Reason: A human-readable explanation or reason for the transaction. In this context, it's "Burst: 4.50 GB of dssd for 5 minutes at 2014-06-05 09:06." + + * resource_amount: A numeric value representing the amount of a specific resource associated with the transaction. Here, it's "4831838208." + + * Time: A timestamp indicating the time of the transaction. For instance, "2014-06-05T09:08:47.992023+00:00." + Discounts --------- @@ -286,6 +608,90 @@ Schema .. literalinclude:: dumps/response_currentusage_schema :language: javascript +The response from the Current Usage API provides information about the current usage of various resources associated with the user. + + * Balance: The current balance associated with the user's account. In the response, it's "155367.99237092264288897986." + + * Currency: The currency of the balance. In the response, it's "EUR." + +**usage**: + + * amd_cpu: Information about the usage of AMD CPU. + + * burst: The burst level of AMD CPU usage. + + * subscribed: The subscribed or allocated amount of AMD CPU resources. + + * using: The currently used amount of AMD CPU resources. + + * amd_mem: Information about the usage of AMD memory. + + * burst: The burst level of AMD memory usage. + + * subscribed: The subscribed or allocated amount of AMD memory resources. + + * using: The currently used amount of AMD memory resources. + + **CPU**: Information about the usage of general CPU resources. + + * burst: The burst level of CPU usage. + + * subscribed: The subscribed or allocated amount of general CPU resources. + + * using: The currently used amount of general CPU resources. + + * dssd(Distributed ssd) : Following the next example + +A user has subscriptions for 100Gb, but she has two drives, 75Gb each. + +That means the current usage is 150Gb. + +100Gb are covered by the subscription + +The billing cycle will bill the extra 50Gb + +The values for every field are: + +burst: 50Gb + +subscribed: 100Gb + +using: 150Gb + +The logic is the same for all the resources. + + * burst: The burst level of DSSD usage. + + * subscribed: The subscribed or allocated amount of DSSD resources. + + * using: The currently used amount of DSSD resources. + + * IP: Information about the usage of IP addresses. + + * burst: The burst level of IP address usage. + + * subscribed: The subscribed or allocated amount of IP addresses. + + * using: The currently used amount of IP addresses. + + * mem: Information about the usage of general memory resources. + + * burst: The burst level of memory usage. + + * subscribed: The subscribed or allocated amount of general memory resources. + + * using: The currently used amount of general memory resources. + + * msft_7jq_00341 to zadara: Similar information about the usage of other specific resources. Each resource has the same structure: + + * burst: The burst level of resource usage. + + * subscribed: The subscribed or allocated amount of the specific resource. + + * using: The currently used amount of the specific resource. + +These parameters collectively provide a detailed snapshot of the user's current resource usage across various categories, including CPU, memory, storage, IP addresses, and other specific resources. The information includes burst levels, subscribed amounts, and currently used amounts for each resource category. + .. _billing-license: @@ -340,3 +746,32 @@ Schema .. literalinclude:: dumps/response_licenses_schema :language: javascript +The Licenses endpoint provides information about the licenses available on the cloud. the parameters collectively provide information about the licenses available on the cloud, including their types, burstability, names, and associated metrics for determining usage. The objects array contains details for each license present in the cloud. + +**meta**: + + * Limit: The maximum number of results to be returned. In the response, it's set to 20. + + * offset The starting index for the current set of results. In the response, it's set to 0. + + * total_count: The total number of available licenses. In the response, it's 4. + + * objects: (number of licenses the customer can use without being charged) An array containing information about individual licenses. Each license object has the following parameters: + + * burstable: Indicates whether the license is burstable or not. If true, the license is burstable; if false, it's not burstable(It means you need a subscription to use the license.). + + * long_name: The full or long name of the license. For response, "SQL Server Enterprise Edition" or "Windows Server." + + * Name: A short or abbreviated name of the license. For response, "msft_7jq_00341" or "msft_p73_04837_core." + + * resource_uri: The URI (Uniform Resource Identifier) that can be used to access detailed information about the license. + + * type: The type of the license, which can be one of the following: + + * install: These licenses are billed per installation, regardless of whether it is attached to a running server or not. + + * instance: These licenses are billed per running instance of a server. A license attached to a guest that’s stopped is not billed. + + * stub: These licenses are billed per a metric specified by the customer (e.g., per number of users). + + * user_metric: If the license type is a stub, this field specifies what attribute on the instance of the server is used for determining the number of licenses. For response, "smp" will count as one license for each CPU/core in the virtual machine. diff --git a/burst_usage.rst b/burst_usage.rst index 216f0b5..a5f4697 100644 --- a/burst_usage.rst +++ b/burst_usage.rst @@ -12,7 +12,7 @@ Allowed HTTP methods +--------+--------------------------------------------------+ .. note:: - + See :rfc:`2616#section-9` for more details on HTTP methods semantics @@ -26,7 +26,7 @@ Listing :statuscode 200: no error - + **Example request**: .. sourcecode:: http @@ -83,7 +83,7 @@ It's possible to specify period of burst usage using :ref:`filtering * Greater than: `?date__gt=2014-10-21` * Greater than or equal: `?date__gte=2014-10-21` - **Example for retreiving burst usage for the whole July 2014**: + **Example for retrieving burst usage for the whole of July 2014**: .. sourcecode:: http @@ -176,12 +176,12 @@ Listing Filtering --------- -It's possible to specify period of burst usage using :ref:`filtering ` by date: +It's possible to specify a period of burst usage using:ref:`filtering ` by date: * Lower than: `?date__lt=2014-10-21` * Greater than: `?date__gt=2014-10-21` - **Example for retreiving burst usage for the whole July 2014**: + **Example for retrieving burst usage for the whole of July 2014**: .. sourcecode:: http @@ -191,5 +191,5 @@ It's possible to specify period of burst usage using :ref:`filtering .. note:: - The date is actually a full time, which means that 2014-11-11 is actually 2014-11-11 00:00. This matters when trying - to filter because when using less than, it will not include the day, whereas it will be included for greater then. + The date is full time, which means that 2014-11-11 is 2014-11-11 00:00. This matters when trying + to filter because when using less than, it will not include the day, whereas it will be included for greater than. diff --git a/capabilities.rst b/capabilities.rst index aba0fce..a7c9ee0 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -11,24 +11,24 @@ Allowed HTTP methods +--------+--------------------------------------------------+ .. note:: - + See :rfc:`2616#section-9` for more details on HTTP methods semantics -The capabilities API call is used to gather all the basic, sensible limits of the API, to prevent applying static -limits inside the client application. +The Capabilities API is used to gather information about the basic, sensible limits of the API. It helps prevent applying static + limits inside the client application by providing dynamic information based on factors such as cloud usage, location, and other relevant parameters. -Bare in mind, that these capabilities are dynamic - they are based on the cloud usage, location, etc. For example -a location might not support **lssd**, but support **magnetic** disk option, or vise versa. If a feature is not supported or +Bear in mind, that these capabilities are dynamic - they are based on cloud usage, location, etc. For example, +a location might not support **lssd**, but support **magnetic** disk option, or vice versa. If a feature is not supported or is disabled, it will disappear from the result of this call. Most entries are obvious limits on the guest or drive properties. :hosts: A list of available host types and their limitations. :cpu_per_smp: - This gives a range of valid cpu values, per smp, for the given host type. For example, for AMD hosts, one CPU must be - between 1000 and 2500MHz: a guest 2000MHz cpu and 2 smp has 1000MHz per smp and is valid, but a guest with + This gives a range of valid CPU values, per SMP, for the given host type. For example, for AMD hosts, one CPU must be + between 1000 and 2500MHz: a guest 2000MHz CPU and 2 SMP has 1000MHz per SMP and is valid, but a guest with 8000MHz cpu and 2 smp has a 4000MHz per smp is not. .. _hypervisors: @@ -60,3 +60,55 @@ is disabled, it will disappear from the result of this call. Most entries are ob .. literalinclude:: dumps/response_capabilities :language: javascript + + +This is a detailed explanation of the key parameters of the API response for listing capabilities endpoint: + +1. **Backfilling**: Indicates whether backfilling is enabled (true) or not (false). + +*Backfilling is a feature that allows you to start servers without guaranteeing how long they will run.* +For more information https://docs.cloudsigma.com/en/latest/backfilling.html + +2. **currencies**: Lists the supported currencies with their IDs and names. + +3. **id**: It is the unique identifier for the currency. In this case, "CHF" represents the Swiss Franc. + +4. **Name**: It is the common or display name for the currency. In this case, "CHF" represents the abbreviation or name used to refer to the Swiss Franc. + +So, this entry indicates that the system supports the Swiss Franc (CHF) as a currency, and "CHF" is the identifier or name used within the system for this currency. + +5. **default_inactive_period**: The default inactive period is defined as days. A value of 45 indicates the inactive period is 45 days. + +This value is used to find the users with the last login made 45 days ago(using the value in the previous paragraph) and mark them as INACTIVE users. + +6. **default_storage_type**: Indicates the default storage type (e.g., "dssd"). + +7. **drives**: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. Example: + +8. **EPC**: The EPC values are related to the Intel SGX enclaves. + +9. **epc_mem_ratio**: The epc_mem_ratio represents the ratio of memory needed to start a guest that supports SGX. + +10. **max_per_host**: Represents the maximum free Enclave Page Cache (EPC) available in the location. The value is in bytes. + +11. **GPUs**: Lists GPU models with their maximum CPU, memory, SMP, and other relevant configurations. + +12. **hosts**: Details limitations for different host types (e.g., AMD, Intel) concerning CPU, CPU per SMP, memory, and SMP. + +13. **Hypervisors**: Specifies which hypervisors (e.g., KVM) are available on particular host types (e.g., Intel, AMD). + +The "hypervisors" parameter informs users about the available hypervisors and the types of hosts (architectures) each hypervisor supports. In this specific case, the KVM hypervisor supports both "intel" and "amd" architectures. + +14. **inactive_period_range**: Defines the maximum and minimum values accepted for the Inactivation Timeout defined by the user, for further information please check https://tbc.cloudsigma.com/ui/5.0/security + +15. **remote_snapshots**:Contains information about remote snapshots, including the current count, the maximum allowed, and locations. +The difference between a snapshot and a remote snapshot is that the snapshot is stored in the same location as the source drive; the remote snapshot is stored in a different location. + +16. **servers**: Details about server properties, including CPU, memory, SMP, and start methods. + +17. **snapshots**: Specifies the current count, maximum allowed, and maximum per drive for snapshots. A "snapshot" refers to a point-in-time copy +of the state of a virtual machine or a storage drive. Snapshots are typically used for backup, recovery, or cloning purposes. + +18. **vmware_drives**: Provides details about VMware drive storage capacity limits. + +19. **vmware_servers**: Indicates VMware server compute capacity limits for CPU and memory. diff --git a/dumps/response_capabilities b/dumps/response_capabilities index 0902fe2..6f150d7 100644 --- a/dumps/response_capabilities +++ b/dumps/response_capabilities @@ -1,193 +1,167 @@ HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 - { "backfilling": false, + "card_backend": "StripeBackend", "currencies": [ - { - "id": "CHF", - "name": "chf" - }, - { - "id": "USD", - "name": "usd" - }, - { - "id": "EUR", - "name": "eur" - }, - { - "id": "GBP", - "name": "gbp" - }, - { - "id": "PHP", - "name": "php" - }, - { - "id": "AUD", - "name": "aud" - }, - { - "id": "SAR", - "name": "sar" - }, - { - "id": "JPY", - "name": "jpy" - } + { + "id": "CHF", + "name": "chf" + }, + { + "id": "USD", + "name": "usd" + }, + { + "id": "EUR", + "name": "eur" + }, + { + "id": "GBP", + "name": "gbp" + }, + { + "id": "PHP", + "name": "php" + }, + { + "id": "AUD", + "name": "aud" + }, + { + "id": "SAR", + "name": "sar" + }, + { + "id": "JPY", + "name": "jpy" + } ], "default_inactive_period": 45, "default_storage_type": "dssd", "drives": { - "dssd": { - "iops": { - "base": 30000, - "max": 60000, - "min": 1 + "dssd": { + "iops": { + "base": 30000, + "max": 60000, + "min": 1 + }, + "max_size": 15492389427364, + "min_size": 536870912, + "size": { + "max": 15492389427364, + "min": 536870912 + } }, - "max_size": 15087863484255, - "min_size": 536870912, - "size": { - "max": 15087863484255, - "min": 536870912 - } - }, - "nvme": { - "iops": { - "base": 30000, - "max": 60000, - "min": 1 + "nvme": { + "iops": { + "base": 30000, + "max": 60000, + "min": 1 + }, + "max_size": 12074020121525, + "min_size": 536870912, + "size": { + "max": 12074020121525, + "min": 536870912 + } }, - "max_size": 12079598531766, - "min_size": 536870912, - "size": { - "max": 12079598531766, - "min": 536870912 + "zadara": { + "iops": { + "base": 4000, + "max": 8000, + "min": 1 + }, + "max_size": 14180205493621, + "min_size": 1073741824.0, + "size": { + "max": 14180205493621, + "min": 1073741824.0 + } } - }, - "zadara": { - "iops": { - "base": 4000, - "max": 8000, - "min": 1 + }, + "hosts": { + "amd": { + "cpu": { + "max": 96000, + "min": 250 + }, + "cpu_per_smp": { + "max": 2893, + "min": 1000 + }, + "mem": { + "max": 558345748480, + "min": 268435456 + }, + "smp": { + "max": 32, + "min": 1 + } }, - "max_size": 13775679960716, - "min_size": 1073741824.0, - "size": { - "max": 13775679960716, - "min": 1073741824.0 + "intel": { + "cpu": { + "max": 96000, + "min": 250 + }, + "cpu_per_smp": { + "max": 3000, + "min": 1000 + }, + "mem": { + "max": 558345748480, + "min": 268435456 + }, + "smp": { + "max": 32, + "min": 1 + } } - } }, - "epc": { - "epc_mem_ratio": 0.5, - "max_per_host": 68719476736 + "hypervisors": { + "kvm": [ + "intel", + "amd" + ] }, - "gpus": { - "nvidia_a100": { - "max_cpu_per_host": 378000, - "max_memory_per_host": 455886655488, - "max_per_host": 2, - "max_smp_per_host": 108, - "model_name": "GPU Nvidia A100" - } + "inactive_period_range": { + "max": 250, + "min": 0 }, - "hosts": { - "amd": { + "remote_snapshots": { + "current": 0, + "max": 600, + "remote_locations": [ + "TBC" + ] + }, + "servers": { "cpu": { - "max": 96000, - "min": 250 + "max": 96000, + "min": 250 }, "cpu_per_smp": { - "max": 2893, - "min": 1000 + "max": 3000, + "min": 1000 }, + "default_start_method": "regular", "mem": { - "max": 558345748480, - "min": 268435456 + "max": 558345748480, + "min": 268435456 }, "smp": { - "max": 32, - "min": 1 - } - }, - "intel": { - "cpu": { - "max": 96000, - "min": 250 - }, - "cpu_per_smp": { - "max": 3000, - "min": 1000 - }, - "mem": { - "max": 558345748480, - "min": 268435456 + "max": 32, + "min": 1 }, - "smp": { - "max": 32, - "min": 1 - } - } - }, - "hypervisors": { - "kvm": [ - "intel", - "amd" - ] - }, - "inactive_period_range": { - "max": 250, - "min": 0 - }, - "remote_snapshots": { - "current": 0, - "max": 600, - "remote_locations": [ - "TBC" - ] - }, - "servers": { - "cpu": { - "max": 96000, - "min": 250 - }, - "cpu_per_smp": { - "max": 3000, - "min": 1000 - }, - "default_start_method": "regular", - "mem": { - "max": 558345748480, - "min": 268435456 - }, - "smp": { - "max": 32, - "min": 1 - }, - "start_methods": [ - "eager", - "lazy", - "regular" - ] + "start_methods": [ + "eager", + "lazy", + "regular" + ] }, "snapshots": { - "current": 0, - "max": 700, - "max_per_drive": 90 - }, - "vmware_drives": { - "storage_capacity": { - "limit": 6291200.0, - "units": "MB", - "used": 2127040.0 - } - }, - "vmware_servers": { - "compute_capacity": { - "cpu_max": 117797, - "mem_max": 271061 - } + "current": 0, + "max": 700, + "max_per_drive": 90 } } diff --git a/dumps/response_pricing_list b/dumps/response_pricing_list index 59eeb02..779ca8a 100644 --- a/dumps/response_pricing_list +++ b/dumps/response_pricing_list @@ -3,44 +3,104 @@ Content-Type: application/json; charset=utf-8 { "current": { - "cpu": 20, + "backup": 1, + "cpu": 1, + "cpu_vmware": 1, + "dedicated_host_6148": 1, + "dedicated_node_large": 1, + "dedicated_node_medium": 1, + "dedicated_node_small": 1, + "disaster_recovery": 1, "dssd": 1, + "dssd_vmware": 1, + "epc": 1, + "intel_cpu": 2, + "intel_mem": 1, "ip": 1, - "mem": 17, + "ip_vmware": 1, + "mem": 1, + "mem_vmware": 1, + "migration": 1, + "msft_6wc_00002": 1, "msft_7jq_00341": 1, "msft_7nq_00302": 1, + "msft_9ea_00039": 1, "msft_p73_04837_core": 1, "msft_tfa_00523": 1, - "sms": 1, - "sparc_t4_cpu": 1, - "sparc_t4_mem": 1, + "nvme": 1, + "object_storage": 1, + "rx_foreign": 1, + "rx_local": 1, "ssd": 1, "tx": 1, + "tx_foreign": 1, + "tx_local": 1, + "tx_vmware": 1, + "virtual_private_cloud": 1, "vlan": 1, "vlan_ecx": 1, + "vlan_ecx_1000": 1, + "vlan_ecx_200": 1, + "vlan_ecx_500": 1, + "vlan_vmware": 1, + "vpc": 1, + "vrouter_basic": 1, + "vrouter_basic_500": 1, + "vrouter_enterprise": 1, + "vrouter_premium": 1, "zadara": 1 }, "meta": { - "limit": 5, + "limit": 0, "offset": 0, - "total_count": 484 + "total_count": 3025 }, "next": { - "cpu": 20, + "backup": 1, + "cpu": 1, + "cpu_vmware": 1, + "dedicated_host_6148": 1, + "dedicated_node_large": 1, + "dedicated_node_medium": 1, + "dedicated_node_small": 1, + "disaster_recovery": 1, "dssd": 1, + "dssd_vmware": 1, + "epc": 1, + "intel_cpu": 2, + "intel_mem": 1, "ip": 1, - "mem": 17, + "ip_vmware": 1, + "mem": 1, + "mem_vmware": 1, + "migration": 1, + "msft_6wc_00002": 1, "msft_7jq_00341": 1, "msft_7nq_00302": 1, + "msft_9ea_00039": 1, "msft_p73_04837_core": 1, "msft_tfa_00523": 1, - "sms": 1, - "sparc_t4_cpu": 1, - "sparc_t4_mem": 1, + "nvme": 1, + "object_storage": 1, + "rx_foreign": 1, + "rx_local": 1, "ssd": 1, "tx": 1, + "tx_foreign": 1, + "tx_local": 1, + "tx_vmware": 1, + "virtual_private_cloud": 1, "vlan": 1, "vlan_ecx": 1, + "vlan_ecx_1000": 1, + "vlan_ecx_200": 1, + "vlan_ecx_500": 1, + "vlan_vmware": 1, + "vpc": 1, + "vrouter_basic": 1, + "vrouter_basic_500": 1, + "vrouter_enterprise": 1, + "vrouter_premium": 1, "zadara": 1 }, "objects": [ From 830bff031680b36e6cff20e120caa19cba427b0e Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Tue, 21 May 2024 14:37:58 +0300 Subject: [PATCH 55/72] Update response_locations --- dumps/response_locations | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dumps/response_locations b/dumps/response_locations index 57d22d7..1066050 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -199,6 +199,18 @@ Content-Type: application/json; charset=utf-8 "id":"DUS", "upload_url":"https://direct.dus.cloudsigma.com/api/2.0/", "websocket_url":"wss://direct.dus.cloudsigma.com/websocket" + }, + { + "alternative_frontend_url":"https://mty.cloudsigma.com/ui/", + "api_endpoint":"https://mty.cloudsigma.com/api/2.0/", + "country_code":"MX", + "default_frontend_signup_url":"https://mty.cloudsigma.com/ui/", + "default_frontend_url":"https://mty.cloudsigma.com/ui/", + "display_name":"Monterrey, Mexico", + "documentation_url":"https://docs.cloudsigma.com", + "id":"MTY", + "upload_url":"https://direct.mty.cloudsigma.com/api/2.0/", + "websocket_url":"wss://direct.mty.cloudsigma.com/websocket" } ] } From 11534bb04ab479330cbcc04909709e49131a68c9 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 28 May 2024 11:48:22 +0300 Subject: [PATCH 56/72] Add the release notes for 2405. --- capabilities.rst | 2 +- release_notes.rst | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/capabilities.rst b/capabilities.rst index a7c9ee0..060a472 100644 --- a/capabilities.rst +++ b/capabilities.rst @@ -83,7 +83,7 @@ This value is used to find the users with the last login made 45 days ago(using 6. **default_storage_type**: Indicates the default storage type (e.g., "dssd"). -7. **drives**: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. Example: +7. **drives**: Provides detailed information about available drive types and their limitations, including IOPS and size ranges. 8. **EPC**: The EPC values are related to the Intel SGX enclaves. diff --git a/release_notes.rst b/release_notes.rst index 40c349d..213b800 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,17 @@ Release Notes 2024 Release ------------ +2405 +~~~~ + +**Date Released:** 2024-05-21 + +* We have fixed an inconvenience with Access Control Lists and one of the accounts gets removed. Now it works much better. +* Also, we've further improved our shiny new payment module. +* And more! With a sprinkle of code and a dash of innovation, our tech alchemists have brewed up 26 improvements! +* Get ready for a smoother, more secure, and delightful cloud experience. + + 2404 ~~~~ From c4c1fade9820b593630efe78a817f4697a49d1ef Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 28 May 2024 11:52:21 +0300 Subject: [PATCH 57/72] Fix the location details for MTY. --- dumps/response_locations | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dumps/response_locations b/dumps/response_locations index 1066050..7d3ae60 100644 --- a/dumps/response_locations +++ b/dumps/response_locations @@ -201,16 +201,16 @@ Content-Type: application/json; charset=utf-8 "websocket_url":"wss://direct.dus.cloudsigma.com/websocket" }, { - "alternative_frontend_url":"https://mty.cloudsigma.com/ui/", - "api_endpoint":"https://mty.cloudsigma.com/api/2.0/", + "alternative_frontend_url":"https://mty.stratospherecloud.com/ui/", + "api_endpoint":"https://mty.stratospherecloud.com/api/2.0/", "country_code":"MX", - "default_frontend_signup_url":"https://mty.cloudsigma.com/ui/", - "default_frontend_url":"https://mty.cloudsigma.com/ui/", + "default_frontend_signup_url":"https://mty.stratospherecloud.com/ui/", + "default_frontend_url":"https://mty.stratospherecloud.com/ui/", "display_name":"Monterrey, Mexico", "documentation_url":"https://docs.cloudsigma.com", "id":"MTY", - "upload_url":"https://direct.mty.cloudsigma.com/api/2.0/", - "websocket_url":"wss://direct.mty.cloudsigma.com/websocket" + "upload_url":"https://direct.mty.stratospherecloud.com/api/2.0/", + "websocket_url":"wss://direct.mty.stratospherecloud.com/websocket" } ] } From aad5b4c76dc634d9baef971afa1968a9ca048b3e Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 3 Jun 2024 11:49:09 +0300 Subject: [PATCH 58/72] Add examples for the backup schedulers. --- backup_schedulers.rst | 60 ++-- dumps/request_backup_scheduler_backup_get | 2 + dumps/request_backup_scheduler_backup_update | 2 + dumps/request_backup_scheduler_backups_list | 2 + ..._backup_scheduler_backups_list_detail_type | 2 + ...request_backup_scheduler_backups_list_type | 3 + dumps/request_backup_scheduler_create | 2 + dumps/request_backup_scheduler_delete | 3 + dumps/request_backup_scheduler_set_drive | 2 + dumps/response_backup_scheduler_backup_get | 55 +++ dumps/response_backup_scheduler_backup_update | 60 ++++ dumps/response_backup_scheduler_backups_list | 75 ++++ ..._backup_scheduler_backups_list_detail_type | 339 ++++++++++++++++++ ...esponse_backup_scheduler_backups_list_type | 62 ++++ dumps/response_backup_scheduler_create | 64 ++++ dumps/response_backup_scheduler_delete | 0 16 files changed, 704 insertions(+), 29 deletions(-) create mode 100644 dumps/request_backup_scheduler_backup_get create mode 100644 dumps/request_backup_scheduler_backup_update create mode 100644 dumps/request_backup_scheduler_backups_list create mode 100644 dumps/request_backup_scheduler_backups_list_detail_type create mode 100644 dumps/request_backup_scheduler_backups_list_type create mode 100644 dumps/request_backup_scheduler_create create mode 100644 dumps/request_backup_scheduler_delete create mode 100644 dumps/request_backup_scheduler_set_drive create mode 100644 dumps/response_backup_scheduler_backup_get create mode 100644 dumps/response_backup_scheduler_backup_update create mode 100644 dumps/response_backup_scheduler_backups_list create mode 100644 dumps/response_backup_scheduler_backups_list_detail_type create mode 100644 dumps/response_backup_scheduler_backups_list_type create mode 100644 dumps/response_backup_scheduler_create create mode 100644 dumps/response_backup_scheduler_delete diff --git a/backup_schedulers.rst b/backup_schedulers.rst index 27a18e5..79d05bf 100644 --- a/backup_schedulers.rst +++ b/backup_schedulers.rst @@ -1,9 +1,9 @@ Backup Schedulers ================= -Backup schedules are a set of rules to automate the creation and +Backup schedulers are a set of rules to automate the creation and deletion of remote snapshots. It is possible to configure a backup scheduler -to periodically create remote snapshots, e.g. daily, weekly, or monthly. Also, +to periodically create remote snapshots , e.g. daily, weekly or monthly. Also, it is possible to configure the retention policy to automate the deletion of the remote snapshots created by the scheduler. @@ -13,6 +13,9 @@ There are three different types of schedulers: * migration * backup +.. note:: + + This document is related to backup schedulers only. Allowed HTTP methods -------------------- @@ -47,13 +50,13 @@ Listing **Example request - default list**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backups_list + .. literalinclude:: dumps/request_backup_scheduler_backups_list :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backups_list + .. literalinclude:: dumps/response_backup_scheduler_backups_list :language: javascript Listing schedulers by type @@ -61,21 +64,21 @@ Listing schedulers by type .. http:get:: /backupschedulers/?type=scheduler_type - Gets the list of backup schedulers to which the authenticated user has - access and are from the type specified in the filters. + Gets the list of backups schedulers to which the authenticated user has + access and are from type specified in the filters. :statuscode 200: no error **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backups_list_type + .. literalinclude:: dumps/request_backup_scheduler_backups_list_type :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backups_list_type + .. literalinclude:: dumps/response_backup_scheduler_backups_list_type :language: javascript @@ -85,20 +88,20 @@ Detailed listing .. http:get:: /backupschedulers/detail/ Gets the detailed list of backup schedulers with additional information to - which the authenticated user has access to. + which the authenticated user has access. :statuscode 200: no error **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backups_list_detail_type + .. literalinclude:: dumps/request_backup_scheduler_backups_list_detail_type :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backups_list_detail_type + .. literalinclude:: dumps/response_backup_scheduler_backups_list_detail_type :language: javascript Detailed listing schedulers by type @@ -107,20 +110,20 @@ Detailed listing schedulers by type .. http:get:: /backupschedulers/detail/?type=scheduler_type Gets the detailed list of backup schedulers to which the authenticated user - has access and is from the type specified in the filters. + has access and are from type specified in the filters. :statuscode 200: no error **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backups_list_detail_type + .. literalinclude:: dumps/request_backup_scheduler_backups_list_detail_type :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backups_list_detail_type + .. literalinclude:: dumps/response_backup_scheduler_backups_list_detail_type :language: javascript List single backup scheduler @@ -136,13 +139,13 @@ List single backup scheduler **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backup_get + .. literalinclude:: dumps/request_backup_scheduler_backup_get :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backup_get + .. literalinclude:: dumps/response_backup_scheduler_backup_get :language: javascript Creating @@ -156,12 +159,12 @@ Creating **Example request**: - .. includejson:: dumps/backupschedulers/request_backup_scheduler_create + .. includejson:: dumps/request_backup_scheduler_create :accessor: objects.0 **Example response** - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_create + .. literalinclude:: dumps/response_backup_scheduler_create :language: javascript Editing @@ -175,12 +178,12 @@ Editing **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_backup_update + .. literalinclude:: dumps/request_backup_scheduler_backup_update :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_backup_update + .. literalinclude:: dumps/response_backup_scheduler_backup_update :language: javascript Deleting @@ -197,13 +200,13 @@ Single backup scheduler **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_delete + .. literalinclude:: dumps/request_backup_scheduler_delete :language: http **Example response**: - .. literalinclude:: dumps/backupschedulers/response_backup_scheduler_delete + .. literalinclude:: dumps/response_backup_scheduler_delete :language: javascript Deletes multiple backup schedulers @@ -211,7 +214,7 @@ Deletes multiple backup schedulers .. http:delete:: /backupschedulers/ - Deletes multiple backup schedulers specified by their UUID's. + Deletes multiple backup schedulers specified by their UUIDs. :statuscode 204: No content, object deletion started. @@ -242,7 +245,7 @@ Deletes multiple backup schedulers HTTP/1.0 204 NO CONTENT -Set the scheduler to a drive +Set scheduler to a drive ------------------------ .. http:post:: /drives/{drive_uuid}/action/?do=set_scheduler @@ -253,7 +256,7 @@ Set the scheduler to a drive **Example request**: - .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_set_drive + .. literalinclude:: dumps/request_backup_scheduler_set_drive :language: javascript **Example response** @@ -263,10 +266,10 @@ Set the scheduler to a drive Allowed timezones ----------------- -The following list is the allowed timezone values for the fields +The following list are the allowed timezone values for the fields orchestrator_timezone and user_timezone. - .. literalinclude:: dumps/backupschedulers/backup_scheduler_timezones + .. literalinclude:: dumps/backup_scheduler_timezones :language: javascript Examples of backup schedulers and retention policies @@ -292,7 +295,7 @@ at 23:00 hours and only keeps those that were taken in the past 4 weeks. :language: javascript Configure a monthly backup scheduler to create a remote snapshot every first -of the month at 23:59 hours and only keeps those that were taken in the past 6 +of month at 23:59 hours and only keeps those that were taken in the past 6 months. .. literalinclude:: dumps/backupschedulers/request_backup_scheduler_periodic_example_4 @@ -303,4 +306,3 @@ Schema .. literalinclude:: dumps/backupschedulers/response_backupscheduler_schema :language: javascript - diff --git a/dumps/request_backup_scheduler_backup_get b/dumps/request_backup_scheduler_backup_get new file mode 100644 index 0000000..4b4a40a --- /dev/null +++ b/dumps/request_backup_scheduler_backup_get @@ -0,0 +1,2 @@ +GET /api/2.0/backupschedulers/f60f5634-201e-499c-a266-dec38e6416bd +Content-Type: application/json diff --git a/dumps/request_backup_scheduler_backup_update b/dumps/request_backup_scheduler_backup_update new file mode 100644 index 0000000..1a064d8 --- /dev/null +++ b/dumps/request_backup_scheduler_backup_update @@ -0,0 +1,2 @@ +GET /api/2.0/backupschedulers/{{dr_uuid}}/ +Content-Type: application/json diff --git a/dumps/request_backup_scheduler_backups_list b/dumps/request_backup_scheduler_backups_list new file mode 100644 index 0000000..76c5e11 --- /dev/null +++ b/dumps/request_backup_scheduler_backups_list @@ -0,0 +1,2 @@ +GET /api/2.0/backupschedulers/?limit=5 HTTP/1.1 +Content-Type: application/json diff --git a/dumps/request_backup_scheduler_backups_list_detail_type b/dumps/request_backup_scheduler_backups_list_detail_type new file mode 100644 index 0000000..9d3405c --- /dev/null +++ b/dumps/request_backup_scheduler_backups_list_detail_type @@ -0,0 +1,2 @@ +GET /api/2.0/backupschedulers/detail/?type=dr +Content-Type: application/json diff --git a/dumps/request_backup_scheduler_backups_list_type b/dumps/request_backup_scheduler_backups_list_type new file mode 100644 index 0000000..f72ff61 --- /dev/null +++ b/dumps/request_backup_scheduler_backups_list_type @@ -0,0 +1,3 @@ +GET /api/2.0/backupschedulers/?type=dr/?limit=5 HTTP/1.1 +Content-Type: application/json + diff --git a/dumps/request_backup_scheduler_create b/dumps/request_backup_scheduler_create new file mode 100644 index 0000000..7afe433 --- /dev/null +++ b/dumps/request_backup_scheduler_create @@ -0,0 +1,2 @@ +GET /api/2.0/backupschedulers/?type=dr/ +Content-Type: application/json diff --git a/dumps/request_backup_scheduler_delete b/dumps/request_backup_scheduler_delete new file mode 100644 index 0000000..6179ef2 --- /dev/null +++ b/dumps/request_backup_scheduler_delete @@ -0,0 +1,3 @@ +DELETE /api/2.0/backupschedulers/b4fa47cf-f929-4dde-b77a-ea1d326862bd/ HTTP/1.1 +Content-Type: application/json + diff --git a/dumps/request_backup_scheduler_set_drive b/dumps/request_backup_scheduler_set_drive new file mode 100644 index 0000000..206f023 --- /dev/null +++ b/dumps/request_backup_scheduler_set_drive @@ -0,0 +1,2 @@ +POST /api/2.0/drives/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/action/?do=set_scheduler HTTP/1.1 +Content-Type: application/json \ No newline at end of file diff --git a/dumps/response_backup_scheduler_backup_get b/dumps/response_backup_scheduler_backup_get new file mode 100644 index 0000000..adb93bf --- /dev/null +++ b/dumps/response_backup_scheduler_backup_get @@ -0,0 +1,55 @@ +{ + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/f60f5634-201e-499c-a266-dec38e6416bd/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f60f5634-201e-499c-a266-dec38e6416bd" +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_backup_update b/dumps/response_backup_scheduler_backup_update new file mode 100644 index 0000000..a4be176 --- /dev/null +++ b/dumps/response_backup_scheduler_backup_update @@ -0,0 +1,60 @@ +HTTP/1.1 200 OK +Content-Type: application/json; charset=utf-8 +{ + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test2", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "rentention_policy": { + "rules": [] + }, + "resource_uri": "/api/2.0/backupschedulers/40c7b699-62c0-412b-9a83-b799f5c0393e/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "40c7b699-62c0-412b-9a83-b799f5c0393e" +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_backups_list b/dumps/response_backup_scheduler_backups_list new file mode 100644 index 0000000..ffb7412 --- /dev/null +++ b/dumps/response_backup_scheduler_backups_list @@ -0,0 +1,75 @@ +HTTP/1.1 200 OK +Content-Type: application/json; charset=utf-8 +{ + "meta": { + "limit": 20, + "offset": 0, + "total_count": 4 + }, + "objects": [ + { + "is_default": false, + "is_enabled": true, + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/6bcb958f-8c1f-4115-a43e-82c388ee2535/", + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "6bcb958f-8c1f-4115-a43e-82c388ee2535" + }, + { + "is_default": false, + "is_enabled": true, + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/97fa3587-1187-413b-b9e3-85238276f0ca/", + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "97fa3587-1187-413b-b9e3-85238276f0ca" + }, + { + "is_default": false, + "is_enabled": true, + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/a3828367-7964-4246-a011-5ff810ecafb6/", + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "a3828367-7964-4246-a011-5ff810ecafb6" + }, + { + "is_default": false, + "is_enabled": true, + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/f60f5634-201e-499c-a266-dec38e6416bd/", + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f60f5634-201e-499c-a266-dec38e6416bd" + } + ] +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_backups_list_detail_type b/dumps/response_backup_scheduler_backups_list_detail_type new file mode 100644 index 0000000..980fe5e --- /dev/null +++ b/dumps/response_backup_scheduler_backups_list_detail_type @@ -0,0 +1,339 @@ +{ + "meta": { + "limit": 20, + "offset": 0, + "total_count": 6 + }, + "objects": [ + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test2", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/40c7b699-62c0-412b-9a83-b799f5c0393e/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "40c7b699-62c0-412b-9a83-b799f5c0393e" + }, + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/6bcb958f-8c1f-4115-a43e-82c388ee2535/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "6bcb958f-8c1f-4115-a43e-82c388ee2535" + }, + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/97fa3587-1187-413b-b9e3-85238276f0ca/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "97fa3587-1187-413b-b9e3-85238276f0ca" + }, + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/a3828367-7964-4246-a011-5ff810ecafb6/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "a3828367-7964-4246-a011-5ff810ecafb6" + }, + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/f1a7a7d0-944d-4b0a-a6b5-41d3d5402053/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f1a7a7d0-944d-4b0a-a6b5-41d3d5402053" + }, + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "resource_uri": "/api/2.0/backupschedulers/f60f5634-201e-499c-a266-dec38e6416bd/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f60f5634-201e-499c-a266-dec38e6416bd" + } + ] +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_backups_list_type b/dumps/response_backup_scheduler_backups_list_type new file mode 100644 index 0000000..e7995ef --- /dev/null +++ b/dumps/response_backup_scheduler_backups_list_type @@ -0,0 +1,62 @@ +{ + "objects": [ + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "rentention_policy": { + "rules": [] + }, + "resource_uri": "/api/2.0/backupschedulers/f1a7a7d0-944d-4b0a-a6b5-41d3d5402053/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f1a7a7d0-944d-4b0a-a6b5-41d3d5402053" + } + ] +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_create b/dumps/response_backup_scheduler_create new file mode 100644 index 0000000..311e3ec --- /dev/null +++ b/dumps/response_backup_scheduler_create @@ -0,0 +1,64 @@ +HTTP/1.1 201 Created +Content-Type: application/json; charset=utf-8 +{ + "objects": [ + { + "grantees": [], + "incremental_backup": { + "day_of_month": "*", + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "hour": "", + "minute": "*", + "month": "*", + "repeat": { + "hour": "", + "minute": "*/15" + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "initial_backup": { + "day_of_week": [ + "*" + ], + "end_time": { + "hour": 11, + "minute": 45 + }, + "start_time": { + "hour": 12, + "minute": 0 + } + }, + "is_default": false, + "is_enabled": true, + "manual_incremental_backup": "", + "meta": {}, + "name": "test", + "orchestrator_timezone": "Etc/UTC", + "owner": { + "resource_uri": "/api/2.0/user/efe6c4a4-d326-4130-a6c4-b1cb267e6b6f/", + "uuid": "efe6c4a4-d326-4130-a6c4-b1cb267e6b6f" + }, + "permissions": [], + "remote_location": "", + "rentention_policy": { + "rules": [] + }, + "resource_uri": "/api/2.0/backupschedulers/f1a7a7d0-944d-4b0a-a6b5-41d3d5402053/", + "retention_policy": {}, + "tags": [], + "type": "dr", + "user_timezone": "Etc/GMT+12", + "uuid": "f1a7a7d0-944d-4b0a-a6b5-41d3d5402053" + } + ] +} \ No newline at end of file diff --git a/dumps/response_backup_scheduler_delete b/dumps/response_backup_scheduler_delete new file mode 100644 index 0000000..e69de29 From 9bf82fe61499a33a559d049ec7da9a74f6c9f653 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 3 Jun 2024 14:54:02 +0300 Subject: [PATCH 59/72] Add backup_schedulers to the index list of the main menu. --- index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/index.rst b/index.rst index 5c7fa09..614d81e 100644 --- a/index.rst +++ b/index.rst @@ -20,6 +20,7 @@ Welcome to CloudSigma API documentation! drives snapshots remote_snapshots + backup_schedulers libdrives upload_download servers_vmware From 403422ae46d80cd8b7984d5951c0fbff25b2c942 Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Thu, 20 Jun 2024 11:50:11 +0300 Subject: [PATCH 60/72] Update billing.rst --- billing.rst | 440 ---------------------------------------------------- 1 file changed, 440 deletions(-) diff --git a/billing.rst b/billing.rst index e61c537..a429fbc 100644 --- a/billing.rst +++ b/billing.rst @@ -47,42 +47,6 @@ Schema .. literalinclude:: dumps/response_balance_schema :language: javascript -Schema listing for getting the balance and currency of the current account: - -1. allowed_detail_http_methods:Array of allowed HTTP methods for detailed views. - -2. allowed_list_http_methods:Array of allowed HTTP methods for listing. - -3. default_format:Default format for the response (e.g., "application/json"). - -4. default_limit:Default limit for the number of items in a response. - -fields: - -5. balance: This field represents the amount of money in the account. It is read-only, meaning it cannot be updated directly, and it's required as it is a fundamental piece of information about the account. The data type is decimal, which is appropriate for handling monetary values. - -6. credit_limit: This field indicates the credit limit applied to the account, if applicable. Like balance, it is read-only and required. The data type is a string, suggesting that credit limits might be represented as alphanumeric values. - -7. currency: This field specifies the currency of the account. It is read-only, required, and has a data type of string, indicating that it holds textual information about the currency. - -filtering: - -7. name:Filter Type: "exact", This filter allows to retrieval objects where the "name" field exactly matches the specified value. - -8. name__contains:Filter Type: "exact", Similar to the name filter, this allows retrieving objects where the "name" field exactly matches the specified value. - -9. tag:Filter Type: "exact", This filter enables retrieval objects based on an exact match for the "tag" field. If you have objects tagged with specific identifiers, you can use this filter to fetch those objects precisely. - -10. uuid: This filter is designed to retrieve objects based on an exact match for the "uuid" (Universally Unique Identifier) field. - -**Note**: - * The API allows to retrieval of information about available discount periods and their corresponding values. - - * The discount periods are provided in the "objects" array, each with a "period" and a "value." - - * The "period" indicates the duration for which the discount is applicable (e.g., 3 months, 6 months). - - * The "value" represents the discount value, provided as a string representing a decimal number. Pricing ------- @@ -124,275 +88,6 @@ Listing :language: javascript - - * Current: current contains the current burst level - -The parameters inside the "objects" section represent different types of resources or services and their corresponding usage counts. Here's an explanation for each parameter: - - * backup: The number of instances or units of backup service currently in use. - - * CPU: The number of instances or units of CPU resources currently in use. - - * cpu_vmware: The number of instances or units of CPU resources specific to VMware currently in use. - - * dedicated_host_6148: The number of instances or units of dedicated hosts with model 6148 currently in use. - - * dedicated_node_large: The number of instances or units of large dedicated nodes currently in use. - - * dedicated_node_medium: The number of instances or units of medium dedicated nodes currently in use. - - * dedicated_node_small: The number of instances or units of small dedicated nodes currently in use. - - * disaster_recovery: The number of instances or units of disaster recovery service currently in use. - - * dssd: The number of instances or units of DSSD (Data Scale-out Storage) currently in use. - - * dssd_vmware: The number of instances or units of DSSD specific to VMware currently in use. - - * EPC: The number of instances or units of EPC (Evolved Packet Core) currently in use. - - * gpu_amd_mi50: The number of instances or units of AMD MI50 GPUs (Graphics Processing Units) currently in use. - - * gpu_nvidia_a100: The number of instances or units of NVIDIA A100 GPUs currently in use. - - * gpu_nvidia_a6000: The number of instances or units of NVIDIA A6000 GPUs currently in use. - - * intel_cpu: The number of instances or units of Intel CPUs currently in use. (Note: It has a count of 2) - - * intel_mem: The number of instances or units of Intel memory currently in use. - - * ip: The number of instances or units of IP addresses currently in use. - - * ip_vmware: The number of instances or units of IP addresses specific to VMware currently in use. - - * mem: The number of instances or units of memory currently in use. - - * mem_vmware: The number of instances or units of memory specific to VMware currently in use. - - * Migration: The number of instances or units of migration service currently in use. - - * msft_6wc_00002: The number of instances or units of a Microsoft service with code "6wc_00002" currently in use. - - * msft_7jq_00341: The number of instances or units of a Microsoft service with code "7jq_00341" currently in use. - - * msft_7nq_00302: The number of instances or units of a Microsoft service with code "7nq_00302" currently in use. - - * msft_9ea_00039: The number of instances or units of a Microsoft service with code "9ea_00039" currently in use. - - * msft_p73_04837_core: The number of instances or units of a Microsoft service with code "p73_04837_core" currently in use. - - * msft_tfa_00523: The number of instances or units of a Microsoft service with code "tfa_00523" currently in use. - -nvme: The number of instances or units of NVMe (Non-Volatile Memory Express) currently in use. - - * object_storage: The number of instances or units of object storage service currently in use. - - * rx_foreign: The number of instances or units of foreign RX (Receive) currently in use. - - * rx_local: The number of instances or units of local RX (Receive) currently in use. - - * ssd: The number of instances or units of SSD (Solid State Drive) currently in use. - - * tx: The number of instances or units of TX (Transmit) currently in use. - - * tx_foreign: The number of instances or units of foreign TX (Transmit) currently in use. - - * tx_local: The number of instances or units of local TX (Transmit) currently in use. - - * tx_vmware: The number of instances or units of TX (Transmit) specific to VMware currently in use. - - * virtual_private_cloud: The number of instances or units of virtual private cloud service currently in use. - - * vlan: The number of instances or units of VLANs (Virtual Local Area Networks) currently in use. - - * vlan_ecx: The number of instances or units of VLANs specific to Equinix Cloud Exchange currently in use. - - * vlan_ecx_1000: The number of instances or units of VLANs with a specific bandwidth (1000 Mbps) currently in use. - - * vlan_ecx_200: The number of instances or units of VLANs with a specific bandwidth (200 Mbps) currently in use. - - * vlan_ecx_500: The number of instances or units of VLANs with a specific bandwidth (500 Mbps) currently in use. - - * vlan_vmware: The number of instances or units of VLANs specific to VMware currently in use. - - * vpc: The number of instances or units of VPCs (Virtual Private Clouds) currently in use. - - * vrouter_basic: The number of instances or units of a basic virtual router currently in use. - - * vrouter_basic_500: The number of instances or units of a basic virtual router with a specific bandwidth (500 Mbps) currently in use. - - * vrouter_enterprise: The number of instances or units of an enterprise virtual router currently in use. - - * vrouter_premium: The number of instances or units of a premium virtual router currently in use. - - * zadara: The number of instances or units of Zadara storage currently in use. - -These parameters provide a detailed breakdown of the current usage of various resources or services in the listed environment. - - * Next: next contains the next burst level - -the parameters for the count and usage status of different resources or services in a system: - - * backup: The number of instances or units of backup service currently in use. - - * CPU: The number of instances or units of CPU resources currently in use. - - * cpu_vmware: The number of instances or units of CPU resources specific to VMware currently in use. - - * dedicated_host_6148: The number of instances or units of dedicated hosts with model 6148 currently in use. - - * dedicated_node_large: The number of instances or units of large dedicated nodes currently in use. - - * dedicated_node_medium: The number of instances or units of medium dedicated nodes currently in use. - - * dedicated_node_small: The number of instances or units of small dedicated nodes currently in use. - - * disaster_recovery: The number of instances or units of disaster recovery service currently in use. - - * dssd: The number of instances or units of DSSD (Data Scale-out Storage) currently in use. - - * dssd_vmware: The number of instances or units of DSSD specific to VMware currently in use. - - * EPC: The number of instances or units of EPC (Evolved Packet Core) currently in use. - - * gpu_amd_mi50: The number of instances or units of AMD MI50 GPUs (Graphics Processing Units) currently in use. - - * gpu_nvidia_a100: The number of instances or units of NVIDIA A100 GPUs currently in use. - - * gpu_nvidia_a6000: The number of instances or units of NVIDIA A6000 GPUs currently in use. - - * intel_cpu: The number of instances or units of Intel CPUs currently in use. (Note: It has a count of 2) - - * intel_mem: The number of instances or units of Intel memory currently in use. - - * ip: The number of instances or units of IP addresses currently in use. - - * ip_vmware: The number of instances or units of IP addresses specific to VMware currently in use. - - * mem: The number of instances or units of memory currently in use. - - * mem_vmware: The number of instances or units of memory specific to VMware currently in use. - - * Migration: The number of instances or units of migration service currently in use. - -msft_6wc_00002: The number of instances or units of a Microsoft service with code "6wc_00002" currently in use. - - * msft_7jq_00341: The number of instances or units of a Microsoft service with code "7jq_00341" currently in use. - - * msft_7nq_00302: The number of instances or units of a Microsoft service with code "7nq_00302" currently in use. - - * msft_9ea_00039: The number of instances or units of a Microsoft service with code "9ea_00039" currently in use. - - * msft_p73_04837_core: The number of instances or units of a Microsoft service with code "p73_04837_core" currently in use. - - * msft_tfa_00523: The number of instances or units of a Microsoft service with code "tfa_00523" currently in use. - - * nvme: The number of instances or units of NVMe (Non-Volatile Memory Express) currently in use. - - * object_storage: The number of instances or units of object storage service currently in use. - - * rx_foreign: The number of instances or units of foreign RX (Receive) currently in use. - - * rx_local: The number of instances or units of local RX (Receive) currently in use. - - * ssd: The number of instances or units of SSD (Solid State Drive) currently in use. - - * tx: The number of instances or units of TX (Transmit) currently in use. - - * tx_foreign: The number of instances or units of foreign TX (Transmit) currently in use. - - * tx_local: The number of instances or units of local TX (Transmit) currently in use. - - * tx_vmware: The number of instances or units of TX (Transmit) specific to VMware currently in use. - - * virtual_private_cloud: The number of instances or units of virtual private cloud service currently in use. - - * vlan: The number of instances or units of VLANs (Virtual Local Area Networks) currently in use. - - * vlan_ecx: The number of instances or units of VLANs specific to Equinix Cloud Exchange currently in use. - - * vlan_ecx_1000: The number of instances or units of VLANs with a specific bandwidth (1000 Mbps) currently in use. - - * vlan_ecx_200: The number of instances or units of VLANs with a specific bandwidth (200 Mbps) currently in use. - - * vlan_ecx_500: The number of instances or units of VLANs with a specific bandwidth (500 Mbps) currently in use. - - * vlan_vmware: The number of instances or units of VLANs specific to VMware currently in use. - - * vpc: The number of instances or units of VPCs (Virtual Private Clouds) currently in use. - - * vrouter_basic: The number of instances or units of a basic virtual router currently in use. - - * vrouter_basic_500: The number of instances or units of a basic virtual router with a specific bandwidth (500 Mbps) currently in use. - - * vrouter_enterprise: The number of instances or units of an enterprise virtual router currently in use. - - * vrouter_premium: The number of instances or units of a premium virtual router currently in use. - - * zadara: The number of instances or units of Zadara storage currently in use. - -The parameters for the current usage of various resources or services in the listed environment: - - * objects: An array containing information about individual resources and their pricing details. Each object in the array represents a specific resource. Let's explain the parameters for one of the resource objects: - - * Currency: The currency in which the pricing information is provided (e.g., "AUD" for Australian Dollar). - - * id: A unique identifier for the resource. - - * Level: The level or category of the resource. In this example, it's set to 4. - - * multiplier: A value used as a multiplier to calculate the price. In this case, it's 3600000. - - * price: The price of the resource. It's a decimal value, and in this example, it's "0.02400000000000000000." - - * resource: The type or category of the resource (e.g., "intel_cpu"). - -unit: The unit in which the resource usage is measured. In this case, it's "GHz/hour." - -This information provides details about the Current and next burst levels. - -This is the API call to get the current usage and pricing for various resources, including their currency, identifier, level, multiplier, price, resource type, and unit of measurement. The objects array contains details for each resource present in the listing. - -The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated) - -The billing cycle is executed every five minutes, and the burst is calculated for all the customers. - -If a customer is bursting a resource, then the system bills for that: - -Example: - -Burst: 4.50 GB of dssd for 5 minutes at 2014-06-05 09:06 - -Billing — CloudSigma API v2 documentation - -How burst is calculated? - -Example: - -A user has subscriptions for 100Gb, but she has two drives, 75Gb each. - -That means her current usage is 150Gb. - -100Gb are covered by the subscription - -The billing cycle will bill the extra 50Gb - - * Multiplier: The multiplier is a factor applied to calculate the price based on the unit of the resource. In this case, it's used to determine the cost of one unit per second for the specified resource. - -To find the cost for a certain amount of the resource, that amount should be multiplied by the multiplier. - -In response, for finding the cost of using 1 GB of the specified resource for one month, this formula can be used: The price is calculated using the formula: - -bill = price * interval(seconds) * amount / resource.multiplier - -The multiplier value is a large integer (2783138807808000), and its specific significance would depend on the internal calculations or conventions used by the API provider. - -In summary, the multiplier is a factor applied to calculate the price for a specific resource, and its exact interpret - -Burst levels -~~~~~~~~~~~~ - The current and future burst levels are provided in objects at the root of the response. The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated) - .. includejson:: dumps/response_pricing_list :keys: current, next @@ -494,29 +189,6 @@ Schema :language: javascript - * Amount: The numeric value representing the amount of the transaction. In this context, it's "0.00014583333333333333." this is the actual value of the transaction, which could represent monetary values or quantities associated with the transaction. - - * billing_cycle: An identifier associated with the billing cycle. In this response, it's "105157." this is an identifier associated with the billing cycle, indicating when the transaction occurred in the billing cycle. - - * end: A timestamp or numeric value indicating the end of a particular period or transaction. In this case, it's "469291.07488238102453490453." This indicates the end of the transaction or the end of a specific period. - - * human_interval: A human-readable representation of the interval. In this context, it's "5 minutes." this is a human-readable representation of the interval, providing an easy-to-understand description of the duration. - - * id: A unique identifier for the transaction. Here, it's "39509304." - -initial: A numeric value representing the initial state or value. In this response, it's "469291.07502821435786823786." - - * interval: The duration of the interval, measured in seconds. In this case, it's "300" seconds (5 minutes). - - * poll_time: A timestamp indicating the time of polling or recording the transaction. For response, "2014-06-05T09:06:06.713945+00:00." - - * Reason: A human-readable explanation or reason for the transaction. In this context, it's "Burst: 4.50 GB of dssd for 5 minutes at 2014-06-05 09:06." - - * resource_amount: A numeric value representing the amount of a specific resource associated with the transaction. Here, it's "4831838208." - - * Time: A timestamp indicating the time of the transaction. For instance, "2014-06-05T09:08:47.992023+00:00." - - Discounts --------- @@ -608,91 +280,6 @@ Schema .. literalinclude:: dumps/response_currentusage_schema :language: javascript -The response from the Current Usage API provides information about the current usage of various resources associated with the user. - - * Balance: The current balance associated with the user's account. In the response, it's "155367.99237092264288897986." - - * Currency: The currency of the balance. In the response, it's "EUR." - -**usage**: - - * amd_cpu: Information about the usage of AMD CPU. - - * burst: The burst level of AMD CPU usage. - - * subscribed: The subscribed or allocated amount of AMD CPU resources. - - * using: The currently used amount of AMD CPU resources. - - * amd_mem: Information about the usage of AMD memory. - - * burst: The burst level of AMD memory usage. - - * subscribed: The subscribed or allocated amount of AMD memory resources. - - * using: The currently used amount of AMD memory resources. - - **CPU**: Information about the usage of general CPU resources. - - * burst: The burst level of CPU usage. - - * subscribed: The subscribed or allocated amount of general CPU resources. - - * using: The currently used amount of general CPU resources. - - * dssd(Distributed ssd) : Following the next example - -A user has subscriptions for 100Gb, but she has two drives, 75Gb each. - -That means the current usage is 150Gb. - -100Gb are covered by the subscription - -The billing cycle will bill the extra 50Gb - -The values for every field are: - -burst: 50Gb - -subscribed: 100Gb - -using: 150Gb - -The logic is the same for all the resources. - - * burst: The burst level of DSSD usage. - - * subscribed: The subscribed or allocated amount of DSSD resources. - - * using: The currently used amount of DSSD resources. - - * IP: Information about the usage of IP addresses. - - * burst: The burst level of IP address usage. - - * subscribed: The subscribed or allocated amount of IP addresses. - - * using: The currently used amount of IP addresses. - - * mem: Information about the usage of general memory resources. - - * burst: The burst level of memory usage. - - * subscribed: The subscribed or allocated amount of general memory resources. - - * using: The currently used amount of general memory resources. - - * msft_7jq_00341 to zadara: Similar information about the usage of other specific resources. Each resource has the same structure: - - * burst: The burst level of resource usage. - - * subscribed: The subscribed or allocated amount of the specific resource. - - * using: The currently used amount of the specific resource. - -These parameters collectively provide a detailed snapshot of the user's current resource usage across various categories, including CPU, memory, storage, IP addresses, and other specific resources. The information includes burst levels, subscribed amounts, and currently used amounts for each resource category. - - .. _billing-license: Licenses list @@ -748,30 +335,3 @@ Schema The Licenses endpoint provides information about the licenses available on the cloud. the parameters collectively provide information about the licenses available on the cloud, including their types, burstability, names, and associated metrics for determining usage. The objects array contains details for each license present in the cloud. -**meta**: - - * Limit: The maximum number of results to be returned. In the response, it's set to 20. - - * offset The starting index for the current set of results. In the response, it's set to 0. - - * total_count: The total number of available licenses. In the response, it's 4. - - * objects: (number of licenses the customer can use without being charged) An array containing information about individual licenses. Each license object has the following parameters: - - * burstable: Indicates whether the license is burstable or not. If true, the license is burstable; if false, it's not burstable(It means you need a subscription to use the license.). - - * long_name: The full or long name of the license. For response, "SQL Server Enterprise Edition" or "Windows Server." - - * Name: A short or abbreviated name of the license. For response, "msft_7jq_00341" or "msft_p73_04837_core." - - * resource_uri: The URI (Uniform Resource Identifier) that can be used to access detailed information about the license. - - * type: The type of the license, which can be one of the following: - - * install: These licenses are billed per installation, regardless of whether it is attached to a running server or not. - - * instance: These licenses are billed per running instance of a server. A license attached to a guest that’s stopped is not billed. - - * stub: These licenses are billed per a metric specified by the customer (e.g., per number of users). - - * user_metric: If the license type is a stub, this field specifies what attribute on the instance of the server is used for determining the number of licenses. For response, "smp" will count as one license for each CPU/core in the virtual machine. From 7d966e8f5e0897c08da348c7358e936d2d1cceec Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 27 Jun 2024 16:34:32 +0300 Subject: [PATCH 61/72] Add release notes for 2406. --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 213b800..7049da2 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,17 @@ Release Notes 2024 Release ------------ +2406 +~~~~ + +**Date Released:** 2024-06-17 + + +* We've been busy making things smoother for you! Enjoy an improved user experience. +* Get ready for an enhanced information experience! We're optimizing our documents for clarity and ease of access. +* This update squashed 20 pesky bugs and introduced several core system enhancements for a smoother ride. + + 2405 ~~~~ From e32741c6610ced6276b364ff79b501bcdd99be54 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Mon, 5 Aug 2024 12:00:07 +0300 Subject: [PATCH 62/72] Add release notes for 2407. --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 7049da2..c6f2082 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,17 @@ Release Notes 2024 Release ------------ +2407 +~~~~ + +**Date Released:** 2024-07-23 + + +* Optimized promo code functionality across the platform. +* Updated VLAN information display for better visibility and management. +* This release introduces several new features and addresses multiple bug fixes, enhancing overall platform performance. + + 2406 ~~~~ From 7aa629afbd570bb037b2135cc5e865d229628f2c Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 20 Aug 2024 14:56:16 +0300 Subject: [PATCH 63/72] Add the release notes for the release 2408. --- release_notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index c6f2082..c2eb9bd 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,17 @@ Release Notes 2024 Release ------------ +2408 +~~~~ + +**Date Released:** 2024-08-19 + + +* Upgraded security measures and authentication processes across the platform. +* Optimized backend systems for better performance and reliability. +* Improved API functionality for more efficient resource management and usage reporting. + + 2407 ~~~~ From 69ec5adb6325faf1eb0e2945aee65400c4694e98 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 18 Sep 2024 17:13:53 +0300 Subject: [PATCH 64/72] Add release notes for 2409. --- release_notes.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index c2eb9bd..87f9cc6 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,19 @@ Release Notes 2024 Release ------------ +2409 +~~~~ + +**Date Released:** 2024-09-15 + + +* We've addressed an issue where users encountered errors when attempting to access certain API resources without proper permissions. +* The system now provides clear error messages when invalid values are entered for critical configuration settings, ensuring more robust user inputs. +* Enhanced logging capabilities have been implemented to track and record specific user actions for improved auditing and security purposes. +* A significant refactoring effort has been undertaken to improve the atomicity and reliability of core billing processes. +* The file upload workflow has been optimized to resolve long-standing issues and improve overall performance. + + 2408 ~~~~ From 3af5bb6e9f96b69e19294abde8843f9218c71b6c Mon Sep 17 00:00:00 2001 From: Ayat AKINCI <157363362+cs-ayatakinci@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:47:21 +0300 Subject: [PATCH 65/72] Update accounts.rst with the new endpoint to check authenticated service can get an user uuid via Cloudsigma API. --- accounts.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/accounts.rst b/accounts.rst index 240f2de..aaa9d5e 100644 --- a/accounts.rst +++ b/accounts.rst @@ -117,3 +117,34 @@ Login/Logout **Response**: *Empty* +.. http:post:: accounts/action/?do=check_login_with_return_uuid + + Check how an authenticated service can get a user uuid via Cloudsigma API + + :statuscode 200: no error + + **Example request**: + + .. sourcecode:: http + + POST accounts/action/?do=check_login_with_return_uuid HTTP/1.1 + Host: api.cloudsigma.com + Accept: application/json + + + Request body + + .. parsed-literal:: + + { + curl --location --request POST 'https://tbc.cloudsigma.com/api/2.0/accounts/action/?do=check_login_with_return_uuid' \ + --header 'Cookie: csrftoken=zIiunVyYStnrRXxB1CmatfKsosHuaI6gYJw1P88r18pFCZ3YklNR7uEqEcQQOdze; sessionid=esqi1j0bpe2cto9ca59hw1k1kw7m95xd' \ + --header 'Referer: https://tbc.cloudsigma.com/ui/5.0/passs' \ + --header 'Content-Type: application/json' \ + --data-raw '{"username": "email", "password":"passwd"}' + } + + + **Response**: + *Empty* + From b9f844a7dbc518da501404e7d3028875b99dec3b Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 16 Oct 2024 15:50:48 +0300 Subject: [PATCH 66/72] Add API call docs for usage reports. --- billing.rst | 60 +++++++++++++++++++++++++++++++--- dumps/request_usage_list | 1 + dumps/request_vlan_get | 2 -- dumps/request_vlan_list | 2 -- dumps/request_vlan_list_detail | 2 -- dumps/request_vlan_schema | 2 -- dumps/response_usage_list | 48 +++++++++++++++++++++++++++ 7 files changed, 105 insertions(+), 12 deletions(-) create mode 100644 dumps/request_usage_list create mode 100644 dumps/response_usage_list diff --git a/billing.rst b/billing.rst index a429fbc..fb29200 100644 --- a/billing.rst +++ b/billing.rst @@ -48,6 +48,7 @@ Schema .. literalinclude:: dumps/response_balance_schema :language: javascript + Pricing ------- @@ -72,7 +73,7 @@ Listing .. http:get:: /pricing/ - Gets the pricing information that applies to the cloud. Subscription prices use a burst level of 0. + Gets the pricing information that are applicable to the cloud. Subscription prices use a burst level of 0. :statuscode 200: no error @@ -88,8 +89,12 @@ Listing :language: javascript +Burst levels +~~~~~~~~~~~~ +The current and future burst levels are provided in objects at the root of the response. The burst levels are calculated every 5 minutes based on the usage of the cloud and are applied 5 minutes later (when the next burst levels are calculated) + .. includejson:: dumps/response_pricing_list - :keys: current, next + :keys: current,next Schema ~~~~~~ @@ -233,6 +238,54 @@ Schema .. literalinclude:: dumps/response_discount_schema :language: javascript + +Usage +---------- + +Allowed HTTP methods +~~~~~~~~~~~~~~~~~~~~ + ++--------+---------------------+ +| Method | Description | ++========+=====================+ +| GET | get / list object/s | ++--------+---------------------+ + +.. note:: + + See :rfc:`2616#section-9` for more details on HTTP methods semantics + + +Listing +~~~~~~~ + +.. http:get:: /usage/ + + Retrieve the usage data for a specific time range. The start and end times are specified using the `poll_time_gt` (greater than) and `poll_time_lt` (less than) query parameters, along with an optional `limit` parameter to define the number of results returned. + + :statuscode 200: no error + + **Example request**: + + .. literalinclude:: dumps/request_usage_list + :language: http + + + **Example response**: + + .. literalinclude:: dumps/response_usage_list + :language: javascript + + **Example**: + + To retrieve user usage data for the entire day of **April 1st, 2024**, the query parameters would be set like this: + + .. code-block:: bash + + poll_time_gt=2024-04-01&poll_time_lt=2024-04-02&limit=1500 + + This request will fetch all usage data between **2024-04-01 00:00:00** and **2024-04-02 00:00:00**. The `limit=1500` parameter restricts the response to 1500 records. + .. _current-usage: Current usage @@ -280,6 +333,7 @@ Schema .. literalinclude:: dumps/response_currentusage_schema :language: javascript + .. _billing-license: Licenses list @@ -333,5 +387,3 @@ Schema .. literalinclude:: dumps/response_licenses_schema :language: javascript -The Licenses endpoint provides information about the licenses available on the cloud. the parameters collectively provide information about the licenses available on the cloud, including their types, burstability, names, and associated metrics for determining usage. The objects array contains details for each license present in the cloud. - diff --git a/dumps/request_usage_list b/dumps/request_usage_list new file mode 100644 index 0000000..642e805 --- /dev/null +++ b/dumps/request_usage_list @@ -0,0 +1 @@ +GET /api/2.0/usage?poll_time_gt=2024-04-01&poll_time_lt=2024-04-02&limit=1500 diff --git a/dumps/request_vlan_get b/dumps/request_vlan_get index a23b5ee..eb0afd7 100644 --- a/dumps/request_vlan_get +++ b/dumps/request_vlan_get @@ -1,5 +1,3 @@ GET /api/2.0/vlans/96537817-f4b6-496b-a861-e74192d3ccb0/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop - - diff --git a/dumps/request_vlan_list b/dumps/request_vlan_list index c92d54f..22a87ac 100644 --- a/dumps/request_vlan_list +++ b/dumps/request_vlan_list @@ -1,5 +1,3 @@ GET /api/2.0/vlans/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop - - diff --git a/dumps/request_vlan_list_detail b/dumps/request_vlan_list_detail index b19dddc..124f8e5 100644 --- a/dumps/request_vlan_list_detail +++ b/dumps/request_vlan_list_detail @@ -1,5 +1,3 @@ GET /api/2.0/vlans/detail/?limit=0 HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop - - diff --git a/dumps/request_vlan_schema b/dumps/request_vlan_schema index 4ba9319..73b1cf8 100644 --- a/dumps/request_vlan_schema +++ b/dumps/request_vlan_schema @@ -1,5 +1,3 @@ GET /api/2.0/vlans/schema/ HTTP/1.1 Content-Type: application/json Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop - - diff --git a/dumps/response_usage_list b/dumps/response_usage_list new file mode 100644 index 0000000..8bcd9ae --- /dev/null +++ b/dumps/response_usage_list @@ -0,0 +1,48 @@ +HTTP/1.1 200 OK +Content-Type: application/json; charset=utf-8 + +{ + "meta":{ + "limit":1500, + "offset":0, + "total_count":0 + }, + "objects":[ + { + "amount":"6000", + "poll_time":"2024-10-08T11:52:57.757677+00:00", + "resource":"intel_cpu", + "uuid":"f493b092-5eef-4a17-bf34-cfaec42f5fb2" + }, + { + "amount":"3221225472", + "poll_time":"2024-10-08T11:52:57.757677+00:00", + "resource":"intel_mem", + "uuid":"f493b092-5eef-4a17-bf34-cfaec42f5fb2" + }, + { + "amount":"3221225472", + "poll_time":"2024-10-08T11:52:57.757677+00:00", + "resource":"dssd", + "uuid":"d73c3226-f53a-4c33-b11f-086ac0349a33" + }, + { + "amount":"6000", + "poll_time":"2024-10-08T11:57:57.762428+00:00", + "resource":"intel_cpu", + "uuid":"f493b092-5eef-4a17-bf34-cfaec42f5fb2" + }, + { + "amount":"3221225472", + "poll_time":"2024-10-08T11:57:57.762428+00:00", + "resource":"intel_mem", + "uuid":"f493b092-5eef-4a17-bf34-cfaec42f5fb2" + }, + { + "amount":"3221225472", + "poll_time":"2024-10-08T11:57:57.762428+00:00", + "resource":"dssd", + "uuid":"d73c3226-f53a-4c33-b11f-086ac0349a33" + } + ] +} From aef5213c26e94fb83726cf17bb46370a4f2fc595 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Wed, 16 Oct 2024 17:18:04 +0300 Subject: [PATCH 67/72] Add release notes for 2410. --- release_notes.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 87f9cc6..22862a3 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,18 @@ Release Notes 2024 Release ------------ +2410 +~~~~ + +**Date Released:** 2024-10-14 + + +* We enhanced our resource monitoring system by resolving an issue where the automated alert mechanism failed to send critical notifications. +* We improved VMWare server management by resolving a synchronization problem that prevented timely updates of server states. +* Implemented post-migration memory limit application to ensure proper resource management in the new environment. +* This release also includes numerous other optimizations, bug fixes, and performance enhancements to improve overall system stability and user experience. + + 2409 ~~~~ From 74b74069b649f883b6663bbbf07fa8abbaec810d Mon Sep 17 00:00:00 2001 From: Ayat Date: Tue, 22 Oct 2024 16:26:42 +0300 Subject: [PATCH 68/72] docs: moved usage to separate page and updated index --- billing.rst | 96 ------------------------------------ current_usage.rst | 121 +++++++++------------------------------------- 2 files changed, 22 insertions(+), 195 deletions(-) diff --git a/billing.rst b/billing.rst index fb29200..5c4be41 100644 --- a/billing.rst +++ b/billing.rst @@ -238,102 +238,6 @@ Schema .. literalinclude:: dumps/response_discount_schema :language: javascript - -Usage ----------- - -Allowed HTTP methods -~~~~~~~~~~~~~~~~~~~~ - -+--------+---------------------+ -| Method | Description | -+========+=====================+ -| GET | get / list object/s | -+--------+---------------------+ - -.. note:: - - See :rfc:`2616#section-9` for more details on HTTP methods semantics - - -Listing -~~~~~~~ - -.. http:get:: /usage/ - - Retrieve the usage data for a specific time range. The start and end times are specified using the `poll_time_gt` (greater than) and `poll_time_lt` (less than) query parameters, along with an optional `limit` parameter to define the number of results returned. - - :statuscode 200: no error - - **Example request**: - - .. literalinclude:: dumps/request_usage_list - :language: http - - - **Example response**: - - .. literalinclude:: dumps/response_usage_list - :language: javascript - - **Example**: - - To retrieve user usage data for the entire day of **April 1st, 2024**, the query parameters would be set like this: - - .. code-block:: bash - - poll_time_gt=2024-04-01&poll_time_lt=2024-04-02&limit=1500 - - This request will fetch all usage data between **2024-04-01 00:00:00** and **2024-04-02 00:00:00**. The `limit=1500` parameter restricts the response to 1500 records. - -.. _current-usage: - -Current usage -------------- - -Allowed HTTP methods -~~~~~~~~~~~~~~~~~~~~ - -+--------+---------------------+ -| Method | Description | -+========+=====================+ -| GET | get / list object/s | -+--------+---------------------+ - -.. note:: - - See :rfc:`2616#section-9` for more details on HTTP methods semantics - - -Listing -~~~~~~~ - -.. http:get:: /currentusage/ - - Get the current usage of the user. - - :statuscode 200: no error - - - **Example request**: - - .. literalinclude:: dumps/request_currentusage_list - :language: http - - - **Example response**: - - .. literalinclude:: dumps/response_currentusage_list - :language: javascript - - -Schema -~~~~~~ - - .. literalinclude:: dumps/response_currentusage_schema - :language: javascript - - .. _billing-license: Licenses list diff --git a/current_usage.rst b/current_usage.rst index 3ccb22f..49b104a 100644 --- a/current_usage.rst +++ b/current_usage.rst @@ -1,121 +1,44 @@ -============= -Current Usage +Current usage ============= Allowed HTTP methods --------------------- +~~~~~~~~~~~~~~~~~~~~ -+--------+--------------------------------------------------+ -| Method | Description | -+========+==================================================+ -| GET | get / list object/s | -+--------+--------------------------------------------------+ ++--------+---------------------+ +| Method | Description | ++========+=====================+ +| GET | get / list object/s | ++--------+---------------------+ .. note:: - + See :rfc:`2616#section-9` for more details on HTTP methods semantics Listing -------- +~~~~~~~ .. http:get:: /currentusage/ - Gets the current usage of the authenticated user has access. + Get the current usage of the user. - :param context: another account whose drives should be listed :statuscode 200: no error - - **Example request**: - .. sourcecode:: http + **Example request**: - GET /2.0/currentusage/ HTTP/1.1 - Host: api.cloudsigma.com - Accept: application/json - Authorization: Basic dGVzdHVzZXJAY2xvdWRzaWdtYS5jb206dmJudmJu + .. literalinclude:: dumps/request_currentusage_list + :language: http **Example response**: - .. sourcecode:: http - - HTTP/1.0 200 OK - Content-Type: application/json; charset=utf-8 - - { - "balance": { - "balance": "9899.16666666666666666667", - "currency": "CHF" - }, - "usage": { - "cpu": { - "burst": 0, - "subscribed": 0, - "using": 0 - }, - "dssd": { - "burst": 0, - "subscribed": 0, - "using": 0 - }, - "ip": { - "burst": 0, - "subscribed": 0, - "using": 0 - }, - "mem": { - "burst": 0, - "subscribed": 0, - "using": 0 - }, - "ssd": { - "burst": 0, - "subscribed": 0, - "using": 0 - }, - "vlan": { - "burst": 0, - "subscribed": 0, - "using": 0 - } - } - } - -Request schema -~~~~~~~~~~~~~~ - - None. - -Response schema -~~~~~~~~~~~~~~~ - - .. parsed-literal:: - - { - "allowed_detail_http_methods": [ - "get" - ], - "allowed_list_http_methods": [ - "get" - ], - "default_format": "application/json", - "default_limit": 20, - "fields": { - "balance": { - "default": "No default provided.", - "help_text": "A dictionary of data. Ex: {'price': 26.73, 'name': 'Daniel'}", - "readonly": false, - "required": true, - "type": "dict" - }, - "usage": { - "default": "No default provided.", - "help_text": "A dictionary of data. Ex: {'price': 26.73, 'name': 'Daniel'}", - "readonly": false, - "required": true, - "type": "dict" - } - } - } + .. literalinclude:: dumps/response_currentusage_list + :language: javascript + + +Schema +~~~~~~ + + .. literalinclude:: dumps/response_currentusage_schema + :language: javascript \ No newline at end of file From 3fa7d0e4909aa201682883b757fee05f7d0940f2 Mon Sep 17 00:00:00 2001 From: Ayat Date: Tue, 22 Oct 2024 16:46:32 +0300 Subject: [PATCH 69/72] usage in separate page and updated index --- index.rst | 1 + usage.rst | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 usage.rst diff --git a/index.rst b/index.rst index 614d81e..fc94b5c 100644 --- a/index.rst +++ b/index.rst @@ -44,6 +44,7 @@ Welcome to CloudSigma API documentation! profile notification_preferences billing + usage burst_usage current_usage async diff --git a/usage.rst b/usage.rst new file mode 100644 index 0000000..6b0ad50 --- /dev/null +++ b/usage.rst @@ -0,0 +1,46 @@ +Usage +---------- + +Allowed HTTP methods +~~~~~~~~~~~~~~~~~~~~ + ++--------+---------------------+ +| Method | Description | ++========+=====================+ +| GET | get / list object/s | ++--------+---------------------+ + +.. note:: + + See :rfc:`2616#section-9` for more details on HTTP methods semantics + + +Listing +~~~~~~~ + +.. http:get:: /usage/ + + Retrieve the usage data for a specific time range. The start and end times are specified using the `poll_time_gt` (greater than) and `poll_time_lt` (less than) query parameters, along with an optional `limit` parameter to define the number of results returned. + + :statuscode 200: no error + + **Example request**: + + .. literalinclude:: dumps/request_usage_list + :language: http + + + **Example response**: + + .. literalinclude:: dumps/response_usage_list + :language: javascript + + **Example**: + + To retrieve user usage data for the entire day of **April 1st, 2024**, the query parameters would be set like this: + + .. code-block:: bash + + poll_time_gt=2024-04-01&poll_time_lt=2024-04-02&limit=1500 + + This request will fetch all usage data between **2024-04-01 00:00:00** and **2024-04-02 00:00:00**. The `limit=1500` parameter restricts the response to 1500 records. \ No newline at end of file From 29f487c23374df34863c88b292f48ef7cabcbaab Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 28 Nov 2024 13:51:46 +0200 Subject: [PATCH 70/72] Add release notes for 2411. --- release_notes.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 22862a3..2eb5963 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,23 @@ Release Notes 2024 Release ------------ +2411 +~~~~ + +**Date Released:** 2024-11-21 + + +* We've enhanced our overall snapshot management system with improved functionality and reliability. +* Authentication workflows have been optimized to improve security and performance across all services. +* Storage management interface now includes advanced filtering and sorting capabilities. +* WebApp drive upload functionality has been stabilized and optimized across all locations. +* Backend processing has been enhanced to improve response times during peak usage. +* Drive management capabilities now include the option to unassign backup schedules. +* Detailed usage report functionality is now available in the Management Interface for partners, and it will be expanded to all users in the next releases. +* The resource allocation system has been upgraded to handle concurrent requests more efficiently. +* We're working on enhancing the notification system to provide more stable status updates and urgent messages. + + 2410 ~~~~ From e20dcd846d6472066c9733eaad7903d938884ede Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Tue, 7 Jan 2025 15:47:47 +0200 Subject: [PATCH 71/72] Add release notes for 2412. --- release_notes.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 2eb5963..7547d54 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -4,6 +4,19 @@ Release Notes 2024 Release ------------ +2412 +~~~~ + +**Date Released:** 2025-01-06 + + +* New configuration options have been added to support flexible currency settings and billing operations. +* Advanced storage healing capabilities have been implemented to ensure data integrity and system reliability. +* Implementation of location-specific features now includes new invoice templates and notification systems in multiple languages. +* System performance has been boosted through message volume reduction and improved runtime task processing, particularly focusing on GPU functionality. +* User experience has been enhanced with improved interface responsiveness and optimized client-side performance. + + 2411 ~~~~ From 38d36c76155d839ed4b9d34072b25f5d48ff6421 Mon Sep 17 00:00:00 2001 From: Mohsen Hassani Date: Thu, 23 Jan 2025 16:30:54 +0200 Subject: [PATCH 72/72] Add release notes for 2501 --- release_notes.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/release_notes.rst b/release_notes.rst index 7547d54..d4e9107 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,21 @@ Release Notes ============= +2025 Release +------------ + +2501 +~~~~ + +**Date Released:** 2025-01-20 + + +* We enhanced the subscription management experience by improving the visibility of payment notifications and adding detailed tax breakdowns in the billing history. +* We optimized the storage management system with improved drive allocation strategies and better handling of volume operations. +* Our guest management system received significant updates with smarter startup processes and more efficient data migration handling. +* Administrative functions have been fortified with additional configuration options and improved access control settings for the partners. + + 2024 Release ------------