Align naming in Access Control cluster with the spec. (#24239)

* Align naming in Access Control cluster with the spec.

Except for Target, because TargetStruct is used in the Bindings cluster already.

* Regenerate generated files.
diff --git a/docs/guides/access-control-guide.md b/docs/guides/access-control-guide.md
index 53275f6..d82ec30 100644
--- a/docs/guides/access-control-guide.md
+++ b/docs/guides/access-control-guide.md
@@ -378,15 +378,15 @@
 
 The privileges are:
 
--   Clusters.AccessControl.Enums.Privilege.kView
--   Clusters.AccessControl.Enums.Privilege.kOperate
--   Clusters.AccessControl.Enums.Privilege.kManage
--   Clusters.AccessControl.Enums.Privilege.kAdminister
+-   `Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kView`
+-   `Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kOperate`
+-   `Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kManage`
+-   `Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister`
 
 The authentication modes are:
 
--   Clusters.AccessControl.Enums.AuthMode.kCASE
--   Clusters.AccessControl.Enums.AuthMode.kGroup
+-   `Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCASE`
+-   `Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kGroup`
 
 Some typical clusters:
 
@@ -433,14 +433,14 @@
 
 ```
 await devCtrl.WriteAttribute(1, [ (0, Clusters.AccessControl.Attributes.Acl( [
-  Clusters.AccessControl.Structs.AccessControlEntry(
-    privilege = Clusters.AccessControl.Enums.Privilege.kAdminister,
-    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,
+  Clusters.AccessControl.Structs.AccessControlEntryStruct(
+    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister,
+    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
     subjects = [ 1 ]
   ),
-  Clusters.AccessControl.Structs.AccessControlEntry(
-    privilege = Clusters.AccessControl.Enums.Privilege.kView,
-    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,
+  Clusters.AccessControl.Structs.AccessControlEntryStruct(
+    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kView,
+    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
     subjects = [ 4444, 5555, 6666 ],
   ),
 ] ) ) ] )
@@ -482,19 +482,19 @@
 
 ```
 await devCtrl.WriteAttribute(1, [ (0, Clusters.AccessControl.Attributes.Acl( [
-  Clusters.AccessControl.Structs.AccessControlEntry(
-    privilege = Clusters.AccessControl.Enums.Privilege.kAdminister,
-    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,
+  Clusters.AccessControl.Structs.AccessControlEntryStruct(
+    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister,
+    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
     subjects = [ 1 ]
   ),
-  Clusters.AccessControl.Structs.AccessControlEntry(
-    privilege = Clusters.AccessControl.Enums.Privilege.kView,
-    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,
+  Clusters.AccessControl.Structs.AccessControlEntryStruct(
+    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kView,
+    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
     subjects = [ 4444, 5555, 6666 ],
   ),
-  Clusters.AccessControl.Structs.AccessControlEntry(
-    privilege = Clusters.AccessControl.Enums.Privilege.kOperate,
-    authMode = Clusters.AccessControl.Enums.AuthMode.kGroup,
+  Clusters.AccessControl.Structs.AccessControlEntryStruct(
+    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kOperate,
+    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kGroup,
     subjects = [ 123, 456 ],
     targets = [
       Clusters.AccessControl.Structs.Target(
diff --git a/docs/guides/repl/Matter_Access_Control.ipynb b/docs/guides/repl/Matter_Access_Control.ipynb
index 80dae46..8bc0c44 100644
--- a/docs/guides/repl/Matter_Access_Control.ipynb
+++ b/docs/guides/repl/Matter_Access_Control.ipynb
@@ -500,10 +500,10 @@
     }
    ],
    "source": [
-    "acl = [ Clusters.AccessControl.Structs.AccessControlEntry(\n",
+    "acl = [ Clusters.AccessControl.Structs.AccessControlEntryStruct(\n",
     "    fabricIndex = 1,\n",
-    "    privilege = Clusters.AccessControl.Enums.Privilege.kAdminister,\n",
-    "    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,\n",
+    "    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister,\n",
+    "    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,\n",
     "    subjects = [ 1 ] ) \n",
     "]\n",
     "\n",
@@ -729,10 +729,10 @@
     }
    ],
    "source": [
-    "acl.append(Clusters.AccessControl.Structs.AccessControlEntry(\n",
+    "acl.append(Clusters.AccessControl.Structs.AccessControlEntryStruct(\n",
     "    fabricIndex = 1,\n",
-    "    privilege = Clusters.AccessControl.Enums.Privilege.kOperate,\n",
-    "    authMode = Clusters.AccessControl.Enums.AuthMode.kCase,\n",
+    "    privilege = Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kOperate,\n",
+    "    authMode = Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,\n",
     "    targets = [ Clusters.AccessControl.Structs.Target(\n",
     "        endpoint = 1,\n",
     "    ) ] ) )\n",
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
index 5838e51..754985f 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
@@ -423,29 +423,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -457,7 +457,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -466,7 +466,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -474,12 +474,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
index b12e69b..58e0c12 100644
--- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
+++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
@@ -373,29 +373,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -411,7 +411,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -419,11 +419,11 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter
index c971037..bc51208 100644
--- a/examples/bridge-app/bridge-common/bridge-app.matter
+++ b/examples/bridge-app/bridge-common/bridge-app.matter
@@ -226,29 +226,29 @@
 }
 
 client cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -260,7 +260,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -269,7 +269,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -277,12 +277,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
@@ -294,29 +294,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -328,7 +328,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -337,7 +337,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -345,12 +345,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
index 9425876..2077099 100644
--- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -285,29 +285,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -319,7 +319,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -328,7 +328,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -336,12 +336,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
index 33d36d0..b581d73 100644
--- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
+++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
@@ -287,29 +287,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -321,7 +321,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -330,7 +330,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -338,12 +338,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
index e874b09..cfaef80 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
@@ -136,29 +136,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -170,7 +170,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -179,7 +179,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -187,12 +187,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
index 2b28a25..7c314a9 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -285,29 +285,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -319,7 +319,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -328,7 +328,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -336,12 +336,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index 9073db9..472e947 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -136,29 +136,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -170,7 +170,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -179,7 +179,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -187,12 +187,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index aa5fcc8..dff1a98 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -285,29 +285,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -319,7 +319,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -328,7 +328,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -336,12 +336,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index 5640719..15e0a10 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -126,29 +126,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -160,7 +160,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -169,7 +169,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -177,12 +177,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
index ec1c0cd..7c6446e 100644
--- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
+++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
@@ -149,29 +149,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -183,7 +183,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -192,7 +192,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -200,12 +200,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index fc78c41..3b36f2a 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -278,29 +278,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -312,7 +312,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -321,7 +321,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -329,12 +329,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
index d0e6d5a..39ad6dd 100644
--- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
+++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
@@ -149,29 +149,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -183,7 +183,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -192,7 +192,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -200,12 +200,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
index f4001c7..a0a6b31 100644
--- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
+++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
@@ -149,29 +149,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -183,7 +183,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -192,7 +192,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -200,12 +200,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
index 01d53e7..770f249 100644
--- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
+++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
@@ -149,29 +149,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -183,7 +183,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -192,7 +192,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -200,12 +200,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
index 30d16fa..f3f026c 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
@@ -285,29 +285,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -319,7 +319,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -328,7 +328,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -336,12 +336,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
index 61fb4a1..647f5be 100644
--- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
+++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
@@ -228,29 +228,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -262,7 +262,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -271,7 +271,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -279,12 +279,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
index 782679e..e5a1c17 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
@@ -186,29 +186,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -220,7 +220,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -229,7 +229,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -237,12 +237,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
index e914ee6..efb2f5e 100644
--- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
+++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
@@ -154,29 +154,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -188,7 +188,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -197,7 +197,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -205,12 +205,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
index e4d7daa..0a3f54e 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
@@ -276,29 +276,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -310,7 +310,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -319,7 +319,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -327,12 +327,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
index 11373cf..4ca3f32 100644
--- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
+++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
@@ -149,29 +149,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -183,7 +183,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -192,7 +192,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -200,12 +200,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index 1d085c6..35202e6 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -136,29 +136,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -170,7 +170,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -179,7 +179,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -187,12 +187,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
index 2b1053f..455c6dc 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
@@ -136,29 +136,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -170,7 +170,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -179,7 +179,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -187,12 +187,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute attrib_id attributeList[] = 65531;
   readonly attribute bitmap32 featureMap = 65532;
   readonly attribute int16u clusterRevision = 65533;
diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
index 3425a9d..1082186 100644
--- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
@@ -128,29 +128,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -162,7 +162,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -171,7 +171,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -179,12 +179,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter
index c971037..bc51208 100644
--- a/examples/dynamic-bridge-app/bridge-common/bridge-app.matter
+++ b/examples/dynamic-bridge-app/bridge-common/bridge-app.matter
@@ -226,29 +226,29 @@
 }
 
 client cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -260,7 +260,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -269,7 +269,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -277,12 +277,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
@@ -294,29 +294,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -328,7 +328,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -337,7 +337,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -345,12 +345,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter
index 879702e..60163b6 100644
--- a/examples/light-switch-app/light-switch-common/light-switch-app.matter
+++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter
@@ -330,29 +330,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -364,7 +364,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -373,7 +373,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -381,12 +381,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index e9cdbc1..7b2c429 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -286,29 +286,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -320,7 +320,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -329,7 +329,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -337,12 +337,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter
index d88bc02..35d6253 100644
--- a/examples/lighting-app/nxp/zap/lighting-on-off.matter
+++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter
@@ -289,29 +289,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -327,7 +327,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -335,11 +335,11 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index 936bc17..7251006 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -103,29 +103,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -137,7 +137,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -146,7 +146,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -154,12 +154,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter
index 68b7a88..28341bb 100644
--- a/examples/log-source-app/log-source-common/log-source-app.matter
+++ b/examples/log-source-app/log-source-common/log-source-app.matter
@@ -2,29 +2,29 @@
 // It is for view/code review purposes only.
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -36,7 +36,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -45,7 +45,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -53,12 +53,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
index d5eb900..dafc45b 100644
--- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
+++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
@@ -24,29 +24,29 @@
 }
 
 client cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -58,7 +58,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -67,7 +67,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -75,12 +75,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
@@ -90,29 +90,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -124,7 +124,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -133,7 +133,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -141,12 +141,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
index 89e2d4d..00ec6a2 100644
--- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
+++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
@@ -186,29 +186,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -220,7 +220,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -229,7 +229,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -237,12 +237,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter
index f46ec34..9f7d9dd 100644
--- a/examples/pump-app/pump-common/pump-app.matter
+++ b/examples/pump-app/pump-common/pump-app.matter
@@ -217,29 +217,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -251,7 +251,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -260,7 +260,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -268,12 +268,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
index db4a64e..fbbb3ad 100644
--- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
+++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
@@ -116,29 +116,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -150,7 +150,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -159,7 +159,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -167,12 +167,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
index 335b3d8..bf88563 100644
--- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
+++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
@@ -21,29 +21,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -55,7 +55,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -64,7 +64,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -72,12 +72,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 88a9b4e..28f3870 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -273,29 +273,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -307,7 +307,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -316,7 +316,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -324,12 +324,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter
index 135981d..98b68bf 100644
--- a/examples/tv-app/tv-common/tv-app.matter
+++ b/examples/tv-app/tv-common/tv-app.matter
@@ -195,29 +195,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -229,7 +229,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -238,7 +238,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -246,12 +246,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
index bacb1bb..ea6c92a 100644
--- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
+++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
@@ -560,29 +560,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -594,7 +594,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -603,7 +603,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -611,12 +611,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter
index 810bf0e..578b658 100644
--- a/examples/window-app/common/window-app.matter
+++ b/examples/window-app/common/window-app.matter
@@ -242,29 +242,29 @@
 }
 
 server cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -276,7 +276,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -285,7 +285,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -293,12 +293,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/src/app/clusters/access-control-server/access-control-server.cpp b/src/app/clusters/access-control-server/access-control-server.cpp
index 9ea3002..47b7a61 100644
--- a/src/app/clusters/access-control-server/access-control-server.cpp
+++ b/src/app/clusters/access-control-server/access-control-server.cpp
@@ -82,7 +82,7 @@
     CHIP_ERROR WriteExtension(const ConcreteDataAttributePath & aPath, AttributeValueDecoder & aDecoder);
 } sAttribute;
 
-CHIP_ERROR LogExtensionChangedEvent(const AccessControlCluster::Structs::ExtensionEntry::Type & item,
+CHIP_ERROR LogExtensionChangedEvent(const AccessControlCluster::Structs::AccessControlExtensionStruct::Type & item,
                                     const Access::SubjectDescriptor & subjectDescriptor,
                                     AccessControlCluster::ChangeTypeEnum changeType)
 {
@@ -207,7 +207,7 @@
                 continue;
             }
             ReturnErrorOnFailure(errStorage);
-            AccessControlCluster::Structs::ExtensionEntry::Type item = {
+            AccessControlCluster::Structs::AccessControlExtensionStruct::Type item = {
                 .data        = ByteSpan(buffer, size),
                 .fabricIndex = fabric.GetFabricIndex(),
             };
@@ -306,7 +306,7 @@
 
     if (!aPath.IsListItemOperation())
     {
-        DataModel::DecodableList<AccessControlCluster::Structs::ExtensionEntry::DecodableType> list;
+        DataModel::DecodableList<AccessControlCluster::Structs::AccessControlExtensionStruct::DecodableType> list;
         ReturnErrorOnFailure(aDecoder.Decode(list));
 
         size_t count = 0;
@@ -317,7 +317,7 @@
             ReturnErrorCodeIf(errStorage == CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND, CHIP_NO_ERROR);
             ReturnErrorOnFailure(storage.SyncDeleteKeyValue(
                 DefaultStorageKeyAllocator::AccessControlExtensionEntry(accessingFabricIndex).KeyName()));
-            AccessControlCluster::Structs::ExtensionEntry::Type item = {
+            AccessControlCluster::Structs::AccessControlExtensionStruct::Type item = {
                 .data        = ByteSpan(buffer, size),
                 .fabricIndex = accessingFabricIndex,
             };
@@ -355,7 +355,7 @@
     else if (aPath.mListOp == ConcreteDataAttributePath::ListOperation::AppendItem)
     {
         ReturnErrorCodeIf(errStorage != CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND, CHIP_IM_GLOBAL_STATUS(ConstraintError));
-        AccessControlCluster::Structs::ExtensionEntry::DecodableType item;
+        AccessControlCluster::Structs::AccessControlExtensionStruct::DecodableType item;
         ReturnErrorOnFailure(aDecoder.Decode(item));
         // TODO(#13590): generated code doesn't automatically handle max length so do it manually
         ReturnErrorCodeIf(item.data.size() > kExtensionDataMaxLength, CHIP_IM_GLOBAL_STATUS(ConstraintError));
diff --git a/src/app/server/AclStorage.cpp b/src/app/server/AclStorage.cpp
index 9fdb412..62b90eb 100644
--- a/src/app/server/AclStorage.cpp
+++ b/src/app/server/AclStorage.cpp
@@ -25,8 +25,8 @@
 
 using Entry            = AccessControl::Entry;
 using EntryListener    = AccessControl::EntryListener;
-using StagingAuthMode  = Clusters::AccessControl::AuthMode;
-using StagingPrivilege = Clusters::AccessControl::Privilege;
+using StagingAuthMode  = Clusters::AccessControl::AccessControlEntryAuthModeEnum;
+using StagingPrivilege = Clusters::AccessControl::AccessControlEntryPrivilegeEnum;
 using StagingTarget    = Clusters::AccessControl::Structs::Target::Type;
 using Target           = AccessControl::Entry::Target;
 
diff --git a/src/app/server/AclStorage.h b/src/app/server/AclStorage.h
index 72e9dd4..bb12737 100644
--- a/src/app/server/AclStorage.h
+++ b/src/app/server/AclStorage.h
@@ -53,7 +53,7 @@
     class DecodableEntry
     {
         using Entry        = Access::AccessControl::Entry;
-        using StagingEntry = Clusters::AccessControl::Structs::AccessControlEntry::DecodableType;
+        using StagingEntry = Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType;
 
     public:
         DecodableEntry() = default;
@@ -93,7 +93,7 @@
     class EncodableEntry
     {
         using Entry         = Access::AccessControl::Entry;
-        using StagingEntry  = Clusters::AccessControl::Structs::AccessControlEntry::Type;
+        using StagingEntry  = Clusters::AccessControl::Structs::AccessControlEntryStruct::Type;
         using StagingTarget = Clusters::AccessControl::Structs::Target::Type;
 
     public:
diff --git a/src/app/server/DefaultAclStorage.cpp b/src/app/server/DefaultAclStorage.cpp
index 61a0600..d36aaca 100644
--- a/src/app/server/DefaultAclStorage.cpp
+++ b/src/app/server/DefaultAclStorage.cpp
@@ -26,8 +26,8 @@
 using EncodableEntry   = AclStorage::EncodableEntry;
 using Entry            = AccessControl::Entry;
 using EntryListener    = AccessControl::EntryListener;
-using StagingAuthMode  = Clusters::AccessControl::AuthMode;
-using StagingPrivilege = Clusters::AccessControl::Privilege;
+using StagingAuthMode  = Clusters::AccessControl::AccessControlEntryAuthModeEnum;
+using StagingPrivilege = Clusters::AccessControl::AccessControlEntryPrivilegeEnum;
 using StagingTarget    = Clusters::AccessControl::Structs::Target::Type;
 using Target           = AccessControl::Entry::Target;
 
diff --git a/src/app/tests/TestAttributeValueDecoder.cpp b/src/app/tests/TestAttributeValueDecoder.cpp
index 04f65d0..0f01d50 100644
--- a/src/app/tests/TestAttributeValueDecoder.cpp
+++ b/src/app/tests/TestAttributeValueDecoder.cpp
@@ -66,8 +66,8 @@
 {
     TestSetup setup;
     CHIP_ERROR err;
-    Clusters::AccessControl::Structs::ExtensionEntry::Type item;
-    Clusters::AccessControl::Structs::ExtensionEntry::DecodableType decodeItem;
+    Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type item;
+    Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType decodeItem;
     Access::SubjectDescriptor subjectDescriptor = { .fabricIndex = kTestFabricIndex };
 
     item.fabricIndex = 0;
@@ -99,7 +99,7 @@
 {
     TestSetup setup;
     CHIP_ERROR err;
-    Clusters::AccessControl::Structs::ExtensionEntry::Type items[kTestListElements];
+    Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type items[kTestListElements];
     Clusters::AccessControl::Attributes::Extension::TypeInfo::DecodableType decodeItems;
     Access::SubjectDescriptor subjectDescriptor = { .fabricIndex = kTestFabricIndex };
 
@@ -108,7 +108,7 @@
         items[i].fabricIndex = i;
     }
 
-    err = setup.Encode(DataModel::List<Clusters::AccessControl::Structs::ExtensionEntry::Type>(items));
+    err = setup.Encode(DataModel::List<Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(items));
     NL_TEST_ASSERT(aSuite, err == CHIP_NO_ERROR);
 
     TLV::TLVReader reader;
diff --git a/src/app/tests/TestAttributeValueEncoder.cpp b/src/app/tests/TestAttributeValueEncoder.cpp
index a75c692..8c04492 100644
--- a/src/app/tests/TestAttributeValueEncoder.cpp
+++ b/src/app/tests/TestAttributeValueEncoder.cpp
@@ -254,7 +254,7 @@
 void TestEncodeFabricScoped(nlTestSuite * aSuite, void * aContext)
 {
     TestSetup test(aSuite, kTestFabricIndex);
-    Clusters::AccessControl::Structs::ExtensionEntry::Type items[3];
+    Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type items[3];
     items[0].fabricIndex = 1;
     items[1].fabricIndex = 2;
     items[2].fabricIndex = 3;
diff --git a/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml
index e85f6c2..5d3c70d 100644
--- a/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml
@@ -17,16 +17,16 @@
 <configurator>
   <domain name="CHIP"/>
 
-  <enum name="Privilege" type="ENUM8">
+  <enum name="AccessControlEntryPrivilegeEnum" type="ENUM8">
     <cluster code="0x001F"/>
     <item name="View" value="0x01"/>
-    <item name="ProxyView" value="0x02"/>
+    <item name="Proxy View" value="0x02"/>
     <item name="Operate" value="0x03"/>
     <item name="Manage" value="0x04"/>
     <item name="Administer" value="0x05"/>
   </enum>
 
-  <enum name="AuthMode" type="ENUM8">
+  <enum name="AccessControlEntryAuthModeEnum" type="ENUM8">
     <cluster code="0x001F"/>
     <item name="PASE" value="0x01"/>
     <item name="CASE" value="0x02"/>
@@ -47,15 +47,15 @@
     <item fieldId="2" name="DeviceType" type="devtype_id" isNullable="true"/>
   </struct>
 
-  <struct name="AccessControlEntry" isFabricScoped="true">
+  <struct name="AccessControlEntryStruct" isFabricScoped="true">
     <cluster code="0x001F"/>
-    <item fieldId="1" name="Privilege" type="Privilege" isFabricSensitive="true"/>
-    <item fieldId="2" name="AuthMode" type="AuthMode" isFabricSensitive="true"/>
+    <item fieldId="1" name="Privilege" type="AccessControlEntryPrivilegeEnum" isFabricSensitive="true"/>
+    <item fieldId="2" name="AuthMode" type="AccessControlEntryAuthModeEnum" isFabricSensitive="true"/>
     <item fieldId="3" name="Subjects" type="INT64U" isNullable="true" array="true" isFabricSensitive="true"/>
     <item fieldId="4" name="Targets" type="Target" isNullable="true" array="true" isFabricSensitive="true"/>
   </struct>
 
-  <struct name="ExtensionEntry" isFabricScoped="true">
+  <struct name="AccessControlExtensionStruct" isFabricScoped="true">
     <cluster code="0x001F"/>
     <item fieldId="1" name="Data" type="OCTET_STRING" length="128" isFabricSensitive="true"/>
   </struct>
@@ -72,14 +72,14 @@
       and enforce Access Control for the Node's endpoints and their associated
       cluster instances.</description>
 
-    <attribute side="server" code="0x0000" define="ACL" type="ARRAY" entryType="AccessControlEntry" writable="true">
+    <attribute side="server" code="0x0000" define="ACL" type="ARRAY" entryType="AccessControlEntryStruct" writable="true">
       <description>ACL</description>
       <access op="read" privilege="administer"/>
       <access op="write" privilege="administer"/>
       <access modifier="fabric-scoped"/>
     </attribute>
 
-    <attribute side="server" code="0x0001" define="EXTENSION" type="ARRAY" entryType="ExtensionEntry" writable="true" optional="true">
+    <attribute side="server" code="0x0001" define="EXTENSION" type="ARRAY" entryType="AccessControlExtensionStruct" writable="true" optional="true">
       <description>Extension</description>
       <access op="read" privilege="administer"/>
       <access op="write" privilege="administer"/>
@@ -106,7 +106,7 @@
       <field id="1" name="AdminNodeID" type="node_id" isNullable="true"/>
       <field id="2" name="AdminPasscodeID" type="INT16U" isNullable="true"/>
       <field id="3" name="ChangeType" type="ChangeTypeEnum"/>
-      <field id="4" name="LatestValue" type="AccessControlEntry" isNullable="true"/>
+      <field id="4" name="LatestValue" type="AccessControlEntryStruct" isNullable="true"/>
       <access op="read" privilege="administer"/>
     </event>
     <event side="server" code="0x0001" name="AccessControlExtensionChanged" priority="info" isFabricSensitive="true" optional="false">
@@ -114,7 +114,7 @@
       <field id="1" name="AdminNodeID" type="node_id" isNullable="true"/>
       <field id="2" name="AdminPasscodeID" type="INT16U" isNullable="true"/>
       <field id="3" name="ChangeType" type="ChangeTypeEnum"/>
-      <field id="4" name="LatestValue" type="ExtensionEntry" isNullable="true"/>
+      <field id="4" name="LatestValue" type="AccessControlExtensionStruct" isNullable="true"/>
       <access op="read" privilege="administer"/>
     </event>
   </cluster>
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index a2923b8..d3ce743 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -450,29 +450,29 @@
 }
 
 client cluster AccessControl = 31 {
-  enum AuthMode : ENUM8 {
+  enum AccessControlEntryAuthModeEnum : ENUM8 {
     kPase = 1;
     kCase = 2;
     kGroup = 3;
   }
 
+  enum AccessControlEntryPrivilegeEnum : ENUM8 {
+    kView = 1;
+    kProxyView = 2;
+    kOperate = 3;
+    kManage = 4;
+    kAdminister = 5;
+  }
+
   enum ChangeTypeEnum : ENUM8 {
     kChanged = 0;
     kAdded = 1;
     kRemoved = 2;
   }
 
-  enum Privilege : ENUM8 {
-    kView = 1;
-    kProxyView = 2;
-    kOperate = 3;
-    kManage = 4;
-    kAdminister = 5;
-  }
-
-  fabric_scoped struct AccessControlEntry {
-    fabric_sensitive Privilege privilege = 1;
-    fabric_sensitive AuthMode authMode = 2;
+  fabric_scoped struct AccessControlEntryStruct {
+    fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1;
+    fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2;
     nullable fabric_sensitive int64u subjects[] = 3;
     nullable fabric_sensitive Target targets[] = 4;
     fabric_idx fabricIndex = 254;
@@ -484,7 +484,7 @@
     nullable devtype_id deviceType = 2;
   }
 
-  fabric_scoped struct ExtensionEntry {
+  fabric_scoped struct AccessControlExtensionStruct {
     fabric_sensitive octet_string<128> data = 1;
     fabric_idx fabricIndex = 254;
   }
@@ -493,7 +493,7 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable AccessControlEntry latestValue = 4;
+    nullable AccessControlEntryStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
@@ -501,12 +501,12 @@
     nullable node_id adminNodeID = 1;
     nullable INT16U adminPasscodeID = 2;
     ChangeTypeEnum changeType = 3;
-    nullable ExtensionEntry latestValue = 4;
+    nullable AccessControlExtensionStruct latestValue = 4;
     fabric_idx fabricIndex = 254;
   }
 
-  attribute access(read: administer, write: administer) AccessControlEntry acl[] = 0;
-  attribute access(read: administer, write: administer) ExtensionEntry extension[] = 1;
+  attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0;
+  attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1;
   readonly attribute int16u subjectsPerAccessControlEntry = 2;
   readonly attribute int16u targetsPerAccessControlEntry = 3;
   readonly attribute int16u accessControlEntriesPerFabric = 4;
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 9251b1a..8049945 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -1941,27 +1941,27 @@
                                                                               newElement_0_fabricIndexCtorSignature.c_str(),
                                                                               entry_0.fabricIndex, newElement_0_fabricIndex);
 
-                jclass accessControlEntryStructClass_1;
+                jclass accessControlEntryStructStructClass_1;
                 err = chip::JniReferences::GetInstance().GetClassRef(
-                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntry",
-                    accessControlEntryStructClass_1);
+                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntryStruct",
+                    accessControlEntryStructStructClass_1);
                 if (err != CHIP_NO_ERROR)
                 {
-                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntry");
+                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntryStruct");
                     return nullptr;
                 }
-                jmethodID accessControlEntryStructCtor_1 = env->GetMethodID(
-                    accessControlEntryStructClass_1, "<init>",
+                jmethodID accessControlEntryStructStructCtor_1 = env->GetMethodID(
+                    accessControlEntryStructStructClass_1, "<init>",
                     "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/Integer;)V");
-                if (accessControlEntryStructCtor_1 == nullptr)
+                if (accessControlEntryStructStructCtor_1 == nullptr)
                 {
-                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntry constructor");
+                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntryStruct constructor");
                     return nullptr;
                 }
 
-                newElement_0 =
-                    env->NewObject(accessControlEntryStructClass_1, accessControlEntryStructCtor_1, newElement_0_privilege,
-                                   newElement_0_authMode, newElement_0_subjects, newElement_0_targets, newElement_0_fabricIndex);
+                newElement_0 = env->NewObject(accessControlEntryStructStructClass_1, accessControlEntryStructStructCtor_1,
+                                              newElement_0_privilege, newElement_0_authMode, newElement_0_subjects,
+                                              newElement_0_targets, newElement_0_fabricIndex);
                 chip::JniReferences::GetInstance().AddToList(value, newElement_0);
             }
             return value;
@@ -1994,24 +1994,25 @@
                                                                               newElement_0_fabricIndexCtorSignature.c_str(),
                                                                               entry_0.fabricIndex, newElement_0_fabricIndex);
 
-                jclass extensionEntryStructClass_1;
+                jclass accessControlExtensionStructStructClass_1;
                 err = chip::JniReferences::GetInstance().GetClassRef(
-                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterExtensionEntry", extensionEntryStructClass_1);
+                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlExtensionStruct",
+                    accessControlExtensionStructStructClass_1);
                 if (err != CHIP_NO_ERROR)
                 {
-                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterExtensionEntry");
+                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlExtensionStruct");
                     return nullptr;
                 }
-                jmethodID extensionEntryStructCtor_1 =
-                    env->GetMethodID(extensionEntryStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
-                if (extensionEntryStructCtor_1 == nullptr)
+                jmethodID accessControlExtensionStructStructCtor_1 =
+                    env->GetMethodID(accessControlExtensionStructStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
+                if (accessControlExtensionStructStructCtor_1 == nullptr)
                 {
-                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterExtensionEntry constructor");
+                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlExtensionStruct constructor");
                     return nullptr;
                 }
 
-                newElement_0 = env->NewObject(extensionEntryStructClass_1, extensionEntryStructCtor_1, newElement_0_data,
-                                              newElement_0_fabricIndex);
+                newElement_0 = env->NewObject(accessControlExtensionStructStructClass_1, accessControlExtensionStructStructCtor_1,
+                                              newElement_0_data, newElement_0_fabricIndex);
                 chip::JniReferences::GetInstance().AddToList(value, newElement_0);
             }
             return value;
diff --git a/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp
index 3b71620..d8b949d 100644
--- a/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPEventTLVValueDecoder.cpp
@@ -295,28 +295,28 @@
                     value_latestValue_fabricIndexClassName.c_str(), value_latestValue_fabricIndexCtorSignature.c_str(),
                     cppValue.latestValue.Value().fabricIndex, value_latestValue_fabricIndex);
 
-                jclass accessControlEntryStructClass_1;
+                jclass accessControlEntryStructStructClass_1;
                 err = chip::JniReferences::GetInstance().GetClassRef(
-                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntry",
-                    accessControlEntryStructClass_1);
+                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntryStruct",
+                    accessControlEntryStructStructClass_1);
                 if (err != CHIP_NO_ERROR)
                 {
-                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntry");
+                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntryStruct");
                     return nullptr;
                 }
-                jmethodID accessControlEntryStructCtor_1 = env->GetMethodID(
-                    accessControlEntryStructClass_1, "<init>",
+                jmethodID accessControlEntryStructStructCtor_1 = env->GetMethodID(
+                    accessControlEntryStructStructClass_1, "<init>",
                     "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/Integer;)V");
-                if (accessControlEntryStructCtor_1 == nullptr)
+                if (accessControlEntryStructStructCtor_1 == nullptr)
                 {
-                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntry constructor");
+                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntryStruct constructor");
                     return nullptr;
                 }
 
                 value_latestValue =
-                    env->NewObject(accessControlEntryStructClass_1, accessControlEntryStructCtor_1, value_latestValue_privilege,
-                                   value_latestValue_authMode, value_latestValue_subjects, value_latestValue_targets,
-                                   value_latestValue_fabricIndex);
+                    env->NewObject(accessControlEntryStructStructClass_1, accessControlEntryStructStructCtor_1,
+                                   value_latestValue_privilege, value_latestValue_authMode, value_latestValue_subjects,
+                                   value_latestValue_targets, value_latestValue_fabricIndex);
             }
 
             jobject value_fabricIndex;
@@ -338,7 +338,7 @@
             jmethodID accessControlEntryChangedStructCtor =
                 env->GetMethodID(accessControlEntryChangedStructClass, "<init>",
                                  "(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Lchip/devicecontroller/"
-                                 "ChipStructs$AccessControlClusterAccessControlEntry;Ljava/lang/Integer;)V");
+                                 "ChipStructs$AccessControlClusterAccessControlEntryStruct;Ljava/lang/Integer;)V");
             if (accessControlEntryChangedStructCtor == nullptr)
             {
                 ChipLogError(Zcl, "Could not find ChipEventStructs$AccessControlClusterAccessControlEntryChangedEvent constructor");
@@ -414,24 +414,26 @@
                     value_latestValue_fabricIndexClassName.c_str(), value_latestValue_fabricIndexCtorSignature.c_str(),
                     cppValue.latestValue.Value().fabricIndex, value_latestValue_fabricIndex);
 
-                jclass extensionEntryStructClass_1;
+                jclass accessControlExtensionStructStructClass_1;
                 err = chip::JniReferences::GetInstance().GetClassRef(
-                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterExtensionEntry", extensionEntryStructClass_1);
+                    env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlExtensionStruct",
+                    accessControlExtensionStructStructClass_1);
                 if (err != CHIP_NO_ERROR)
                 {
-                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterExtensionEntry");
+                    ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlExtensionStruct");
                     return nullptr;
                 }
-                jmethodID extensionEntryStructCtor_1 =
-                    env->GetMethodID(extensionEntryStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
-                if (extensionEntryStructCtor_1 == nullptr)
+                jmethodID accessControlExtensionStructStructCtor_1 =
+                    env->GetMethodID(accessControlExtensionStructStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
+                if (accessControlExtensionStructStructCtor_1 == nullptr)
                 {
-                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterExtensionEntry constructor");
+                    ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlExtensionStruct constructor");
                     return nullptr;
                 }
 
-                value_latestValue = env->NewObject(extensionEntryStructClass_1, extensionEntryStructCtor_1, value_latestValue_data,
-                                                   value_latestValue_fabricIndex);
+                value_latestValue =
+                    env->NewObject(accessControlExtensionStructStructClass_1, accessControlExtensionStructStructCtor_1,
+                                   value_latestValue_data, value_latestValue_fabricIndex);
             }
 
             jobject value_fabricIndex;
@@ -453,7 +455,7 @@
             jmethodID accessControlExtensionChangedStructCtor =
                 env->GetMethodID(accessControlExtensionChangedStructClass, "<init>",
                                  "(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Lchip/devicecontroller/"
-                                 "ChipStructs$AccessControlClusterExtensionEntry;Ljava/lang/Integer;)V");
+                                 "ChipStructs$AccessControlClusterAccessControlExtensionStruct;Ljava/lang/Integer;)V");
             if (accessControlExtensionChangedStructCtor == nullptr)
             {
                 ChipLogError(Zcl,
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
index bb69766..ff4b34a 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
@@ -3584,8 +3584,8 @@
 
 void CHIPAccessControlAclAttributeCallback::CallbackFn(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        list)
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & list)
 {
     chip::DeviceLayer::StackUnlock unlock;
     CHIP_ERROR err = CHIP_NO_ERROR;
@@ -3729,25 +3729,27 @@
                                                                       newElement_0_fabricIndexCtorSignature.c_str(),
                                                                       entry_0.fabricIndex, newElement_0_fabricIndex);
 
-        jclass accessControlEntryStructClass_1;
+        jclass accessControlEntryStructStructClass_1;
         err = chip::JniReferences::GetInstance().GetClassRef(
-            env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntry", accessControlEntryStructClass_1);
+            env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntryStruct",
+            accessControlEntryStructStructClass_1);
         if (err != CHIP_NO_ERROR)
         {
-            ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntry");
+            ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntryStruct");
             return;
         }
-        jmethodID accessControlEntryStructCtor_1 = env->GetMethodID(
-            accessControlEntryStructClass_1, "<init>",
+        jmethodID accessControlEntryStructStructCtor_1 = env->GetMethodID(
+            accessControlEntryStructStructClass_1, "<init>",
             "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/Integer;)V");
-        if (accessControlEntryStructCtor_1 == nullptr)
+        if (accessControlEntryStructStructCtor_1 == nullptr)
         {
-            ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntry constructor");
+            ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntryStruct constructor");
             return;
         }
 
-        newElement_0 = env->NewObject(accessControlEntryStructClass_1, accessControlEntryStructCtor_1, newElement_0_privilege,
-                                      newElement_0_authMode, newElement_0_subjects, newElement_0_targets, newElement_0_fabricIndex);
+        newElement_0 =
+            env->NewObject(accessControlEntryStructStructClass_1, accessControlEntryStructStructCtor_1, newElement_0_privilege,
+                           newElement_0_authMode, newElement_0_subjects, newElement_0_targets, newElement_0_fabricIndex);
         chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
     }
 
@@ -3785,7 +3787,8 @@
 
 void CHIPAccessControlExtensionAttributeCallback::CallbackFn(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & list)
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & list)
 {
     chip::DeviceLayer::StackUnlock unlock;
     CHIP_ERROR err = CHIP_NO_ERROR;
@@ -3826,23 +3829,25 @@
                                                                       newElement_0_fabricIndexCtorSignature.c_str(),
                                                                       entry_0.fabricIndex, newElement_0_fabricIndex);
 
-        jclass extensionEntryStructClass_1;
+        jclass accessControlExtensionStructStructClass_1;
         err = chip::JniReferences::GetInstance().GetClassRef(
-            env, "chip/devicecontroller/ChipStructs$AccessControlClusterExtensionEntry", extensionEntryStructClass_1);
+            env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlExtensionStruct",
+            accessControlExtensionStructStructClass_1);
         if (err != CHIP_NO_ERROR)
         {
-            ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterExtensionEntry");
+            ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlExtensionStruct");
             return;
         }
-        jmethodID extensionEntryStructCtor_1 = env->GetMethodID(extensionEntryStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
-        if (extensionEntryStructCtor_1 == nullptr)
+        jmethodID accessControlExtensionStructStructCtor_1 =
+            env->GetMethodID(accessControlExtensionStructStructClass_1, "<init>", "([BLjava/lang/Integer;)V");
+        if (accessControlExtensionStructStructCtor_1 == nullptr)
         {
-            ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterExtensionEntry constructor");
+            ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlExtensionStruct constructor");
             return;
         }
 
-        newElement_0 =
-            env->NewObject(extensionEntryStructClass_1, extensionEntryStructCtor_1, newElement_0_data, newElement_0_fabricIndex);
+        newElement_0 = env->NewObject(accessControlExtensionStructStructClass_1, accessControlExtensionStructStructCtor_1,
+                                      newElement_0_data, newElement_0_fabricIndex);
         chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
     }
 
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.h b/src/controller/java/zap-generated/CHIPReadCallbacks.h
index 202396b..7101e2a 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.h
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.h
@@ -1607,10 +1607,9 @@
         }
     }
 
-    static void CallbackFn(
-        void * context,
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-            list);
+    static void CallbackFn(void * context,
+                           const chip::app::DataModel::DecodableList<
+                               chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & list);
     static void OnSubscriptionEstablished(void * context)
     {
         CHIP_ERROR err = chip::JniReferences::GetInstance().CallSubscriptionEstablished(
@@ -1640,10 +1639,9 @@
         }
     }
 
-    static void CallbackFn(
-        void * context,
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> &
-            list);
+    static void CallbackFn(void * context,
+                           const chip::app::DataModel::DecodableList<
+                               chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & list);
     static void OnSubscriptionEstablished(void * context)
     {
         CHIP_ERROR err = chip::JniReferences::GetInstance().CallSubscriptionEstablished(
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
index ce0271a..caf4896 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
@@ -2874,7 +2874,7 @@
     public native long initWithDevice(long devicePtr, int endpointId);
 
     public interface AclAttributeCallback {
-      void onSuccess(List<ChipStructs.AccessControlClusterAccessControlEntry> valueList);
+      void onSuccess(List<ChipStructs.AccessControlClusterAccessControlEntryStruct> valueList);
 
       void onError(Exception ex);
 
@@ -2882,7 +2882,7 @@
     }
 
     public interface ExtensionAttributeCallback {
-      void onSuccess(List<ChipStructs.AccessControlClusterExtensionEntry> valueList);
+      void onSuccess(List<ChipStructs.AccessControlClusterAccessControlExtensionStruct> valueList);
 
       void onError(Exception ex);
 
@@ -2919,13 +2919,13 @@
 
     public void writeAclAttribute(
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterAccessControlEntry> value) {
+        ArrayList<ChipStructs.AccessControlClusterAccessControlEntryStruct> value) {
       writeAclAttribute(chipClusterPtr, callback, value, null);
     }
 
     public void writeAclAttribute(
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterAccessControlEntry> value,
+        ArrayList<ChipStructs.AccessControlClusterAccessControlEntryStruct> value,
         int timedWriteTimeoutMs) {
       writeAclAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs);
     }
@@ -2941,13 +2941,13 @@
 
     public void writeExtensionAttribute(
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterExtensionEntry> value) {
+        ArrayList<ChipStructs.AccessControlClusterAccessControlExtensionStruct> value) {
       writeExtensionAttribute(chipClusterPtr, callback, value, null);
     }
 
     public void writeExtensionAttribute(
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterExtensionEntry> value,
+        ArrayList<ChipStructs.AccessControlClusterAccessControlExtensionStruct> value,
         int timedWriteTimeoutMs) {
       writeExtensionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs);
     }
@@ -3037,7 +3037,7 @@
     private native void writeAclAttribute(
         long chipClusterPtr,
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterAccessControlEntry> value,
+        ArrayList<ChipStructs.AccessControlClusterAccessControlEntryStruct> value,
         @Nullable Integer timedWriteTimeoutMs);
 
     private native void subscribeAclAttribute(
@@ -3049,7 +3049,7 @@
     private native void writeExtensionAttribute(
         long chipClusterPtr,
         DefaultClusterCallback callback,
-        ArrayList<ChipStructs.AccessControlClusterExtensionEntry> value,
+        ArrayList<ChipStructs.AccessControlClusterAccessControlExtensionStruct> value,
         @Nullable Integer timedWriteTimeoutMs);
 
     private native void subscribeExtensionAttribute(
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipEventStructs.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipEventStructs.java
index e9c60d7..fe77f36 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipEventStructs.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipEventStructs.java
@@ -28,14 +28,14 @@
     public @Nullable Long adminNodeID;
     public @Nullable Integer adminPasscodeID;
     public Integer changeType;
-    public @Nullable ChipStructs.AccessControlClusterAccessControlEntry latestValue;
+    public @Nullable ChipStructs.AccessControlClusterAccessControlEntryStruct latestValue;
     public Integer fabricIndex;
 
     public AccessControlClusterAccessControlEntryChangedEvent(
         @Nullable Long adminNodeID,
         @Nullable Integer adminPasscodeID,
         Integer changeType,
-        @Nullable ChipStructs.AccessControlClusterAccessControlEntry latestValue,
+        @Nullable ChipStructs.AccessControlClusterAccessControlEntryStruct latestValue,
         Integer fabricIndex) {
       this.adminNodeID = adminNodeID;
       this.adminPasscodeID = adminPasscodeID;
@@ -72,14 +72,14 @@
     public @Nullable Long adminNodeID;
     public @Nullable Integer adminPasscodeID;
     public Integer changeType;
-    public @Nullable ChipStructs.AccessControlClusterExtensionEntry latestValue;
+    public @Nullable ChipStructs.AccessControlClusterAccessControlExtensionStruct latestValue;
     public Integer fabricIndex;
 
     public AccessControlClusterAccessControlExtensionChangedEvent(
         @Nullable Long adminNodeID,
         @Nullable Integer adminPasscodeID,
         Integer changeType,
-        @Nullable ChipStructs.AccessControlClusterExtensionEntry latestValue,
+        @Nullable ChipStructs.AccessControlClusterAccessControlExtensionStruct latestValue,
         Integer fabricIndex) {
       this.adminNodeID = adminNodeID;
       this.adminPasscodeID = adminPasscodeID;
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
index fe28aff..e7ef691 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
@@ -172,14 +172,14 @@
     }
   }
 
-  public static class AccessControlClusterAccessControlEntry {
+  public static class AccessControlClusterAccessControlEntryStruct {
     public Integer privilege;
     public Integer authMode;
     public @Nullable ArrayList<Object> subjects;
     public @Nullable ArrayList<ChipStructs.AccessControlClusterTarget> targets;
     public Integer fabricIndex;
 
-    public AccessControlClusterAccessControlEntry(
+    public AccessControlClusterAccessControlEntryStruct(
         Integer privilege,
         Integer authMode,
         @Nullable ArrayList<Object> subjects,
@@ -195,7 +195,7 @@
     @Override
     public String toString() {
       StringBuilder output = new StringBuilder();
-      output.append("AccessControlClusterAccessControlEntry {\n");
+      output.append("AccessControlClusterAccessControlEntryStruct {\n");
       output.append("\tprivilege: ");
       output.append(privilege);
       output.append("\n");
@@ -216,11 +216,11 @@
     }
   }
 
-  public static class AccessControlClusterExtensionEntry {
+  public static class AccessControlClusterAccessControlExtensionStruct {
     public byte[] data;
     public Integer fabricIndex;
 
-    public AccessControlClusterExtensionEntry(byte[] data, Integer fabricIndex) {
+    public AccessControlClusterAccessControlExtensionStruct(byte[] data, Integer fabricIndex) {
       this.data = data;
       this.fabricIndex = fabricIndex;
     }
@@ -228,7 +228,7 @@
     @Override
     public String toString() {
       StringBuilder output = new StringBuilder();
-      output.append("AccessControlClusterExtensionEntry {\n");
+      output.append("AccessControlClusterAccessControlExtensionStruct {\n");
       output.append("\tdata: ");
       output.append(Arrays.toString(data));
       output.append("\n");
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
index c0c8f46..19c2f02 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
@@ -1288,11 +1288,12 @@
     }
 
     @Override
-    public void onSuccess(List<ChipStructs.AccessControlClusterAccessControlEntry> valueList) {
+    public void onSuccess(
+        List<ChipStructs.AccessControlClusterAccessControlEntryStruct> valueList) {
       Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
       CommandResponseInfo commandResponseInfo =
           new CommandResponseInfo(
-              "valueList", "List<ChipStructs.AccessControlClusterAccessControlEntry>");
+              "valueList", "List<ChipStructs.AccessControlClusterAccessControlEntryStruct>");
       responseValues.put(commandResponseInfo, valueList);
       callback.onSuccess(responseValues);
     }
@@ -1314,11 +1315,12 @@
     }
 
     @Override
-    public void onSuccess(List<ChipStructs.AccessControlClusterExtensionEntry> valueList) {
+    public void onSuccess(
+        List<ChipStructs.AccessControlClusterAccessControlExtensionStruct> valueList) {
       Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
       CommandResponseInfo commandResponseInfo =
           new CommandResponseInfo(
-              "valueList", "List<ChipStructs.AccessControlClusterExtensionEntry>");
+              "valueList", "List<ChipStructs.AccessControlClusterAccessControlExtensionStruct>");
       responseValues.put(commandResponseInfo, valueList);
       callback.onSuccess(responseValues);
     }
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 374ebc9..a72378c 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -2894,8 +2894,8 @@
     def descriptor(cls) -> ClusterObjectDescriptor:
         return ClusterObjectDescriptor(
             Fields = [
-                ClusterObjectFieldDescriptor(Label="acl", Tag=0x00000000, Type=typing.List[AccessControl.Structs.AccessControlEntry]),
-                ClusterObjectFieldDescriptor(Label="extension", Tag=0x00000001, Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]),
+                ClusterObjectFieldDescriptor(Label="acl", Tag=0x00000000, Type=typing.List[AccessControl.Structs.AccessControlEntryStruct]),
+                ClusterObjectFieldDescriptor(Label="extension", Tag=0x00000001, Type=typing.Optional[typing.List[AccessControl.Structs.AccessControlExtensionStruct]]),
                 ClusterObjectFieldDescriptor(Label="subjectsPerAccessControlEntry", Tag=0x00000002, Type=uint),
                 ClusterObjectFieldDescriptor(Label="targetsPerAccessControlEntry", Tag=0x00000003, Type=uint),
                 ClusterObjectFieldDescriptor(Label="accessControlEntriesPerFabric", Tag=0x00000004, Type=uint),
@@ -2906,8 +2906,8 @@
                 ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint),
             ])
 
-    acl: 'typing.List[AccessControl.Structs.AccessControlEntry]' = None
-    extension: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None
+    acl: 'typing.List[AccessControl.Structs.AccessControlEntryStruct]' = None
+    extension: 'typing.Optional[typing.List[AccessControl.Structs.AccessControlExtensionStruct]]' = None
     subjectsPerAccessControlEntry: 'uint' = None
     targetsPerAccessControlEntry: 'uint' = None
     accessControlEntriesPerFabric: 'uint' = None
@@ -2918,23 +2918,23 @@
     clusterRevision: 'uint' = None
 
     class Enums:
-        class AuthMode(IntEnum):
+        class AccessControlEntryAuthModeEnum(IntEnum):
             kPase = 0x01
             kCase = 0x02
             kGroup = 0x03
 
-        class ChangeTypeEnum(IntEnum):
-            kChanged = 0x00
-            kAdded = 0x01
-            kRemoved = 0x02
-
-        class Privilege(IntEnum):
+        class AccessControlEntryPrivilegeEnum(IntEnum):
             kView = 0x01
             kProxyView = 0x02
             kOperate = 0x03
             kManage = 0x04
             kAdminister = 0x05
 
+        class ChangeTypeEnum(IntEnum):
+            kChanged = 0x00
+            kAdded = 0x01
+            kRemoved = 0x02
+
 
     class Structs:
         @dataclass
@@ -2953,26 +2953,26 @@
             deviceType: 'typing.Union[Nullable, uint]' = NullValue
 
         @dataclass
-        class AccessControlEntry(ClusterObject):
+        class AccessControlEntryStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
                     Fields = [
-                            ClusterObjectFieldDescriptor(Label="privilege", Tag=1, Type=AccessControl.Enums.Privilege),
-                            ClusterObjectFieldDescriptor(Label="authMode", Tag=2, Type=AccessControl.Enums.AuthMode),
+                            ClusterObjectFieldDescriptor(Label="privilege", Tag=1, Type=AccessControl.Enums.AccessControlEntryPrivilegeEnum),
+                            ClusterObjectFieldDescriptor(Label="authMode", Tag=2, Type=AccessControl.Enums.AccessControlEntryAuthModeEnum),
                             ClusterObjectFieldDescriptor(Label="subjects", Tag=3, Type=typing.Union[Nullable, typing.List[uint]]),
                             ClusterObjectFieldDescriptor(Label="targets", Tag=4, Type=typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]),
                             ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint),
                     ])
 
-            privilege: 'AccessControl.Enums.Privilege' = 0
-            authMode: 'AccessControl.Enums.AuthMode' = 0
+            privilege: 'AccessControl.Enums.AccessControlEntryPrivilegeEnum' = 0
+            authMode: 'AccessControl.Enums.AccessControlEntryAuthModeEnum' = 0
             subjects: 'typing.Union[Nullable, typing.List[uint]]' = NullValue
             targets: 'typing.Union[Nullable, typing.List[AccessControl.Structs.Target]]' = NullValue
             fabricIndex: 'uint' = 0
 
         @dataclass
-        class ExtensionEntry(ClusterObject):
+        class AccessControlExtensionStruct(ClusterObject):
             @ChipUtility.classproperty
             def descriptor(cls) -> ClusterObjectDescriptor:
                 return ClusterObjectDescriptor(
@@ -3000,9 +3000,9 @@
 
             @ChipUtility.classproperty
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
-                return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.AccessControlEntry])
+                return ClusterObjectFieldDescriptor(Type=typing.List[AccessControl.Structs.AccessControlEntryStruct])
 
-            value: 'typing.List[AccessControl.Structs.AccessControlEntry]' = field(default_factory=lambda: [])
+            value: 'typing.List[AccessControl.Structs.AccessControlEntryStruct]' = field(default_factory=lambda: [])
 
         @dataclass
         class Extension(ClusterAttributeDescriptor):
@@ -3016,9 +3016,9 @@
 
             @ChipUtility.classproperty
             def attribute_type(cls) -> ClusterObjectFieldDescriptor:
-                return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]])
+                return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[AccessControl.Structs.AccessControlExtensionStruct]])
 
-            value: 'typing.Optional[typing.List[AccessControl.Structs.ExtensionEntry]]' = None
+            value: 'typing.Optional[typing.List[AccessControl.Structs.AccessControlExtensionStruct]]' = None
 
         @dataclass
         class SubjectsPerAccessControlEntry(ClusterAttributeDescriptor):
@@ -3167,14 +3167,14 @@
                             ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]),
                             ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]),
                             ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum),
-                            ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]),
+                            ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.AccessControlEntryStruct]),
                             ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint),
                     ])
 
             adminNodeID: 'typing.Union[Nullable, uint]' = NullValue
             adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue
             changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0
-            latestValue: 'typing.Union[Nullable, AccessControl.Structs.AccessControlEntry]' = NullValue
+            latestValue: 'typing.Union[Nullable, AccessControl.Structs.AccessControlEntryStruct]' = NullValue
             fabricIndex: 'uint' = 0
 
         @dataclass
@@ -3194,14 +3194,14 @@
                             ClusterObjectFieldDescriptor(Label="adminNodeID", Tag=1, Type=typing.Union[Nullable, uint]),
                             ClusterObjectFieldDescriptor(Label="adminPasscodeID", Tag=2, Type=typing.Union[Nullable, uint]),
                             ClusterObjectFieldDescriptor(Label="changeType", Tag=3, Type=AccessControl.Enums.ChangeTypeEnum),
-                            ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]),
+                            ClusterObjectFieldDescriptor(Label="latestValue", Tag=4, Type=typing.Union[Nullable, AccessControl.Structs.AccessControlExtensionStruct]),
                             ClusterObjectFieldDescriptor(Label="fabricIndex", Tag=254, Type=uint),
                     ])
 
             adminNodeID: 'typing.Union[Nullable, uint]' = NullValue
             adminPasscodeID: 'typing.Union[Nullable, uint]' = NullValue
             changeType: 'AccessControl.Enums.ChangeTypeEnum' = 0
-            latestValue: 'typing.Union[Nullable, AccessControl.Structs.ExtensionEntry]' = NullValue
+            latestValue: 'typing.Union[Nullable, AccessControl.Structs.AccessControlExtensionStruct]' = NullValue
             fabricIndex: 'uint' = 0
 
 
diff --git a/src/controller/python/chip/utils/CommissioningBuildingBlocks.py b/src/controller/python/chip/utils/CommissioningBuildingBlocks.py
index 20dbcd6..d68b32b 100644
--- a/src/controller/python/chip/utils/CommissioningBuildingBlocks.py
+++ b/src/controller/python/chip/utils/CommissioningBuildingBlocks.py
@@ -43,7 +43,7 @@
     return False
 
 
-async def GrantPrivilege(adminCtrl: ChipDeviceController, grantedCtrl: ChipDeviceController, privilege: Clusters.AccessControl.Enums.Privilege, targetNodeId: int, targetCatTags: typing.List[int] = []):
+async def GrantPrivilege(adminCtrl: ChipDeviceController, grantedCtrl: ChipDeviceController, privilege: Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum, targetNodeId: int, targetCatTags: typing.List[int] = []):
     ''' Given an existing controller with admin privileges over a target node, grants the specified privilege to the new ChipDeviceController instance to the entire Node. This is achieved
         by updating the ACL entries on the target.
 
@@ -96,8 +96,8 @@
                 raise ValueError(
                     f"Cannot add another ACL entry to grant privilege to existing count of {currentAcls} ACLs -- will exceed minimas!")
 
-            currentAcls.append(Clusters.AccessControl.Structs.AccessControlEntry(privilege=privilege, authMode=Clusters.AccessControl.Enums.AuthMode.kCase,
-                                                                                 subjects=targetSubjects))
+            currentAcls.append(Clusters.AccessControl.Structs.AccessControlEntryStruct(privilege=privilege, authMode=Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
+                                                                                       subjects=targetSubjects))
 
     # Step 4: Prune ACLs which have empty subjects.
     currentAcls = [acl for acl in currentAcls if acl.subjects != NullValue and len(acl.subjects) != 0]
@@ -106,7 +106,7 @@
     await adminCtrl.WriteAttribute(targetNodeId, [(0, Clusters.AccessControl.Attributes.Acl(currentAcls))])
 
 
-async def CreateControllersOnFabric(fabricAdmin: FabricAdmin, adminDevCtrl: ChipDeviceController, controllerNodeIds: typing.List[int], privilege: Clusters.AccessControl.Enums.Privilege, targetNodeId: int, catTags: typing.List[int] = []) -> typing.List[ChipDeviceController]:
+async def CreateControllersOnFabric(fabricAdmin: FabricAdmin, adminDevCtrl: ChipDeviceController, controllerNodeIds: typing.List[int], privilege: Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum, targetNodeId: int, catTags: typing.List[int] = []) -> typing.List[ChipDeviceController]:
     ''' Create new ChipDeviceController instances on a given fabric with a specific privilege on a target node.
 
         Args:
diff --git a/src/controller/python/test/test_scripts/base.py b/src/controller/python/test/test_scripts/base.py
index e68ade5..9995492 100644
--- a/src/controller/python/test/test_scripts/base.py
+++ b/src/controller/python/test/test_scripts/base.py
@@ -400,11 +400,11 @@
             return False
 
         # Grant the new controller privilege by adding the CAT tag to the subject.
-        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[0], privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=nodeid, targetCatTags=[0x0001_0001])
+        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[0], privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=nodeid, targetCatTags=[0x0001_0001])
 
         # Read out the attribute again - this time, it should succeed.
         res = await newControllers[0].ReadAttribute(nodeid=nodeid, attributes=[(0, Clusters.AccessControl.Attributes.Acl)])
-        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntry):
+        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntryStruct):
             self.logger.error(f"2: Received something other than data:{res}")
             return False
 
@@ -435,7 +435,7 @@
         # Doing this ensures that we're not somehow aliasing the CASE sessions.
         #
         res = await self.devCtrl.ReadAttribute(nodeid=nodeid, attributes=[(0, Clusters.AccessControl.Attributes.Acl)])
-        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntry):
+        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntryStruct):
             self.logger.error(f"2: Received something other than data:{res}")
             return False
 
@@ -451,25 +451,25 @@
         #
         # Grant the new controller admin privileges. Reading out the ACL cluster should now yield data.
         #
-        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[0], privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=nodeid)
+        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[0], privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=nodeid)
         res = await newControllers[0].ReadAttribute(nodeid=nodeid, attributes=[(0, Clusters.AccessControl.Attributes.Acl)])
-        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntry):
+        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntryStruct):
             self.logger.error(f"4: Received something other than data:{res}")
             return False
 
         #
         # Grant the second new controller admin privileges as well. Reading out the ACL cluster should now yield data.
         #
-        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[1], privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=nodeid)
+        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[1], privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=nodeid)
         res = await newControllers[1].ReadAttribute(nodeid=nodeid, attributes=[(0, Clusters.AccessControl.Attributes.Acl)])
-        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntry):
+        if (type(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl][0]) != Clusters.AccessControl.Structs.AccessControlEntryStruct):
             self.logger.error(f"5: Received something other than data:{res}")
             return False
 
         #
         # Grant the second new controller just view privilege. Reading out the ACL cluster should return no data.
         #
-        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[1], privilege=Clusters.AccessControl.Enums.Privilege.kView, targetNodeId=nodeid)
+        await CommissioningBuildingBlocks.GrantPrivilege(adminCtrl=self.devCtrl, grantedCtrl=newControllers[1], privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kView, targetNodeId=nodeid)
         res = await newControllers[1].ReadAttribute(nodeid=nodeid, attributes=[(0, Clusters.AccessControl.Attributes.Acl)])
         if(res[0][Clusters.AccessControl][Clusters.AccessControl.Attributes.Acl].Reason.status != IM.Status.UnsupportedAccess):
             self.logger.error(f"6: Received data5 instead of an error:{res}")
diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml
index 67f1d80..010bddd 100644
--- a/src/darwin/Framework/CHIP/templates/availability.yaml
+++ b/src/darwin/Framework/CHIP/templates/availability.yaml
@@ -4950,6 +4950,9 @@
               - MonitoringRegistration
           BasicInformation:
               - CapabilityMinimaStruct
+          AccessControl:
+              - AccessControlEntryStruct
+              - AccessControlExtensionStruct
       struct fields:
           UnitTesting:
               SimpleStruct:
@@ -5017,6 +5020,16 @@
           Descriptor:
               DeviceTypeStruct:
                   - deviceType
+          AccessControl:
+              AccessControlEntryStruct:
+                  - privilege
+                  - authMode
+                  - subjects
+                  - targets
+                  - fabricIndex
+              AccessControlExtensionStruct:
+                  - data
+                  - fabricIndex
       events:
           OTASoftwareUpdateRequestor:
               - StateTransition
@@ -5076,6 +5089,9 @@
               - OTAUpdateStateEnum
           UnitTesting:
               - SimpleEnum
+          AccessControl:
+              - AccessControlEntryPrivilegeEnum
+              - AccessControlEntryAuthModeEnum
       enum values:
           OTASoftwareUpdateProvider:
               OTAApplyUpdateAction:
@@ -5122,6 +5138,17 @@
           GeneralCommissioning:
               CommissioningError:
                   - OK
+          AccessControl:
+              AccessControlEntryPrivilegeEnum:
+                  - View
+                  - ProxyView
+                  - Operate
+                  - Manage
+                  - Administer
+              AccessControlEntryAuthModeEnum:
+                  - PASE
+                  - CASE
+                  - Group
       bitmaps:
           UnitTesting:
               - Bitmap8MaskMap
@@ -5199,6 +5226,9 @@
       structs:
           Descriptor:
               - DeviceType
+          AccessControl:
+              - AccessControlEntry
+              - ExtensionEntry
       struct fields:
           Descriptor:
               DeviceTypeStruct:
@@ -5207,6 +5237,10 @@
           Switch:
               MultiPressComplete:
                   - newPosition
+      enums:
+          AccessControl:
+              - Privilege
+              - AuthMode
       enum values:
           GeneralCommissioning:
               CommissioningError:
@@ -5266,14 +5300,22 @@
           OnOff:
               OffWithEffect:
                   effectIdentifier: effectId
-      event fields:
-          Switch:
-              MultiPressComplete:
-                  previousPosition: newPosition
+      structs:
+          AccessControl:
+              AccessControlEntryStruct: AccessControlEntry
+              AccessControlExtensionStruct: ExtensionEntry
       struct fields:
           Descriptor:
               DeviceTypeStruct:
                   deviceType: type
+      event fields:
+          Switch:
+              MultiPressComplete:
+                  previousPosition: newPosition
+      enums:
+          AccessControl:
+              AccessControlEntryPrivilegeEnum: Privilege
+              AccessControlEntryAuthModeEnum: AuthMode
       enum values:
           GeneralCommissioning:
               CommissioningError:
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
index e6bcf8f..eeaace2 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
@@ -1643,8 +1643,8 @@
                 auto iter_0 = cppValue.begin();
                 while (iter_0.Next()) {
                     auto & entry_0 = iter_0.GetValue();
-                    MTRAccessControlClusterAccessControlEntry * newElement_0;
-                    newElement_0 = [MTRAccessControlClusterAccessControlEntry new];
+                    MTRAccessControlClusterAccessControlEntryStruct * newElement_0;
+                    newElement_0 = [MTRAccessControlClusterAccessControlEntryStruct new];
                     newElement_0.privilege = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.privilege)];
                     newElement_0.authMode = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.authMode)];
                     if (entry_0.subjects.IsNull()) {
@@ -1727,8 +1727,8 @@
                 auto iter_0 = cppValue.begin();
                 while (iter_0.Next()) {
                     auto & entry_0 = iter_0.GetValue();
-                    MTRAccessControlClusterExtensionEntry * newElement_0;
-                    newElement_0 = [MTRAccessControlClusterExtensionEntry new];
+                    MTRAccessControlClusterAccessControlExtensionStruct * newElement_0;
+                    newElement_0 = [MTRAccessControlClusterAccessControlExtensionStruct new];
                     newElement_0.data = [NSData dataWithBytes:entry_0.data.data() length:entry_0.data.size()];
                     newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
                     [array_0 addObject:newElement_0];
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index a4ceee7..c433a20 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -17124,11 +17124,49 @@
     MTRLevelControlOptionsCoupleColorTempToLevel MTR_NEWLY_AVAILABLE = 0x2,
 } MTR_NEWLY_AVAILABLE;
 
+typedef NS_ENUM(uint8_t, MTRAccessControlEntryAuthMode) {
+    MTRAccessControlEntryAuthModePASE MTR_NEWLY_AVAILABLE = 0x01,
+    MTRAccessControlEntryAuthModeCASE MTR_NEWLY_AVAILABLE = 0x02,
+    MTRAccessControlEntryAuthModeGroup MTR_NEWLY_AVAILABLE = 0x03,
+} MTR_NEWLY_AVAILABLE;
+
 typedef NS_ENUM(uint8_t, MTRAccessControlAuthMode) {
-    MTRAccessControlAuthModePASE API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01,
-    MTRAccessControlAuthModeCASE API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02,
-    MTRAccessControlAuthModeGroup API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x03,
-} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+    MTRAccessControlAuthModePASE API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryAuthModePASE")
+    = 0x01,
+    MTRAccessControlAuthModeCASE API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryAuthModeCASE")
+    = 0x02,
+    MTRAccessControlAuthModeGroup API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryAuthModeGroup")
+    = 0x03,
+} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryAuthMode");
+
+typedef NS_ENUM(uint8_t, MTRAccessControlEntryPrivilege) {
+    MTRAccessControlEntryPrivilegeView MTR_NEWLY_AVAILABLE = 0x01,
+    MTRAccessControlEntryPrivilegeProxyView MTR_NEWLY_AVAILABLE = 0x02,
+    MTRAccessControlEntryPrivilegeOperate MTR_NEWLY_AVAILABLE = 0x03,
+    MTRAccessControlEntryPrivilegeManage MTR_NEWLY_AVAILABLE = 0x04,
+    MTRAccessControlEntryPrivilegeAdminister MTR_NEWLY_AVAILABLE = 0x05,
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_ENUM(uint8_t, MTRAccessControlPrivilege) {
+    MTRAccessControlPrivilegeView API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilegeView")
+    = 0x01,
+    MTRAccessControlPrivilegeProxyView API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilegeProxyView")
+    = 0x02,
+    MTRAccessControlPrivilegeOperate API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilegeOperate")
+    = 0x03,
+    MTRAccessControlPrivilegeManage API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilegeManage")
+    = 0x04,
+    MTRAccessControlPrivilegeAdminister API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+        MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilegeAdminister")
+    = 0x05,
+} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) MTR_NEWLY_DEPRECATED("Please use MTRAccessControlEntryPrivilege");
 
 typedef NS_ENUM(uint8_t, MTRAccessControlChangeType) {
     MTRAccessControlChangeTypeChanged API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00,
@@ -17136,14 +17174,6 @@
     MTRAccessControlChangeTypeRemoved API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02,
 } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 
-typedef NS_ENUM(uint8_t, MTRAccessControlPrivilege) {
-    MTRAccessControlPrivilegeView API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01,
-    MTRAccessControlPrivilegeProxyView API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02,
-    MTRAccessControlPrivilegeOperate API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x03,
-    MTRAccessControlPrivilegeManage API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x04,
-    MTRAccessControlPrivilegeAdminister API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x05,
-} API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-
 typedef NS_ENUM(uint8_t, MTRActionsActionError) {
     MTRActionsActionErrorUnknown API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00,
     MTRActionsActionErrorInterrupted API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01,
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index 8837452..93619cc 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -10484,11 +10484,11 @@
                     }
                     listFreer.add(listHolder_0);
                     for (size_t i_0 = 0; i_0 < value.count; ++i_0) {
-                        if (![value[i_0] isKindOfClass:[MTRAccessControlClusterAccessControlEntry class]]) {
+                        if (![value[i_0] isKindOfClass:[MTRAccessControlClusterAccessControlEntryStruct class]]) {
                             // Wrong kind of value.
                             return CHIP_ERROR_INVALID_ARGUMENT;
                         }
-                        auto element_0 = (MTRAccessControlClusterAccessControlEntry *) value[i_0];
+                        auto element_0 = (MTRAccessControlClusterAccessControlEntryStruct *) value[i_0];
                         listHolder_0->mList[i_0].privilege
                             = static_cast<std::remove_reference_t<decltype(listHolder_0->mList[i_0].privilege)>>(
                                 element_0.privilege.unsignedCharValue);
@@ -10663,11 +10663,11 @@
                     }
                     listFreer.add(listHolder_0);
                     for (size_t i_0 = 0; i_0 < value.count; ++i_0) {
-                        if (![value[i_0] isKindOfClass:[MTRAccessControlClusterExtensionEntry class]]) {
+                        if (![value[i_0] isKindOfClass:[MTRAccessControlClusterAccessControlExtensionStruct class]]) {
                             // Wrong kind of value.
                             return CHIP_ERROR_INVALID_ARGUMENT;
                         }
-                        auto element_0 = (MTRAccessControlClusterExtensionEntry *) value[i_0];
+                        auto element_0 = (MTRAccessControlClusterAccessControlExtensionStruct *) value[i_0];
                         listHolder_0->mList[i_0].data = [self asByteSpan:element_0.data];
                         listHolder_0->mList[i_0].fabricIndex = element_0.fabricIndex.unsignedCharValue;
                     }
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h
index 70a59ca..d4be5ad 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h
@@ -168,15 +168,17 @@
 typedef void (*LevelControlClusterStepModeAttributeCallback)(void *, chip::app::Clusters::LevelControl::StepMode);
 typedef void (*NullableLevelControlClusterStepModeAttributeCallback)(
     void *, const chip::app::DataModel::Nullable<chip::app::Clusters::LevelControl::StepMode> &);
-typedef void (*AccessControlClusterAuthModeAttributeCallback)(void *, chip::app::Clusters::AccessControl::AuthMode);
-typedef void (*NullableAccessControlClusterAuthModeAttributeCallback)(
-    void *, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AuthMode> &);
+typedef void (*AccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback)(
+    void *, chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum);
+typedef void (*NullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback)(
+    void *, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum> &);
+typedef void (*AccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback)(
+    void *, chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum);
+typedef void (*NullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback)(
+    void *, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum> &);
 typedef void (*AccessControlClusterChangeTypeEnumAttributeCallback)(void *, chip::app::Clusters::AccessControl::ChangeTypeEnum);
 typedef void (*NullableAccessControlClusterChangeTypeEnumAttributeCallback)(
     void *, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::ChangeTypeEnum> &);
-typedef void (*AccessControlClusterPrivilegeAttributeCallback)(void *, chip::app::Clusters::AccessControl::Privilege);
-typedef void (*NullableAccessControlClusterPrivilegeAttributeCallback)(
-    void *, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::Privilege> &);
 typedef void (*ActionsClusterActionErrorEnumAttributeCallback)(void *, chip::app::Clusters::Actions::ActionErrorEnum);
 typedef void (*NullableActionsClusterActionErrorEnumAttributeCallback)(
     void *, const chip::app::DataModel::Nullable<chip::app::Clusters::Actions::ActionErrorEnum> &);
@@ -603,11 +605,12 @@
                                                           const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
 typedef void (*AccessControlACLListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & data);
 typedef void (*AccessControlExtensionListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & data);
 typedef void (*AccessControlGeneratedCommandListListAttributeCallback)(
     void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
 typedef void (*AccessControlAcceptedCommandListListAttributeCallback)(
@@ -3017,10 +3020,9 @@
     MTRAccessControlACLListAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action) :
         MTRCallbackBridge<AccessControlACLListAttributeCallback>(queue, handler, action, OnSuccessFn){};
 
-    static void OnSuccessFn(
-        void * context,
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-            value);
+    static void OnSuccessFn(void * context,
+                            const chip::app::DataModel::DecodableList<
+                                chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & value);
 };
 
 class MTRAccessControlACLListAttributeCallbackSubscriptionBridge : public MTRAccessControlACLListAttributeCallbackBridge
@@ -3050,10 +3052,9 @@
     MTRAccessControlExtensionListAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action) :
         MTRCallbackBridge<AccessControlExtensionListAttributeCallback>(queue, handler, action, OnSuccessFn){};
 
-    static void OnSuccessFn(
-        void * context,
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> &
-            value);
+    static void OnSuccessFn(void * context,
+                            const chip::app::DataModel::DecodableList<
+                                chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & value);
 };
 
 class MTRAccessControlExtensionListAttributeCallbackSubscriptionBridge : public MTRAccessControlExtensionListAttributeCallbackBridge
@@ -12233,67 +12234,147 @@
     MTRSubscriptionEstablishedHandler mEstablishedHandler;
 };
 
-class MTRAccessControlClusterAuthModeAttributeCallbackBridge
-    : public MTRCallbackBridge<AccessControlClusterAuthModeAttributeCallback>
+class MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge
+    : public MTRCallbackBridge<AccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>
 {
 public:
-    MTRAccessControlClusterAuthModeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
-        MTRCallbackBridge<AccessControlClusterAuthModeAttributeCallback>(queue, handler, OnSuccessFn){};
+    MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
+        MTRCallbackBridge<AccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>(queue, handler, OnSuccessFn){};
 
-    MTRAccessControlClusterAuthModeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action) :
-        MTRCallbackBridge<AccessControlClusterAuthModeAttributeCallback>(queue, handler, action, OnSuccessFn){};
+    MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler,
+                                                                                 MTRActionBlock action) :
+        MTRCallbackBridge<AccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>(queue, handler, action,
+                                                                                               OnSuccessFn){};
 
-    static void OnSuccessFn(void * context, chip::app::Clusters::AccessControl::AuthMode value);
+    static void OnSuccessFn(void * context, chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum value);
 };
 
-class MTRAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge
-    : public MTRAccessControlClusterAuthModeAttributeCallbackBridge
+class MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge
+    : public MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge
 {
 public:
-    MTRAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler,
-                                                                       MTRActionBlock action,
-                                                                       MTRSubscriptionEstablishedHandler establishedHandler) :
-        MTRAccessControlClusterAuthModeAttributeCallbackBridge(queue, handler, action),
+    MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge(
+        dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action,
+        MTRSubscriptionEstablishedHandler establishedHandler) :
+        MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(queue, handler, action),
         mEstablishedHandler(establishedHandler)
     {}
 
     void OnSubscriptionEstablished();
-    using MTRAccessControlClusterAuthModeAttributeCallbackBridge::KeepAliveOnCallback;
-    using MTRAccessControlClusterAuthModeAttributeCallbackBridge::OnDone;
+    using MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::KeepAliveOnCallback;
+    using MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::OnDone;
 
 private:
     MTRSubscriptionEstablishedHandler mEstablishedHandler;
 };
 
-class MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge
-    : public MTRCallbackBridge<NullableAccessControlClusterAuthModeAttributeCallback>
+class MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge
+    : public MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>
 {
 public:
-    MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
-        MTRCallbackBridge<NullableAccessControlClusterAuthModeAttributeCallback>(queue, handler, OnSuccessFn){};
+    MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(dispatch_queue_t queue,
+                                                                                         ResponseHandler handler) :
+        MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>(queue, handler,
+                                                                                                       OnSuccessFn){};
 
-    MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler,
-                                                                   MTRActionBlock action) :
-        MTRCallbackBridge<NullableAccessControlClusterAuthModeAttributeCallback>(queue, handler, action, OnSuccessFn){};
+    MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(dispatch_queue_t queue,
+                                                                                         ResponseHandler handler,
+                                                                                         MTRActionBlock action) :
+        MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallback>(queue, handler, action,
+                                                                                                       OnSuccessFn){};
 
-    static void OnSuccessFn(void * context,
-                            const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AuthMode> & value);
+    static void
+    OnSuccessFn(void * context,
+                const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum> & value);
 };
 
-class MTRNullableAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge
-    : public MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge
+class MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge
+    : public MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge
 {
 public:
-    MTRNullableAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge(
+    MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge(
         dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action,
         MTRSubscriptionEstablishedHandler establishedHandler) :
-        MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge(queue, handler, action),
+        MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge(queue, handler, action),
         mEstablishedHandler(establishedHandler)
     {}
 
     void OnSubscriptionEstablished();
-    using MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge::KeepAliveOnCallback;
-    using MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge::OnDone;
+    using MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::KeepAliveOnCallback;
+    using MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::OnDone;
+
+private:
+    MTRSubscriptionEstablishedHandler mEstablishedHandler;
+};
+
+class MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge
+    : public MTRCallbackBridge<AccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>
+{
+public:
+    MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
+        MTRCallbackBridge<AccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>(queue, handler, OnSuccessFn){};
+
+    MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler,
+                                                                                  MTRActionBlock action) :
+        MTRCallbackBridge<AccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>(queue, handler, action,
+                                                                                                OnSuccessFn){};
+
+    static void OnSuccessFn(void * context, chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum value);
+};
+
+class MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge
+    : public MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge
+{
+public:
+    MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge(
+        dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action,
+        MTRSubscriptionEstablishedHandler establishedHandler) :
+        MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(queue, handler, action),
+        mEstablishedHandler(establishedHandler)
+    {}
+
+    void OnSubscriptionEstablished();
+    using MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::KeepAliveOnCallback;
+    using MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::OnDone;
+
+private:
+    MTRSubscriptionEstablishedHandler mEstablishedHandler;
+};
+
+class MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge
+    : public MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>
+{
+public:
+    MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(dispatch_queue_t queue,
+                                                                                          ResponseHandler handler) :
+        MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>(queue, handler,
+                                                                                                        OnSuccessFn){};
+
+    MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(dispatch_queue_t queue,
+                                                                                          ResponseHandler handler,
+                                                                                          MTRActionBlock action) :
+        MTRCallbackBridge<NullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallback>(queue, handler, action,
+                                                                                                        OnSuccessFn){};
+
+    static void
+    OnSuccessFn(void * context,
+                const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum> & value);
+};
+
+class MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge
+    : public MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge
+{
+public:
+    MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge(
+        dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action,
+        MTRSubscriptionEstablishedHandler establishedHandler) :
+        MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge(queue, handler, action),
+        mEstablishedHandler(establishedHandler)
+    {}
+
+    void OnSubscriptionEstablished();
+    using MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::KeepAliveOnCallback;
+    using MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::OnDone;
 
 private:
     MTRSubscriptionEstablishedHandler mEstablishedHandler;
@@ -12366,73 +12447,6 @@
     MTRSubscriptionEstablishedHandler mEstablishedHandler;
 };
 
-class MTRAccessControlClusterPrivilegeAttributeCallbackBridge
-    : public MTRCallbackBridge<AccessControlClusterPrivilegeAttributeCallback>
-{
-public:
-    MTRAccessControlClusterPrivilegeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
-        MTRCallbackBridge<AccessControlClusterPrivilegeAttributeCallback>(queue, handler, OnSuccessFn){};
-
-    MTRAccessControlClusterPrivilegeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler,
-                                                            MTRActionBlock action) :
-        MTRCallbackBridge<AccessControlClusterPrivilegeAttributeCallback>(queue, handler, action, OnSuccessFn){};
-
-    static void OnSuccessFn(void * context, chip::app::Clusters::AccessControl::Privilege value);
-};
-
-class MTRAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge
-    : public MTRAccessControlClusterPrivilegeAttributeCallbackBridge
-{
-public:
-    MTRAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler,
-                                                                        MTRActionBlock action,
-                                                                        MTRSubscriptionEstablishedHandler establishedHandler) :
-        MTRAccessControlClusterPrivilegeAttributeCallbackBridge(queue, handler, action),
-        mEstablishedHandler(establishedHandler)
-    {}
-
-    void OnSubscriptionEstablished();
-    using MTRAccessControlClusterPrivilegeAttributeCallbackBridge::KeepAliveOnCallback;
-    using MTRAccessControlClusterPrivilegeAttributeCallbackBridge::OnDone;
-
-private:
-    MTRSubscriptionEstablishedHandler mEstablishedHandler;
-};
-
-class MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge
-    : public MTRCallbackBridge<NullableAccessControlClusterPrivilegeAttributeCallback>
-{
-public:
-    MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) :
-        MTRCallbackBridge<NullableAccessControlClusterPrivilegeAttributeCallback>(queue, handler, OnSuccessFn){};
-
-    MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler,
-                                                                    MTRActionBlock action) :
-        MTRCallbackBridge<NullableAccessControlClusterPrivilegeAttributeCallback>(queue, handler, action, OnSuccessFn){};
-
-    static void OnSuccessFn(void * context,
-                            const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::Privilege> & value);
-};
-
-class MTRNullableAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge
-    : public MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge
-{
-public:
-    MTRNullableAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge(
-        dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action,
-        MTRSubscriptionEstablishedHandler establishedHandler) :
-        MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge(queue, handler, action),
-        mEstablishedHandler(establishedHandler)
-    {}
-
-    void OnSubscriptionEstablished();
-    using MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge::KeepAliveOnCallback;
-    using MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge::OnDone;
-
-private:
-    MTRSubscriptionEstablishedHandler mEstablishedHandler;
-};
-
 class MTRActionsClusterActionErrorEnumAttributeCallbackBridge
     : public MTRCallbackBridge<ActionsClusterActionErrorEnumAttributeCallback>
 {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm
index edca66b..a77aee3 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm
@@ -1966,8 +1966,8 @@
 }
 
 void MTRAccessControlACLListAttributeCallbackBridge::OnSuccessFn(void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        value)
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & value)
 {
     NSArray * _Nonnull objCValue;
     { // Scope for our temporary variables
@@ -1975,8 +1975,8 @@
         auto iter_0 = value.begin();
         while (iter_0.Next()) {
             auto & entry_0 = iter_0.GetValue();
-            MTRAccessControlClusterAccessControlEntry * newElement_0;
-            newElement_0 = [MTRAccessControlClusterAccessControlEntry new];
+            MTRAccessControlClusterAccessControlEntryStruct * newElement_0;
+            newElement_0 = [MTRAccessControlClusterAccessControlEntryStruct new];
             newElement_0.privilege = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.privilege)];
             newElement_0.authMode = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.authMode)];
             if (entry_0.subjects.IsNull()) {
@@ -2063,7 +2063,8 @@
 }
 
 void MTRAccessControlExtensionListAttributeCallbackBridge::OnSuccessFn(void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & value)
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & value)
 {
     NSArray * _Nonnull objCValue;
     { // Scope for our temporary variables
@@ -2071,8 +2072,8 @@
         auto iter_0 = value.begin();
         while (iter_0.Next()) {
             auto & entry_0 = iter_0.GetValue();
-            MTRAccessControlClusterExtensionEntry * newElement_0;
-            newElement_0 = [MTRAccessControlClusterExtensionEntry new];
+            MTRAccessControlClusterAccessControlExtensionStruct * newElement_0;
+            newElement_0 = [MTRAccessControlClusterAccessControlExtensionStruct new];
             newElement_0.data = [NSData dataWithBytes:entry_0.data.data() length:entry_0.data.size()];
             newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
             [array_0 addObject:newElement_0];
@@ -13506,15 +13507,15 @@
     }
 }
 
-void MTRAccessControlClusterAuthModeAttributeCallbackBridge::OnSuccessFn(
-    void * context, chip::app::Clusters::AccessControl::AuthMode value)
+void MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::OnSuccessFn(
+    void * context, chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum value)
 {
     NSNumber * _Nonnull objCValue;
     objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)];
     DispatchSuccess(context, objCValue);
 };
 
-void MTRAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
+void MTRAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
 {
     if (!mQueue) {
         return;
@@ -13529,8 +13530,8 @@
     }
 }
 
-void MTRNullableAccessControlClusterAuthModeAttributeCallbackBridge::OnSuccessFn(
-    void * context, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AuthMode> & value)
+void MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackBridge::OnSuccessFn(void * context,
+    const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum> & value)
 {
     NSNumber * _Nullable objCValue;
     if (value.IsNull()) {
@@ -13541,7 +13542,57 @@
     DispatchSuccess(context, objCValue);
 };
 
-void MTRNullableAccessControlClusterAuthModeAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
+void MTRNullableAccessControlClusterAccessControlEntryAuthModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
+{
+    if (!mQueue) {
+        return;
+    }
+
+    if (mEstablishedHandler != nil) {
+        dispatch_async(mQueue, mEstablishedHandler);
+        // On failure, mEstablishedHandler will be cleaned up by our destructor,
+        // but we can clean it up earlier on successful subscription
+        // establishment.
+        mEstablishedHandler = nil;
+    }
+}
+
+void MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::OnSuccessFn(
+    void * context, chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum value)
+{
+    NSNumber * _Nonnull objCValue;
+    objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)];
+    DispatchSuccess(context, objCValue);
+};
+
+void MTRAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
+{
+    if (!mQueue) {
+        return;
+    }
+
+    if (mEstablishedHandler != nil) {
+        dispatch_async(mQueue, mEstablishedHandler);
+        // On failure, mEstablishedHandler will be cleaned up by our destructor,
+        // but we can clean it up earlier on successful subscription
+        // establishment.
+        mEstablishedHandler = nil;
+    }
+}
+
+void MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackBridge::OnSuccessFn(void * context,
+    const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum> & value)
+{
+    NSNumber * _Nullable objCValue;
+    if (value.IsNull()) {
+        objCValue = nil;
+    } else {
+        objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())];
+    }
+    DispatchSuccess(context, objCValue);
+};
+
+void MTRNullableAccessControlClusterAccessControlEntryPrivilegeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
 {
     if (!mQueue) {
         return;
@@ -13606,56 +13657,6 @@
     }
 }
 
-void MTRAccessControlClusterPrivilegeAttributeCallbackBridge::OnSuccessFn(
-    void * context, chip::app::Clusters::AccessControl::Privilege value)
-{
-    NSNumber * _Nonnull objCValue;
-    objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)];
-    DispatchSuccess(context, objCValue);
-};
-
-void MTRAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
-{
-    if (!mQueue) {
-        return;
-    }
-
-    if (mEstablishedHandler != nil) {
-        dispatch_async(mQueue, mEstablishedHandler);
-        // On failure, mEstablishedHandler will be cleaned up by our destructor,
-        // but we can clean it up earlier on successful subscription
-        // establishment.
-        mEstablishedHandler = nil;
-    }
-}
-
-void MTRNullableAccessControlClusterPrivilegeAttributeCallbackBridge::OnSuccessFn(
-    void * context, const chip::app::DataModel::Nullable<chip::app::Clusters::AccessControl::Privilege> & value)
-{
-    NSNumber * _Nullable objCValue;
-    if (value.IsNull()) {
-        objCValue = nil;
-    } else {
-        objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value.Value())];
-    }
-    DispatchSuccess(context, objCValue);
-};
-
-void MTRNullableAccessControlClusterPrivilegeAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished()
-{
-    if (!mQueue) {
-        return;
-    }
-
-    if (mEstablishedHandler != nil) {
-        dispatch_async(mQueue, mEstablishedHandler);
-        // On failure, mEstablishedHandler will be cleaned up by our destructor,
-        // but we can clean it up earlier on successful subscription
-        // establishment.
-        mEstablishedHandler = nil;
-    }
-}
-
 void MTRActionsClusterActionErrorEnumAttributeCallbackBridge::OnSuccessFn(
     void * context, chip::app::Clusters::Actions::ActionErrorEnum value)
 {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm
index f1f1550..8e5f792 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTREventTLVValueDecoder.mm
@@ -162,11 +162,11 @@
                 value.changeType = memberValue;
             } while (0);
             do {
-                MTRAccessControlClusterAccessControlEntry * _Nullable memberValue;
+                MTRAccessControlClusterAccessControlEntryStruct * _Nullable memberValue;
                 if (cppValue.latestValue.IsNull()) {
                     memberValue = nil;
                 } else {
-                    memberValue = [MTRAccessControlClusterAccessControlEntry new];
+                    memberValue = [MTRAccessControlClusterAccessControlEntryStruct new];
                     memberValue.privilege =
                         [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue.latestValue.Value().privilege)];
                     memberValue.authMode =
@@ -272,11 +272,11 @@
                 value.changeType = memberValue;
             } while (0);
             do {
-                MTRAccessControlClusterExtensionEntry * _Nullable memberValue;
+                MTRAccessControlClusterAccessControlExtensionStruct * _Nullable memberValue;
                 if (cppValue.latestValue.IsNull()) {
                     memberValue = nil;
                 } else {
-                    memberValue = [MTRAccessControlClusterExtensionEntry new];
+                    memberValue = [MTRAccessControlClusterAccessControlExtensionStruct new];
                     memberValue.data = [NSData dataWithBytes:cppValue.latestValue.Value().data.data()
                                                       length:cppValue.latestValue.Value().data.size()];
                     memberValue.fabricIndex = [NSNumber numberWithUnsignedChar:cppValue.latestValue.Value().fabricIndex];
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
index aa32fe7..e67a974 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
@@ -60,19 +60,28 @@
 @property (nonatomic, copy) NSNumber * _Nullable deviceType API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @end
 
-API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
-@interface MTRAccessControlClusterAccessControlEntry : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull privilege API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull authMode API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSArray * _Nullable subjects API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSArray * _Nullable targets API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+MTR_NEWLY_AVAILABLE
+@interface MTRAccessControlClusterAccessControlEntryStruct : NSObject <NSCopying>
+@property (nonatomic, copy) NSNumber * _Nonnull privilege MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull authMode MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nullable subjects MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nullable targets MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
 @end
 
 API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
-@interface MTRAccessControlClusterExtensionEntry : NSObject <NSCopying>
-@property (nonatomic, copy) NSData * _Nonnull data API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+MTR_NEWLY_DEPRECATED("Please use MTRAccessControlClusterAccessControlEntryStruct")
+@interface MTRAccessControlClusterAccessControlEntry : MTRAccessControlClusterAccessControlEntryStruct
+@end
+MTR_NEWLY_AVAILABLE
+@interface MTRAccessControlClusterAccessControlExtensionStruct : NSObject <NSCopying>
+@property (nonatomic, copy) NSData * _Nonnull data MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
+@end
+
+API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
+MTR_NEWLY_DEPRECATED("Please use MTRAccessControlClusterAccessControlExtensionStruct")
+@interface MTRAccessControlClusterExtensionEntry : MTRAccessControlClusterAccessControlExtensionStruct
 @end
 
 API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
@@ -80,7 +89,7 @@
 @property (nonatomic, copy) NSNumber * _Nullable adminNodeID API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nullable adminPasscodeID API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nonnull changeType API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) MTRAccessControlClusterAccessControlEntry * _Nullable latestValue API_AVAILABLE(
+@property (nonatomic, copy) MTRAccessControlClusterAccessControlEntryStruct * _Nullable latestValue API_AVAILABLE(
     ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @end
@@ -90,8 +99,8 @@
 @property (nonatomic, copy) NSNumber * _Nullable adminNodeID API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nullable adminPasscodeID API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nonnull changeType API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy)
-    MTRAccessControlClusterExtensionEntry * _Nullable latestValue API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+@property (nonatomic, copy) MTRAccessControlClusterAccessControlExtensionStruct * _Nullable latestValue API_AVAILABLE(
+    ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
 @end
 
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
index ce9447c..178783a 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
@@ -199,7 +199,7 @@
 
 @end
 
-@implementation MTRAccessControlClusterAccessControlEntry
+@implementation MTRAccessControlClusterAccessControlEntryStruct
 - (instancetype)init
 {
     if (self = [super init]) {
@@ -219,7 +219,7 @@
 
 - (id)copyWithZone:(NSZone * _Nullable)zone
 {
-    auto other = [[MTRAccessControlClusterAccessControlEntry alloc] init];
+    auto other = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
 
     other.privilege = self.privilege;
     other.authMode = self.authMode;
@@ -240,7 +240,10 @@
 
 @end
 
-@implementation MTRAccessControlClusterExtensionEntry
+@implementation MTRAccessControlClusterAccessControlEntry : MTRAccessControlClusterAccessControlEntryStruct
+@end
+
+@implementation MTRAccessControlClusterAccessControlExtensionStruct
 - (instancetype)init
 {
     if (self = [super init]) {
@@ -254,7 +257,7 @@
 
 - (id)copyWithZone:(NSZone * _Nullable)zone
 {
-    auto other = [[MTRAccessControlClusterExtensionEntry alloc] init];
+    auto other = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
 
     other.data = self.data;
     other.fabricIndex = self.fabricIndex;
@@ -271,6 +274,9 @@
 
 @end
 
+@implementation MTRAccessControlClusterExtensionEntry : MTRAccessControlClusterAccessControlExtensionStruct
+@end
+
 @implementation MTRAccessControlClusterAccessControlEntryChangedEvent
 - (instancetype)init
 {
diff --git a/src/python_testing/TC_RR_1_1.py b/src/python_testing/TC_RR_1_1.py
index e6b5c73..85ffaba 100644
--- a/src/python_testing/TC_RR_1_1.py
+++ b/src/python_testing/TC_RR_1_1.py
@@ -116,7 +116,7 @@
         client_list.append(dev_ctrl)
 
         if num_controllers_per_fabric > 1:
-            new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=dev_ctrl.fabricAdmin, adminDevCtrl=dev_ctrl, controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=self.dut_node_id, catTags=[0x0001_0001])
+            new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=dev_ctrl.fabricAdmin, adminDevCtrl=dev_ctrl, controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=self.dut_node_id, catTags=[0x0001_0001])
             for controller in new_controllers:
                 controller.name = all_names.pop(0)
             client_list.extend(new_controllers)
@@ -135,7 +135,7 @@
 
             if num_controllers_per_fabric > 1:
                 new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=new_fabric_admin, adminDevCtrl=new_admin_ctrl,
-                                                                                              controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=self.dut_node_id, catTags=[0x0001_0001])
+                                                                                              controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=self.dut_node_id, catTags=[0x0001_0001])
                 for controller in new_controllers:
                     controller.name = all_names.pop(0)
 
@@ -407,10 +407,10 @@
             Clusters.AccessControl.Structs.Target(cluster=0xFFF1_FC00, deviceType=0xFFF1_BC30),
             Clusters.AccessControl.Structs.Target(cluster=0xFFF1_FC01, deviceType=0xFFF1_BC31)
         ]
-        admin_acl_entry = Clusters.AccessControl.Structs.AccessControlEntry(privilege=Clusters.AccessControl.Enums.Privilege.kAdminister,
-                                                                            authMode=Clusters.AccessControl.Enums.AuthMode.kCase,
-                                                                            subjects=admin_subjects,
-                                                                            targets=admin_targets)
+        admin_acl_entry = Clusters.AccessControl.Structs.AccessControlEntryStruct(privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister,
+                                                                                  authMode=Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
+                                                                                  subjects=admin_subjects,
+                                                                                  targets=admin_targets)
         acl.append(admin_acl_entry)
 
         # Manage ACL entry
@@ -421,10 +421,10 @@
             Clusters.AccessControl.Structs.Target(cluster=0xFFF1_FC02, deviceType=0xFFF1_BC22)
         ]
 
-        manage_acl_entry = Clusters.AccessControl.Structs.AccessControlEntry(privilege=Clusters.AccessControl.Enums.Privilege.kManage,
-                                                                             authMode=Clusters.AccessControl.Enums.AuthMode.kCase,
-                                                                             subjects=manage_subjects,
-                                                                             targets=manage_targets)
+        manage_acl_entry = Clusters.AccessControl.Structs.AccessControlEntryStruct(privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kManage,
+                                                                                   authMode=Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
+                                                                                   subjects=manage_subjects,
+                                                                                   targets=manage_targets)
         acl.append(manage_acl_entry)
 
         # Operate ACL entry
@@ -435,10 +435,10 @@
             Clusters.AccessControl.Structs.Target(cluster=0xFFF1_FC42, deviceType=0xFFF1_BC42)
         ]
 
-        operate_acl_entry = Clusters.AccessControl.Structs.AccessControlEntry(privilege=Clusters.AccessControl.Enums.Privilege.kOperate,
-                                                                              authMode=Clusters.AccessControl.Enums.AuthMode.kCase,
-                                                                              subjects=operate_subjects,
-                                                                              targets=operate_targets)
+        operate_acl_entry = Clusters.AccessControl.Structs.AccessControlEntryStruct(privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kOperate,
+                                                                                    authMode=Clusters.AccessControl.Enums.AccessControlEntryAuthModeEnum.kCase,
+                                                                                    subjects=operate_subjects,
+                                                                                    targets=operate_targets)
         acl.append(operate_acl_entry)
 
         return acl
diff --git a/src/python_testing/TC_SC_3_6.py b/src/python_testing/TC_SC_3_6.py
index fbfca81..363db91 100644
--- a/src/python_testing/TC_SC_3_6.py
+++ b/src/python_testing/TC_SC_3_6.py
@@ -129,7 +129,7 @@
         client_list.append(dev_ctrl)
 
         if num_controllers_per_fabric > 1:
-            new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=dev_ctrl.fabricAdmin, adminDevCtrl=dev_ctrl, controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=self.dut_node_id)
+            new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=dev_ctrl.fabricAdmin, adminDevCtrl=dev_ctrl, controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=self.dut_node_id)
             for controller in new_controllers:
                 controller.name = all_names.pop(0)
             client_list.extend(new_controllers)
@@ -147,7 +147,7 @@
 
             if num_controllers_per_fabric > 1:
                 new_controllers = await CommissioningBuildingBlocks.CreateControllersOnFabric(fabricAdmin=new_fabric_admin, adminDevCtrl=new_admin_ctrl,
-                                                                                              controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.Privilege.kAdminister, targetNodeId=self.dut_node_id)
+                                                                                              controllerNodeIds=node_ids, privilege=Clusters.AccessControl.Enums.AccessControlEntryPrivilegeEnum.kAdminister, targetNodeId=self.dut_node_id)
                 for controller in new_controllers:
                     controller.name = all_names.pop(0)
 
diff --git a/zzz_generated/app-common/app-common/zap-generated/af-structs.h b/zzz_generated/app-common/app-common/zap-generated/af-structs.h
index d2ac4ee..09a9bc0 100644
--- a/zzz_generated/app-common/app-common/zap-generated/af-structs.h
+++ b/zzz_generated/app-common/app-common/zap-generated/af-structs.h
@@ -198,15 +198,22 @@
     chip::DeviceTypeId DeviceType;
 } Target;
 
-// Struct for AccessControlEntry
-typedef struct _AccessControlEntry
+// Struct for AccessControlEntryStruct
+typedef struct _AccessControlEntryStruct
 {
     uint8_t Privilege;
     uint8_t AuthMode;
     /* TYPE WARNING: array array defaults to */ uint8_t * Subjects;
     /* TYPE WARNING: array array defaults to */ uint8_t * Targets;
     chip::FabricIndex FabricIndex;
-} AccessControlEntry;
+} AccessControlEntryStruct;
+
+// Struct for AccessControlExtensionStruct
+typedef struct _AccessControlExtensionStruct
+{
+    chip::ByteSpan Data;
+    chip::FabricIndex FabricIndex;
+} AccessControlExtensionStruct;
 
 // Struct for ActionStruct
 typedef struct _ActionStruct
@@ -295,13 +302,6 @@
     /* TYPE WARNING: array array defaults to */ uint8_t * Endpoints;
 } EndpointListStruct;
 
-// Struct for ExtensionEntry
-typedef struct _ExtensionEntry
-{
-    chip::ByteSpan Data;
-    chip::FabricIndex FabricIndex;
-} ExtensionEntry;
-
 // Struct for FabricDescriptor
 typedef struct _FabricDescriptor
 {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
index a56e91b..3532279 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
@@ -206,9 +206,9 @@
     }
 }
 
-static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::AuthMode val)
+static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::AccessControlEntryAuthModeEnum val)
 {
-    using EnumType = AccessControl::AuthMode;
+    using EnumType = AccessControl::AccessControlEntryAuthModeEnum;
     switch (val)
     {
     case EnumType::kPase:
@@ -219,6 +219,21 @@
         return static_cast<EnumType>(0);
     }
 }
+static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::AccessControlEntryPrivilegeEnum val)
+{
+    using EnumType = AccessControl::AccessControlEntryPrivilegeEnum;
+    switch (val)
+    {
+    case EnumType::kView:
+    case EnumType::kProxyView:
+    case EnumType::kOperate:
+    case EnumType::kManage:
+    case EnumType::kAdminister:
+        return val;
+    default:
+        return static_cast<EnumType>(0);
+    }
+}
 static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::ChangeTypeEnum val)
 {
     using EnumType = AccessControl::ChangeTypeEnum;
@@ -232,21 +247,6 @@
         return static_cast<EnumType>(3);
     }
 }
-static auto __attribute__((unused)) EnsureKnownEnumValue(AccessControl::Privilege val)
-{
-    using EnumType = AccessControl::Privilege;
-    switch (val)
-    {
-    case EnumType::kView:
-    case EnumType::kProxyView:
-    case EnumType::kOperate:
-    case EnumType::kManage:
-    case EnumType::kAdminister:
-        return val;
-    default:
-        return static_cast<EnumType>(0);
-    }
-}
 
 static auto __attribute__((unused)) EnsureKnownEnumValue(Actions::ActionErrorEnum val)
 {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
index aafc877..c29a4d42 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
@@ -245,8 +245,8 @@
 
 namespace AccessControl {
 
-// Enum for AuthMode
-enum class AuthMode : uint8_t
+// Enum for AccessControlEntryAuthModeEnum
+enum class AccessControlEntryAuthModeEnum : uint8_t
 {
     kPase             = 0x01,
     kCase             = 0x02,
@@ -254,6 +254,17 @@
     kUnknownEnumValue = 0,
 };
 
+// Enum for AccessControlEntryPrivilegeEnum
+enum class AccessControlEntryPrivilegeEnum : uint8_t
+{
+    kView             = 0x01,
+    kProxyView        = 0x02,
+    kOperate          = 0x03,
+    kManage           = 0x04,
+    kAdminister       = 0x05,
+    kUnknownEnumValue = 0,
+};
+
 // Enum for ChangeTypeEnum
 enum class ChangeTypeEnum : uint8_t
 {
@@ -262,17 +273,6 @@
     kRemoved          = 0x02,
     kUnknownEnumValue = 3,
 };
-
-// Enum for Privilege
-enum class Privilege : uint8_t
-{
-    kView             = 0x01,
-    kProxyView        = 0x02,
-    kOperate          = 0x03,
-    kManage           = 0x04,
-    kAdminister       = 0x05,
-    kUnknownEnumValue = 0,
-};
 } // namespace AccessControl
 
 namespace Actions {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
index 9d46f27..448310e 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
@@ -2819,7 +2819,7 @@
 }
 
 } // namespace Target
-namespace AccessControlEntry {
+namespace AccessControlEntryStruct {
 CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const
 {
     return DoEncode(writer, tag, NullOptional);
@@ -2900,8 +2900,8 @@
     return CHIP_NO_ERROR;
 }
 
-} // namespace AccessControlEntry
-namespace ExtensionEntry {
+} // namespace AccessControlEntryStruct
+namespace AccessControlExtensionStruct {
 CHIP_ERROR Type::EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag) const
 {
     return DoEncode(writer, tag, NullOptional);
@@ -2961,7 +2961,7 @@
     return CHIP_NO_ERROR;
 }
 
-} // namespace ExtensionEntry
+} // namespace AccessControlExtensionStruct
 } // namespace Structs
 
 namespace Commands {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index 8a8653e..f670799 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -3333,7 +3333,7 @@
 using DecodableType = Type;
 
 } // namespace Target
-namespace AccessControlEntry {
+namespace AccessControlEntryStruct {
 enum class Fields
 {
     kPrivilege   = 1,
@@ -3346,8 +3346,8 @@
 struct Type
 {
 public:
-    Privilege privilege = static_cast<Privilege>(0);
-    AuthMode authMode   = static_cast<AuthMode>(0);
+    AccessControlEntryPrivilegeEnum privilege = static_cast<AccessControlEntryPrivilegeEnum>(0);
+    AccessControlEntryAuthModeEnum authMode   = static_cast<AccessControlEntryAuthModeEnum>(0);
     DataModel::Nullable<DataModel::List<const uint64_t>> subjects;
     DataModel::Nullable<DataModel::List<const Structs::Target::Type>> targets;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
@@ -3368,8 +3368,8 @@
 struct DecodableType
 {
 public:
-    Privilege privilege = static_cast<Privilege>(0);
-    AuthMode authMode   = static_cast<AuthMode>(0);
+    AccessControlEntryPrivilegeEnum privilege = static_cast<AccessControlEntryPrivilegeEnum>(0);
+    AccessControlEntryAuthModeEnum authMode   = static_cast<AccessControlEntryAuthModeEnum>(0);
     DataModel::Nullable<DataModel::DecodableList<uint64_t>> subjects;
     DataModel::Nullable<DataModel::DecodableList<Structs::Target::DecodableType>> targets;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
@@ -3383,8 +3383,8 @@
     void SetFabricIndex(chip::FabricIndex fabricIndex_) { fabricIndex = fabricIndex_; }
 };
 
-} // namespace AccessControlEntry
-namespace ExtensionEntry {
+} // namespace AccessControlEntryStruct
+namespace AccessControlExtensionStruct {
 enum class Fields
 {
     kData        = 1,
@@ -3414,7 +3414,7 @@
 
 using DecodableType = Type;
 
-} // namespace ExtensionEntry
+} // namespace AccessControlExtensionStruct
 } // namespace Structs
 
 namespace Attributes {
@@ -3422,11 +3422,11 @@
 namespace Acl {
 struct TypeInfo
 {
-    using Type = chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>;
+    using Type = chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>;
     using DecodableType =
-        chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>;
-    using DecodableArgType =
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &;
+        chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>;
+    using DecodableArgType = const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> &;
 
     static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; }
     static constexpr AttributeId GetAttributeId() { return Attributes::Acl::Id; }
@@ -3436,11 +3436,11 @@
 namespace Extension {
 struct TypeInfo
 {
-    using Type = chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>;
-    using DecodableType =
-        chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>;
-    using DecodableArgType =
-        const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> &;
+    using Type = chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>;
+    using DecodableType = chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>;
+    using DecodableArgType = const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> &;
 
     static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; }
     static constexpr AttributeId GetAttributeId() { return Attributes::Extension::Id; }
@@ -3559,7 +3559,7 @@
     DataModel::Nullable<chip::NodeId> adminNodeID;
     DataModel::Nullable<uint16_t> adminPasscodeID;
     ChangeTypeEnum changeType = static_cast<ChangeTypeEnum>(0);
-    DataModel::Nullable<Structs::AccessControlEntry::Type> latestValue;
+    DataModel::Nullable<Structs::AccessControlEntryStruct::Type> latestValue;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
 
     auto GetFabricIndex() const { return fabricIndex; }
@@ -3577,7 +3577,7 @@
     DataModel::Nullable<chip::NodeId> adminNodeID;
     DataModel::Nullable<uint16_t> adminPasscodeID;
     ChangeTypeEnum changeType = static_cast<ChangeTypeEnum>(0);
-    DataModel::Nullable<Structs::AccessControlEntry::DecodableType> latestValue;
+    DataModel::Nullable<Structs::AccessControlEntryStruct::DecodableType> latestValue;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
 
     CHIP_ERROR Decode(TLV::TLVReader & reader);
@@ -3606,7 +3606,7 @@
     DataModel::Nullable<chip::NodeId> adminNodeID;
     DataModel::Nullable<uint16_t> adminPasscodeID;
     ChangeTypeEnum changeType = static_cast<ChangeTypeEnum>(0);
-    DataModel::Nullable<Structs::ExtensionEntry::Type> latestValue;
+    DataModel::Nullable<Structs::AccessControlExtensionStruct::Type> latestValue;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
 
     auto GetFabricIndex() const { return fabricIndex; }
@@ -3624,7 +3624,7 @@
     DataModel::Nullable<chip::NodeId> adminNodeID;
     DataModel::Nullable<uint16_t> adminPasscodeID;
     ChangeTypeEnum changeType = static_cast<ChangeTypeEnum>(0);
-    DataModel::Nullable<Structs::ExtensionEntry::DecodableType> latestValue;
+    DataModel::Nullable<Structs::AccessControlExtensionStruct::DecodableType> latestValue;
     chip::FabricIndex fabricIndex = static_cast<chip::FabricIndex>(0);
 
     CHIP_ERROR Decode(TLV::TLVReader & reader);
diff --git a/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h b/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
index 70ca3e8..62553f9 100644
--- a/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
@@ -41,11 +41,12 @@
                                                           const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
 typedef void (*AccessControlAclListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & data);
 typedef void (*AccessControlExtensionListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & data);
 typedef void (*AccessControlGeneratedCommandListListAttributeCallback)(
     void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
 typedef void (*AccessControlAcceptedCommandListListAttributeCallback)(
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index d91d452..845ea56 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -8860,10 +8860,10 @@
         make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig),            //
         make_unique<WriteAttribute<>>(Id, credsIssuerConfig),                                                              //
         make_unique<WriteAttributeAsComplex<
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>>>(
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>>>(
             Id, "acl", Attributes::Acl::Id, credsIssuerConfig), //
         make_unique<WriteAttributeAsComplex<
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>>>(
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>>>(
             Id, "extension", Attributes::Extension::Id, credsIssuerConfig),                             //
         make_unique<SubscribeAttribute>(Id, credsIssuerConfig),                                         //
         make_unique<SubscribeAttribute>(Id, "acl", Attributes::Acl::Id, credsIssuerConfig),             //
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
index 9ce2367..31abe5f 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
@@ -20,19 +20,19 @@
 #include <commands/clusters/ComplexArgument.h>
 
 CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
-                                        chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request,
+                                        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type & request,
                                         Json::Value & value)
 {
     VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
 
     ReturnErrorOnFailure(
-        ComplexArgumentParser::EnsureMemberExist("AccessControlEntry.privilege", "privilege", value.isMember("privilege")));
+        ComplexArgumentParser::EnsureMemberExist("AccessControlEntryStruct.privilege", "privilege", value.isMember("privilege")));
     ReturnErrorOnFailure(
-        ComplexArgumentParser::EnsureMemberExist("AccessControlEntry.authMode", "authMode", value.isMember("authMode")));
+        ComplexArgumentParser::EnsureMemberExist("AccessControlEntryStruct.authMode", "authMode", value.isMember("authMode")));
     ReturnErrorOnFailure(
-        ComplexArgumentParser::EnsureMemberExist("AccessControlEntry.subjects", "subjects", value.isMember("subjects")));
+        ComplexArgumentParser::EnsureMemberExist("AccessControlEntryStruct.subjects", "subjects", value.isMember("subjects")));
     ReturnErrorOnFailure(
-        ComplexArgumentParser::EnsureMemberExist("AccessControlEntry.targets", "targets", value.isMember("targets")));
+        ComplexArgumentParser::EnsureMemberExist("AccessControlEntryStruct.targets", "targets", value.isMember("targets")));
 
     char labelWithMember[kMaxLabelLength];
     snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "privilege");
@@ -56,7 +56,7 @@
     return CHIP_NO_ERROR;
 }
 
-void ComplexArgumentParser::Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request)
+void ComplexArgumentParser::Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type & request)
 {
     ComplexArgumentParser::Finalize(request.privilege);
     ComplexArgumentParser::Finalize(request.authMode);
@@ -64,6 +64,33 @@
     ComplexArgumentParser::Finalize(request.targets);
     ComplexArgumentParser::Finalize(request.fabricIndex);
 }
+CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
+                                        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type & request,
+                                        Json::Value & value)
+{
+    VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+    ReturnErrorOnFailure(
+        ComplexArgumentParser::EnsureMemberExist("AccessControlExtensionStruct.data", "data", value.isMember("data")));
+
+    char labelWithMember[kMaxLabelLength];
+    snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "data");
+    ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.data, value["data"]));
+
+    if (value.isMember("fabricIndex"))
+    {
+        snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "fabricIndex");
+        ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.fabricIndex, value["fabricIndex"]));
+    }
+
+    return CHIP_NO_ERROR;
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type & request)
+{
+    ComplexArgumentParser::Finalize(request.data);
+    ComplexArgumentParser::Finalize(request.fabricIndex);
+}
 CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Actions::Structs::ActionStruct::Type & request,
                                         Json::Value & value)
 {
@@ -636,32 +663,6 @@
     ComplexArgumentParser::Finalize(request.type);
     ComplexArgumentParser::Finalize(request.endpoints);
 }
-CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
-                                        chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request,
-                                        Json::Value & value)
-{
-    VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
-
-    ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ExtensionEntry.data", "data", value.isMember("data")));
-
-    char labelWithMember[kMaxLabelLength];
-    snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "data");
-    ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.data, value["data"]));
-
-    if (value.isMember("fabricIndex"))
-    {
-        snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "fabricIndex");
-        ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.fabricIndex, value["fabricIndex"]));
-    }
-
-    return CHIP_NO_ERROR;
-}
-
-void ComplexArgumentParser::Finalize(chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request)
-{
-    ComplexArgumentParser::Finalize(request.data);
-    ComplexArgumentParser::Finalize(request.fabricIndex);
-}
 CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::Type & request,
                                         Json::Value & value)
 {
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
index c67a763..84df4a8 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
@@ -22,10 +22,15 @@
 #include <app-common/zap-generated/cluster-objects.h>
 #include <lib/core/CHIPError.h>
 
-static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request,
+static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type & request,
                         Json::Value & value);
 
-static void Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request);
+static void Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type & request);
+static CHIP_ERROR Setup(const char * label,
+                        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type & request,
+                        Json::Value & value);
+
+static void Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type & request);
 static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Actions::Structs::ActionStruct::Type & request,
                         Json::Value & value);
 
@@ -104,10 +109,6 @@
                         Json::Value & value);
 
 static void Finalize(chip::app::Clusters::Actions::Structs::EndpointListStruct::Type & request);
-static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request,
-                        Json::Value & value);
-
-static void Finalize(chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request);
 static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::Type & request,
                         Json::Value & value);
 
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
index b97a368..15e1dc6 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
@@ -21,8 +21,9 @@
 
 using namespace chip::app::Clusters;
 
-CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
-                                     const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType & value)
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+                          const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType & value)
 {
     DataModelLogger::LogString(label, indent, "{");
     {
@@ -69,6 +70,31 @@
 
     return CHIP_NO_ERROR;
 }
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+                          const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType & value)
+{
+    DataModelLogger::LogString(label, indent, "{");
+    {
+        CHIP_ERROR err = LogValue("Data", indent + 1, value.data);
+        if (err != CHIP_NO_ERROR)
+        {
+            DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Data'");
+            return err;
+        }
+    }
+    {
+        CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex);
+        if (err != CHIP_NO_ERROR)
+        {
+            DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'");
+            return err;
+        }
+    }
+    DataModelLogger::LogString(indent, "}");
+
+    return CHIP_NO_ERROR;
+}
 CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
                                      const chip::app::Clusters::Actions::Structs::ActionStruct::DecodableType & value)
 {
@@ -635,30 +661,6 @@
     return CHIP_NO_ERROR;
 }
 CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
-                                     const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType & value)
-{
-    DataModelLogger::LogString(label, indent, "{");
-    {
-        CHIP_ERROR err = LogValue("Data", indent + 1, value.data);
-        if (err != CHIP_NO_ERROR)
-        {
-            DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Data'");
-            return err;
-        }
-    }
-    {
-        CHIP_ERROR err = LogValue("FabricIndex", indent + 1, value.fabricIndex);
-        if (err != CHIP_NO_ERROR)
-        {
-            DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'FabricIndex'");
-            return err;
-        }
-    }
-    DataModelLogger::LogString(indent, "}");
-
-    return CHIP_NO_ERROR;
-}
-CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
                                      const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::DecodableType & value)
 {
     DataModelLogger::LogString(label, indent, "{");
@@ -4701,13 +4703,16 @@
         switch (path.mAttributeId)
         {
         case AccessControl::Attributes::Acl::Id: {
-            chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+            chip::app::DataModel::DecodableList<
+                chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                 value;
             ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
             return DataModelLogger::LogValue("ACL", 1, value);
         }
         case AccessControl::Attributes::Extension::Id: {
-            chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> value;
+            chip::app::DataModel::DecodableList<
+                chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
+                value;
             ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
             return DataModelLogger::LogValue("Extension", 1, value);
         }
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
index 26136d4..1683e22 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
@@ -21,7 +21,9 @@
 #include <lib/core/CHIPError.h>
 
 static CHIP_ERROR LogValue(const char * label, size_t indent,
-                           const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType & value);
+                           const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType & value);
+static CHIP_ERROR LogValue(const char * label, size_t indent,
+                           const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType & value);
 static CHIP_ERROR LogValue(const char * label, size_t indent,
                            const chip::app::Clusters::Actions::Structs::ActionStruct::DecodableType & value);
 static CHIP_ERROR LogValue(const char * label, size_t indent,
@@ -62,8 +64,6 @@
 static CHIP_ERROR LogValue(const char * label, size_t indent,
                            const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value);
 static CHIP_ERROR LogValue(const char * label, size_t indent,
-                           const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType & value);
-static CHIP_ERROR LogValue(const char * label, size_t indent,
                            const chip::app::Clusters::Scenes::Structs::ExtensionFieldSet::DecodableType & value);
 static CHIP_ERROR LogValue(const char * label, size_t indent,
                            const chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::DecodableType & value);
diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h
index ee77f29..d6f7eef 100644
--- a/zzz_generated/chip-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h
@@ -616,7 +616,8 @@
         case 2:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -767,7 +768,8 @@
         case 4:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -794,7 +796,8 @@
         case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -815,7 +818,8 @@
         case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -836,7 +840,8 @@
         case 10:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -857,7 +862,8 @@
         case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -878,7 +884,8 @@
         case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -899,7 +906,8 @@
         case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -920,7 +928,8 @@
         case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -1071,7 +1080,8 @@
         case 20:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -1135,14 +1145,17 @@
         case 1: {
             LogStep(1, "Write entries");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(3);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(3);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNonNull();
 
@@ -1172,8 +1185,10 @@
                 }
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -1213,8 +1228,10 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                listHolder_0->mList[2].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[2].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[2].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[2].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[2].subjects.SetNonNull();
 
                 {
@@ -1254,7 +1271,7 @@
                 }
                 listHolder_0->mList[2].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 3);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1268,20 +1285,25 @@
         case 3: {
             LogStep(3, "Write entries empty lists");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 listHolder_0->mList[1].subjects.Value() = chip::app::DataModel::List<uint64_t>();
@@ -1291,7 +1313,7 @@
                     chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::Target::Type>();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1305,25 +1327,30 @@
         case 5: {
             LogStep(5, "Write entry invalid privilege");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1337,25 +1364,30 @@
         case 7: {
             LogStep(7, "Write entry invalid auth mode");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(1);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(1);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1369,20 +1401,25 @@
         case 9: {
             LogStep(9, "Write entry invalid subject");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -1394,7 +1431,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1408,20 +1445,25 @@
         case 11: {
             LogStep(11, "Write entry invalid target");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNonNull();
 
@@ -1439,7 +1481,7 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1453,20 +1495,25 @@
         case 13: {
             LogStep(13, "Write entry too many subjects");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -1497,7 +1544,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1511,20 +1558,25 @@
         case 15: {
             LogStep(15, "Write entry too many targets");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNonNull();
 
@@ -1638,7 +1690,7 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1652,14 +1704,17 @@
         case 17: {
             LogStep(17, "Write too many entries");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(4);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(4);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNonNull();
 
@@ -1689,8 +1744,10 @@
                 }
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -1730,8 +1787,10 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                listHolder_0->mList[2].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[2].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[2].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[2].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[2].subjects.SetNonNull();
 
                 {
@@ -1771,8 +1830,10 @@
                 }
                 listHolder_0->mList[2].fabricIndex = 0U;
 
-                listHolder_0->mList[3].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(1);
-                listHolder_0->mList[3].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[3].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(1);
+                listHolder_0->mList[3].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[3].subjects.SetNonNull();
 
                 {
@@ -1812,7 +1873,7 @@
                 }
                 listHolder_0->mList[3].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 4);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -1826,19 +1887,22 @@
         case 19: {
             LogStep(19, "Restore ACL");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -2319,7 +2383,8 @@
         case 2:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2334,7 +2399,8 @@
         case 4:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2354,7 +2420,8 @@
         case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2381,7 +2448,8 @@
         case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2432,7 +2500,8 @@
         case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2452,7 +2521,8 @@
         case 19:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
-                chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType>
+                chip::app::DataModel::DecodableList<
+                    chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType>
                     value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
                 {
@@ -2500,17 +2570,18 @@
                     "AccessControlExtensionStruct containing 1 element 1. struct: Data field: D_OK_EMPTY : 1718");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data =
                     mDOkEmpty.HasValue() ? mDOkEmpty.Value() : chip::ByteSpan(chip::Uint8::from_const_char("\x17\x18"), 2);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2530,10 +2601,11 @@
                     "17320612063686172737472696E670018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDOkSingle.HasValue()
@@ -2546,7 +2618,7 @@
                           71);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2567,10 +2639,11 @@
                     "C656D656E7420616761696E2E2E2E2E2E0018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDOkFull.HasValue()
@@ -2585,7 +2658,7 @@
                                      128);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2606,10 +2679,11 @@
                     "C656D656E7420616761696E2E2E2E2E2E2E0018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDBadLength.HasValue()
@@ -2624,7 +2698,7 @@
                                      129);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2636,17 +2710,18 @@
                     "AccessControlExtensionStruct containing 1 element 1. struct Data field: D_BAD_STRUCT : 1518");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data =
                     mDBadStruct.HasValue() ? mDBadStruct.Value() : chip::ByteSpan(chip::Uint8::from_const_char("\x15\x18"), 2);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2660,10 +2735,11 @@
                     "0617320612063686172737472696E670018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDBadList.HasValue()
@@ -2676,7 +2752,7 @@
                           72);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2690,10 +2766,11 @@
                     "86172737472696E670018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDBadElem.HasValue()
@@ -2705,7 +2782,7 @@
                                      65);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2719,10 +2796,11 @@
                     "7320612063686172737472696E670018FF");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDBadOverflow.HasValue()
@@ -2735,7 +2813,7 @@
                           72);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2749,10 +2827,11 @@
                     "17320612063686172737472696E6700");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data = mDBadUnderflow.HasValue()
@@ -2765,7 +2844,7 @@
                           70);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2777,17 +2856,18 @@
                     "AccessControlExtensionStruct containing 1 element 1.struct Data field: D_BAD_NONE");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data =
                     mDBadNone.HasValue() ? mDBadNone.Value() : chip::ByteSpan(chip::Uint8::from_const_char(""), 0);
                 listHolder_0->mList[0].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2803,10 +2883,11 @@
                 "612063686172737472696E670018");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
                 listHolder_0->mList[0].data =
@@ -2823,7 +2904,7 @@
                           71);
                 listHolder_0->mList[1].fabricIndex = CurrentFabricIndex;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
@@ -2839,9 +2920,9 @@
             LogStep(18, "TH1 writes DUT Endpoint 0 AccessControl cluster Extension attribute, value is an empty list");
             VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> value;
 
-            value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>();
+            value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>();
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Extension::Id,
                                   value, chip::NullOptional, chip::NullOptional);
         }
@@ -29867,14 +29948,17 @@
         case 4: {
             LogStep(4, "Install ACL for QueryImage");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -29886,8 +29970,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNonNull();
 
@@ -29906,7 +29992,7 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64758,14 +64844,17 @@
         case 1: {
             LogStep(1, "Constraint error: PASE reserved for future (TC-ACL-2.4 step 29)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64777,15 +64866,17 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(1);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(1);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 listHolder_0->mList[1].subjects.Value() = chip::app::DataModel::List<uint64_t>();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64794,14 +64885,17 @@
         case 2: {
             LogStep(2, "Constraint error: Invalid combination administer + group (TC-ACL-2.4 step 31)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64813,15 +64907,17 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 listHolder_0->mList[1].subjects.Value() = chip::app::DataModel::List<uint64_t>();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64830,14 +64926,17 @@
         case 3: {
             LogStep(3, "Constraint error:  Invalid auth mode (TC-ACL-2.4 step 33)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64849,15 +64948,17 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(4);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(4);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 listHolder_0->mList[1].subjects.Value() = chip::app::DataModel::List<uint64_t>();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64866,14 +64967,17 @@
         case 4: {
             LogStep(4, "Constraint error:  Invalid subject (TC-ACL-2.4 step 34)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64885,8 +64989,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -64898,7 +65004,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64907,14 +65013,17 @@
         case 5: {
             LogStep(5, "Constraint error:  Invalid target (TC-ACL-2.4 step 38)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64926,8 +65035,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNonNull();
 
@@ -64945,7 +65056,7 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -64954,14 +65065,17 @@
         case 6: {
             LogStep(6, "Constraint error:  target has both endpoint and device type (TC-ACL-2.4 step 42)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -64973,8 +65087,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNonNull();
 
@@ -64994,7 +65110,7 @@
                 }
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -65003,14 +65119,17 @@
         case 7: {
             LogStep(7, "Constraint error: Invalid privilege value step 32)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -65022,13 +65141,15 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(6);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(6);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -65037,14 +65158,17 @@
         case 8: {
             LogStep(8, "Constraint error: invalid subject 0xFFFF_FFFF_FFFF_FFFF (TC-ACL-2.4 step 35)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -65056,8 +65180,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -65069,7 +65195,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -65078,14 +65204,17 @@
         case 9: {
             LogStep(9, "Constraint error: invalid subject 0xFFFF_FFFD_0000_0000 (TC-ACL-2.4 step 36)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -65097,8 +65226,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -65110,7 +65241,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -65119,14 +65250,17 @@
         case 10: {
             LogStep(10, "Constraint error: invalid subject 0xFFFF_FFFF_FFFF_0000 (TC-ACL-2.4 step 37)");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNonNull();
 
                 {
@@ -65138,8 +65272,10 @@
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -65151,7 +65287,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -77531,25 +77667,30 @@
         case 6: {
             LogStep(6, "Install ACLs");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(4);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(4);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -77632,19 +77773,22 @@
         case 19: {
             LogStep(19, "Cleanup ACLs");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -77792,25 +77936,30 @@
         case 28: {
             LogStep(28, "Install ACLs for gamma");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(4);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(4);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[1].subjects.SetNull();
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityGamma, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -77885,19 +78034,22 @@
         case 40: {
             LogStep(40, "Cleanup ACLs for gamma");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(1);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(1);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 0U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 1);
             }
             return WriteAttribute(kIdentityGamma, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
@@ -81706,20 +81858,25 @@
         case 4: {
             LogStep(4, "Install ACLs");
             ListFreer listFreer;
-            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> value;
+            chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
             {
-                auto * listHolder_0 = new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(2);
+                auto * listHolder_0 =
+                    new ListHolder<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(2);
                 listFreer.add(listHolder_0);
 
-                listHolder_0->mList[0].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(5);
-                listHolder_0->mList[0].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(2);
+                listHolder_0->mList[0].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(5);
+                listHolder_0->mList[0].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(2);
                 listHolder_0->mList[0].subjects.SetNull();
                 listHolder_0->mList[0].targets.SetNull();
                 listHolder_0->mList[0].fabricIndex = 1U;
 
-                listHolder_0->mList[1].privilege = static_cast<chip::app::Clusters::AccessControl::Privilege>(3);
-                listHolder_0->mList[1].authMode  = static_cast<chip::app::Clusters::AccessControl::AuthMode>(3);
+                listHolder_0->mList[1].privilege =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryPrivilegeEnum>(3);
+                listHolder_0->mList[1].authMode =
+                    static_cast<chip::app::Clusters::AccessControl::AccessControlEntryAuthModeEnum>(3);
                 listHolder_0->mList[1].subjects.SetNonNull();
 
                 {
@@ -81731,7 +81888,7 @@
                 listHolder_0->mList[1].targets.SetNull();
                 listHolder_0->mList[1].fabricIndex = 1U;
 
-                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>(
+                value = chip::app::DataModel::List<chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>(
                     listHolder_0->mList, 2);
             }
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h
index b901165..af6596c 100644
--- a/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/controller-clusters/zap-generated/CHIPClientCallbacks.h
@@ -98,11 +98,12 @@
                                                           const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
 typedef void (*AccessControlAclListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & data);
 typedef void (*AccessControlExtensionListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & data);
 typedef void (*AccessControlGeneratedCommandListListAttributeCallback)(
     void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
 typedef void (*AccessControlAcceptedCommandListListAttributeCallback)(
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
index 2a0512d..7bb0ef4 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -8958,8 +8958,8 @@
         { // Scope for our temporary variables
             auto * array_0 = [NSMutableArray new];
             for (auto & entry_0 : mValue) {
-                MTRAccessControlClusterAccessControlEntry * newElement_0;
-                newElement_0 = [MTRAccessControlClusterAccessControlEntry new];
+                MTRAccessControlClusterAccessControlEntryStruct * newElement_0;
+                newElement_0 = [MTRAccessControlClusterAccessControlEntryStruct new];
                 newElement_0.privilege = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.privilege)];
                 newElement_0.authMode = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0.authMode)];
                 if (entry_0.subjects.IsNull()) {
@@ -9021,8 +9021,9 @@
     }
 
 private:
-    chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type> mValue;
-    TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type>>
+    chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> mValue;
+    TypedComplexArgument<
+        chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type>>
         mComplex;
 };
 
@@ -9129,8 +9130,8 @@
         { // Scope for our temporary variables
             auto * array_0 = [NSMutableArray new];
             for (auto & entry_0 : mValue) {
-                MTRAccessControlClusterExtensionEntry * newElement_0;
-                newElement_0 = [MTRAccessControlClusterExtensionEntry new];
+                MTRAccessControlClusterAccessControlExtensionStruct * newElement_0;
+                newElement_0 = [MTRAccessControlClusterAccessControlExtensionStruct new];
                 newElement_0.data = [NSData dataWithBytes:entry_0.data.data() length:entry_0.data.size()];
                 newElement_0.fabricIndex = [NSNumber numberWithUnsignedChar:entry_0.fabricIndex];
                 [array_0 addObject:newElement_0];
@@ -9150,8 +9151,9 @@
     }
 
 private:
-    chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type> mValue;
-    TypedComplexArgument<chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type>>
+    chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type> mValue;
+    TypedComplexArgument<
+        chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::Type>>
         mComplex;
 };
 
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
index 2e1b2f1..6e59873 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -503,10 +503,10 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -524,20 +524,20 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:3U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:4ULL];
                 temp_3[1] = [NSNumber numberWithUnsignedLongLong:5ULL];
                 temp_3[2] = [NSNumber numberWithUnsignedLongLong:6ULL];
                 temp_3[3] = [NSNumber numberWithUnsignedLongLong:7ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
@@ -556,20 +556,20 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:11U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[2] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).authMode = [NSNumber numberWithUnsignedChar:3U];
+            temp_0[2] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).authMode = [NSNumber numberWithUnsignedChar:3U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:12ULL];
                 temp_3[1] = [NSNumber numberWithUnsignedLongLong:13ULL];
                 temp_3[2] = [NSNumber numberWithUnsignedLongLong:14ULL];
                 temp_3[3] = [NSNumber numberWithUnsignedLongLong:15ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
@@ -588,9 +588,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:19U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -615,287 +615,288 @@
 
         __auto_type * params = [[MTRReadParams alloc] init];
         params.filterByFabric = true;
-        [cluster readAttributeACLWithParams:params
-                                 completion:^(NSArray * _Nullable value, NSError * _Nullable err) {
-                                     NSLog(@"Verify Error: %@", err);
+        [cluster
+            readAttributeACLWithParams:params
+                            completion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+                                NSLog(@"Verify Error: %@", err);
 
-                                     VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+                                VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
-                                     {
-                                         id actualValue = value;
-                                         VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             0U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .cluster,
-                                             1UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .cluster,
-                                             2UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             3U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).privilege, 1U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects));
-                                         VerifyOrReturn(CheckValue("Subjects",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects count],
-                                             static_cast<uint32_t>(4)));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[0], 4ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[1], 5ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[2], 6ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[3], 7ULL));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             8U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .cluster,
-                                             9UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .cluster,
-                                             10UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             11U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).fabricIndex, 1U));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).privilege, 3U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).authMode, 3U));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects));
-                                         VerifyOrReturn(CheckValue("Subjects",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects count],
-                                             static_cast<uint32_t>(4)));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[0], 12ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[1], 13ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[2], 14ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[3], 15ULL));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             16U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .cluster,
-                                             17UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .cluster,
-                                             18UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             19U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).fabricIndex, 1U));
-                                     }
+                                {
+                                    id actualValue = value;
+                                    VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                    VerifyOrReturn(CheckValueNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .endpoint,
+                                        0U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .cluster,
+                                        1UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .cluster,
+                                        2UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .endpoint,
+                                        3U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).privilege, 1U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).authMode, 2U));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects));
+                                    VerifyOrReturn(CheckValue("Subjects",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects count],
+                                        static_cast<uint32_t>(4)));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[0], 4ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[1], 5ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[2], 6ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[3], 7ULL));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .endpoint,
+                                        8U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .cluster,
+                                        9UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .cluster,
+                                        10UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .endpoint,
+                                        11U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).fabricIndex, 1U));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).privilege, 3U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).authMode, 3U));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects));
+                                    VerifyOrReturn(CheckValue("Subjects",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects count],
+                                        static_cast<uint32_t>(4)));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[0], 12ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[1], 13ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[2], 14ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[3], 15ULL));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .endpoint,
+                                        16U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .cluster,
+                                        17UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .cluster,
+                                        18UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .endpoint,
+                                        19U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).fabricIndex, 1U));
+                                }
 
-                                     NextTest();
-                                 }];
+                                NextTest();
+                            }];
 
         return CHIP_NO_ERROR;
     }
@@ -910,25 +911,25 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -963,25 +964,25 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(2)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).privilege, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).privilege, 1U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1000,19 +1001,19 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1050,15 +1051,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1077,19 +1078,19 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1127,15 +1128,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1154,23 +1155,23 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:0ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1208,15 +1209,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1235,17 +1236,17 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -1253,9 +1254,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[0]).endpoint = nil;
                 ((MTRAccessControlClusterTarget *) temp_3[0]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1293,15 +1294,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1320,16 +1321,16 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:1ULL];
@@ -1352,10 +1353,10 @@
                 temp_3[17] = [NSNumber numberWithUnsignedLongLong:18ULL];
                 temp_3[18] = [NSNumber numberWithUnsignedLongLong:19ULL];
                 temp_3[19] = [NSNumber numberWithUnsignedLongLong:20ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1393,15 +1394,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1420,17 +1421,17 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -1533,9 +1534,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[19]).endpoint = [NSNumber numberWithUnsignedShort:20U];
                 ((MTRAccessControlClusterTarget *) temp_3[19]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1573,15 +1574,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -1600,10 +1601,10 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -1621,20 +1622,20 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:3U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:4ULL];
                 temp_3[1] = [NSNumber numberWithUnsignedLongLong:5ULL];
                 temp_3[2] = [NSNumber numberWithUnsignedLongLong:6ULL];
                 temp_3[3] = [NSNumber numberWithUnsignedLongLong:7ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
@@ -1653,20 +1654,20 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:11U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[2] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).authMode = [NSNumber numberWithUnsignedChar:3U];
+            temp_0[2] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).authMode = [NSNumber numberWithUnsignedChar:3U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:12ULL];
                 temp_3[1] = [NSNumber numberWithUnsignedLongLong:13ULL];
                 temp_3[2] = [NSNumber numberWithUnsignedLongLong:14ULL];
                 temp_3[3] = [NSNumber numberWithUnsignedLongLong:15ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
@@ -1685,20 +1686,20 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:19U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[2]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[2]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
-            temp_0[3] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[3]).privilege = [NSNumber numberWithUnsignedChar:1U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[3]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[3] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[3]).privilege = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[3]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:20ULL];
                 temp_3[1] = [NSNumber numberWithUnsignedLongLong:21ULL];
                 temp_3[2] = [NSNumber numberWithUnsignedLongLong:22ULL];
                 temp_3[3] = [NSNumber numberWithUnsignedLongLong:23ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[3]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[3]).subjects = temp_3;
             }
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
@@ -1717,9 +1718,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[2]).endpoint = [NSNumber numberWithUnsignedShort:27U];
                 ((MTRAccessControlClusterTarget *) temp_3[2]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[3]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[3]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[3]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[3]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -1747,287 +1748,288 @@
 
         __auto_type * params = [[MTRReadParams alloc] init];
         params.filterByFabric = true;
-        [cluster readAttributeACLWithParams:params
-                                 completion:^(NSArray * _Nullable value, NSError * _Nullable err) {
-                                     NSLog(@"Verify Error: %@", err);
+        [cluster
+            readAttributeACLWithParams:params
+                            completion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+                                NSLog(@"Verify Error: %@", err);
 
-                                     VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+                                VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
-                                     {
-                                         id actualValue = value;
-                                         VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             0U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .cluster,
-                                             1UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .cluster,
-                                             2UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             3U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[0])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).privilege, 1U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects));
-                                         VerifyOrReturn(CheckValue("Subjects",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects count],
-                                             static_cast<uint32_t>(4)));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[0], 4ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[1], 5ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[2], 6ULL));
-                                         VerifyOrReturn(CheckValue(
-                                             "", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).subjects[3], 7ULL));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             8U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .cluster,
-                                             9UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .cluster,
-                                             10UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             11U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[1])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[1]).fabricIndex, 1U));
-                                         VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).privilege, 3U));
-                                         VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).authMode, 3U));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects));
-                                         VerifyOrReturn(CheckValue("Subjects",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects count],
-                                             static_cast<uint32_t>(4)));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[0], 12ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[1], 13ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[2], 14ULL));
-                                         VerifyOrReturn(CheckValue("",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).subjects[3], 15ULL));
-                                         VerifyOrReturn(CheckValueNonNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).targets));
-                                         VerifyOrReturn(CheckValue("Targets",
-                                             [((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).targets count],
-                                             static_cast<uint32_t>(3)));
-                                         VerifyOrReturn(CheckValueNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .endpoint,
-                                             16U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[0])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .cluster,
-                                             17UL));
-                                         VerifyOrReturn(CheckValueNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[1])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValueNonNull("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .cluster));
-                                         VerifyOrReturn(CheckValue("Cluster",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .cluster,
-                                             18UL));
-                                         VerifyOrReturn(CheckValueNonNull("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .endpoint));
-                                         VerifyOrReturn(CheckValue("Endpoint",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .endpoint,
-                                             19U));
-                                         VerifyOrReturn(CheckValueNull("DeviceType",
-                                             ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntry *)
-                                                                                     actualValue[2])
-                                                     .targets[2])
-                                                 .deviceType));
-                                         VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[2]).fabricIndex, 1U));
-                                     }
+                                {
+                                    id actualValue = value;
+                                    VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                    VerifyOrReturn(CheckValueNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .endpoint,
+                                        0U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .cluster,
+                                        1UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .cluster,
+                                        2UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .endpoint,
+                                        3U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[0])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).privilege, 1U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).authMode, 2U));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects));
+                                    VerifyOrReturn(CheckValue("Subjects",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects count],
+                                        static_cast<uint32_t>(4)));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[0], 4ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[1], 5ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[2], 6ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).subjects[3], 7ULL));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .endpoint,
+                                        8U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .cluster,
+                                        9UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .cluster,
+                                        10UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .endpoint,
+                                        11U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[1])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[1]).fabricIndex, 1U));
+                                    VerifyOrReturn(CheckValue("Privilege",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).privilege, 3U));
+                                    VerifyOrReturn(CheckValue("AuthMode",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).authMode, 3U));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Subjects", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects));
+                                    VerifyOrReturn(CheckValue("Subjects",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects count],
+                                        static_cast<uint32_t>(4)));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[0], 12ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[1], 13ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[2], 14ULL));
+                                    VerifyOrReturn(CheckValue("",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).subjects[3], 15ULL));
+                                    VerifyOrReturn(CheckValueNonNull(
+                                        "Targets", ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).targets));
+                                    VerifyOrReturn(CheckValue("Targets",
+                                        [((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).targets count],
+                                        static_cast<uint32_t>(3)));
+                                    VerifyOrReturn(CheckValueNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .endpoint,
+                                        16U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[0])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .cluster,
+                                        17UL));
+                                    VerifyOrReturn(CheckValueNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[1])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValueNonNull("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .cluster));
+                                    VerifyOrReturn(CheckValue("Cluster",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .cluster,
+                                        18UL));
+                                    VerifyOrReturn(CheckValueNonNull("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .endpoint));
+                                    VerifyOrReturn(CheckValue("Endpoint",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .endpoint,
+                                        19U));
+                                    VerifyOrReturn(CheckValueNull("DeviceType",
+                                        ((MTRAccessControlClusterTarget *) ((MTRAccessControlClusterAccessControlEntryStruct *)
+                                                                                actualValue[2])
+                                                .targets[2])
+                                            .deviceType));
+                                    VerifyOrReturn(CheckValue("FabricIndex",
+                                        ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[2]).fabricIndex, 1U));
+                                }
 
-                                     NextTest();
-                                 }];
+                                NextTest();
+                            }];
 
         return CHIP_NO_ERROR;
     }
@@ -2042,12 +2044,12 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:0U];
 
             aclArgument = temp_0;
         }
@@ -2082,15 +2084,15 @@
                                          id actualValue = value;
                                          VerifyOrReturn(CheckValue("ACL", [actualValue count], static_cast<uint32_t>(1)));
                                          VerifyOrReturn(CheckValue("Privilege",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).privilege, 5U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).privilege, 5U));
                                          VerifyOrReturn(CheckValue("AuthMode",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).authMode, 2U));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Subjects", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).subjects));
-                                         VerifyOrReturn(CheckValueNull(
-                                             "Targets", ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).targets));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).authMode, 2U));
+                                         VerifyOrReturn(CheckValueNull("Subjects",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).subjects));
+                                         VerifyOrReturn(CheckValueNull("Targets",
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).targets));
                                          VerifyOrReturn(CheckValue("FabricIndex",
-                                             ((MTRAccessControlClusterAccessControlEntry *) actualValue[0]).fabricIndex, 1U));
+                                             ((MTRAccessControlClusterAccessControlEntryStruct *) actualValue[0]).fabricIndex, 1U));
                                      }
 
                                      NextTest();
@@ -3174,11 +3176,11 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDOkEmpty.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDOkEmpty.HasValue()
                 ? [NSData dataWithBytes:mDOkEmpty.Value().data() length:mDOkEmpty.Value().size()]
                 : [[NSData alloc] initWithBytes:"\x17\x18" length:2];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3217,14 +3219,14 @@
                                           id actualValue = value;
                                           VerifyOrReturn(CheckValue("Extension", [actualValue count], static_cast<uint32_t>(1)));
                                           VerifyOrReturn(CheckValueAsString(
-                                              "Data", ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).data,
+                                              "Data", ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).data,
                                               mDOkEmpty.HasValue() ? [NSData dataWithBytes:mDOkEmpty.Value().data()
                                                                                     length:mDOkEmpty.Value().size()]
                                                                    : [[NSData alloc] initWithBytes:"\x17\x18" length:2]
 
                                               ));
                                           VerifyOrReturn(CheckValue("FabricIndex",
-                                              ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).fabricIndex,
+                                              ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).fabricIndex,
                                               CurrentFabricIndex));
                                       }
 
@@ -3245,15 +3247,15 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDOkSingle.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDOkSingle.HasValue()
                 ? [NSData dataWithBytes:mDOkSingle.Value().data() length:mDOkSingle.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x17\xD0\x00\x00\xF1\xFF\x01\x00\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68"
                                   "\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x6C"
                                   "\x69\x76\x69\x6E\x67\x20\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00\x18"
                            length:71];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3295,7 +3297,7 @@
                                           id actualValue = value;
                                           VerifyOrReturn(CheckValue("Extension", [actualValue count], static_cast<uint32_t>(1)));
                                           VerifyOrReturn(CheckValueAsString(
-                                              "Data", ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).data,
+                                              "Data", ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).data,
                                               mDOkSingle.HasValue()
                                                   ? [NSData dataWithBytes:mDOkSingle.Value().data()
                                                                    length:mDOkSingle.Value().size()]
@@ -3309,7 +3311,7 @@
 
                                               ));
                                           VerifyOrReturn(CheckValue("FabricIndex",
-                                              ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).fabricIndex,
+                                              ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).fabricIndex,
                                               CurrentFabricIndex));
                                       }
 
@@ -3330,8 +3332,8 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDOkFull.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDOkFull.HasValue()
                 ? [NSData dataWithBytes:mDOkFull.Value().data() length:mDOkFull.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:
@@ -3341,7 +3343,7 @@
                         "\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E"
                         "\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x61\x67\x61\x69\x6E\x2E\x2E\x2E\x2E\x2E\x00\x18"
                            length:128];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3384,7 +3386,7 @@
                                           id actualValue = value;
                                           VerifyOrReturn(CheckValue("Extension", [actualValue count], static_cast<uint32_t>(1)));
                                           VerifyOrReturn(CheckValueAsString(
-                                              "Data", ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).data,
+                                              "Data", ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).data,
                                               mDOkFull.HasValue()
                                                   ? [NSData dataWithBytes:mDOkFull.Value().data() length:mDOkFull.Value().size()]
                                                   : [[NSData alloc]
@@ -3401,7 +3403,7 @@
 
                                               ));
                                           VerifyOrReturn(CheckValue("FabricIndex",
-                                              ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).fabricIndex,
+                                              ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).fabricIndex,
                                               CurrentFabricIndex));
                                       }
 
@@ -3422,8 +3424,8 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadLength.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadLength.HasValue()
                 ? [NSData dataWithBytes:mDBadLength.Value().data() length:mDBadLength.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:
@@ -3433,7 +3435,7 @@
                         "\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E"
                         "\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x61\x67\x61\x69\x6E\x2E\x2E\x2E\x2E\x2E\x2E\x00\x18"
                            length:129];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3471,11 +3473,11 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadStruct.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadStruct.HasValue()
                 ? [NSData dataWithBytes:mDBadStruct.Value().data() length:mDBadStruct.Value().size()]
                 : [[NSData alloc] initWithBytes:"\x15\x18" length:2];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3509,15 +3511,15 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadList.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadList.HasValue()
                 ? [NSData dataWithBytes:mDBadList.Value().data() length:mDBadList.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x37\x01\xD0\x00\x00\xF1\xFF\x01\x00\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54"
                                   "\x68\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20"
                                   "\x6C\x69\x76\x69\x6E\x67\x20\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00\x18"
                            length:72];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3553,15 +3555,15 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadElem.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadElem.HasValue()
                 ? [NSData dataWithBytes:mDBadElem.Value().data() length:mDBadElem.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x17\x10\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68\x69\x73\x20\x69\x73\x20"
                                   "\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x6C\x69\x76\x69\x6E\x67\x20"
                                   "\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00\x18"
                            length:65];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3597,15 +3599,15 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadOverflow.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadOverflow.HasValue()
                 ? [NSData dataWithBytes:mDBadOverflow.Value().data() length:mDBadOverflow.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x17\xD0\x00\x00\xF1\xFF\x01\x00\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68"
                                   "\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x6C"
                                   "\x69\x76\x69\x6E\x67\x20\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00\x18\xFF"
                            length:72];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3641,15 +3643,15 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadUnderflow.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadUnderflow.HasValue()
                 ? [NSData dataWithBytes:mDBadUnderflow.Value().data() length:mDBadUnderflow.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x17\xD0\x00\x00\xF1\xFF\x01\x00\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68"
                                   "\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x6C"
                                   "\x69\x76\x69\x6E\x67\x20\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00"
                            length:70];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3685,11 +3687,11 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDBadNone.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDBadNone.HasValue()
                 ? [NSData dataWithBytes:mDBadNone.Value().data() length:mDBadNone.Value().size()]
                 : [[NSData alloc] initWithBytes:"" length:0];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3723,21 +3725,21 @@
         id extensionArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).data = mDOkEmpty.HasValue()
+            temp_0[0] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).data = mDOkEmpty.HasValue()
                 ? [NSData dataWithBytes:mDOkEmpty.Value().data() length:mDOkEmpty.Value().size()]
                 : [[NSData alloc] initWithBytes:"\x17\x18" length:2];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[0]).fabricIndex = [CurrentFabricIndex copy];
 
-            temp_0[1] = [[MTRAccessControlClusterExtensionEntry alloc] init];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[1]).data = mDOkSingle.HasValue()
+            temp_0[1] = [[MTRAccessControlClusterAccessControlExtensionStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[1]).data = mDOkSingle.HasValue()
                 ? [NSData dataWithBytes:mDOkSingle.Value().data() length:mDOkSingle.Value().size()]
                 : [[NSData alloc]
                     initWithBytes:"\x17\xD0\x00\x00\xF1\xFF\x01\x00\x3D\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x2E\x20\x54\x68"
                                   "\x69\x73\x20\x69\x73\x20\x61\x20\x73\x69\x6E\x67\x6C\x65\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x6C"
                                   "\x69\x76\x69\x6E\x67\x20\x61\x73\x20\x61\x20\x63\x68\x61\x72\x73\x74\x72\x69\x6E\x67\x00\x18"
                            length:71];
-            ((MTRAccessControlClusterExtensionEntry *) temp_0[1]).fabricIndex = [CurrentFabricIndex copy];
+            ((MTRAccessControlClusterAccessControlExtensionStruct *) temp_0[1]).fabricIndex = [CurrentFabricIndex copy];
 
             extensionArgument = temp_0;
         }
@@ -3783,14 +3785,14 @@
                                           id actualValue = value;
                                           VerifyOrReturn(CheckValue("Extension", [actualValue count], static_cast<uint32_t>(1)));
                                           VerifyOrReturn(CheckValueAsString(
-                                              "Data", ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).data,
+                                              "Data", ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).data,
                                               mDOkEmpty.HasValue() ? [NSData dataWithBytes:mDOkEmpty.Value().data()
                                                                                     length:mDOkEmpty.Value().size()]
                                                                    : [[NSData alloc] initWithBytes:"\x17\x18" length:2]
 
                                               ));
                                           VerifyOrReturn(CheckValue("FabricIndex",
-                                              ((MTRAccessControlClusterExtensionEntry *) actualValue[0]).fabricIndex,
+                                              ((MTRAccessControlClusterAccessControlExtensionStruct *) actualValue[0]).fabricIndex,
                                               CurrentFabricIndex));
                                       }
 
@@ -45182,21 +45184,21 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -45204,9 +45206,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[0]).endpoint = nil;
                 ((MTRAccessControlClusterTarget *) temp_3[0]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101341,26 +101343,26 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:1U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:1U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101389,26 +101391,26 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:3U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:3U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101439,26 +101441,26 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:4U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:4U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101487,27 +101489,27 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:0ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101536,21 +101538,21 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -101558,9 +101560,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[0]).endpoint = nil;
                 ((MTRAccessControlClusterTarget *) temp_3[0]).deviceType = nil;
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101589,21 +101591,21 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [[MTRAccessControlClusterTarget alloc] init];
@@ -101611,9 +101613,9 @@
                 ((MTRAccessControlClusterTarget *) temp_3[0]).endpoint = [NSNumber numberWithUnsignedShort:22U];
                 ((MTRAccessControlClusterTarget *) temp_3[0]).deviceType = [NSNumber numberWithUnsignedInt:33UL];
 
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101644,23 +101646,23 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:6U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:6U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101689,27 +101691,27 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:18446744073709551615ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101740,27 +101742,27 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:18446744060824649728ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
@@ -101791,27 +101793,27 @@
         id aclArgument;
         {
             NSMutableArray * temp_0 = [[NSMutableArray alloc] init];
-            temp_0[0] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[0] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).privilege = [NSNumber numberWithUnsignedChar:5U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:112233ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[0]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
-            temp_0[1] = [[MTRAccessControlClusterAccessControlEntry alloc] init];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
+            temp_0[1] = [[MTRAccessControlClusterAccessControlEntryStruct alloc] init];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).privilege = [NSNumber numberWithUnsignedChar:3U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).authMode = [NSNumber numberWithUnsignedChar:2U];
             {
                 NSMutableArray * temp_3 = [[NSMutableArray alloc] init];
                 temp_3[0] = [NSNumber numberWithUnsignedLongLong:18446744073709486080ULL];
-                ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).subjects = temp_3;
+                ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).subjects = temp_3;
             }
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).targets = nil;
-            ((MTRAccessControlClusterAccessControlEntry *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).targets = nil;
+            ((MTRAccessControlClusterAccessControlEntryStruct *) temp_0[1]).fabricIndex = [NSNumber numberWithUnsignedChar:1U];
 
             aclArgument = temp_0;
         }
diff --git a/zzz_generated/dynamic-bridge-app/zap-generated/CHIPClientCallbacks.h b/zzz_generated/dynamic-bridge-app/zap-generated/CHIPClientCallbacks.h
index 70ca3e8..62553f9 100644
--- a/zzz_generated/dynamic-bridge-app/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/dynamic-bridge-app/zap-generated/CHIPClientCallbacks.h
@@ -41,11 +41,12 @@
                                                           const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
 typedef void (*AccessControlAclListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & data);
 typedef void (*AccessControlExtensionListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & data);
 typedef void (*AccessControlGeneratedCommandListListAttributeCallback)(
     void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
 typedef void (*AccessControlAcceptedCommandListListAttributeCallback)(
diff --git a/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h b/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
index 8c19024..88ed157 100644
--- a/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
@@ -32,10 +32,11 @@
 // List specific responses
 typedef void (*AccessControlAclListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
-        data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::DecodableType> & data);
 typedef void (*AccessControlExtensionListAttributeCallback)(
     void * context,
-    const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+    const chip::app::DataModel::DecodableList<
+        chip::app::Clusters::AccessControl::Structs::AccessControlExtensionStruct::DecodableType> & data);
 typedef void (*AccessControlAttributeListListAttributeCallback)(
     void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);