1
1
{%- from tpldir + " /map.jinja" import postgres with context -% }
2
2
{%- from tpldir + " /macros.jinja" import format_state with context -% }
3
3
4
- {%- if salt[' postgres.user_create' ]| default(none) is not callable % }
4
+ {%- set needs_client_binaries = salt[' postgres.user_create' ]| default(none) is not callable -% }
5
+
6
+ {%- if needs_client_binaries % }
5
7
6
8
# Salt states for managing PostgreSQL is not available,
7
9
# need to provision client binaries first
@@ -18,7 +20,12 @@ include:
18
20
# Ensure that Salt is able to use postgres modules
19
21
20
22
postgres- reload - modules:
21
- test.succeed_with_changes:
23
+ test.configurable_test_state:
24
+ - changes:
25
+ {%- if needs_client_binaries or postgres.manage_force_reload_modules % } True
26
+ {%- else % } False
27
+ {%- endif % }
28
+ - result: True
22
29
- reload_modules: True
23
30
24
31
# User states
@@ -35,7 +42,7 @@ postgres-reload-modules:
35
42
36
43
{{ format_state(name, ' postgres_tablespace' , tblspace) }}
37
44
{%- if ' owner' in tblspace % }
38
- - require:
45
+ { # - - require: #}
39
46
- postgres_user: postgres_user- {{ tblspace.owner }}
40
47
{%- endif % }
41
48
@@ -49,7 +56,7 @@ postgres-reload-modules:
49
56
{%- do extension.update({' name' : ext_name, ' maintenance_db' : name}) % }
50
57
51
58
{{ format_state( name + ' -' + ext_name, ' postgres_extension' , extension) }}
52
- - require:
59
+ { # - - require: #}
53
60
- postgres_database: postgres_database- {{ name }}
54
61
{%- if ' schema' in extension and ' schemas' in postgres % }
55
62
- postgres_schema: postgres_schema- {{ name }}- {{ extension.schema }}
@@ -62,15 +69,15 @@ postgres-reload-modules:
62
69
{%- do schema.update({' name' : schema_name, ' dbname' : name }) % }
63
70
64
71
{{ format_state( name + ' -' + schema_name, ' postgres_schema' , schema) }}
65
- - require:
72
+ { # - - require: #}
66
73
- postgres_database: postgres_database- {{ name }}
67
74
68
75
{%- endfor % }
69
76
{%- endif % }
70
77
71
78
{{ format_state(name, ' postgres_database' , db) }}
72
79
{%- if ' owner' in db or ' tablespace' in db % }
73
- - require:
80
+ { # - - require: #}
74
81
{%- endif % }
75
82
{%- if ' owner' in db % }
76
83
- postgres_user: postgres_user- {{ db.owner }}
@@ -86,7 +93,7 @@ postgres-reload-modules:
86
93
{%- for name, schema in postgres.schemas| dictsort() % }
87
94
88
95
{{ format_state(name, ' postgres_schema' , schema) }}
89
- - require:
96
+ { # - - require: #}
90
97
- postgres_database- {{ schema.dbname }}
91
98
{%- if ' owner' in schema % }
92
99
- postgres_user: postgres_user- {{ schema.owner }}
@@ -99,9 +106,7 @@ postgres-reload-modules:
99
106
{%- for name, extension in postgres.extensions| dictsort() % }
100
107
101
108
{{ format_state(name, ' postgres_extension' , extension) }}
102
- {%- if ' maintenance_db' in extension or ' schema' in extension % }
103
- - require:
104
- {%- endif % }
109
+ {# - - require: #}
105
110
{%- if ' maintenance_db' in extension % }
106
111
- postgres_database: postgres_database- {{ extension.maintenance_db }}
107
112
{%- endif % }
0 commit comments