]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/keystone/manifests/endpoint.pp
Update to Kilo
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / endpoint.pp
1 # == Class: keystone::endpoint
2 #
3 # Creates the auth endpoints for keystone
4 #
5 # === Parameters
6 #
7 # [*public_url*]
8 #   (optional) Public url for keystone endpoint. (Defaults to 'http://127.0.0.1:5000')
9 #   This url should *not* contain any version or trailing '/'.
10 #
11 # [*internal_url*]
12 #   (optional) Internal url for keystone endpoint. (Defaults to $public_url)
13 #   This url should *not* contain any version or trailing '/'.
14 #
15 # [*admin_url*]
16 #   (optional) Admin url for keystone endpoint. (Defaults to 'http://127.0.0.1:35357')
17 #   This url should *not* contain any version or trailing '/'.
18 #
19 # [*region*]
20 #   (optional) Region for endpoint. (Defaults to 'RegionOne')
21 #
22 # [*version*]
23 #   (optional) API version for endpoint. Appended to all endpoint urls. (Defaults to 'v2.0')
24 #
25 # [*user_domain*]
26 #   (Optional) Domain for $auth_name
27 #   Defaults to undef (use the keystone server default domain)
28 #
29 # [*project_domain*]
30 #   (Optional) Domain for $tenant (project)
31 #   Defaults to undef (use the keystone server default domain)
32 #
33 # [*default_domain*]
34 #   (Optional) Domain for $auth_name and $tenant (project)
35 #   If keystone_user_domain is not specified, use $keystone_default_domain
36 #   If keystone_project_domain is not specified, use $keystone_default_domain
37 #   Defaults to undef
38 #
39 # === Examples
40 #
41 #  class { 'keystone::endpoint':
42 #    public_url   => 'https://154.10.10.23:5000',
43 #    internal_url => 'https://11.0.1.7:5000',
44 #    admin_url    => 'https://10.0.1.7:35357',
45 #  }
46 #
47 class keystone::endpoint (
48   $public_url        = 'http://127.0.0.1:5000',
49   $internal_url      = undef,
50   $admin_url         = 'http://127.0.0.1:35357',
51   $version           = 'v2.0',
52   $region            = 'RegionOne',
53   $user_domain       = undef,
54   $project_domain    = undef,
55   $default_domain    = undef,
56 ) {
57
58   $public_url_real = "${public_url}/${version}"
59   $admin_url_real = "${admin_url}/${version}"
60
61   if $internal_url {
62     $internal_url_real = "${internal_url}/${version}"
63   } else {
64     $internal_url_real = "${public_url}/${version}"
65   }
66
67   keystone::resource::service_identity { 'keystone':
68     configure_user      => false,
69     configure_user_role => false,
70     service_type        => 'identity',
71     service_description => 'OpenStack Identity Service',
72     public_url          => $public_url_real,
73     admin_url           => $admin_url_real,
74     internal_url        => $internal_url_real,
75     region              => $region,
76     user_domain         => $user_domain,
77     project_domain      => $project_domain,
78     default_domain      => $default_domain,
79   }
80
81 }