Adapting maas to newer api
diff --git a/_modules/apiclient/creds.py b/_modules/apiclient/creds.py
new file mode 100644
index 0000000..5cace7e
--- /dev/null
+++ b/_modules/apiclient/creds.py
@@ -0,0 +1,48 @@
+# Copyright 2012 Canonical Ltd.  This software is licensed under the
+# GNU Affero General Public License version 3 (see the file LICENSE).
+
+"""Handling of MAAS API credentials.
+
+The API client deals with credentials consisting of 3 elements: consumer
+key, resource token, and resource secret.  These are in OAuth, but the
+consumer secret is hardwired to the empty string.
+
+Credentials are represented internally as tuples of these three elements,
+but can also be converted to a colon-separated string format for easy
+transport between processes.
+"""
+
+from __future__ import (
+    absolute_import,
+    print_function,
+    unicode_literals,
+    )
+
+str = None
+
+__metaclass__ = type
+__all__ = [
+    'convert_string_to_tuple',
+    'convert_tuple_to_string',
+    ]
+
+
+def convert_tuple_to_string(creds_tuple):
+    """Represent a MAAS API credentials tuple as a colon-separated string."""
+    if len(creds_tuple) != 3:
+        raise ValueError(
+            "Credentials tuple does not consist of 3 elements as expected; "
+            "it contains %d."
+            % len(creds_tuple))
+    return ':'.join(creds_tuple)
+
+
+def convert_string_to_tuple(creds_string):
+    """Recreate a MAAS API credentials tuple from a colon-separated string."""
+    creds_tuple = tuple(creds_string.split(':'))
+    if len(creds_tuple) != 3:
+        raise ValueError(
+            "Malformed credentials string.  Expected 3 colon-separated items, "
+            "got %r."
+            % creds_string)
+    return creds_tuple