Skip to content

Commit fa27f3b

Browse files
committed
set ttl to optional and test its removal
1 parent 3389594 commit fa27f3b

File tree

4 files changed

+346
-75
lines changed

4 files changed

+346
-75
lines changed

internal/services/secret/helpers.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,14 @@ func expandEphemeralPolicy(rawSchemaPolicy any) (*secret.EphemeralPolicy, error)
141141
}
142142

143143
policy := &secret.EphemeralPolicy{
144-
TimeToLive: scw.NewDurationFromTimeDuration(*ttl),
145144
ExpiresOnceAccessed: types.ExpandBoolPtr(rawPolicy["expires_once_accessed"]),
146145
Action: secret.EphemeralPolicyAction(rawPolicy["action"].(string)),
147146
}
148147

148+
if ttl != nil {
149+
policy.TimeToLive = scw.NewDurationFromTimeDuration(*ttl)
150+
}
151+
149152
return policy, nil
150153
}
151154

internal/services/secret/secret.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func ResourceSecret() *schema.Resource {
8888
Elem: &schema.Resource{
8989
Schema: map[string]*schema.Schema{
9090
"ttl": {
91-
Required: true,
91+
Optional: true,
9292
Type: schema.TypeString,
9393
DiffSuppressFunc: dsf.Duration,
9494
ValidateFunc: verify.IsDuration(),

internal/services/secret/secret_test.go

+21
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,27 @@ func TestAccSecret_EphemeralPolicy(t *testing.T) {
264264
acctest.CheckResourceAttrUUID("scaleway_secret.main", "id"),
265265
),
266266
},
267+
{
268+
Config: `
269+
resource "scaleway_secret" "main" {
270+
name = "test-secret-policy-secret"
271+
ephemeral_policy {
272+
action = "delete"
273+
expires_once_accessed = true
274+
}
275+
}
276+
`,
277+
Check: resource.ComposeTestCheckFunc(
278+
testAccCheckSecretExists(tt, "scaleway_secret.main"),
279+
resource.TestCheckResourceAttr("scaleway_secret.main", "name", "test-secret-policy-secret"),
280+
resource.TestCheckResourceAttr("scaleway_secret.main", "path", "/"),
281+
resource.TestCheckResourceAttr("scaleway_secret.main", "ephemeral_policy.#", "1"),
282+
resource.TestCheckResourceAttr("scaleway_secret.main", "ephemeral_policy.0.ttl", ""),
283+
resource.TestCheckResourceAttr("scaleway_secret.main", "ephemeral_policy.0.action", "delete"),
284+
resource.TestCheckResourceAttr("scaleway_secret.main", "ephemeral_policy.0.expires_once_accessed", "true"),
285+
acctest.CheckResourceAttrUUID("scaleway_secret.main", "id"),
286+
),
287+
},
267288
},
268289
})
269290
}

0 commit comments

Comments
 (0)