Skip to content

Commit 080914b

Browse files
Remove cloud access policy scope validation (#1049)
* Remove cloud access policy scope validation Closes #1045 It seems like various services can add whatever. This will be more future proof * Fix test * Fix test. API returns ordered
1 parent 1c66c50 commit 080914b

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

internal/resources/cloud/resource_cloud_access_policy.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,10 @@ func DeleteCloudAccessPolicy(ctx context.Context, d *schema.ResourceData, meta i
192192
}
193193

194194
func validateCloudAccessPolicyScope(v interface{}, path cty.Path) diag.Diagnostics {
195-
_, permission, found := strings.Cut(v.(string), ":")
196-
if !found || strings.ContainsRune(permission, ':') {
195+
if strings.Count(v.(string), ":") != 1 {
197196
return diag.Errorf("invalid scope: %s. Should be in the `service:permission` format", v.(string))
198197
}
199198

200-
// Validate permission
201-
switch permission {
202-
case "read", "write", "delete":
203-
default:
204-
return diag.Errorf("invalid scope: %s. Permission should be one of `read`, `write`, `delete`", v.(string))
205-
}
206199
return nil
207200
}
208201

internal/resources/cloud/resource_cloud_access_policy_token_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ func TestResourceAccessPolicyToken_Basic(t *testing.T) {
3030
"accesspolicies:read",
3131
"accesspolicies:write",
3232
"accesspolicies:delete",
33+
"datadog:validate",
3334
}
3435
updatedScopes := []string{
3536
"metrics:write",
@@ -50,12 +51,13 @@ func TestResourceAccessPolicyToken_Basic(t *testing.T) {
5051

5152
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "name", "initial"),
5253
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "display_name", "initial"),
53-
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.#", "5"),
54+
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.#", "6"),
5455
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.0", "accesspolicies:delete"),
5556
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.1", "accesspolicies:read"),
5657
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.2", "accesspolicies:write"),
57-
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.3", "logs:write"),
58-
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.4", "metrics:read"),
58+
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.3", "datadog:validate"),
59+
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.4", "logs:write"),
60+
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "scopes.5", "metrics:read"),
5961
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "realm.#", "1"),
6062
resource.TestCheckResourceAttr("grafana_cloud_access_policy.test", "realm.0.type", "org"),
6163

0 commit comments

Comments
 (0)