]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/lib/puppet/util/openstack.rb
add stackforge/keystone to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / keystone / lib / puppet / util / openstack.rb
diff --git a/3rdparty/modules/keystone/lib/puppet/util/openstack.rb b/3rdparty/modules/keystone/lib/puppet/util/openstack.rb
new file mode 100644 (file)
index 0000000..947aa35
--- /dev/null
@@ -0,0 +1,48 @@
+# TODO: This should be extracted into openstacklib during the kilo cycle
+# Add the auth parameter to whatever type is given
+module Puppet::Util::Openstack
+  def self.add_openstack_type_methods(type, comment)
+
+    type.newparam(:auth) do
+
+      desc <<EOT
+Hash of authentication credentials. Credentials can be specified as
+password credentials, e.g.:
+
+auth => {
+  'username'    => 'test',
+  'password'    => 'passw0rd',
+  'tenant_name' => 'test',
+  'auth_url'    => 'http://localhost:35357/v2.0',
+}
+
+or a path to an openrc file containing these credentials, e.g.:
+
+auth => {
+  'openrc' => '/root/openrc',
+}
+
+or a service token and host, e.g.:
+
+auth => {
+  'service_token' => 'ADMIN',
+  'auth_url'    => 'http://localhost:35357/v2.0',
+}
+
+If not present, the provider will look for environment variables for
+password credentials.
+
+#{comment}
+EOT
+
+      validate do |value|
+        raise(Puppet::Error, 'This property must be a hash') unless value.is_a?(Hash)
+      end
+    end
+
+    type.autorequire(:package) do
+      'python-openstackclient'
+    end
+
+  end
+end