@@ -7,23 +7,25 @@ import (
7
7
8
8
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
9
9
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
10
+ "github.com/mongodb/terraform-provider-mongodbatlas/internal/common/conversion"
10
11
"github.com/mongodb/terraform-provider-mongodbatlas/internal/config"
11
12
"github.com/mwielbut/pointy"
12
- matlas "go.mongodb.org/atlas/mongodbatlas "
13
+ "go.mongodb.org/atlas-sdk/v20231115005/admin "
13
14
)
14
15
15
16
const (
16
17
errorAuditingCreate = "error creating MongoDB Auditing (%s): %s"
17
18
errorAuditingUpdate = "error updating MongoDB Auditing (%s): %s"
18
19
errorAuditingRead = "error reading MongoDB Auditing (%s): %s"
20
+ errorAuditingDelete = "error deleting MongoDB Auditing (%s): %s"
19
21
)
20
22
21
23
func Resource () * schema.Resource {
22
24
return & schema.Resource {
23
- CreateContext : resourceMongoDBAtlasAuditingCreate ,
24
- ReadContext : resourceMongoDBAtlasAuditingRead ,
25
- UpdateContext : resourceMongoDBAtlasAuditingUpdate ,
26
- DeleteContext : resourceMongoDBAtlasAuditingDelete ,
25
+ CreateContext : resourceCreate ,
26
+ ReadContext : resourceRead ,
27
+ UpdateContext : resourceUpdate ,
28
+ DeleteContext : resourceDelete ,
27
29
Importer : & schema.ResourceImporter {
28
30
StateContext : schema .ImportStatePassthroughContext ,
29
31
},
@@ -56,38 +58,35 @@ func Resource() *schema.Resource {
56
58
}
57
59
}
58
60
59
- func resourceMongoDBAtlasAuditingCreate (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
60
- conn := meta .(* config.MongoDBClient ).Atlas
61
-
61
+ func resourceCreate (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
62
+ connV2 := meta .(* config.MongoDBClient ).AtlasV2
62
63
projectID := d .Get ("project_id" ).(string )
63
- auditingReq := & matlas. Auditing {}
64
+ auditingReq := & admin. AuditLog {}
64
65
65
66
if auditAuth , ok := d .GetOk ("audit_authorization_success" ); ok {
66
67
auditingReq .AuditAuthorizationSuccess = pointy .Bool (auditAuth .(bool ))
67
68
}
68
69
69
70
if auditFilter , ok := d .GetOk ("audit_filter" ); ok {
70
- auditingReq .AuditFilter = auditFilter .(string )
71
+ auditingReq .AuditFilter = conversion . StringPtr ( auditFilter .(string ) )
71
72
}
72
73
73
74
if enabled , ok := d .GetOk ("enabled" ); ok {
74
75
auditingReq .Enabled = pointy .Bool (enabled .(bool ))
75
76
}
76
77
77
- _ , _ , err := conn . Auditing . Configure (ctx , projectID , auditingReq )
78
+ _ , _ , err := connV2 . AuditingApi . UpdateAuditingConfiguration (ctx , projectID , auditingReq ). Execute ( )
78
79
if err != nil {
79
80
return diag .FromErr (fmt .Errorf (errorAuditingCreate , projectID , err ))
80
81
}
81
82
82
83
d .SetId (projectID )
83
-
84
- return resourceMongoDBAtlasAuditingRead (ctx , d , meta )
84
+ return resourceRead (ctx , d , meta )
85
85
}
86
86
87
- func resourceMongoDBAtlasAuditingRead (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
88
- conn := meta .(* config.MongoDBClient ).Atlas
89
-
90
- auditing , resp , err := conn .Auditing .Get (context .Background (), d .Id ())
87
+ func resourceRead (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
88
+ connV2 := meta .(* config.MongoDBClient ).AtlasV2
89
+ auditing , resp , err := connV2 .AuditingApi .GetAuditingConfiguration (ctx , d .Id ()).Execute ()
91
90
if err != nil {
92
91
if resp != nil && resp .StatusCode == http .StatusNotFound {
93
92
d .SetId ("" )
@@ -97,65 +96,58 @@ func resourceMongoDBAtlasAuditingRead(ctx context.Context, d *schema.ResourceDat
97
96
return diag .FromErr (fmt .Errorf (errorAuditingRead , d .Id (), err ))
98
97
}
99
98
100
- if err := d .Set ("audit_authorization_success" , auditing .AuditAuthorizationSuccess ); err != nil {
99
+ if err := d .Set ("audit_authorization_success" , auditing .GetAuditAuthorizationSuccess () ); err != nil {
101
100
return diag .FromErr (fmt .Errorf (errorAuditingRead , d .Id (), err ))
102
101
}
103
102
104
- if err := d .Set ("audit_filter" , auditing .AuditFilter ); err != nil {
103
+ if err := d .Set ("audit_filter" , auditing .GetAuditFilter () ); err != nil {
105
104
return diag .FromErr (fmt .Errorf (errorAuditingRead , d .Id (), err ))
106
105
}
107
106
108
- if err := d .Set ("enabled" , auditing .Enabled ); err != nil {
107
+ if err := d .Set ("enabled" , auditing .GetEnabled () ); err != nil {
109
108
return diag .FromErr (fmt .Errorf (errorAuditingRead , d .Id (), err ))
110
109
}
111
110
112
- if err := d .Set ("configuration_type" , auditing .ConfigurationType ); err != nil {
111
+ if err := d .Set ("configuration_type" , auditing .GetConfigurationType () ); err != nil {
113
112
return diag .FromErr (fmt .Errorf (errorAuditingRead , d .Id (), err ))
114
113
}
115
114
116
115
return nil
117
116
}
118
117
119
- func resourceMongoDBAtlasAuditingUpdate (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
120
- // Get the client connection.
121
- conn := meta .(* config.MongoDBClient ).Atlas
122
-
123
- auditingReq := & matlas.Auditing {}
118
+ func resourceUpdate (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
119
+ connV2 := meta .(* config.MongoDBClient ).AtlasV2
120
+ auditingReq := & admin.AuditLog {}
124
121
125
122
if d .HasChange ("audit_authorization_success" ) {
126
123
auditingReq .AuditAuthorizationSuccess = pointy .Bool ((d .Get ("audit_authorization_success" ).(bool )))
127
124
}
128
125
129
126
if d .HasChange ("audit_filter" ) {
130
- auditingReq .AuditFilter = d .Get ("audit_filter" ).(string )
127
+ auditingReq .AuditFilter = conversion . StringPtr ( d .Get ("audit_filter" ).(string ) )
131
128
}
132
129
133
130
if d .HasChange ("enabled" ) {
134
131
auditingReq .Enabled = pointy .Bool (d .Get ("enabled" ).(bool ))
135
132
}
136
133
137
- _ , _ , err := conn . Auditing . Configure (ctx , d .Id (), auditingReq )
134
+ _ , _ , err := connV2 . AuditingApi . UpdateAuditingConfiguration (ctx , d .Id (), auditingReq ). Execute ( )
138
135
if err != nil {
139
136
return diag .FromErr (fmt .Errorf (errorAuditingUpdate , d .Id (), err ))
140
137
}
141
138
142
139
return nil
143
140
}
144
141
145
- func resourceMongoDBAtlasAuditingDelete (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
146
- // Get the client connection.
147
- conn := meta .(* config.MongoDBClient ).Atlas
148
-
149
- auditingReq := & matlas.Auditing {}
150
-
151
- auditingReq .Enabled = pointy .Bool (false )
152
-
153
- _ , _ , err := conn .Auditing .Configure (ctx , d .Id (), auditingReq )
142
+ func resourceDelete (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
143
+ connV2 := meta .(* config.MongoDBClient ).AtlasV2
144
+ auditingReq := & admin.AuditLog {
145
+ Enabled : pointy .Bool (false ),
146
+ }
147
+ _ , _ , err := connV2 .AuditingApi .UpdateAuditingConfiguration (ctx , d .Id (), auditingReq ).Execute ()
154
148
if err != nil {
155
- return diag .FromErr (fmt .Errorf (errorAuditingUpdate , d .Id (), err ))
149
+ return diag .FromErr (fmt .Errorf (errorAuditingDelete , d .Id (), err ))
156
150
}
157
-
158
151
d .SetId ("" )
159
-
160
152
return nil
161
153
}
0 commit comments