Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,19 @@ root directory.
.. code-block:: console

$ tox

Compatibility Notice
====================

Future versions of the CTERA Python SDK may introduce breaking changes.
A breaking change is any modification insupported functionality between released versions that may require
users to update existing integrations or configurations to upgrade successfully.
While efforts are made to minimize disruption, such changes are sometimes necessary to maintain and improve the software.

Notice of breaking changes will be detailed in the CTERA Python SDK changelog.
Users are responsible for reviewing the changelog for each new version and thoroughly
testing the software before deploying it in production.

By using the CTERA Python SDK, users acknowledge and agree that the SDK and its
contributors are not liable for any damages, losses, or issues arising from the use or upgrade of the software,
including those resulting from breaking changes.
18 changes: 18 additions & 0 deletions docs/source/UserGuides/Miscellaneous/Auditing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Auditing
========

The SDK includes a module for recording all HTTP requests and exporting them as a Postman collection.
For more information, see:
`Import data into Postman <https://learning.postman.com/docs/getting-started/importing-and-exporting/importing-data/>`_
By default, auditing is disabled for performance reasons. If you need to enable Postman auditing, use the following commands:


.. code-block:: python

import cterasdk.settings
cterasdk.settings.audit.enabled = True
cterasdk.settings.audit.filename = 'name-of-your-postman-collection-file'

admin = GlobalAdmin('tenant.ctera.com')

.. note:: The Postman collection file is stored in your default Downloads directory.
125 changes: 125 additions & 0 deletions docs/source/UserGuides/Miscellaneous/Changelog.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
Changelog
=========

2.20.11
-------

Improvements
^^^^^^^^^^^^

* Added a compatibility notice.
* Included the changelog in the CTERA Python SDK documentation.

*Related issues and pull requests on GitHub:* `#301 <https://github.com/ctera/ctera-python-sdk/pull/301>`_

2.20.10
-------

Improvements
^^^^^^^^^^^^

* Revamped the exception modules in ``cterasdk.exceptions``.
* Added support for file-walk operations without specifying a path (defaults to the root directory).
* Implemented automatic file rename during upload if the destination path includes a file name that already exists.

*Related issues and pull requests on GitHub:* `#300 <https://github.com/ctera/ctera-python-sdk/pull/300>`_

2.20.9
------

Improvements
^^^^^^^^^^^^

* Introduced new exceptions for HTTP errors.
* Added support for listing and walking directories via WebDAV on the Edge Filer using ``AsyncEdge`` and ``Edge`` clients.
* Added a method to check if a file or folder exists.

*Related issues and pull requests on GitHub:* `#299 <https://github.com/ctera/ctera-python-sdk/pull/299>`_


2.20.8
------

What's New
^^^^^^^^^^

* Added compatibility for CTERA Direct IO with CTERA Portal v8.3.

*Related issues and pull requests on GitHub:* `#298 <https://github.com/ctera/ctera-python-sdk/pull/298>`_


2.20.7
------

Improvements
^^^^^^^^^^^^

* Updated :py:class:`cterasdk.common.object.Object` to inherit from ``MutableMapping``, enabling dictionary-like access.
* Added support for the HTTP PROPFIND method.

*Related issues and pull requests on GitHub:* `#297 <https://github.com/ctera/ctera-python-sdk/pull/297>`_


2.20.6
------

Bug Fixes
^^^^^^^^^

* Added support for deleting multiple files on the Edge Filer in a single call.

*Related issues and pull requests on GitHub:* `#296 <https://github.com/ctera/ctera-python-sdk/pull/296>`_


2.20.5
------

Bug Fixes
^^^^^^^^^

* Fixed an issue where ``AsyncGlobalAdmin`` could not browse Team Portal tenants.


2.20.4
------

Bug Fixes
^^^^^^^^^

* Moved instantiation of the TCP connector to the point of ``ClientSession`` creation.

*Related issues and pull requests on GitHub:* `#295 <https://github.com/ctera/ctera-python-sdk/pull/295>`_


2.20.3
------

What's New
^^^^^^^^^^

* This version introduces a new ``AsyncEdge`` object for asynchronous access to the CTERA Edge Filer.
* Supported file browser operations include:
``listdir``, ``handle``, ``handle_many``, ``download``, ``download_many``,
``upload``, ``upload_file``, ``mkdir``, ``makedirs``, ``copy``, ``move``, and ``delete``.

Improvements
^^^^^^^^^^^^

* Logging is no longer enabled by default. As of this version, it is the responsibility of the
client application to configure logging explicitly.
This change aligns with best practices for libraries and allows greater flexibility in how logs are managed.

* Introduced improved configuration settings to support both synchronous and asynchronous access to the CTERA Portal and Edge Filers.

.. code-block:: python

# Disable TLS verification for CTERA Portal clients
cterasdk.settings.core.syn.settings.connector.ssl = False # GlobalAdmin, ServicesPortal
cterasdk.settings.core.asyn.settings.connector.ssl = False # AsyncGlobalAdmin, AsyncServicesPortal

# Disable TLS verification for CTERA Edge Filer clients
cterasdk.settings.edge.syn.settings.connector.ssl = False # Edge
cterasdk.settings.edge.asyn.settings.connector.ssl = False # AsyncEdge

*Related issues and pull requests on GitHub:* `#294 <https://github.com/ctera/ctera-python-sdk/pull/294>`_

140 changes: 140 additions & 0 deletions docs/source/UserGuides/Miscellaneous/Exceptions.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
Exceptions
==========

.. autoclass:: cterasdk.exceptions.CTERAException
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.ObjectNotFoundException
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.InputError
:noindex:
:members:
:show-inheritance:

Session
-------

.. autoclass:: cterasdk.exceptions.session.NotLoggedIn
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.session.SessionExpired
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.session.ContextError
:noindex:
:members:
:show-inheritance:

I/O
---

.. autoclass:: cterasdk.exceptions.io.RemoteStorageException
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.ResourceNotFoundError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.NotADirectory
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.ResourceExistsError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.PathValidationError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.NameSyntaxError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.ReservedNameError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.io.RestrictedPathError
:noindex:
:members:
:show-inheritance:

Notification Service
--------------------

.. autoclass:: cterasdk.exceptions.notifications.NotificationsError
:noindex:
:members:
:show-inheritance:


HTTP Transport
--------------

.. autoclass:: cterasdk.exceptions.transport.HTTPError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.BadRequest
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.Unauthorized
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.Forbidden
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.NotFound
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.Unprocessable
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.InternalServerError
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.BadGateway
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.ServiceUnavailable
:noindex:
:members:
:show-inheritance:

.. autoclass:: cterasdk.exceptions.transport.GatewayTimeout
:noindex:
:members:
:show-inheritance:
Loading