Skip to content

Commit

Permalink
additional rules fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
KNechaevWallarm committed Oct 18, 2024
1 parent 5669ef5 commit 528302e
Show file tree
Hide file tree
Showing 11 changed files with 92 additions and 12 deletions.
8 changes: 4 additions & 4 deletions wallarm/resource_rule_binary_data.go
Original file line number Diff line number Diff line change
Expand Up @@ -424,12 +424,12 @@ func resourceWallarmBinaryDataImport(d *schema.ResourceData, m interface{}) ([]*
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
51 changes: 51 additions & 0 deletions wallarm/resource_rule_credential_stuffing_point.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,10 @@ func resourceWallarmCredentialStuffingPointImport(d *schema.ResourceData, m inte
if err != nil {
return nil, err
}
actionID, err := strconv.Atoi(idParts[1])
if err != nil {
return nil, err
}
ruleID, err := strconv.Atoi(idParts[2])
if err != nil {
return nil, err
Expand All @@ -286,8 +290,55 @@ func resourceWallarmCredentialStuffingPointImport(d *schema.ResourceData, m inte
return nil, err
}

ruleType := "credentials_point"

d.Set("client_id", clientID)
d.Set("rule_id", ruleID)
d.Set("action_id", actionID)
d.Set("type", ruleType)

hint := &wallarm.HintRead{
Limit: 1000,
Offset: 0,
OrderBy: "updated_at",
OrderDesc: true,
Filter: &wallarm.HintFilter{
Clientid: []int{clientID},
ID: []int{ruleID},
Type: []string{ruleType},
},
}
actionHints, err := client.HintRead(hint)
if err != nil {
return nil, err
}
actionsSet := schema.Set{
F: hashResponseActionDetails,
}
var actsSlice []map[string]interface{}
if len((*actionHints.Body)) != 0 && len((*actionHints.Body)[0].Action) != 0 {
for _, a := range (*actionHints.Body)[0].Action {
acts, err := actionDetailsToMap(a)
if err != nil {
return nil, err
}
actsSlice = append(actsSlice, acts)
actionsSet.Add(acts)
}
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)
pointInterface = (*actionHints.Body)[0].LoginPoint
point = wrapPointElements(pointInterface)
d.Set("login_point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

return []*schema.ResourceData{d}, nil
}
4 changes: 4 additions & 0 deletions wallarm/resource_rule_disable_attack_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,10 @@ func resourceWallarmDisableAttackTypeImport(d *schema.ResourceData, m interface{
}
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
8 changes: 4 additions & 4 deletions wallarm/resource_rule_ignore_regex.go
Original file line number Diff line number Diff line change
Expand Up @@ -436,12 +436,12 @@ func resourceWallarmIgnoreRegexImport(d *schema.ResourceData, m interface{}) ([]
}
d.Set("regex_id", (*actionHints.Body)[0].RegexID)

// TODO: Import point as the struct changes when API responds.
// Currently it doesn't import it correctly so it leads to
// a necessity to apply changes again via destroy/create function.
d.Set("point", (*actionHints.Body)[0].Point)
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
5 changes: 5 additions & 0 deletions wallarm/resource_rule_masking.go
Original file line number Diff line number Diff line change
Expand Up @@ -423,8 +423,13 @@ func resourceWallarmSensitiveDataImport(d *schema.ResourceData, m interface{}) (
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}

}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
5 changes: 5 additions & 0 deletions wallarm/resource_rule_parser_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -441,8 +441,13 @@ func resourceWallarmParserStateImport(d *schema.ResourceData, m interface{}) ([]
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}

}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
7 changes: 3 additions & 4 deletions wallarm/resource_rule_regex.go
Original file line number Diff line number Diff line change
Expand Up @@ -466,10 +466,9 @@ func resourceWallarmRegexImport(d *schema.ResourceData, m interface{}) ([]*schem
d.Set("regex", (*actionHints.Body)[0].Regex)
d.Set("attack_type", (*actionHints.Body)[0].AttackType)

// TODO: Import point as the struct changes when API responds.
// Currently it doesn't import it correctly so it leads to
// a necessity to apply changes again via destroy/create function.
d.Set("point", (*actionHints.Body)[0].Point)
pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)
}

if hintType == "experimental_regex" {
Expand Down
4 changes: 4 additions & 0 deletions wallarm/resource_rule_uploads.go
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,10 @@ func resourceWallarmUploadsImport(d *schema.ResourceData, m interface{}) ([]*sch
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)
}

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
Expand Down
4 changes: 4 additions & 0 deletions wallarm/resource_rule_variative_keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,10 @@ func resourceWallarmVariativeKeysImport(d *schema.ResourceData, m interface{}) (
if err := d.Set("action", &actionsSet); err != nil {
return nil, err
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)
}

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
Expand Down
4 changes: 4 additions & 0 deletions wallarm/resource_rule_variative_values.go
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,10 @@ func resourceWallarmVariativeValuesImport(d *schema.ResourceData, m interface{})
}
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down
4 changes: 4 additions & 0 deletions wallarm/resource_rule_vpatch.go
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,10 @@ func resourceWallarmVpatchImport(d *schema.ResourceData, m interface{}) ([]*sche
}
}

pointInterface := (*actionHints.Body)[0].Point
point := wrapPointElements(pointInterface)
d.Set("point", point)

existingID := fmt.Sprintf("%d/%d/%d", clientID, actionID, ruleID)
d.SetId(existingID)

Expand Down

0 comments on commit 528302e

Please sign in to comment.