]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/manifests/endpoint.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / endpoint.pp
diff --git a/3rdparty/modules/keystone/manifests/endpoint.pp b/3rdparty/modules/keystone/manifests/endpoint.pp
new file mode 100644 (file)
index 0000000..c713800
--- /dev/null
@@ -0,0 +1,160 @@
+# == Class: keystone::endpoint
+#
+# Creates the auth endpoints for keystone
+#
+# === Parameters
+#
+# [*public_url*]
+#   (optional) Public url for keystone endpoint. (Defaults to 'http://127.0.0.1:5000')
+#   This url should *not* contain any version or trailing '/'.
+#
+# [*internal_url*]
+#   (optional) Internal url for keystone endpoint. (Defaults to $public_url)
+#   This url should *not* contain any version or trailing '/'.
+#
+# [*admin_url*]
+#   (optional) Admin url for keystone endpoint. (Defaults to 'http://127.0.0.1:35357')
+#   This url should *not* contain any version or trailing '/'.
+#
+# [*region*]
+#   (optional) Region for endpoint. (Defaults to 'RegionOne')
+#
+# [*version*]
+#   (optional) API version for endpoint. Appended to all endpoint urls. (Defaults to 'v2.0')
+#
+# [*public_protocol*]
+#   (optional) DEPRECATED: Use public_url instead.
+#   Protocol for public access to keystone endpoint. (Defaults to 'http')
+#   Setting this parameter overrides public_url parameter.
+#
+# [*public_address*]
+#   (optional) DEPRECATED: Use public_url instead.
+#   Public address for keystone endpoint. (Defaults to '127.0.0.1')
+#   Setting this parameter overrides public_url parameter.
+#
+# [*public_port*]
+#   (optional) DEPRECATED: Use public_url instead.
+#   Port for non-admin access to keystone endpoint. (Defaults to 5000)
+#   Setting this parameter overrides public_url parameter.
+#
+# [*internal_address*]
+#   (optional) DEPRECATED: Use internal_url instead.
+#   Internal address for keystone endpoint. (Defaults to '127.0.0.1')
+#   Setting this parameter overrides internal_url parameter.
+#
+# [*internal_port*]
+#   (optional) DEPRECATED: Use internal_url instead.
+#   Port for internal access to keystone endpoint. (Defaults to $public_port)
+#   Setting this parameter overrides internal_url parameter.
+#
+# [*admin_address*]
+#   (optional) DEPRECATED: Use admin_url instead.
+#   Admin address for keystone endpoint. (Defaults to '127.0.0.1')
+#   Setting this parameter overrides admin_url parameter.
+#
+# [*admin_port*]
+#   (optional) DEPRECATED: Use admin_url instead.
+#   Port for admin access to keystone endpoint. (Defaults to 35357)
+#   Setting this parameter overrides admin_url parameter.
+#
+# === Deprecation notes
+#
+# If any value is provided for public_protocol, public_address or public_port parameters,
+# public_url will be completely ignored. The same applies for internal and admin parameters.
+#
+# === Examples
+#
+#  class { 'keystone::endpoint':
+#    public_url   => 'https://154.10.10.23:5000',
+#    internal_url => 'https://11.0.1.7:5000',
+#    admin_url    => 'https://10.0.1.7:35357',
+#  }
+#
+class keystone::endpoint (
+  $public_url        = 'http://127.0.0.1:5000',
+  $internal_url      = undef,
+  $admin_url         = 'http://127.0.0.1:35357',
+  $version           = 'v2.0',
+  $region            = 'RegionOne',
+  # DEPRECATED PARAMETERS
+  $public_protocol   = undef,
+  $public_address    = undef,
+  $public_port       = undef,
+  $internal_address  = undef,
+  $internal_port     = undef,
+  $admin_address     = undef,
+  $admin_port        = undef,
+) {
+
+  warning('keystone::endpoint class is deprecated, use keystone::resource::service_identity instead.')
+
+  if $public_port {
+    warning('The public_port parameter is deprecated, use public_url instead.')
+  }
+
+  if $public_protocol {
+    warning('The public_protocol parameter is deprecated, use public_url instead.')
+  }
+
+  if $public_address {
+    warning('The public_address parameter is deprecated, use public_url instead.')
+  }
+
+  if $internal_address {
+    warning('The internal_address parameter is deprecated, use internal_url instead.')
+  }
+
+  if $internal_port {
+    warning('The internal_port parameter is deprecated, use internal_url instead.')
+  }
+
+  if $admin_address {
+    warning('The admin_address parameter is deprecated, use admin_url instead.')
+  }
+
+  if $admin_port {
+    warning('The admin_port parameter is deprecated, use admin_url instead.')
+  }
+
+  $public_url_real = inline_template('<%=
+    if (!@public_protocol.nil?) || (!@public_address.nil?) || (!@public_port.nil?)
+      @public_protocol ||= "http"
+      @public_address ||= "127.0.0.1"
+      @public_port ||= "5000"
+      "#{@public_protocol}://#{@public_address}:#{@public_port}/#{@version}"
+    else
+      "#{@public_url}/#{@version}"
+    end %>')
+
+  $internal_url_real = inline_template('<%=
+    if (!@internal_address.nil?) || (!@internal_port.nil?) || (!@public_port.nil?)
+      @internal_address ||= @public_address ||= "127.0.0.1"
+      @internal_port ||= @public_port ||= "5000"
+      "http://#{@internal_address}:#{@internal_port}/#{@version}"
+    elsif (!@internal_url.nil?)
+      "#{@internal_url}/#{@version}"
+    else
+      "#{@public_url}/#{@version}"
+    end %>')
+
+  $admin_url_real = inline_template('<%=
+    if (!@admin_address.nil?) || (!@admin_port.nil?)
+      @admin_address ||= "127.0.0.1"
+      @admin_port ||= "35357"
+      "http://#{@admin_address}:#{@admin_port}/#{@version}"
+    else
+      "#{@admin_url}/#{@version}"
+    end %>')
+
+  keystone::resource::service_identity { 'keystone':
+    configure_user      => false,
+    configure_user_role => false,
+    service_type        => 'identity',
+    service_description => 'OpenStack Identity Service',
+    public_url          => $public_url_real,
+    admin_url           => $admin_url_real,
+    internal_url        => $internal_url_real,
+    region              => $region,
+  }
+
+}