summaryrefslogtreecommitdiffstats
path: root/docs/source/migration_guide.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/migration_guide.rst')
-rw-r--r--docs/source/migration_guide.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/source/migration_guide.rst b/docs/source/migration_guide.rst
new file mode 100644
index 0000000..0fea446
--- /dev/null
+++ b/docs/source/migration_guide.rst
@@ -0,0 +1,54 @@
+Migration Guide
+===============
+
+From v1 to v2
++++++++++++++
+
+The version 2 of the package is a major release that introduces a lot of changes. The main changes are:
+
+- support for new API methods
+- package is now a proper Python package with focus on usage as a library (in general more object oriented):
+ - return types are now objects instead of tuples or dictionaries (except domain pricing method)
+ - improved and more consistent error handling
+ - fixed method signatures/no more additional keyworded arguments
+
+These changes are not backward compatible with the version 1 of the package. If you are using the version 1 of the
+package, you will need to update your code to work with the version 2.
+
+To migrate your code from the version 1 to the version 2, follow these steps:
+
+1. Update the package to the version 2 or higher:
+ - if you are using the package from PyPI, run the following command:
+ .. code-block:: bash
+
+ pip3 install --upgrade pkb_client
+ - if you are using the package from the source code, run the following commands:
+ .. code-block:: bash
+
+ git fetch
+ git checkout v2.0.0 # or any later tag
+ pip3 install .
+2. Remove any additional keyworded arguments from all `PKBClient` methods. The methods now have fixed signatures.
+3. Refactor the usage of the following methods:
+ - `PKBClient.dns_create`:
+ - renamed to `PKBClient.create_dns_record`
+ - the method argument `record_type` needs to be enum of :class:`DNSRecordType <pkb_client.client.dns.DNSRecordType>`
+ - `PKBClient.dns_edit`:
+ - renamed to `PKBClient.update_dns_record`
+ - the method argument `record_type` needs to be enum of :class:`DNSRecordType <pkb_client.client.dns.DNSRecordType>`
+ - `PKBClient.dns_delete`:
+ - renamed to `PKBClient.delete_dns_records`
+ - `PKBClient.dns_retrieve`:
+ - renamed to `PKBClient.get_dns_records`
+ - return type is now a list of :class:`DNSRecord <pkb_client.client.dns.DNSRecord>`
+ - `PKBClient.dns_export`:
+ - renamed to `PKBClient.export_dns_records`
+ - the methods argument `filename` is renamed to `filepath`
+ - `PKBClient.dns_import`:
+ - renamed to `PKBClient.import_dns_records`
+ - the methods argument `filename` is renamed to `filepath`
+ - `PKBClient.get_domain_pricing`:
+ - method is not static anymore, you need to create an instance of `PKBClient` to use it
+ - `PKBClient.ssl_retrieve`:
+ - renamed to `PKBClient.get_ssl_bundle`
+ - return type is now :class:`SSLCertificate <pkb_client.client.ssl_cert.SSLCertBundle>`