kaname 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6dd4973d77de467ed9668e6d15e86509302057bb
4
- data.tar.gz: f44b64c9f188ccb3ace24c014ee1ee88db3ef9ef
3
+ metadata.gz: be1e620440f78831c258b41e66ae936e201ece6c
4
+ data.tar.gz: 64973a8f8d6d7ffae2708abcda6bfc852eb737df
5
5
  SHA512:
6
- metadata.gz: 322e5458c83ad0d0a0be29401be176f5d3861e6d21b0a9df889bfdef1063d57bf861c3a78708a9e7de5b9603ec0172d5135517ec410b3d4e2f60bc43022ff0a3
7
- data.tar.gz: 245c0a7dfbb4a3c9776420cd71c342dd529be6c4a7d23bc119cebef435fd7d2daba0b363bc7e12bd7d45c19d35d2b7c0bc4c0f1ed2fb799a66281d710bbd17bd
6
+ metadata.gz: 39ffc1e2bdca3ee64481c51c2829546b9a7819882d7bc7295436051ba4cf6abde01df333792832f1d878dea30ad7c8e96d3902815ef7de58840765d3efa6eb9e
7
+ data.tar.gz: d382133865ab5aae602a950d13df65a31f95fecb32e00a43016d1e9526786b03f6ba67985758648fd2a8d894fb06ed5db64a91f9e2be6154c6d4b2bcde7db3a1
data/README.md CHANGED
@@ -26,6 +26,15 @@ hsbt:
26
26
  production: "member"
27
27
  ```
28
28
 
29
+ You can also define `all_tenants` for config all tenants' authority.
30
+ If both tenants and all_tenants are setting, tenants is preferred.
31
+
32
+ ```yaml
33
+ suzupy:
34
+ email: suzupy@example.com
35
+ all_tenants: member
36
+ ```
37
+
29
38
  You need to put a configuration file to home directory.
30
39
 
31
40
  ```sh
@@ -4,11 +4,22 @@ module Kaname
4
4
  class Resource
5
5
  class << self
6
6
  def yaml(filename = 'keystone.yml')
7
- @_yaml = if File.exists?(filename)
8
- YAML.load_file(filename)
9
- else
10
- nil
11
- end
7
+ if File.exists?(filename)
8
+ @_yaml ||= expand_all_tenants(YAML.load_file(filename))
9
+ end
10
+ end
11
+
12
+ private
13
+
14
+ def expand_all_tenants _yaml
15
+ list_tenants = Kaname::Adapter::ReadOnly.new.list_tenants
16
+
17
+ _yaml.each do |username, config|
18
+ next unless config['all_tenants']
19
+ tenants = list_tenants.map{|tenant| [tenant.name, config['all_tenants']]}
20
+ config['tenants'] = Hash[*tenants.flatten].merge(config['tenants'] || {})
21
+ config.delete('all_tenants')
22
+ end
12
23
  end
13
24
  end
14
25
  end
@@ -1,3 +1,3 @@
1
1
  module Kaname
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaname
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIBATA Hiroshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-27 00:00:00.000000000 Z
11
+ date: 2017-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yao
@@ -198,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
198
  version: '0'
199
199
  requirements: []
200
200
  rubyforge_project:
201
- rubygems_version: 2.6.6
201
+ rubygems_version: 2.5.1
202
202
  signing_key:
203
203
  specification_version: 4
204
204
  summary: Identity configuration tool for OpenStack.