-
Notifications
You must be signed in to change notification settings - Fork 982
/
show.json.rabl
105 lines (87 loc) · 2.93 KB
/
show.json.rabl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
object @taxonomy
extends "api/v2/taxonomies/main"
attribute :ignore_types => :select_all_types
attributes :description, :created_at, :updated_at
ancestors = @taxonomy.ancestors.preload(
:users, :smart_proxies, :subnets, :compute_resources, :media, :ptables,
:provisioning_templates, :domains, :realms, :hostgroups
)
node :hosts_count do |taxonomy|
hosts_count[taxonomy]
end
child (@taxonomy.users + ancestors.map(&:users).flatten).uniq => :users do
extends "api/v2/users/base"
node :inherited do |user|
!@taxonomy.users.include?(user)
end
end
child (@taxonomy.smart_proxies + ancestors.map(&:smart_proxies).flatten).uniq => :smart_proxies do
extends "api/v2/smart_proxies/base"
node :inherited do |smart_proxy|
!@taxonomy.smart_proxies.include?(smart_proxy)
end
end
child (@taxonomy.subnets + ancestors.map(&:subnets).flatten).uniq => :subnets do
extends "api/v2/subnets/base"
node :inherited do |subnet|
!@taxonomy.subnets.include?(subnet)
end
end
child (@taxonomy.compute_resources + ancestors.map(&:compute_resources).flatten).uniq => :compute_resources do
extends "api/v2/compute_resources/base"
node :inherited do |compute_resource|
!@taxonomy.compute_resources.include?(compute_resource)
end
end
child (@taxonomy.media + ancestors.map(&:media).flatten).uniq => :media do
extends "api/v2/media/base"
node :inherited do |current_media|
!@taxonomy.media.include?(current_media)
end
end
child (@taxonomy.ptables + ancestors.map(&:ptables).flatten).uniq => :ptables do
extends "api/v2/ptables/main"
node :inherited do |ptable|
!@taxonomy.ptables.include?(ptable)
end
end
child (@taxonomy.provisioning_templates + ancestors.map(&:provisioning_templates).flatten).uniq => :provisioning_templates do
extends "api/v2/provisioning_templates/base"
node :inherited do |provisioning_template|
!@taxonomy.provisioning_templates.include?(provisioning_template)
end
end
child (@taxonomy.domains + ancestors.map(&:domains).flatten).uniq => :domains do
extends "api/v2/domains/base"
node :inherited do |domain|
!@taxonomy.domains.include?(domain)
end
end
child (@taxonomy.realms + ancestors.map(&:realms).flatten).uniq => :realms do
extends "api/v2/realms/base"
node :inherited do |realm|
!@taxonomy.realms.include?(realm)
end
end
child (@taxonomy.hostgroups + ancestors.map(&:hostgroups).flatten).uniq => :hostgroups do
extends "api/v2/hostgroups/base"
node :inherited do |hostgroup|
!@taxonomy.hostgroups.include?(hostgroup)
end
end
if @taxonomy.is_a?(Location)
child :organizations => :organizations do
extends "api/v2/taxonomies/base"
end
end
if @taxonomy.is_a?(Organization)
child :locations => :locations do
extends "api/v2/taxonomies/base"
end
end
node do |taxonomy|
{ :parameters => partial("api/v2/parameters/index", :object => taxonomy.params_objects) }
end
node :deprecations do
{ environments: _('Environments got deprecated from this endpoint.') }
end