From 432ef53b3d26fa21fd324feadfe26aeed279f04c Mon Sep 17 00:00:00 2001
From: tengqm <tengqim@cn.ibm.com>
Date: Mon, 12 Jan 2015 15:40:04 +0800
Subject: [PATCH] Placeholder for openstacksdk interface

Will transit to this interface in future.  The current http.py based
implementation will deprecate soon.
---
 senlinclient/common/sdk.py | 54 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 senlinclient/common/sdk.py

diff --git a/senlinclient/common/sdk.py b/senlinclient/common/sdk.py
new file mode 100644
index 0000000..385bab2
--- /dev/null
+++ b/senlinclient/common/sdk.py
@@ -0,0 +1,54 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+
+from openstack import connection
+from openstack.identity import identity_service
+
+
+class SenlinConnection(connection.Connection):
+    '''Connection object
+    It has 'session' property
+    '''
+    def __init__(**kwargs):
+        ''' openstacksdk expects the followin arguments
+        auth_plugin
+        auth_url
+        project_name
+        domain_name
+        project_domain_name
+        user_domain_name
+        user_name
+        password
+        verify
+        token
+        '''
+        preference = kwargs.pop('user_preferences', {})
+        super(SenlinConnection, self).__init__(preference=preference, **kwargs)
+
+
+
+def run_create(connection, **kwargs):
+    cls = senlinclient.v1.client.
+    obj = cls.new(**kwargs)
+    obj.create(sess)
+
+
+def run_get(connection, **kwargs):
+    sess = conneciton.session
+    obj = cls.new(**kwargs)
+    obj.get(sess)
+
+
+def run_list(connection):
+    sess = connection.session
+    return cls.list(sess, path_args=**kwargs)