Initial commit
diff --git a/_states/heat.py b/_states/heat.py
new file mode 100644
index 0000000..ef57b5f
--- /dev/null
+++ b/_states/heat.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+'''
+Management of Heat stacks
+==============================
+
+:depends: - python-heatclient>=0.2.3 Python module
+:configuration: See :py:mod:`salt.modules.heat` for setup instructions.
+
+.. code-block:: yaml
+
+ heat.keystone_endpoint: 'http://icehouse.cloudlab.cz:5000/v2.0'
+ heat.url: 'http://10.0.106.19:8004/v1/fc015a00cda344e9b66e3d99e0a0591a'
+ heat.username: 'admin'
+ heat.tenant_id: 'fc015a00cda344e9b66e3d99e0a0591a'
+ heat.password: 'cloudlab'
+
+'''
+
+def __virtual__():
+ '''
+ Only load if the gitlab module is in __salt__
+ '''
+ return 'heat' if 'python-heatclient' in __salt__ else False
+
+
+def stack_absent(name):
+
+ pass
+
+def stack_present(name, template_file=None, environment_file=None):
+ ''''
+ Enforces stack
+
+ :param:name: The name of the stack to create
+ :param:template_file: Template file
+ '''
+
+ ret = {'name': name,
+ 'changes': {},
+ 'result': True,
+ 'comment': 'Stack "{0}" already exists'.format(name)}
+
+ # Create project
+ __salt__['gitlab.project_create'](name, description, enabled,
+ profile=profile,
+ **connection_args)
+ ret['comment'] = 'Tenant "{0}" has been added'.format(name)
+ ret['changes']['Tenant'] = 'Created'
+
+ return ret