Add module and states for Ironic API v1

Change-Id: I832381955e608875e87680211e8e7a3836facb40
Related-Prod: PROD-21813
diff --git a/_modules/ironicv1/chassis.py b/_modules/ironicv1/chassis.py
new file mode 100644
index 0000000..5d747cf
--- /dev/null
+++ b/_modules/ironicv1/chassis.py
@@ -0,0 +1,41 @@
+from ironicv1.common import send
+try:
+    from urllib.parse import urlencode
+except ImportError:
+    from urllib import urlencode
+
+
+@send('get')
+def chassis_list_details(**kwargs):
+    url = '/chassis/detail?{}'.format(urlencode(kwargs))
+    return url, {}
+
+
+@send('get')
+def chassis_get_details(chassis_id, **kwargs):
+    url = '/chassis/{}?{}'.format(chassis_id, urlencode(kwargs))
+    return url, {}
+
+
+@send('patch')
+def chassis_update(chassis_id, properties, **kwargs):
+    url = '/chassis/{}'.format(chassis_id)
+    return url, {'json': properties}
+
+
+@send('delete')
+def chassis_delete(chassis_id, **kwargs):
+    url = '/chassis/{}'.format(chassis_id)
+    return url, {}
+
+
+@send('post')
+def chassis_create(chassis, **kwargs):
+    url = '/chassis'
+    return url, {'json': chassis}
+
+
+@send('get')
+def chassis_list(**kwargs):
+    url = '/chassis?{}'.format(urlencode(kwargs))
+    return url, {}