Skip to content

Commit 9147a61

Browse files
Igor Komlewchris-rock
andauthored
⭐️ Extend M365 microsoft.devicemanagement with enrollmentConfiguration (#5681)
* Extend microsoft.devicemanagement with enrollmentConfiguration * fixed spelling * 🐛 fix resource id --------- Co-authored-by: Christoph Hartmann <chris@lollyrock.com>
1 parent 21c2d55 commit 9147a61

4 files changed

Lines changed: 223 additions & 2 deletions

File tree

providers/ms365/resources/devicemanagement.go

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ func (a *mqlMicrosoftDevicemanagement) managedDevices() ([]interface{}, error) {
7979
}
8080

8181
func newMqlMicrosoftManagedDevice(runtime *plugin.Runtime, u models.ManagedDeviceable) (*mqlMicrosoftDevicemanagementManageddevice, error) {
82-
8382
protectionState, err := convert.JsonToDict(newWindowsProtectionState(u.GetWindowsProtectionState()))
8483
if err != nil {
8584
return nil, err
@@ -159,6 +158,42 @@ func (a *mqlMicrosoftDevicemanagement) deviceConfigurations() ([]interface{}, er
159158
return res, nil
160159
}
161160

161+
func (a *mqlMicrosoftDevicemanagement) deviceEnrollmentConfigurations() ([]interface{}, error) {
162+
conn := a.MqlRuntime.Connection.(*connection.Ms365Connection)
163+
graphClient, err := conn.GraphClient()
164+
if err != nil {
165+
return nil, err
166+
}
167+
168+
ctx := context.Background()
169+
deviceEnrollmentConfigurations, err := graphClient.DeviceManagement().DeviceEnrollmentConfigurations().Get(ctx, nil)
170+
if err != nil {
171+
return nil, transformError(err)
172+
}
173+
174+
configs := deviceEnrollmentConfigurations.GetValue()
175+
res := []interface{}{}
176+
for _, config := range configs {
177+
mqlResource, err := CreateResource(a.MqlRuntime, "microsoft.devicemanagement.deviceEnrollmentConfiguration",
178+
map[string]*llx.RawData{
179+
"__id": llx.StringDataPtr(config.GetId()),
180+
"id": llx.StringDataPtr(config.GetId()),
181+
"displayName": llx.StringDataPtr(config.GetDisplayName()),
182+
"description": llx.StringDataPtr(config.GetDescription()),
183+
"createdDateTime": llx.TimeDataPtr(config.GetCreatedDateTime()),
184+
"lastModifiedDateTime": llx.TimeDataPtr(config.GetLastModifiedDateTime()),
185+
"priority": llx.IntDataDefault(config.GetPriority(), 0),
186+
"version": llx.IntDataDefault(config.GetVersion(), 0),
187+
})
188+
if err != nil {
189+
return nil, err
190+
}
191+
res = append(res, mqlResource)
192+
}
193+
194+
return res, nil
195+
}
196+
162197
func (a *mqlMicrosoftDevicemanagement) deviceCompliancePolicies() ([]interface{}, error) {
163198
conn := a.MqlRuntime.Connection.(*connection.Ms365Connection)
164199
graphClient, err := conn.GraphClient()

providers/ms365/resources/ms365.lr

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,6 +1014,26 @@ microsoft.devicemanagement {
10141014
deviceConfigurations() []microsoft.devicemanagement.deviceconfiguration
10151015
// List of device compliance policies
10161016
deviceCompliancePolicies() []microsoft.devicemanagement.devicecompliancepolicy
1017+
// Device Enrollment Configuration
1018+
deviceEnrollmentConfigurations() []microsoft.devicemanagement.deviceEnrollmentConfiguration
1019+
}
1020+
1021+
// Microsoft Device Enrollment Configuration
1022+
private microsoft.devicemanagement.deviceEnrollmentConfiguration @defaults("id displayName") {
1023+
// Unique identifier for the account
1024+
id string
1025+
// The display name of the device enrollment configuration
1026+
displayName string
1027+
// The description of the device enrollment configuration
1028+
description string
1029+
// Priority is used when a user exists in multiple groups that are assigned enrollment configuration
1030+
priority int
1031+
// Created date time in UTC of the device enrollment configuration
1032+
createdDateTime time
1033+
// Last modified date time in UTC of the device enrollment configuration
1034+
lastModifiedDateTime time
1035+
// The version of the device enrollment configuration
1036+
version int
10171037
}
10181038

10191039
// Microsoft managed device

providers/ms365/resources/ms365.lr.go

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

providers/ms365/resources/ms365.lr.manifest.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,20 @@ resources:
253253
fields:
254254
deviceCompliancePolicies: {}
255255
deviceConfigurations: {}
256+
deviceEnrollmentConfigurations: {}
256257
managedDevices: {}
257258
min_mondoo_version: 9.0.0
259+
microsoft.devicemanagement.deviceEnrollmentConfiguration:
260+
fields:
261+
createdDateTime: {}
262+
description: {}
263+
displayName: {}
264+
id: {}
265+
lastModifiedDateTime: {}
266+
priority: {}
267+
version: {}
268+
is_private: true
269+
min_mondoo_version: 9.0.0
258270
microsoft.devicemanagement.devicecompliancepolicy:
259271
fields:
260272
assignments: {}
@@ -302,7 +314,6 @@ resources:
302314
notes: {}
303315
operatingSystem: {}
304316
osVersion: {}
305-
protectionState: {}
306317
serialNumber: {}
307318
udid: {}
308319
userDisplayName: {}

0 commit comments

Comments
 (0)