@@ -2,11 +2,11 @@ package mongodbatlas
2
2
3
3
import (
4
4
"context"
5
- "fmt"
6
5
"net/http"
7
6
8
7
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
9
8
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
9
+ "github.com/mwielbut/pointy"
10
10
matlas "go.mongodb.org/atlas/mongodbatlas"
11
11
)
12
12
@@ -68,6 +68,11 @@ func resourceMongoDBAtlasProject() *schema.Resource {
68
68
Type : schema .TypeString ,
69
69
Optional : true ,
70
70
},
71
+ "with_default_alerts_settings" : {
72
+ Type : schema .TypeBool ,
73
+ Optional : true ,
74
+ Default : true ,
75
+ },
71
76
},
72
77
}
73
78
}
@@ -77,8 +82,9 @@ func resourceMongoDBAtlasProjectCreate(ctx context.Context, d *schema.ResourceDa
77
82
conn := meta .(* MongoDBClient ).Atlas
78
83
79
84
projectReq := & matlas.Project {
80
- OrgID : d .Get ("org_id" ).(string ),
81
- Name : d .Get ("name" ).(string ),
85
+ OrgID : d .Get ("org_id" ).(string ),
86
+ Name : d .Get ("name" ).(string ),
87
+ WithDefaultAlertsSettings : pointy .Bool (d .Get ("with_default_alerts_settings" ).(bool )),
82
88
}
83
89
84
90
var createProjectOptions * matlas.CreateProjectOptions
@@ -91,15 +97,15 @@ func resourceMongoDBAtlasProjectCreate(ctx context.Context, d *schema.ResourceDa
91
97
92
98
project , _ , err := conn .Projects .Create (ctx , projectReq , createProjectOptions )
93
99
if err != nil {
94
- return diag .FromErr ( fmt . Errorf (errorProjectCreate , err ) )
100
+ return diag .Errorf (errorProjectCreate , err )
95
101
}
96
102
97
103
// Check if teams were set, if so we need to add the teams into the project
98
104
if teams , ok := d .GetOk ("teams" ); ok {
99
105
// adding the teams into the project
100
106
_ , _ , err := conn .Projects .AddTeamsToProject (ctx , project .ID , expandTeamsSet (teams .(* schema.Set )))
101
107
if err != nil {
102
- return diag .FromErr ( fmt . Errorf ("error adding teams into the project: %s" , err ) )
108
+ return diag .Errorf ("error adding teams into the project: %s" , err )
103
109
}
104
110
}
105
111
@@ -119,32 +125,32 @@ func resourceMongoDBAtlasProjectRead(ctx context.Context, d *schema.ResourceData
119
125
return nil
120
126
}
121
127
122
- return diag .FromErr ( fmt . Errorf (errorProjectRead , projectID , err ) )
128
+ return diag .Errorf (errorProjectRead , projectID , err )
123
129
}
124
130
125
131
teams , _ , err := conn .Projects .GetProjectTeamsAssigned (ctx , projectID )
126
132
if err != nil {
127
- return diag .FromErr ( fmt . Errorf ("error getting project's teams assigned (%s): %s" , projectID , err ) )
133
+ return diag .Errorf ("error getting project's teams assigned (%s): %s" , projectID , err )
128
134
}
129
135
130
136
if err := d .Set ("name" , projectRes .Name ); err != nil {
131
- return diag .FromErr ( fmt . Errorf (errorProjectSetting , `name` , projectID , err ) )
137
+ return diag .Errorf (errorProjectSetting , `name` , projectID , err )
132
138
}
133
139
134
140
if err := d .Set ("org_id" , projectRes .OrgID ); err != nil {
135
- return diag .FromErr ( fmt . Errorf (errorProjectSetting , `org_id` , projectID , err ) )
141
+ return diag .Errorf (errorProjectSetting , `org_id` , projectID , err )
136
142
}
137
143
138
144
if err := d .Set ("cluster_count" , projectRes .ClusterCount ); err != nil {
139
- return diag .FromErr ( fmt . Errorf (errorProjectSetting , `clusterCount` , projectID , err ) )
145
+ return diag .Errorf (errorProjectSetting , `clusterCount` , projectID , err )
140
146
}
141
147
142
148
if err := d .Set ("created" , projectRes .Created ); err != nil {
143
- return diag .FromErr ( fmt . Errorf (errorProjectSetting , `created` , projectID , err ) )
149
+ return diag .Errorf (errorProjectSetting , `created` , projectID , err )
144
150
}
145
151
146
152
if err := d .Set ("teams" , flattenTeams (teams )); err != nil {
147
- return diag .FromErr ( fmt . Errorf (errorProjectSetting , `created` , projectID , err ) )
153
+ return diag .Errorf (errorProjectSetting , `created` , projectID , err )
148
154
}
149
155
150
156
return nil
@@ -162,7 +168,7 @@ func resourceMongoDBAtlasProjectUpdate(ctx context.Context, d *schema.ResourceDa
162
168
if len (newTeams ) > 0 {
163
169
_ , _ , err := conn .Projects .AddTeamsToProject (ctx , projectID , expandTeamsList (newTeams ))
164
170
if err != nil {
165
- return diag .FromErr ( fmt . Errorf ("error adding teams into the project(%s): %s" , projectID , err ) )
171
+ return diag .Errorf ("error adding teams into the project(%s): %s" , projectID , err )
166
172
}
167
173
}
168
174
@@ -172,7 +178,7 @@ func resourceMongoDBAtlasProjectUpdate(ctx context.Context, d *schema.ResourceDa
172
178
173
179
_ , err := conn .Teams .RemoveTeamFromProject (ctx , projectID , teamID )
174
180
if err != nil {
175
- return diag .FromErr ( fmt . Errorf ("error removing team(%s) from the project(%s): %s" , teamID , projectID , err ) )
181
+ return diag .Errorf ("error removing team(%s) from the project(%s): %s" , teamID , projectID , err )
176
182
}
177
183
}
178
184
@@ -186,7 +192,7 @@ func resourceMongoDBAtlasProjectUpdate(ctx context.Context, d *schema.ResourceDa
186
192
},
187
193
)
188
194
if err != nil {
189
- return diag .FromErr ( fmt . Errorf ("error updating role names for the team(%s): %s" , team ["team_id" ], err ) )
195
+ return diag .Errorf ("error updating role names for the team(%s): %s" , team ["team_id" ], err )
190
196
}
191
197
}
192
198
}
@@ -200,7 +206,7 @@ func resourceMongoDBAtlasProjectDelete(ctx context.Context, d *schema.ResourceDa
200
206
201
207
_ , err := conn .Projects .Delete (ctx , projectID )
202
208
if err != nil {
203
- return diag .FromErr ( fmt . Errorf (errorProjectDelete , projectID , err ) )
209
+ return diag .Errorf (errorProjectDelete , projectID , err )
204
210
}
205
211
206
212
return nil
0 commit comments