File tree Expand file tree Collapse file tree 9 files changed +65
-2
lines changed Expand file tree Collapse file tree 9 files changed +65
-2
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ The following dependency must be available for SQL Server module:
48
48
49
49
| Name | Description |
50
50
| ------| -------------|
51
+ | additional\_ users | List of maps of additional users and passwords |
51
52
| generated\_ user\_ password | The auto generated default user password if not input password was provided |
52
53
| instance\_ address | The IPv4 addesses assigned for the master instance |
53
54
| instance\_ connection\_ name | The connection name of the master instance to be used in connection strings |
Original file line number Diff line number Diff line change @@ -155,6 +155,13 @@ resource "random_password" "user-password" {
155
155
depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
156
156
}
157
157
158
+ resource "random_password" "additional_passwords" {
159
+ for_each = local. users
160
+ length = 8
161
+ special = true
162
+ depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
163
+ }
164
+
158
165
resource "google_sql_user" "default" {
159
166
name = var. user_name
160
167
project = var. project_id
@@ -167,7 +174,7 @@ resource "google_sql_user" "additional_users" {
167
174
for_each = local. users
168
175
project = var. project_id
169
176
name = each. value . name
170
- password = lookup (each. value , " password" , random_password. user-password . result )
177
+ password = lookup (each. value , " password" , random_password. additional_passwords [ each . value . name ] . result )
171
178
instance = google_sql_database_instance. default . name
172
179
depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
173
180
}
Original file line number Diff line number Diff line change @@ -61,6 +61,17 @@ output "generated_user_password" {
61
61
sensitive = true
62
62
}
63
63
64
+ output "additional_users" {
65
+ description = " List of maps of additional users and passwords"
66
+ value = [for r in google_sql_user . additional_users :
67
+ {
68
+ name = r.name
69
+ password = r.password
70
+ }
71
+ ]
72
+ sensitive = true
73
+ }
74
+
64
75
output "root_password" {
65
76
description = " MSSERVER password for the root user. If not set, a random one will be generated and available in the root_password output variable."
66
77
value = coalesce (var. root_password , random_password. root-password . result )
Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ Note: CloudSQL provides [disk autoresize](https://cloud.google.com/sql/docs/mysq
51
51
52
52
| Name | Description |
53
53
| ------| -------------|
54
+ | additional\_ users | List of maps of additional users and passwords |
54
55
| generated\_ user\_ password | The auto generated default user password if not input password was provided |
55
56
| instance\_ connection\_ name | The connection name of the master instance to be used in connection strings |
56
57
| instance\_ first\_ ip\_ address | The first IPv4 address of the addresses assigned for the master instance. |
Original file line number Diff line number Diff line change @@ -160,6 +160,16 @@ resource "random_id" "user-password" {
160
160
depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
161
161
}
162
162
163
+ resource "random_id" "additional_passwords" {
164
+ for_each = local. users
165
+ keepers = {
166
+ name = google_sql_database_instance.default.name
167
+ }
168
+
169
+ byte_length = 8
170
+ depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
171
+ }
172
+
163
173
resource "google_sql_user" "default" {
164
174
count = var. enable_default_user ? 1 : 0
165
175
name = var. user_name
Original file line number Diff line number Diff line change @@ -92,6 +92,17 @@ output "generated_user_password" {
92
92
sensitive = true
93
93
}
94
94
95
+ output "additional_users" {
96
+ description = " List of maps of additional users and passwords"
97
+ value = [for r in google_sql_user . additional_users :
98
+ {
99
+ name = r.name
100
+ password = r.password
101
+ }
102
+ ]
103
+ sensitive = true
104
+ }
105
+
95
106
output "public_ip_address" {
96
107
description = " The first public (PRIMARY) IPv4 address assigned for the master instance"
97
108
value = google_sql_database_instance. default . public_ip_address
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ Note: CloudSQL provides [disk autoresize](https://cloud.google.com/sql/docs/mysq
52
52
53
53
| Name | Description |
54
54
| ------| -------------|
55
+ | additional\_ users | List of maps of additional users and passwords |
55
56
| generated\_ user\_ password | The auto generated default user password if not input password was provided |
56
57
| instance\_ connection\_ name | The connection name of the master instance to be used in connection strings |
57
58
| instance\_ first\_ ip\_ address | The first IPv4 address of the addresses assigned. |
Original file line number Diff line number Diff line change @@ -171,6 +171,16 @@ resource "random_id" "user-password" {
171
171
depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
172
172
}
173
173
174
+ resource "random_id" "additional_passwords" {
175
+ for_each = local. users
176
+ keepers = {
177
+ name = google_sql_database_instance.default.name
178
+ }
179
+
180
+ byte_length = 8
181
+ depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
182
+ }
183
+
174
184
resource "google_sql_user" "default" {
175
185
count = var. enable_default_user ? 1 : 0
176
186
name = var. user_name
@@ -184,7 +194,7 @@ resource "google_sql_user" "additional_users" {
184
194
for_each = local. users
185
195
project = var. project_id
186
196
name = each. value . name
187
- password = coalesce (each. value [" password" ], random_id. user-password . hex )
197
+ password = coalesce (each. value [" password" ], random_id. additional_passwords [ each . value . name ] . hex )
188
198
instance = google_sql_database_instance. default . name
189
199
depends_on = [null_resource. module_depends_on , google_sql_database_instance . default ]
190
200
}
Original file line number Diff line number Diff line change @@ -97,6 +97,17 @@ output "generated_user_password" {
97
97
sensitive = true
98
98
}
99
99
100
+ output "additional_users" {
101
+ description = " List of maps of additional users and passwords"
102
+ value = [for r in google_sql_user . additional_users :
103
+ {
104
+ name = r.name
105
+ password = r.password
106
+ }
107
+ ]
108
+ sensitive = true
109
+ }
110
+
100
111
// Resources
101
112
output "primary" {
102
113
value = google_sql_database_instance. default
You can’t perform that action at this time.
0 commit comments