Skip to content

Commit 1a4b011

Browse files
coderGo93Edgar López
andauthored
INTMDB-144: Updated for scopes database users (#368)
* chore: updated for local client mongo * refactor: to send an empty array of scopes and change to only optional for scopes schema * test: added testacc for scopes empty * chore: updated from master client mongodb atlas Co-authored-by: Edgar López <[email protected]>
1 parent cabc520 commit 1a4b011

File tree

9 files changed

+241
-25
lines changed

9 files changed

+241
-25
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ require (
1111
github.com/spf13/cast v1.3.1
1212
github.com/terraform-providers/terraform-provider-aws v1.60.1-0.20200518153306-40099de47e37
1313
github.com/terraform-providers/terraform-provider-google v1.20.1-0.20200518165017-1dd21651c496
14-
go.mongodb.org/atlas v0.5.1-0.20201208195148-2ef1965cb1ef
14+
go.mongodb.org/atlas v0.6.1-0.20210106014125-8dd299fe028a
1515
)

go.sum

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -604,8 +604,9 @@ github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q
604604
github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8=
605605
github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0=
606606
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
607-
go.mongodb.org/atlas v0.5.1-0.20201208195148-2ef1965cb1ef h1:W356PZzBuIdUwuxAq94SSIniPO7C1Wl8KYwmU+MPHYc=
608-
go.mongodb.org/atlas v0.5.1-0.20201208195148-2ef1965cb1ef/go.mod h1:CIaBeO8GLHhtYLw7xSSXsw7N90Z4MFY87Oy9qcPyuEs=
607+
go.mongodb.org/atlas v0.6.1-0.20201221153348-dc53924fee61/go.mod h1:CIaBeO8GLHhtYLw7xSSXsw7N90Z4MFY87Oy9qcPyuEs=
608+
go.mongodb.org/atlas v0.6.1-0.20210106014125-8dd299fe028a h1:5gYtQbQA6MCmHkOe7nAN5uNmL/AX9ifIbChmbXgN5Fk=
609+
go.mongodb.org/atlas v0.6.1-0.20210106014125-8dd299fe028a/go.mod h1:CIaBeO8GLHhtYLw7xSSXsw7N90Z4MFY87Oy9qcPyuEs=
609610
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
610611
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
611612
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -699,7 +700,6 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
699700
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
700701
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
701702
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
702-
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
703703
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
704704
golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
705705
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -744,7 +744,6 @@ golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
744744
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
745745
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
746746
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
747-
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
748747
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
749748
golang.org/x/tools v0.0.0-20170915040203-e531a2a1c15f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
750749
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -861,17 +860,13 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks
861860
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
862861
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
863862
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
864-
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
865863
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
866864
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
867865
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
868-
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
869866
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
870867
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
871-
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
872868
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
873869
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
874-
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
875870
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
876871
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
877872
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -888,16 +883,11 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt
888883
honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
889884
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
890885
howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0=
891-
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
892886
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
893-
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
894887
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
895888
mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34/go.mod h1:H6SUd1XjIs+qQCyskXg5OFSrilMRUkD8ePJpHKDPaeY=
896-
mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f h1:Cq7MalBHYACRd6EesksG1Q8EoIAKOsiZviGKbOLIej4=
897889
mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw=
898-
rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=
899890
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
900891
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
901892
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
902-
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4 h1:JPJh2pk3+X4lXAkZIk2RuE/7/FoK9maXw+TNPJhVS/c=
903893
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=

mongodbatlas/resource_mongodbatlas_database_user.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,15 @@ func resourceMongoDBAtlasDatabaseUser() *schema.Resource {
108108
"scopes": {
109109
Type: schema.TypeSet,
110110
Optional: true,
111-
Computed: true,
112111
Elem: &schema.Resource{
113112
Schema: map[string]*schema.Schema{
114113
"name": {
115114
Type: schema.TypeString,
116115
Optional: true,
117-
Computed: true,
118116
},
119117
"type": {
120118
Type: schema.TypeString,
121119
Optional: true,
122-
Computed: true,
123120
},
124121
},
125122
},
@@ -397,14 +394,14 @@ func flattenScopes(l []matlas.Scope) []map[string]interface{} {
397394

398395
func expandScopes(d *schema.ResourceData) []matlas.Scope {
399396
list := d.Get("scopes").(*schema.Set)
400-
res := make([]matlas.Scope, list.Len())
401-
402-
for i, val := range list.List() {
397+
res := []matlas.Scope{}
398+
for _, val := range list.List() {
403399
v := val.(map[string]interface{})
404-
res[i] = matlas.Scope{
400+
scope := matlas.Scope{
405401
Type: v["type"].(string),
406402
Name: v["name"].(string),
407403
}
404+
res = append(res, scope)
408405
}
409406

410407
return res

mongodbatlas/resource_mongodbatlas_database_user_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,63 @@ func TestAccResourceMongoDBAtlasDatabaseUser_withScopes(t *testing.T) {
353353
})
354354
}
355355

356+
func TestAccResourceMongoDBAtlasDatabaseUser_withScopesAndEmpty(t *testing.T) {
357+
var (
358+
dbUser matlas.DatabaseUser
359+
resourceName = "mongodbatlas_database_user.test"
360+
username = acctest.RandomWithPrefix("test-acc-user-")
361+
password = acctest.RandomWithPrefix("test-acc-pass-")
362+
orgID = os.Getenv("MONGODB_ATLAS_ORG_ID")
363+
projectName = acctest.RandomWithPrefix("test-acc")
364+
clusterName = acctest.RandomWithPrefix("test-acc-cluster")
365+
)
366+
367+
resource.ParallelTest(t, resource.TestCase{
368+
PreCheck: func() { testAccPreCheck(t) },
369+
Providers: testAccProviders,
370+
CheckDestroy: testAccCheckMongoDBAtlasDatabaseUserDestroy,
371+
Steps: []resource.TestStep{
372+
{
373+
Config: testAccMongoDBAtlasDatabaseUserWithScopes(username, password, projectName, orgID, "atlasAdmin", clusterName,
374+
[]*matlas.Scope{
375+
{
376+
Name: "test-acc-nurk4llu2z",
377+
Type: "CLUSTER",
378+
},
379+
{
380+
Name: "test-acc-nurk4llu2z",
381+
Type: "DATA_LAKE",
382+
},
383+
},
384+
),
385+
Check: resource.ComposeTestCheckFunc(
386+
testAccCheckMongoDBAtlasDatabaseUserExists(resourceName, &dbUser),
387+
testAccCheckMongoDBAtlasDatabaseUserAttributes(&dbUser, username),
388+
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
389+
resource.TestCheckResourceAttr(resourceName, "username", username),
390+
resource.TestCheckResourceAttr(resourceName, "password", password),
391+
resource.TestCheckResourceAttr(resourceName, "auth_database_name", "admin"),
392+
resource.TestCheckResourceAttr(resourceName, "scopes.#", "2"),
393+
),
394+
},
395+
{
396+
Config: testAccMongoDBAtlasDatabaseUserWithScopes(username, password, projectName, orgID, "atlasAdmin", clusterName,
397+
[]*matlas.Scope{},
398+
),
399+
Check: resource.ComposeTestCheckFunc(
400+
testAccCheckMongoDBAtlasDatabaseUserExists(resourceName, &dbUser),
401+
testAccCheckMongoDBAtlasDatabaseUserAttributes(&dbUser, username),
402+
resource.TestCheckResourceAttrSet(resourceName, "project_id"),
403+
resource.TestCheckResourceAttr(resourceName, "username", username),
404+
resource.TestCheckResourceAttr(resourceName, "password", password),
405+
resource.TestCheckResourceAttr(resourceName, "auth_database_name", "admin"),
406+
resource.TestCheckResourceAttr(resourceName, "scopes.#", "0"),
407+
),
408+
},
409+
},
410+
})
411+
}
412+
356413
func TestAccResourceMongoDBAtlasDatabaseUser_importBasic(t *testing.T) {
357414
var (
358415
username = fmt.Sprintf("test-username-%s", acctest.RandString(5))

vendor/go.mongodb.org/atlas/mongodbatlas/accesslist_api_keys.go

Lines changed: 170 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/go.mongodb.org/atlas/mongodbatlas/cloud_provider_snapshot_restore_jobs.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/go.mongodb.org/atlas/mongodbatlas/database_users.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/go.mongodb.org/atlas/mongodbatlas/mongodbatlas.go

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ github.com/zclconf/go-cty/cty/msgpack
476476
github.com/zclconf/go-cty/cty/set
477477
# github.com/zclconf/go-cty-yaml v1.0.1
478478
github.com/zclconf/go-cty-yaml
479-
# go.mongodb.org/atlas v0.5.1-0.20201208195148-2ef1965cb1ef
479+
# go.mongodb.org/atlas v0.6.1-0.20210106014125-8dd299fe028a
480480
## explicit
481481
go.mongodb.org/atlas/mongodbatlas
482482
# go.opencensus.io v0.22.3

0 commit comments

Comments
 (0)