Skip to content

Commit b526cd9

Browse files
fix: address reviewer feedback for Okta ML policy
1 parent 72d220d commit b526cd9

File tree

6 files changed

+26
-16
lines changed

6 files changed

+26
-16
lines changed

sysdig/data_source_sysdig_secure_okta_ml_policy.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func createOktaMLPolicyDataSourceSchema() map[string]*schema.Schema {
4545
"rule": {
4646
Type: schema.TypeList,
4747
Computed: true,
48+
MaxItems: 1,
4849
Elem: &schema.Resource{
4950
Schema: map[string]*schema.Schema{
5051
"id": ReadOnlyIntSchema(),

sysdig/data_source_sysdig_secure_okta_ml_policy_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ func TestAccOktaMLPolicyDataSource(t *testing.T) {
3030
},
3131
Steps: []resource.TestStep{
3232
{
33-
Config: oktaOktaMLPolicyDataSource(rText),
33+
Config: oktaMLPolicyDataSource(rText),
34+
Check: resource.ComposeTestCheckFunc(
35+
resource.TestCheckResourceAttr("data.sysdig_secure_okta_ml_policy.policy_2", "name", fmt.Sprintf("Test Okta ML Policy %s", rText)),
36+
resource.TestCheckResourceAttr("data.sysdig_secure_okta_ml_policy.policy_2", "description", fmt.Sprintf("Test Okta ML Policy Description %s", rText)),
37+
resource.TestCheckResourceAttr("data.sysdig_secure_okta_ml_policy.policy_2", "enabled", "true"),
38+
resource.TestCheckResourceAttr("data.sysdig_secure_okta_ml_policy.policy_2", "severity", "4"),
39+
),
3440
},
3541
},
3642
})
3743
}
3844

39-
func oktaOktaMLPolicyDataSource(name string) string {
45+
func oktaMLPolicyDataSource(name string) string {
4046
return fmt.Sprintf(`
4147
resource "sysdig_secure_okta_ml_policy" "policy_1" {
4248
name = "Test Okta ML Policy %s"

sysdig/resource_sysdig_secure_okta_ml_policy.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ func resourceSysdigSecureOktaMLPolicy() *schema.Resource {
5454
"rule": {
5555
Type: schema.TypeList,
5656
Required: true,
57+
MaxItems: 1,
5758
Elem: &schema.Resource{
5859
Schema: map[string]*schema.Schema{
5960
"id": ReadOnlyIntSchema(),
@@ -171,16 +172,12 @@ func resourceSysdigOktaMLPolicyDelete(ctx context.Context, d *schema.ResourceDat
171172
return diag.FromErr(err)
172173
}
173174

174-
policy, err := oktaMLPolicyFromResourceData(d)
175+
id, err := strconv.Atoi(d.Id())
175176
if err != nil {
176177
return diag.FromErr(err)
177178
}
178179

179-
if policy.Policy.ID == 0 {
180-
return diag.FromErr(errors.New("policy ID is missing"))
181-
}
182-
183-
err = client.DeleteCompositePolicy(ctx, policy.Policy.ID)
180+
err = client.DeleteCompositePolicy(ctx, id)
184181
if err != nil {
185182
return diag.FromErr(err)
186183
}

sysdig/schema.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,8 +413,9 @@ func MLRuleThresholdAndSeveritySchema() *schema.Schema {
413413
Default: true,
414414
},
415415
"threshold": {
416-
Type: schema.TypeInt,
417-
Required: true,
416+
Type: schema.TypeInt,
417+
Required: true,
418+
ValidateDiagFunc: validateDiagFunc(validation.IntBetween(1, 3)),
418419
},
419420
},
420421
},

sysdig/tfresource.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,10 +321,14 @@ func setTFResourcePolicyRulesOktaML(d *schema.ResourceData, policy v2.PolicyRule
321321

322322
rules := []map[string]any{}
323323
for _, rule := range policy.Rules {
324-
anomalousLogin := []map[string]any{{
325-
"enabled": rule.Details.(*v2.OktaMLRuleDetails).AnomalousConsoleLogin.Enabled,
326-
"threshold": rule.Details.(*v2.OktaMLRuleDetails).AnomalousConsoleLogin.Threshold,
327-
}}
324+
anomalousLogin := []map[string]any{}
325+
326+
if d, ok := rule.Details.(*v2.OktaMLRuleDetails); ok && d.AnomalousConsoleLogin != nil {
327+
anomalousLogin = []map[string]any{{
328+
"enabled": d.AnomalousConsoleLogin.Enabled,
329+
"threshold": int(d.AnomalousConsoleLogin.Threshold),
330+
}}
331+
}
328332

329333
rules = append(rules, map[string]any{
330334
"id": rule.ID,

website/docs/r/secure_okta_ml_policy.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ subcategory: "Sysdig Secure"
33
layout: "sysdig"
44
page_title: "Sysdig: sysdig_secure_okta_ml_policy"
55
description: |-
6-
Retrieves a Sysdig Secure Okta ML Policy.
6+
Manages a Sysdig Secure Okta ML Policy.
77
---
88

99
# Resource: sysdig_secure_okta_ml_policy
1010

11-
Retrieves the information of an existing Sysdig Secure Okta ML Policy.
11+
Manages a Sysdig Secure Okta ML Policy.
1212

1313
-> **Note:** Sysdig Terraform Provider is under rapid development at this point. If you experience any issue or discrepancy while using it, please make sure you have the latest version. If the issue persists, or you have a Feature Request to support an additional set of resources, please open a [new issue](https://github.com/sysdiglabs/terraform-provider-sysdig/issues/new) in the GitHub repository.
1414

@@ -28,6 +28,7 @@ resource "sysdig_secure_okta_ml_policy" "policy" {
2828
enabled = true
2929
threshold = 1
3030
}
31+
}
3132
}
3233
```
3334

0 commit comments

Comments
 (0)