Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.8.1
3.8.2
2 changes: 1 addition & 1 deletion docs/data-sources/review_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The review config data source.
- `id` (String) The ID of this resource.
- `resource_id` (String) The unique resource id for the review config.
- `resources` (Set of String) Resources using the config. We support attach the review config for environments or projects with format {resurce}/{resource id}. For example, environments/test, projects/sample.
- `rules` (Set of Object) The SQL review rules. (see [below for nested schema](#nestedatt--rules))
- `rules` (List of Object) The SQL review rules. (see [below for nested schema](#nestedatt--rules))
- `title` (String) The title for the review config.

<a id="nestedatt--rules"></a>
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/review_config_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Read-Only:
- `enabled` (Boolean)
- `resource_id` (String)
- `resources` (Set of String)
- `rules` (Set of Object) (see [below for nested schema](#nestedobjatt--review_configs--rules))
- `rules` (List of Object) (see [below for nested schema](#nestedobjatt--review_configs--rules))
- `title` (String)

<a id="nestedobjatt--review_configs--rules"></a>
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/setting.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The setting data source.

Required:

- `classifications` (Block Set, Min: 1) (see [below for nested schema](#nestedblock--classification--classifications))
- `classifications` (Block List, Min: 1) (see [below for nested schema](#nestedblock--classification--classifications))
- `id` (String) The classification unique uuid.
- `levels` (Block List, Min: 1) (see [below for nested schema](#nestedblock--classification--levels))
- `title` (String) The classification title. Optional.
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/review_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The review config resource.

- `enabled` (Boolean) Enable the SQL review config
- `resource_id` (String) The unique resource id for the review config.
- `rules` (Block Set, Min: 1) The SQL review rules. (see [below for nested schema](#nestedblock--rules))
- `rules` (Block List, Min: 1) The SQL review rules. (see [below for nested schema](#nestedblock--rules))
- `title` (String) The title for the review config.

### Optional
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/setting.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Optional:

Required:

- `classifications` (Block Set, Min: 1) (see [below for nested schema](#nestedblock--classification--classifications))
- `classifications` (Block List, Min: 1) (see [below for nested schema](#nestedblock--classification--classifications))
- `id` (String) The classification unique uuid.
- `levels` (Block List, Min: 1) (see [below for nested schema](#nestedblock--classification--levels))
- `title` (String) The classification title. Optional.
Expand Down
2 changes: 1 addition & 1 deletion examples/database/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/database_group/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/environments/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/groups/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/iamPolicy/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/instances/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/projects/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/risk/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/roles/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/settings/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/setup/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/sql_review/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion examples/users/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
terraform {
required_providers {
bytebase = {
version = "3.7.2"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down
2 changes: 1 addition & 1 deletion provider/data_source_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ func columnHash(rawColumn interface{}) string {
if v, ok := column["classification"].(string); ok {
_, _ = buf.WriteString(fmt.Sprintf("%s-", v))
}
if v, ok := column["classification"].(map[string]interface{}); ok {
if v, ok := column["labels"].(map[string]interface{}); ok {
for key, val := range v {
_, _ = buf.WriteString(fmt.Sprintf("[%s:%s]-", key, val.(string)))
}
Expand Down
3 changes: 1 addition & 2 deletions provider/data_source_review_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func dataSourceReviewConfig() *schema.Resource {
Description: "Resources using the config. We support attach the review config for environments or projects with format {resurce}/{resource id}. For example, environments/test, projects/sample.",
},
"rules": {
Type: schema.TypeSet,
Type: schema.TypeList,
Computed: true,
Description: "The SQL review rules.",
Elem: &schema.Resource{
Expand Down Expand Up @@ -72,7 +72,6 @@ func dataSourceReviewConfig() *schema.Resource {
},
},
},
Set: reviewRuleHash,
},
},
}
Expand Down
5 changes: 2 additions & 3 deletions provider/data_source_review_config_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func dataSourceReviewConfigList() *schema.Resource {
Description: "Resources using the config. We support attach the review config for environments or projects with format {resurce}/{resource id}. For example, environments/test, projects/sample.",
},
"rules": {
Type: schema.TypeSet,
Type: schema.TypeList,
Computed: true,
Description: "The SQL review rules.",
Elem: &schema.Resource{
Expand Down Expand Up @@ -78,7 +78,6 @@ func dataSourceReviewConfigList() *schema.Resource {
},
},
},
Set: reviewRuleHash,
},
},
},
Expand Down Expand Up @@ -106,7 +105,7 @@ func dataSourceReviewConfigListRead(ctx context.Context, d *schema.ResourceData,
raw["title"] = review.Title
raw["enabled"] = review.Enabled
raw["resources"] = review.Resources
raw["rules"] = schema.NewSet(reviewRuleHash, flattenReviewRules(review.Rules))
raw["rules"] = flattenReviewRules(review.Rules)

reviews = append(reviews, raw)
}
Expand Down
2 changes: 1 addition & 1 deletion provider/data_source_setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ func getClassificationSetting(computed bool) *schema.Schema {
},
"classifications": {
Required: true,
Type: schema.TypeSet,
Type: schema.TypeList,
MinItems: 1,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
Expand Down
32 changes: 5 additions & 27 deletions provider/resource_review_config.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package provider

import (
"bytes"
"context"
"fmt"
"strings"
Expand Down Expand Up @@ -54,7 +53,7 @@ func resourceReviewConfig() *schema.Resource {
Description: "Resources using the config. We support attach the review config for environments or projects with format {resurce}/{resource id}. For example, environments/test, projects/sample.",
},
"rules": {
Type: schema.TypeSet,
Type: schema.TypeList,
Required: true,
MinItems: 1,
Description: "The SQL review rules.",
Expand Down Expand Up @@ -95,7 +94,6 @@ func resourceReviewConfig() *schema.Resource {
},
},
},
Set: reviewRuleHash,
},
},
}
Expand Down Expand Up @@ -248,7 +246,7 @@ func setReviewConfig(d *schema.ResourceData, review *v1pb.ReviewConfig) diag.Dia
if err := d.Set("resources", review.Resources); err != nil {
return diag.Errorf("cannot set resources for review: %s", err.Error())
}
if err := d.Set("rules", schema.NewSet(reviewRuleHash, flattenReviewRules(review.Rules))); err != nil {
if err := d.Set("rules", flattenReviewRules(review.Rules)); err != nil {
return diag.Errorf("cannot set rules for review: %s", err.Error())
}

Expand All @@ -269,35 +267,15 @@ func flattenReviewRules(rules []*v1pb.SQLReviewRule) []interface{} {
return ruleList
}

func reviewRuleHash(rawRule interface{}) int {
var buf bytes.Buffer
raw := rawRule.(map[string]interface{})

if v, ok := raw["type"].(string); ok {
_, _ = buf.WriteString(fmt.Sprintf("%s-", v))
}
if v, ok := raw["engine"].(string); ok {
_, _ = buf.WriteString(fmt.Sprintf("%s-", v))
}
if v, ok := raw["payload"].(string); ok {
_, _ = buf.WriteString(fmt.Sprintf("%s-", v))
}
if v, ok := raw["level"].(string); ok {
_, _ = buf.WriteString(fmt.Sprintf("%s-", v))
}

return internal.ToHashcodeInt(buf.String())
}

func convertToV1RuleList(d *schema.ResourceData) ([]*v1pb.SQLReviewRule, error) {
ruleSet, ok := d.Get("rules").(*schema.Set)
if !ok || ruleSet.Len() == 0 {
ruleRawList, ok := d.Get("rules").([]interface{})
if !ok || len(ruleRawList) == 0 {
return nil, errors.Errorf("rules is required")
}

ruleList := []*v1pb.SQLReviewRule{}

for _, r := range ruleSet.List() {
for _, r := range ruleRawList {
rawRule := r.(map[string]interface{})
payload := rawRule["payload"].(string)
if payload == "" {
Expand Down
2 changes: 1 addition & 1 deletion tutorials/0-provider.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
terraform {
required_providers {
bytebase = {
version = "3.8.1"
version = "3.8.2"
# For local development, please use "terraform.local/bytebase/bytebase" instead
source = "registry.terraform.io/bytebase/bytebase"
}
Expand Down