Skip to content

Commit fc3f355

Browse files
committed
wip
1 parent aeac49b commit fc3f355

File tree

4 files changed

+23
-8
lines changed

4 files changed

+23
-8
lines changed

cmd/tftemplate/main.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ import (
66
"log"
77
"text/template"
88

9-
"tftemplate/models"
10-
119
"github.com/AlecAivazis/survey/v2"
10+
"tftemplate/models"
1211
)
1312

1413
var (

internal/services/jobs/definition.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,24 +208,30 @@ func ResourceJobDefinitionRead(ctx context.Context, d *schema.ResourceData, m in
208208
if err != nil {
209209
if httperrors.Is404(err) {
210210
d.SetId("")
211+
211212
return nil
212213
}
214+
213215
return diag.FromErr(err)
214216
}
215217

216-
var secretRefs []interface{}
217-
for _, secret := range rawSecretRefs.Secrets {
218+
secretRefs := make([]interface{}, len(rawSecretRefs.Secrets))
219+
220+
for i, secret := range rawSecretRefs.Secrets {
218221
secretRef := make(map[string]interface{})
219222
secretRef["secret_id"] = secret.SecretManagerID
220223
secretRef["secret_reference_id"] = secret.SecretID
221224
secretRef["secret_version"] = secret.SecretManagerVersion
225+
222226
if secret.File != nil {
223227
secretRef["file"] = secret.File.Path
224228
}
229+
225230
if secret.EnvVar != nil {
226231
secretRef["environment"] = secret.EnvVar.Name
227232
}
228-
secretRefs = append(secretRefs, secretRef)
233+
234+
secretRefs[i] = secretRef
229235
}
230236

231237
_ = d.Set("name", definition.Name)
@@ -316,12 +322,12 @@ func ResourceJobDefinitionUpdate(ctx context.Context, d *schema.ResourceData, m
316322
return diag.FromErr(err)
317323
}
318324
}
325+
319326
if rawSecretReference, ok := d.GetOk("secret_reference"); ok {
320327
if err := CreateJobDefinitionSecret(rawSecretReference, api, region, id); err != nil {
321328
return diag.FromErr(err)
322329
}
323330
}
324-
325331
}
326332

327333
if _, err := api.UpdateJobDefinition(req, scw.WithContext(ctx)); err != nil {

internal/services/jobs/definition_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func TestAccJobDefinition_Cron(t *testing.T) {
161161
})
162162
}
163163

164-
func TestCreateJobDefinitionWithSecretReference(t *testing.T) {
164+
func TestAccCreateJobDefinitionWithSecretReference(t *testing.T) {
165165
tt := acctest.NewTestTools(t)
166166
defer tt.Cleanup()
167167
resource.ParallelTest(t, resource.TestCase{
@@ -255,7 +255,7 @@ func TestCreateJobDefinitionWithSecretReference(t *testing.T) {
255255
})
256256
}
257257

258-
func TestCreateJobDefinitionWrongSecretReference(t *testing.T) {
258+
func TestAccCreateJobDefinitionWrongSecretReference(t *testing.T) {
259259
tt := acctest.NewTestTools(t)
260260
defer tt.Cleanup()
261261

internal/services/jobs/helpers.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,11 @@ func expandJobDefinitionSecret(i any) []JobDefinitionSecret {
109109
for _, rawSecret := range i.(*schema.Set).List() {
110110
secretMap := rawSecret.(map[string]interface{})
111111
env, file := "", ""
112+
112113
if userEnv, ok := secretMap["environment"].(string); ok {
113114
env = userEnv
114115
}
116+
115117
if userFile, ok := secretMap["file"].(string); ok {
116118
file = userFile
117119
}
@@ -138,30 +140,37 @@ func CreateJobDefinitionSecret(rawSecretReference any, api *jobs.API, region scw
138140

139141
for _, parsedSecretRef := range parsedSecretReferences {
140142
secretVersion := "Latest"
143+
141144
if parsedSecretRef.SecretVersion != "" {
142145
secretVersion = parsedSecretRef.SecretVersion
143146
}
147+
144148
var secretConfig *jobs.CreateJobDefinitionSecretsRequestSecretConfig
149+
145150
if parsedSecretRef.Environment != "" {
146151
secretConfig = &jobs.CreateJobDefinitionSecretsRequestSecretConfig{
147152
SecretManagerID: parsedSecretRef.SecretID,
148153
SecretManagerVersion: secretVersion,
149154
EnvVarName: &parsedSecretRef.Environment,
150155
}
151156
}
157+
152158
if parsedSecretRef.File != "" {
153159
secretConfig = &jobs.CreateJobDefinitionSecretsRequestSecretConfig{
154160
SecretManagerID: parsedSecretRef.SecretID,
155161
SecretManagerVersion: secretVersion,
156162
Path: &parsedSecretRef.File,
157163
}
158164
}
165+
159166
if parsedSecretRef.Environment != "" && parsedSecretRef.File != "" {
160167
return fmt.Errorf("the secret id %s must have exactly one mount point: file or environment", parsedSecretRef.SecretID)
161168
}
169+
162170
if parsedSecretRef.Environment == "" && parsedSecretRef.File == "" {
163171
return fmt.Errorf("the secret id %s is missing a mount point: file or environment", parsedSecretRef.SecretID)
164172
}
173+
165174
secrets = append(secrets, secretConfig)
166175
}
167176

@@ -170,5 +179,6 @@ func CreateJobDefinitionSecret(rawSecretReference any, api *jobs.API, region scw
170179
JobDefinitionID: jobID,
171180
Secrets: secrets,
172181
})
182+
173183
return err
174184
}

0 commit comments

Comments
 (0)