@pnp/cli-microsoft365 5.9.0-beta.fd6d022 → 6.0.0-beta.01ba480

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/.eslintrc.js +17 -2
  2. package/README.md +5 -0
  3. package/dist/Auth.js +1 -2
  4. package/dist/Command.js +16 -2
  5. package/dist/appInsights.js +2 -0
  6. package/dist/m365/aad/commands/app/app-add.js +40 -17
  7. package/dist/m365/aad/commands/app/app-remove.js +0 -4
  8. package/dist/m365/aad/commands/app/app-role-remove.js +0 -4
  9. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +11 -11
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +10 -10
  11. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +10 -10
  12. package/dist/m365/aad/commands/o365group/o365group-add.js +2 -7
  13. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +6 -6
  14. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +0 -3
  15. package/dist/m365/aad/commands/o365group/o365group-teamify.js +7 -7
  16. package/dist/m365/aad/commands/policy/policy-list.js +6 -6
  17. package/dist/m365/aad/commands/sp/sp-get.js +12 -12
  18. package/dist/m365/aad/commands/user/user-guest-add.js +103 -0
  19. package/dist/m365/aad/commands.js +1 -3
  20. package/dist/m365/cli/commands/config/config-set.js +0 -1
  21. package/dist/m365/commands/status.js +6 -1
  22. package/dist/m365/flow/commands/flow-disable.js +2 -2
  23. package/dist/m365/flow/commands/flow-enable.js +2 -2
  24. package/dist/m365/flow/commands/flow-export.js +5 -5
  25. package/dist/m365/flow/commands/flow-get.js +2 -2
  26. package/dist/m365/flow/commands/flow-list.js +2 -2
  27. package/dist/m365/flow/commands/flow-remove.js +3 -3
  28. package/dist/m365/flow/commands/run/run-cancel.js +6 -6
  29. package/dist/m365/flow/commands/run/run-get.js +4 -4
  30. package/dist/m365/flow/commands/run/run-list.js +4 -4
  31. package/dist/m365/flow/commands/run/run-resubmit.js +7 -7
  32. package/dist/m365/outlook/commands/mail/mail-send.js +55 -34
  33. package/dist/m365/outlook/commands/message/message-get.js +97 -0
  34. package/dist/m365/outlook/commands/message/message-move.js +2 -2
  35. package/dist/m365/outlook/commands.js +2 -2
  36. package/dist/m365/pa/commands/connector/connector-export.js +3 -3
  37. package/dist/m365/pa/commands/connector/connector-list.js +2 -2
  38. package/dist/m365/pa/commands/solution/solution-reference-add.js +7 -7
  39. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -9
  40. package/dist/m365/planner/commands/bucket/bucket-get.js +5 -12
  41. package/dist/m365/planner/commands/bucket/bucket-list.js +2 -9
  42. package/dist/m365/planner/commands/bucket/bucket-remove.js +4 -11
  43. package/dist/m365/planner/commands/bucket/bucket-set.js +4 -11
  44. package/dist/m365/planner/commands/plan/plan-get.js +5 -24
  45. package/dist/m365/planner/commands/task/task-add.js +3 -8
  46. package/dist/m365/planner/commands/task/task-get.js +5 -19
  47. package/dist/m365/planner/commands/task/task-list.js +4 -11
  48. package/dist/m365/planner/commands/task/task-set.js +5 -10
  49. package/dist/m365/planner/commands.js +0 -2
  50. package/dist/m365/pp/commands/Environment.js +3 -0
  51. package/dist/m365/pp/commands/card/card-get.js +110 -0
  52. package/dist/m365/pp/commands/card/card-list.js +68 -0
  53. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +69 -0
  54. package/dist/m365/pp/commands/environment/environment-get.js +75 -0
  55. package/dist/m365/pp/commands/gateway/gateway-get.js +70 -0
  56. package/dist/m365/pp/commands/solution/Solution.js +3 -0
  57. package/dist/m365/pp/commands/solution/solution-get.js +117 -0
  58. package/dist/m365/pp/commands/solution/solution-list.js +87 -0
  59. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  60. package/dist/m365/pp/commands.js +9 -1
  61. package/dist/m365/spfx/commands/package/package-generate.js +2 -2
  62. package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
  63. package/dist/m365/spfx/commands/project/project-externalize.js +4 -1
  64. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
  65. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
  66. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
  67. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
  68. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
  69. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
  70. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
  71. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +2 -1
  72. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
  73. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
  74. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  75. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.16.0-beta.1.js → upgrade-1.16.0-beta.2.js} +44 -28
  76. package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
  77. package/dist/m365/spfx/commands/spfx-doctor.js +54 -9
  78. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +1 -1
  79. package/dist/m365/spo/commands/app/app-add.js +7 -7
  80. package/dist/m365/spo/commands/app/app-deploy.js +7 -7
  81. package/dist/m365/spo/commands/app/app-get.js +7 -7
  82. package/dist/m365/spo/commands/app/app-install.js +6 -6
  83. package/dist/m365/spo/commands/app/app-list.js +7 -7
  84. package/dist/m365/spo/commands/app/app-remove.js +7 -7
  85. package/dist/m365/spo/commands/app/app-retract.js +7 -7
  86. package/dist/m365/spo/commands/app/app-uninstall.js +6 -6
  87. package/dist/m365/spo/commands/app/app-upgrade.js +6 -6
  88. package/dist/m365/spo/commands/apppage/apppage-set.js +2 -2
  89. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +7 -7
  90. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +7 -7
  91. package/dist/m365/spo/commands/contenttype/contenttype-add.js +82 -43
  92. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +53 -21
  93. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +13 -13
  94. package/dist/m365/spo/commands/contenttype/contenttype-get.js +35 -14
  95. package/dist/m365/spo/commands/customaction/customaction-add.js +3 -3
  96. package/dist/m365/spo/commands/customaction/customaction-clear.js +3 -3
  97. package/dist/m365/spo/commands/customaction/customaction-get.js +5 -4
  98. package/dist/m365/spo/commands/customaction/customaction-list.js +5 -4
  99. package/dist/m365/spo/commands/customaction/customaction-remove.js +6 -5
  100. package/dist/m365/spo/commands/customaction/customaction-set.js +3 -3
  101. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  102. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
  103. package/dist/m365/spo/commands/feature/feature-disable.js +4 -4
  104. package/dist/m365/spo/commands/feature/feature-enable.js +5 -5
  105. package/dist/m365/spo/commands/feature/feature-list.js +3 -3
  106. package/dist/m365/spo/commands/field/field-add.js +26 -1
  107. package/dist/m365/spo/commands/field/field-get.js +1 -7
  108. package/dist/m365/spo/commands/field/field-remove.js +1 -7
  109. package/dist/m365/spo/commands/field/field-set.js +24 -21
  110. package/dist/m365/spo/commands/file/file-checkin.js +5 -5
  111. package/dist/m365/spo/commands/file/file-checkout.js +5 -5
  112. package/dist/m365/spo/commands/file/file-copy.js +25 -39
  113. package/dist/m365/spo/commands/file/file-move.js +24 -37
  114. package/dist/m365/spo/commands/file/file-rename.js +19 -16
  115. package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
  116. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  117. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
  118. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  119. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +13 -13
  120. package/dist/m365/spo/commands/folder/folder-get.js +6 -6
  121. package/dist/m365/spo/commands/folder/folder-remove.js +3 -3
  122. package/dist/m365/spo/commands/folder/folder-rename.js +4 -4
  123. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +168 -0
  124. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +104 -0
  125. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +13 -2
  126. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  127. package/dist/m365/spo/commands/group/group-list.js +49 -10
  128. package/dist/m365/spo/commands/hubsite/hubsite-register.js +4 -4
  129. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +4 -4
  130. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +5 -5
  131. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +4 -4
  132. package/dist/m365/spo/commands/list/list-contenttype-add.js +24 -21
  133. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +59 -47
  134. package/dist/m365/spo/commands/list/list-contenttype-list.js +16 -8
  135. package/dist/m365/spo/commands/list/list-contenttype-remove.js +19 -11
  136. package/dist/m365/spo/commands/list/list-list.js +3 -13
  137. package/dist/m365/spo/commands/list/list-roleassignment-add.js +10 -10
  138. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +8 -8
  139. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +54 -25
  140. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +50 -21
  141. package/dist/m365/spo/commands/list/list-view-field-add.js +20 -20
  142. package/dist/m365/spo/commands/list/list-view-field-remove.js +11 -11
  143. package/dist/m365/spo/commands/list/list-view-field-set.js +15 -15
  144. package/dist/m365/spo/commands/list/list-view-get.js +9 -9
  145. package/dist/m365/spo/commands/list/list-view-remove.js +11 -11
  146. package/dist/m365/spo/commands/list/list-view-set.js +11 -11
  147. package/dist/m365/spo/commands/list/list-webhook-add.js +19 -11
  148. package/dist/m365/spo/commands/list/list-webhook-get.js +17 -10
  149. package/dist/m365/spo/commands/list/list-webhook-list.js +17 -42
  150. package/dist/m365/spo/commands/list/list-webhook-remove.js +19 -11
  151. package/dist/m365/spo/commands/list/list-webhook-set.js +18 -10
  152. package/dist/m365/spo/commands/listitem/listitem-add.js +24 -14
  153. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +18 -8
  154. package/dist/m365/spo/commands/listitem/listitem-get.js +18 -8
  155. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +20 -10
  156. package/dist/m365/spo/commands/listitem/listitem-list.js +20 -29
  157. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +23 -16
  158. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +27 -24
  159. package/dist/m365/spo/commands/listitem/listitem-remove.js +19 -11
  160. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  161. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +8 -8
  162. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +54 -25
  163. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +53 -21
  164. package/dist/m365/spo/commands/listitem/listitem-set.js +52 -44
  165. package/dist/m365/spo/commands/page/page-column-get.js +2 -2
  166. package/dist/m365/spo/commands/page/page-column-list.js +2 -2
  167. package/dist/m365/spo/commands/page/page-control-get.js +4 -4
  168. package/dist/m365/spo/commands/page/page-control-list.js +3 -3
  169. package/dist/m365/spo/commands/page/page-control-set.js +3 -3
  170. package/dist/m365/spo/commands/page/page-section-add.js +2 -2
  171. package/dist/m365/spo/commands/page/page-section-get.js +2 -2
  172. package/dist/m365/spo/commands/page/page-section-list.js +2 -2
  173. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +15 -2
  174. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +2 -2
  175. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +4 -4
  176. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +4 -4
  177. package/dist/m365/spo/commands/site/site-add.js +4 -11
  178. package/dist/m365/spo/commands/site/site-appcatalog-add.js +3 -3
  179. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +3 -3
  180. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -2
  181. package/dist/m365/spo/commands/site/site-apppermission-remove.js +5 -5
  182. package/dist/m365/spo/commands/site/site-apppermission-set.js +5 -5
  183. package/dist/m365/spo/commands/site/site-chrome-set.js +3 -3
  184. package/dist/m365/spo/commands/site/site-ensure.js +1 -1
  185. package/dist/m365/spo/commands/site/site-groupify.js +3 -3
  186. package/dist/m365/spo/commands/{hubsite/hubsite-connect.js → site/site-hubsite-connect.js} +17 -17
  187. package/dist/m365/spo/commands/{hubsite/hubsite-disconnect.js → site/site-hubsite-disconnect.js} +18 -18
  188. package/dist/m365/spo/commands/{hubsite/hubsite-theme-sync.js → site/site-hubsite-theme-sync.js} +11 -11
  189. package/dist/m365/spo/commands/site/site-list.js +6 -17
  190. package/dist/m365/spo/commands/site/site-rename.js +9 -9
  191. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +4 -4
  192. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +4 -4
  193. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +5 -5
  194. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +4 -4
  195. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +5 -5
  196. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +5 -5
  197. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +3 -3
  198. package/dist/m365/spo/commands/web/web-add.js +4 -4
  199. package/dist/m365/spo/commands/web/web-get.js +3 -3
  200. package/dist/m365/spo/commands/web/web-list.js +4 -4
  201. package/dist/m365/spo/commands/web/web-reindex.js +8 -8
  202. package/dist/m365/spo/commands/web/web-remove.js +5 -5
  203. package/dist/m365/spo/commands/web/web-roleassignment-add.js +10 -10
  204. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +8 -8
  205. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
  206. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +41 -15
  207. package/dist/m365/spo/commands/web/web-set.js +4 -4
  208. package/dist/m365/spo/commands.js +11 -6
  209. package/dist/m365/teams/commands/app/app-install.js +4 -4
  210. package/dist/m365/teams/commands/app/app-uninstall.js +3 -3
  211. package/dist/m365/teams/commands/channel/channel-add.js +9 -9
  212. package/dist/m365/teams/commands/channel/channel-get.js +10 -10
  213. package/dist/m365/teams/commands/channel/channel-member-add.js +0 -4
  214. package/dist/m365/teams/commands/channel/channel-member-list.js +0 -4
  215. package/dist/m365/teams/commands/channel/channel-member-remove.js +0 -4
  216. package/dist/m365/teams/commands/channel/channel-remove.js +16 -16
  217. package/dist/m365/teams/commands/channel/channel-set.js +7 -7
  218. package/dist/m365/teams/commands/message/message-get.js +3 -3
  219. package/dist/m365/teams/commands/tab/tab-get.js +10 -10
  220. package/dist/m365/teams/commands/tab/tab-remove.js +6 -6
  221. package/dist/m365/teams/commands/team/team-archive.js +3 -13
  222. package/dist/m365/teams/commands/team/team-clone.js +3 -20
  223. package/dist/m365/teams/commands/team/team-remove.js +5 -17
  224. package/dist/m365/teams/commands/team/team-set.js +1 -20
  225. package/dist/m365/teams/commands/team/team-unarchive.js +4 -16
  226. package/dist/m365/teams/commands/user/user-app-add.js +4 -4
  227. package/dist/m365/teams/commands/user/user-app-remove.js +3 -3
  228. package/dist/m365/teams/commands.js +0 -3
  229. package/dist/m365/todo/commands/list/list-get.js +89 -0
  230. package/dist/m365/todo/commands/task/task-add.js +55 -3
  231. package/dist/m365/todo/commands/task/task-get.js +108 -0
  232. package/dist/m365/todo/commands/task/task-set.js +53 -1
  233. package/dist/m365/todo/commands.js +2 -0
  234. package/dist/m365/viva/commands/connections/connections-app-create.js +9 -9
  235. package/dist/m365/yammer/commands/group/group-user-add.js +8 -8
  236. package/dist/m365/yammer/commands/group/group-user-remove.js +11 -11
  237. package/dist/m365/yammer/commands/message/message-like-set.js +5 -5
  238. package/dist/m365/yammer/commands/user/user-get.js +5 -5
  239. package/dist/settingsNames.js +0 -1
  240. package/dist/utils/cache.js +81 -0
  241. package/dist/utils/pid.js +57 -0
  242. package/dist/utils/powerPlatform.js +42 -0
  243. package/docs/docs/_clisettings.md +18 -0
  244. package/docs/docs/cmd/aad/app/app-remove.md +0 -6
  245. package/docs/docs/cmd/aad/app/app-role-remove.md +0 -6
  246. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  247. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.md +5 -5
  248. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +5 -5
  249. package/docs/docs/cmd/aad/o365group/o365group-add.md +3 -3
  250. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.md +7 -7
  251. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +0 -6
  252. package/docs/docs/cmd/aad/o365group/o365group-teamify.md +4 -4
  253. package/docs/docs/cmd/aad/policy/policy-list.md +2 -2
  254. package/docs/docs/cmd/aad/sp/sp-get.md +5 -5
  255. package/docs/docs/cmd/aad/user/user-guest-add.md +107 -0
  256. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +3 -0
  257. package/docs/docs/cmd/flow/flow-disable.md +3 -3
  258. package/docs/docs/cmd/flow/flow-enable.md +1 -1
  259. package/docs/docs/cmd/flow/flow-export.md +5 -5
  260. package/docs/docs/cmd/flow/flow-get.md +3 -3
  261. package/docs/docs/cmd/flow/flow-list.md +3 -3
  262. package/docs/docs/cmd/flow/flow-remove.md +5 -5
  263. package/docs/docs/cmd/flow/run/run-cancel.md +3 -3
  264. package/docs/docs/cmd/flow/run/run-get.md +3 -3
  265. package/docs/docs/cmd/flow/run/run-list.md +3 -3
  266. package/docs/docs/cmd/flow/run/run-resubmit.md +4 -4
  267. package/docs/docs/cmd/graph/schemaextension/schemaextension-add.md +4 -11
  268. package/docs/docs/cmd/graph/schemaextension/schemaextension-set.md +4 -10
  269. package/docs/docs/cmd/outlook/mail/mail-send.md +13 -6
  270. package/docs/docs/cmd/outlook/message/message-get.md +48 -0
  271. package/docs/docs/cmd/outlook/message/message-move.md +4 -4
  272. package/docs/docs/cmd/pa/connector/connector-export.md +3 -3
  273. package/docs/docs/cmd/pa/connector/connector-list.md +2 -2
  274. package/docs/docs/cmd/pa/solution/solution-reference-add.md +2 -2
  275. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -3
  276. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -3
  277. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -3
  278. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -3
  279. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -3
  280. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  281. package/docs/docs/cmd/planner/plan/plan-get.md +75 -12
  282. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  283. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  284. package/docs/docs/cmd/planner/task/task-add.md +0 -3
  285. package/docs/docs/cmd/planner/task/task-get.md +0 -6
  286. package/docs/docs/cmd/planner/task/task-list.md +0 -3
  287. package/docs/docs/cmd/planner/task/task-set.md +0 -3
  288. package/docs/docs/cmd/pp/card/card-get.md +51 -0
  289. package/docs/docs/cmd/pp/card/card-list.md +33 -0
  290. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
  291. package/docs/docs/cmd/pp/environment/environment-get.md +38 -0
  292. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  293. package/docs/docs/cmd/pp/gateway/gateway-get.md +24 -0
  294. package/docs/docs/cmd/pp/solution/solution-get.md +51 -0
  295. package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
  296. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
  297. package/docs/docs/cmd/spfx/package/package-generate.md +2 -2
  298. package/docs/docs/cmd/spfx/project/project-rename.md +1 -14
  299. package/docs/docs/cmd/spfx/project/project-upgrade.md +1 -1
  300. package/docs/docs/cmd/spfx/spfx-doctor.md +10 -1
  301. package/docs/docs/cmd/spo/app/app-add.md +2 -2
  302. package/docs/docs/cmd/spo/app/app-deploy.md +2 -2
  303. package/docs/docs/cmd/spo/app/app-get.md +2 -2
  304. package/docs/docs/cmd/spo/app/app-install.md +2 -2
  305. package/docs/docs/cmd/spo/app/app-list.md +2 -2
  306. package/docs/docs/cmd/spo/app/app-remove.md +2 -2
  307. package/docs/docs/cmd/spo/app/app-retract.md +2 -2
  308. package/docs/docs/cmd/spo/app/app-uninstall.md +2 -2
  309. package/docs/docs/cmd/spo/app/app-upgrade.md +2 -2
  310. package/docs/docs/cmd/spo/apppage/apppage-set.md +2 -2
  311. package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
  312. package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
  313. package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
  314. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
  315. package/docs/docs/cmd/spo/contenttype/contenttype-field-set.md +4 -4
  316. package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
  317. package/docs/docs/cmd/spo/customaction/customaction-add.md +13 -10
  318. package/docs/docs/cmd/spo/customaction/customaction-clear.md +4 -4
  319. package/docs/docs/cmd/spo/customaction/customaction-get.md +5 -5
  320. package/docs/docs/cmd/spo/customaction/customaction-list.md +4 -4
  321. package/docs/docs/cmd/spo/customaction/customaction-remove.md +9 -9
  322. package/docs/docs/cmd/spo/customaction/customaction-set.md +10 -9
  323. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +2 -2
  324. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
  325. package/docs/docs/cmd/spo/feature/feature-disable.md +4 -4
  326. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  327. package/docs/docs/cmd/spo/feature/feature-list.md +3 -3
  328. package/docs/docs/cmd/spo/field/field-add.md +20 -2
  329. package/docs/docs/cmd/spo/field/field-get.md +0 -3
  330. package/docs/docs/cmd/spo/field/field-remove.md +0 -3
  331. package/docs/docs/cmd/spo/field/field-set.md +15 -6
  332. package/docs/docs/cmd/spo/file/file-checkin.md +6 -6
  333. package/docs/docs/cmd/spo/file/file-checkout.md +4 -4
  334. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  335. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  336. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
  337. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +7 -7
  338. package/docs/docs/cmd/spo/folder/folder-get.md +3 -3
  339. package/docs/docs/cmd/spo/folder/folder-remove.md +3 -3
  340. package/docs/docs/cmd/spo/folder/folder-rename.md +2 -2
  341. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
  342. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +45 -0
  343. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +8 -2
  344. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  345. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
  346. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +2 -2
  347. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +4 -4
  348. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +3 -3
  349. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +2 -2
  350. package/docs/docs/cmd/spo/list/list-contenttype-add.md +18 -9
  351. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +16 -7
  352. package/docs/docs/cmd/spo/list/list-contenttype-list.md +15 -6
  353. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +19 -10
  354. package/docs/docs/cmd/spo/list/list-list.md +0 -3
  355. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +20 -8
  356. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +23 -5
  357. package/docs/docs/cmd/spo/list/list-view-field-add.md +8 -8
  358. package/docs/docs/cmd/spo/list/list-view-field-remove.md +6 -6
  359. package/docs/docs/cmd/spo/list/list-view-field-set.md +7 -7
  360. package/docs/docs/cmd/spo/list/list-view-get.md +7 -7
  361. package/docs/docs/cmd/spo/list/list-view-remove.md +8 -8
  362. package/docs/docs/cmd/spo/list/list-view-set.md +20 -9
  363. package/docs/docs/cmd/spo/list/list-webhook-add.md +15 -16
  364. package/docs/docs/cmd/spo/list/list-webhook-get.md +16 -7
  365. package/docs/docs/cmd/spo/list/list-webhook-list.md +13 -10
  366. package/docs/docs/cmd/spo/list/list-webhook-remove.md +12 -10
  367. package/docs/docs/cmd/spo/list/list-webhook-set.md +14 -12
  368. package/docs/docs/cmd/spo/listitem/listitem-add.md +11 -2
  369. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +11 -2
  370. package/docs/docs/cmd/spo/listitem/listitem-get.md +11 -2
  371. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +12 -2
  372. package/docs/docs/cmd/spo/listitem/listitem-list.md +9 -6
  373. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +11 -8
  374. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +14 -5
  375. package/docs/docs/cmd/spo/listitem/listitem-remove.md +11 -2
  376. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +81 -0
  377. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +16 -4
  378. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +14 -2
  379. package/docs/docs/cmd/spo/listitem/listitem-set.md +7 -4
  380. package/docs/docs/cmd/spo/page/page-clientsidewebpart-add.md +5 -10
  381. package/docs/docs/cmd/spo/page/page-column-get.md +3 -3
  382. package/docs/docs/cmd/spo/page/page-column-list.md +3 -3
  383. package/docs/docs/cmd/spo/page/page-control-get.md +3 -3
  384. package/docs/docs/cmd/spo/page/page-control-list.md +3 -3
  385. package/docs/docs/cmd/spo/page/page-control-set.md +6 -5
  386. package/docs/docs/cmd/spo/page/page-section-add.md +3 -3
  387. package/docs/docs/cmd/spo/page/page-section-get.md +3 -3
  388. package/docs/docs/cmd/spo/page/page-section-list.md +3 -3
  389. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-revoke.md +2 -2
  390. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +2 -2
  391. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-deny.md +2 -2
  392. package/docs/docs/cmd/spo/site/site-add.md +2 -5
  393. package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -2
  394. package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +2 -2
  395. package/docs/docs/cmd/spo/site/site-apppermission-get.md +2 -2
  396. package/docs/docs/cmd/spo/site/site-apppermission-remove.md +2 -2
  397. package/docs/docs/cmd/spo/site/site-apppermission-set.md +5 -5
  398. package/docs/docs/cmd/spo/site/site-chrome-set.md +4 -4
  399. package/docs/docs/cmd/spo/site/site-groupify.md +5 -11
  400. package/docs/docs/cmd/spo/{hubsite/hubsite-connect.md → site/site-hubsite-connect.md} +7 -7
  401. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.md +42 -0
  402. package/docs/docs/cmd/spo/{hubsite/hubsite-theme-sync.md → site/site-hubsite-theme-sync.md} +5 -5
  403. package/docs/docs/cmd/spo/site/site-list.md +6 -6
  404. package/docs/docs/cmd/spo/site/site-rename.md +6 -6
  405. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.md +4 -4
  406. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.md +3 -3
  407. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.md +3 -3
  408. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.md +2 -2
  409. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.md +5 -5
  410. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
  411. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +6 -3
  412. package/docs/docs/cmd/spo/term/term-add.md +5 -0
  413. package/docs/docs/cmd/spo/term/term-set-add.md +6 -1
  414. package/docs/docs/cmd/spo/web/web-add.md +4 -4
  415. package/docs/docs/cmd/spo/web/web-get.md +3 -3
  416. package/docs/docs/cmd/spo/web/web-list.md +2 -2
  417. package/docs/docs/cmd/spo/web/web-reindex.md +2 -2
  418. package/docs/docs/cmd/spo/web/web-remove.md +2 -2
  419. package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
  420. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +9 -0
  421. package/docs/docs/cmd/spo/web/web-set.md +9 -9
  422. package/docs/docs/cmd/teams/app/app-install.md +5 -5
  423. package/docs/docs/cmd/teams/app/app-uninstall.md +3 -3
  424. package/docs/docs/cmd/teams/channel/channel-add.md +4 -4
  425. package/docs/docs/cmd/teams/channel/channel-get.md +7 -7
  426. package/docs/docs/cmd/teams/channel/channel-member-add.md +0 -6
  427. package/docs/docs/cmd/teams/channel/channel-member-list.md +0 -6
  428. package/docs/docs/cmd/teams/channel/channel-member-remove.md +0 -6
  429. package/docs/docs/cmd/teams/channel/channel-remove.md +7 -7
  430. package/docs/docs/cmd/teams/channel/channel-set.md +4 -4
  431. package/docs/docs/cmd/teams/message/message-get.md +3 -3
  432. package/docs/docs/cmd/teams/tab/tab-get.md +6 -6
  433. package/docs/docs/cmd/teams/tab/tab-remove.md +4 -4
  434. package/docs/docs/cmd/teams/team/team-archive.md +0 -3
  435. package/docs/docs/cmd/teams/team/team-clone.md +0 -6
  436. package/docs/docs/cmd/teams/team/team-remove.md +0 -3
  437. package/docs/docs/cmd/teams/team/team-set.md +0 -6
  438. package/docs/docs/cmd/teams/team/team-unarchive.md +0 -3
  439. package/docs/docs/cmd/teams/user/user-app-add.md +3 -3
  440. package/docs/docs/cmd/teams/user/user-app-remove.md +3 -3
  441. package/docs/docs/cmd/tenant/id/id-get.md +20 -0
  442. package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
  443. package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
  444. package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
  445. package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
  446. package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
  447. package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
  448. package/docs/docs/cmd/tenant/security/security-alerts-list.md +105 -0
  449. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +87 -0
  450. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +91 -0
  451. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
  452. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
  453. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
  454. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
  455. package/docs/docs/cmd/todo/list/list-get.md +61 -0
  456. package/docs/docs/cmd/todo/task/task-add.md +32 -5
  457. package/docs/docs/cmd/todo/task/task-get.md +75 -0
  458. package/docs/docs/cmd/todo/task/task-set.md +29 -2
  459. package/docs/docs/cmd/viva/connections/connections-app-create.md +2 -2
  460. package/docs/docs/cmd/yammer/group/group-user-add.md +5 -5
  461. package/docs/docs/cmd/yammer/group/group-user-remove.md +5 -5
  462. package/docs/docs/cmd/yammer/message/message-like-set.md +4 -4
  463. package/docs/docs/cmd/yammer/user/user-get.md +2 -2
  464. package/npm-shrinkwrap.json +2 -2
  465. package/package.json +13 -3
  466. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  467. package/dist/m365/spo/commands/site/site-classic-add.js +0 -328
  468. package/dist/m365/spo/commands/site/site-classic-list.js +0 -115
  469. package/dist/m365/spo/commands/site/site-classic-set.js +0 -351
  470. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +0 -42
  471. package/docs/docs/cmd/spo/site/site-classic-add.md +0 -93
  472. package/docs/docs/cmd/spo/site/site-classic-list.md +0 -68
  473. package/docs/docs/cmd/spo/site/site-classic-set.md +0 -102
package/.eslintrc.js CHANGED
@@ -17,6 +17,7 @@ const dictionary = [
17
17
  'content',
18
18
  'conversation',
19
19
  'custom',
20
+ 'dataverse',
20
21
  'default',
21
22
  'external',
22
23
  'externalize',
@@ -61,6 +62,7 @@ const dictionary = [
61
62
  'site',
62
63
  'status',
63
64
  'storage',
65
+ 'table',
64
66
  'teams',
65
67
  'token',
66
68
  'type',
@@ -172,7 +174,19 @@ module.exports = {
172
174
  "eqeqeq": [
173
175
  "error",
174
176
  "always"
175
- ]
177
+ ],
178
+ "@typescript-eslint/naming-convention": [
179
+ "error",
180
+ {
181
+ "selector": [
182
+ "method"
183
+ ],
184
+ "format": [
185
+ "camelCase"
186
+ ]
187
+ }
188
+ ],
189
+ "@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }]
176
190
  },
177
191
  "overrides": [
178
192
  {
@@ -183,7 +197,8 @@ module.exports = {
183
197
  "no-console": "error",
184
198
  "@typescript-eslint/no-empty-function": "off",
185
199
  "cli-microsoft365/correct-command-class-name": "off",
186
- "cli-microsoft365/correct-command-name": "off"
200
+ "cli-microsoft365/correct-command-name": "off",
201
+ "@typescript-eslint/explicit-function-return-type": "off"
187
202
  }
188
203
  },
189
204
  {
package/README.md CHANGED
@@ -15,6 +15,11 @@
15
15
  alt="GitHub" />
16
16
  </a>
17
17
 
18
+ <a href="https://discord.com/invite/7rfW4kg6B5">
19
+ <img src="https://img.shields.io/badge/Discord-Join-7289da?style=flat-square"
20
+ alt="Discord" />
21
+ </a>
22
+
18
23
  <a href="https://twitter.com/climicrosoft365">
19
24
  <img src="https://img.shields.io/badge/Twitter-%40climicrosoft365-blue?style=flat-square"
20
25
  alt="Twitter" />
package/dist/Auth.js CHANGED
@@ -301,8 +301,7 @@ class Auth {
301
301
  logger.logToStderr('');
302
302
  }
303
303
  logger.log(response.message);
304
- if (Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenBrowserOnLogin, false)
305
- || Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenLinksInBrowser, false)) {
304
+ if (Cli_1.Cli.getInstance().getSettingWithDefaultValue(settingsNames_1.settingsNames.autoOpenLinksInBrowser, false)) {
306
305
  // _open is never set before hitting this line, but this check
307
306
  // is implemented so that we can support lazy loading
308
307
  // but also stub it for testing
package/dist/Command.js CHANGED
@@ -61,6 +61,9 @@ class Command {
61
61
  __classPrivateFieldGet(this, _Command_instances, "m", _Command_initOptions).call(this);
62
62
  __classPrivateFieldGet(this, _Command_instances, "m", _Command_initValidators).call(this);
63
63
  }
64
+ get allowedOutputs() {
65
+ return ['csv', 'json', 'text'];
66
+ }
64
67
  validateUnknownOptions(args, command) {
65
68
  return __awaiter(this, void 0, void 0, function* () {
66
69
  if (this.allowUnknownOptions()) {
@@ -135,6 +138,17 @@ class Command {
135
138
  return true;
136
139
  });
137
140
  }
141
+ validateOutput(args) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ if (args.options.output &&
144
+ this.allowedOutputs.indexOf(args.options.output) < 0) {
145
+ return `'${args.options.output}' is not a valid output type. Allowed output types are ${this.allowedOutputs.join(', ')}`;
146
+ }
147
+ else {
148
+ return true;
149
+ }
150
+ });
151
+ }
138
152
  alias() {
139
153
  return;
140
154
  }
@@ -417,9 +431,9 @@ _Command_instances = new WeakSet(), _Command_initTelemetry = function _Command_i
417
431
  }, _Command_initOptions = function _Command_initOptions() {
418
432
  this.options.unshift({ option: '--query [query]' }, {
419
433
  option: '-o, --output [output]',
420
- autocomplete: ['csv', 'json', 'text']
434
+ autocomplete: this.allowedOutputs
421
435
  }, { option: '--verbose' }, { option: '--debug' });
422
436
  }, _Command_initValidators = function _Command_initValidators() {
423
- this.validators.push((args, command) => this.validateUnknownOptions(args, command), (args, command) => this.validateRequiredOptions(args, command), (args, command) => this.validateOptionSets(args, command));
437
+ this.validators.push((args, command) => this.validateUnknownOptions(args, command), (args, command) => this.validateRequiredOptions(args, command), args => this.validateOutput(args), (args, command) => this.validateOptionSets(args, command));
424
438
  };
425
439
  //# sourceMappingURL=Command.js.map
@@ -10,6 +10,7 @@ const appInsights = require("applicationinsights");
10
10
  const crypto = require("crypto");
11
11
  const fs = require("fs");
12
12
  const path = require("path");
13
+ const pid_1 = require("./utils/pid");
13
14
  const config = appInsights.setup('6b908c80-d09f-4cf6-8274-e54349a0149a');
14
15
  config.setInternalLogging(false, false);
15
16
  // append -dev to the version number when ran locally
@@ -20,6 +21,7 @@ const env = process.env.CLIMICROSOFT365_ENV !== undefined ? process.env.CLIMICRO
20
21
  appInsights.defaultClient.commonProperties = {
21
22
  version: version,
22
23
  node: process.version,
24
+ shell: pid_1.pid.getProcessName(process.ppid) || '',
23
25
  env: env,
24
26
  ci: Boolean(process.env.CI).toString()
25
27
  };
@@ -59,9 +59,6 @@ class AadAppAddCommand extends GraphCommand_1.default {
59
59
  objectId: _appInfo.id,
60
60
  tenantId: _appInfo.tenantId
61
61
  };
62
- if (_appInfo.secret) {
63
- appInfo.secret = _appInfo.secret;
64
- }
65
62
  if (_appInfo.secrets) {
66
63
  appInfo.secrets = _appInfo.secrets;
67
64
  }
@@ -209,8 +206,6 @@ class AadAppAddCommand extends GraphCommand_1.default {
209
206
  delete v2Manifest.appId;
210
207
  delete v2Manifest.publisherDomain;
211
208
  // extract secrets from the manifest. Store them in a separate variable
212
- // and remove them from the manifest because we need to create them
213
- // separately
214
209
  const secrets = this.getSecretsFromManifest(v2Manifest);
215
210
  // Azure Portal returns v2 manifest whereas the Graph API expects a v1.6
216
211
  if (args.options.apisApplication || args.options.apisDelegated) {
@@ -218,6 +213,33 @@ class AadAppAddCommand extends GraphCommand_1.default {
218
213
  // otherwise, they will be skipped in the app update
219
214
  v2Manifest.requiredResourceAccess = appInfo.requiredResourceAccess;
220
215
  }
216
+ if (args.options.redirectUris) {
217
+ // take submitted redirectUris/platform as options
218
+ // otherwise, they will be removed from the app
219
+ v2Manifest.replyUrlsWithType = args.options.redirectUris.split(',').map(u => {
220
+ return {
221
+ url: u.trim(),
222
+ type: this.translatePlatformToType(args.options.platform)
223
+ };
224
+ });
225
+ }
226
+ if (args.options.multitenant) {
227
+ // override manifest setting when using multitenant flag
228
+ v2Manifest.signInAudience = 'AzureADMultipleOrgs';
229
+ }
230
+ if (args.options.implicitFlow) {
231
+ // remove manifest settings when using implicitFlow flag
232
+ delete v2Manifest.oauth2AllowIdTokenImplicitFlow;
233
+ delete v2Manifest.oauth2AllowImplicitFlow;
234
+ }
235
+ if (args.options.scopeName) {
236
+ // override manifest setting when using options.
237
+ delete v2Manifest.oauth2Permissions;
238
+ }
239
+ if (args.options.certificateFile || args.options.certificateBase64Encoded) {
240
+ // override manifest setting when using options.
241
+ delete v2Manifest.keyCredentials;
242
+ }
221
243
  const graphManifest = this.transformManifest(v2Manifest);
222
244
  const updateAppRequestOptions = {
223
245
  url: `${this.resource}/v1.0/myorganization/applications/${appInfo.id}`,
@@ -428,7 +450,6 @@ class AadAppAddCommand extends GraphCommand_1.default {
428
450
  return odata_1.odata
429
451
  .getAllItems(`${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,appRoles,id,oauth2PermissionScopes,servicePrincipalNames`)
430
452
  .then(servicePrincipals => {
431
- var _a;
432
453
  let resolvedApis = [];
433
454
  try {
434
455
  if (args.options.apisDelegated || args.options.apisApplication) {
@@ -451,17 +472,10 @@ class AadAppAddCommand extends GraphCommand_1.default {
451
472
  }
452
473
  });
453
474
  }
454
- if (typeof ((_a = this.manifest) === null || _a === void 0 ? void 0 : _a.requiredResourceAccess) !== 'undefined' && this.manifest.requiredResourceAccess.length > 0) {
475
+ else {
455
476
  const manifestApis = this.manifest.requiredResourceAccess;
456
477
  manifestApis.forEach(manifestApi => {
457
- const requiredResource = resolvedApis.find(api => api.resourceAppId === manifestApi.resourceAppId);
458
- if (requiredResource) {
459
- // exclude if any duplicate required resources in both manifest and submitted options
460
- requiredResource.resourceAccess.push(...manifestApi.resourceAccess.filter(manRes => !requiredResource.resourceAccess.some(res => res.id === manRes.id)));
461
- }
462
- else {
463
- resolvedApis.push(manifestApi);
464
- }
478
+ resolvedApis.push(manifestApi);
465
479
  const app = servicePrincipals.find(servicePrincipals => servicePrincipals.appId === manifestApi.resourceAppId);
466
480
  if (app) {
467
481
  manifestApi.resourceAccess.forEach((res => {
@@ -550,7 +564,7 @@ class AadAppAddCommand extends GraphCommand_1.default {
550
564
  }
551
565
  }
552
566
  configureSecret(args, appInfo, logger) {
553
- if (!args.options.withSecret) {
567
+ if (!args.options.withSecret || (appInfo.secrets && appInfo.secrets.length > 0)) {
554
568
  return Promise.resolve(appInfo);
555
569
  }
556
570
  if (this.verbose) {
@@ -559,7 +573,10 @@ class AadAppAddCommand extends GraphCommand_1.default {
559
573
  return this
560
574
  .createSecret({ appObjectId: appInfo.id })
561
575
  .then(secret => {
562
- appInfo.secret = secret.value;
576
+ if (!appInfo.secrets) {
577
+ appInfo.secrets = [];
578
+ }
579
+ appInfo.secrets.push(secret);
563
580
  return Promise.resolve(appInfo);
564
581
  });
565
582
  }
@@ -643,6 +660,12 @@ class AadAppAddCommand extends GraphCommand_1.default {
643
660
  }
644
661
  return Promise.resolve(appInfo);
645
662
  }
663
+ translatePlatformToType(platform) {
664
+ if (platform === 'publicClient') {
665
+ return 'InstalledClient';
666
+ }
667
+ return platform.charAt(0).toUpperCase() + platform.substring(1);
668
+ }
646
669
  }
647
670
  _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = function _AadAppAddCommand_initTelemetry() {
648
671
  this.telemetry.push((args) => {
@@ -32,15 +32,11 @@ class AadAppRemoveCommand extends GraphCommand_1.default {
32
32
  get name() {
33
33
  return commands_1.default.APP_REMOVE;
34
34
  }
35
- alias() {
36
- return [commands_1.default.APP_DELETE];
37
- }
38
35
  get description() {
39
36
  return 'Removes an Azure AD app registration';
40
37
  }
41
38
  commandAction(logger, args) {
42
39
  return __awaiter(this, void 0, void 0, function* () {
43
- this.showDeprecationWarning(logger, commands_1.default.APP_DELETE, commands_1.default.APP_REMOVE);
44
40
  const deleteApp = () => __awaiter(this, void 0, void 0, function* () {
45
41
  try {
46
42
  const objectId = yield this.getObjectId(args, logger);
@@ -35,12 +35,8 @@ class AadAppRoleRemoveCommand extends GraphCommand_1.default {
35
35
  get description() {
36
36
  return 'Removes role from the specified Azure AD app registration';
37
37
  }
38
- alias() {
39
- return [commands_1.default.APP_ROLE_DELETE];
40
- }
41
38
  commandAction(logger, args) {
42
39
  return __awaiter(this, void 0, void 0, function* () {
43
- this.showDeprecationWarning(logger, commands_1.default.APP_ROLE_DELETE, commands_1.default.APP_ROLE_REMOVE);
44
40
  const deleteAppRole = () => __awaiter(this, void 0, void 0, function* () {
45
41
  try {
46
42
  yield this.processAppRoleDelete(logger, args);
@@ -42,11 +42,11 @@ class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
42
42
  if (args.options.appId) {
43
43
  queryFilter = `$filter=appId eq '${encodeURIComponent(args.options.appId)}'`;
44
44
  }
45
- else if (args.options.objectId) {
46
- queryFilter = `$filter=id eq '${encodeURIComponent(args.options.objectId)}'`;
45
+ else if (args.options.appObjectId) {
46
+ queryFilter = `$filter=id eq '${encodeURIComponent(args.options.appObjectId)}'`;
47
47
  }
48
48
  else {
49
- queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.displayName)}'`;
49
+ queryFilter = `$filter=displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
50
50
  }
51
51
  const getServicePrinciplesRequestOptions = {
52
52
  url: `${this.resource}/v1.0/servicePrincipals?${queryFilter}`,
@@ -58,7 +58,7 @@ class AadAppRoleAssignmentAddCommand extends GraphCommand_1.default {
58
58
  try {
59
59
  const servicePrincipalResult = yield request_1.default.get(getServicePrinciplesRequestOptions);
60
60
  if (servicePrincipalResult.value.length > 1) {
61
- throw 'More than one service principal found. Please use the appId or objectId option to make sure the right service principal is specified.';
61
+ throw 'More than one service principal found. Please use the appId or appObjectId option to make sure the right service principal is specified.';
62
62
  }
63
63
  objectId = servicePrincipalResult.value[0].id;
64
64
  let resource = encodeURIComponent(args.options.resource);
@@ -157,17 +157,17 @@ _AadAppRoleAssignmentAddCommand_instances = new WeakSet(), _AadAppRoleAssignment
157
157
  this.telemetry.push((args) => {
158
158
  Object.assign(this.telemetryProperties, {
159
159
  appId: typeof args.options.appId !== 'undefined',
160
- objectId: typeof args.options.objectId !== 'undefined',
161
- displayName: typeof args.options.displayName !== 'undefined'
160
+ appObjectId: typeof args.options.appObjectId !== 'undefined',
161
+ appDisplayName: typeof args.options.appDisplayName !== 'undefined'
162
162
  });
163
163
  });
164
164
  }, _AadAppRoleAssignmentAddCommand_initOptions = function _AadAppRoleAssignmentAddCommand_initOptions() {
165
165
  this.options.unshift({
166
166
  option: '--appId [appId]'
167
167
  }, {
168
- option: '--objectId [objectId]'
168
+ option: '--appObjectId [appObjectId]'
169
169
  }, {
170
- option: '--displayName [displayName]'
170
+ option: '--appDisplayName [appDisplayName]'
171
171
  }, {
172
172
  option: '-r, --resource <resource>',
173
173
  autocomplete: ['Microsoft Graph', 'SharePoint', 'OneNote', 'Exchange', 'Microsoft Forms', 'Azure Active Directory Graph', 'Skype for Business']
@@ -179,13 +179,13 @@ _AadAppRoleAssignmentAddCommand_instances = new WeakSet(), _AadAppRoleAssignment
179
179
  if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
180
180
  return `${args.options.appId} is not a valid GUID`;
181
181
  }
182
- if (args.options.objectId && !validation_1.validation.isValidGuid(args.options.objectId)) {
183
- return `${args.options.objectId} is not a valid GUID`;
182
+ if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
183
+ return `${args.options.appObjectId} is not a valid GUID`;
184
184
  }
185
185
  return true;
186
186
  }));
187
187
  }, _AadAppRoleAssignmentAddCommand_initOptionSets = function _AadAppRoleAssignmentAddCommand_initOptionSets() {
188
- this.optionSets.push(['appId', 'objectId', 'displayName']);
188
+ this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
189
189
  };
190
190
  module.exports = new AadAppRoleAssignmentAddCommand();
191
191
  //# sourceMappingURL=approleassignment-add.js.map
@@ -79,8 +79,8 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
79
79
  }
80
80
  getAppRoleAssignments(argOptions) {
81
81
  return new Promise((resolve, reject) => {
82
- if (argOptions.objectId) {
83
- this.getSPAppRoleAssignments(argOptions.objectId)
82
+ if (argOptions.appObjectId) {
83
+ this.getSPAppRoleAssignments(argOptions.appObjectId)
84
84
  .then((spAppRoleAssignments) => {
85
85
  if (!spAppRoleAssignments.value.length) {
86
86
  reject('no app role assignments found');
@@ -98,7 +98,7 @@ class AadAppRoleAssignmentListCommand extends GraphCommand_1.default {
98
98
  spMatchQuery = `appId eq '${encodeURIComponent(argOptions.appId)}'`;
99
99
  }
100
100
  else {
101
- spMatchQuery = `displayName eq '${encodeURIComponent(argOptions.displayName)}'`;
101
+ spMatchQuery = `displayName eq '${encodeURIComponent(argOptions.appDisplayName)}'`;
102
102
  }
103
103
  this.getServicePrincipalForApp(spMatchQuery)
104
104
  .then((resp) => {
@@ -148,30 +148,30 @@ _AadAppRoleAssignmentListCommand_instances = new WeakSet(), _AadAppRoleAssignmen
148
148
  this.telemetry.push((args) => {
149
149
  Object.assign(this.telemetryProperties, {
150
150
  appId: typeof args.options.appId !== 'undefined',
151
- displayName: typeof args.options.displayName !== 'undefined',
152
- objectId: typeof args.options.objectId !== 'undefined'
151
+ appDisplayName: typeof args.options.appDisplayName !== 'undefined',
152
+ appObjectId: typeof args.options.appObjectId !== 'undefined'
153
153
  });
154
154
  });
155
155
  }, _AadAppRoleAssignmentListCommand_initOptions = function _AadAppRoleAssignmentListCommand_initOptions() {
156
156
  this.options.unshift({
157
157
  option: '-i, --appId [appId]'
158
158
  }, {
159
- option: '-n, --displayName [displayName]'
159
+ option: '-n, --appDisplayName [appDisplayName]'
160
160
  }, {
161
- option: '--objectId [objectId]'
161
+ option: '--appObjectId [appObjectId]'
162
162
  });
163
163
  }, _AadAppRoleAssignmentListCommand_initValidators = function _AadAppRoleAssignmentListCommand_initValidators() {
164
164
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
165
165
  if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
166
166
  return `${args.options.appId} is not a valid GUID`;
167
167
  }
168
- if (args.options.objectId && !validation_1.validation.isValidGuid(args.options.objectId)) {
169
- return `${args.options.objectId} is not a valid GUID`;
168
+ if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
169
+ return `${args.options.appObjectId} is not a valid GUID`;
170
170
  }
171
171
  return true;
172
172
  }));
173
173
  }, _AadAppRoleAssignmentListCommand_initOptionSets = function _AadAppRoleAssignmentListCommand_initOptionSets() {
174
- this.optionSets.push(['appId', 'objectId', 'displayName']);
174
+ this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
175
175
  };
176
176
  module.exports = new AadAppRoleAssignmentListCommand();
177
177
  //# sourceMappingURL=approleassignment-list.js.map
@@ -45,11 +45,11 @@ class AadAppRoleAssignmentRemoveCommand extends GraphCommand_1.default {
45
45
  if (args.options.appId) {
46
46
  spMatchQuery = `appId eq '${encodeURIComponent(args.options.appId)}'`;
47
47
  }
48
- else if (args.options.objectId) {
49
- spMatchQuery = `id eq '${encodeURIComponent(args.options.objectId)}'`;
48
+ else if (args.options.appObjectId) {
49
+ spMatchQuery = `id eq '${encodeURIComponent(args.options.appObjectId)}'`;
50
50
  }
51
51
  else {
52
- spMatchQuery = `displayName eq '${encodeURIComponent(args.options.displayName)}'`;
52
+ spMatchQuery = `displayName eq '${encodeURIComponent(args.options.appDisplayName)}'`;
53
53
  }
54
54
  try {
55
55
  let resp = yield this.getServicePrincipalForApp(spMatchQuery);
@@ -159,8 +159,8 @@ _AadAppRoleAssignmentRemoveCommand_instances = new WeakSet(), _AadAppRoleAssignm
159
159
  this.telemetry.push((args) => {
160
160
  Object.assign(this.telemetryProperties, {
161
161
  appId: typeof args.options.appId !== 'undefined',
162
- displayName: typeof args.options.displayName !== 'undefined',
163
- objectId: typeof args.options.objectId !== 'undefined',
162
+ appDisplayName: typeof args.options.appDisplayName !== 'undefined',
163
+ appObjectId: typeof args.options.appObjectId !== 'undefined',
164
164
  confirm: (!!args.options.confirm).toString()
165
165
  });
166
166
  });
@@ -168,9 +168,9 @@ _AadAppRoleAssignmentRemoveCommand_instances = new WeakSet(), _AadAppRoleAssignm
168
168
  this.options.unshift({
169
169
  option: '--appId [appId]'
170
170
  }, {
171
- option: '--objectId [objectId]'
171
+ option: '--appObjectId [appObjectId]'
172
172
  }, {
173
- option: '--displayName [displayName]'
173
+ option: '--appDisplayName [appDisplayName]'
174
174
  }, {
175
175
  option: '-r, --resource <resource>',
176
176
  autocomplete: ['Microsoft Graph', 'SharePoint', 'OneNote', 'Exchange', 'Microsoft Forms', 'Azure Active Directory Graph', 'Skype for Business']
@@ -184,13 +184,13 @@ _AadAppRoleAssignmentRemoveCommand_instances = new WeakSet(), _AadAppRoleAssignm
184
184
  if (args.options.appId && !validation_1.validation.isValidGuid(args.options.appId)) {
185
185
  return `${args.options.appId} is not a valid GUID`;
186
186
  }
187
- if (args.options.objectId && !validation_1.validation.isValidGuid(args.options.objectId)) {
188
- return `${args.options.objectId} is not a valid GUID`;
187
+ if (args.options.appObjectId && !validation_1.validation.isValidGuid(args.options.appObjectId)) {
188
+ return `${args.options.appObjectId} is not a valid GUID`;
189
189
  }
190
190
  return true;
191
191
  }));
192
192
  }, _AadAppRoleAssignmentRemoveCommand_initOptionSets = function _AadAppRoleAssignmentRemoveCommand_initOptionSets() {
193
- this.optionSets.push(['appId', 'objectId', 'displayName']);
193
+ this.optionSets.push(['appId', 'appObjectId', 'appDisplayName']);
194
194
  };
195
195
  module.exports = new AadAppRoleAssignmentRemoveCommand();
196
196
  //# sourceMappingURL=approleassignment-remove.js.map
@@ -72,7 +72,7 @@ class AadO365GroupAddCommand extends GraphCommand_1.default {
72
72
  mailNickname: args.options.mailNickname,
73
73
  resourceBehaviorOptions: resourceBehaviorOptionsCollection,
74
74
  securityEnabled: false,
75
- visibility: args.options.isPrivate === 'true' ? 'Private' : 'Public'
75
+ visibility: args.options.isPrivate ? 'Private' : 'Public'
76
76
  }
77
77
  };
78
78
  try {
@@ -217,7 +217,7 @@ _AadO365GroupAddCommand_instances = new WeakSet(), _AadO365GroupAddCommand_initT
217
217
  }, {
218
218
  option: '--members [members]'
219
219
  }, {
220
- option: '--isPrivate [isPrivate]'
220
+ option: '--isPrivate'
221
221
  }, {
222
222
  option: '--allowMembersToPost [allowMembersToPost]'
223
223
  }, {
@@ -247,11 +247,6 @@ _AadO365GroupAddCommand_instances = new WeakSet(), _AadO365GroupAddCommand_initT
247
247
  }
248
248
  }
249
249
  }
250
- if (typeof args.options.isPrivate !== 'undefined' &&
251
- args.options.isPrivate !== 'true' &&
252
- args.options.isPrivate !== 'false') {
253
- return `${args.options.isPrivate} is not a valid boolean value`;
254
- }
255
250
  if (args.options.logoPath) {
256
251
  const fullPath = path.resolve(args.options.logoPath);
257
252
  if (!fs.existsSync(fullPath)) {
@@ -38,8 +38,8 @@ class AadO365GroupRecycleBinItemListCommand extends GraphCommand_1.default {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
39
  try {
40
40
  const filter = `?$filter=groupTypes/any(c:c+eq+'Unified')`;
41
- const displayNameFilter = args.options.displayName ? ` and startswith(DisplayName,'${encodeURIComponent(args.options.displayName).replace(/'/g, `''`)}')` : '';
42
- const mailNicknameFilter = args.options.mailNickname ? ` and startswith(MailNickname,'${encodeURIComponent(args.options.mailNickname).replace(/'/g, `''`)}')` : '';
41
+ const displayNameFilter = args.options.groupDisplayName ? ` and startswith(DisplayName,'${encodeURIComponent(args.options.groupDisplayName).replace(/'/g, `''`)}')` : '';
42
+ const mailNicknameFilter = args.options.groupMailNickname ? ` and startswith(MailNickname,'${encodeURIComponent(args.options.groupMailNickname).replace(/'/g, `''`)}')` : '';
43
43
  const topCount = '&$top=100';
44
44
  const endpoint = `${this.resource}/v1.0/directory/deletedItems/Microsoft.Graph.Group${filter}${displayNameFilter}${mailNicknameFilter}${topCount}`;
45
45
  const recycleBinItems = yield odata_1.odata.getAllItems(endpoint);
@@ -54,15 +54,15 @@ class AadO365GroupRecycleBinItemListCommand extends GraphCommand_1.default {
54
54
  _AadO365GroupRecycleBinItemListCommand_instances = new WeakSet(), _AadO365GroupRecycleBinItemListCommand_initTelemetry = function _AadO365GroupRecycleBinItemListCommand_initTelemetry() {
55
55
  this.telemetry.push((args) => {
56
56
  Object.assign(this.telemetryProperties, {
57
- displayName: typeof args.options.displayName !== 'undefined',
58
- mailNickname: typeof args.options.mailNickname !== 'undefined'
57
+ groupDisplayName: typeof args.options.groupDisplayName !== 'undefined',
58
+ groupMailNickname: typeof args.options.groupMailNickname !== 'undefined'
59
59
  });
60
60
  });
61
61
  }, _AadO365GroupRecycleBinItemListCommand_initOptions = function _AadO365GroupRecycleBinItemListCommand_initOptions() {
62
62
  this.options.unshift({
63
- option: '-d, --displayName [displayName]'
63
+ option: '-d, --groupDisplayName [groupDisplayName]'
64
64
  }, {
65
- option: '-m, --mailNickname [mailNickname]'
65
+ option: '-m, --groupMailNickname [groupMailNickname]'
66
66
  });
67
67
  };
68
68
  module.exports = new AadO365GroupRecycleBinItemListCommand();
@@ -35,9 +35,6 @@ class AadO365GroupRecycleBinItemRestoreCommand extends GraphCommand_1.default {
35
35
  get description() {
36
36
  return 'Restores a deleted Microsoft 365 Group';
37
37
  }
38
- alias() {
39
- return [commands_1.default.O365GROUP_RESTORE];
40
- }
41
38
  commandAction(logger, args) {
42
39
  return __awaiter(this, void 0, void 0, function* () {
43
40
  if (this.verbose) {
@@ -35,8 +35,8 @@ class AadO365GroupTeamifyCommand extends GraphCommand_1.default {
35
35
  return 'Creates a new Microsoft Teams team under existing Microsoft 365 group';
36
36
  }
37
37
  getGroupId(args) {
38
- if (args.options.groupId) {
39
- return Promise.resolve(args.options.groupId);
38
+ if (args.options.id) {
39
+ return Promise.resolve(args.options.id);
40
40
  }
41
41
  const requestOptions = {
42
42
  url: `${this.resource}/v1.0/groups?$filter=mailNickname eq '${encodeURIComponent(args.options.mailNickname)}'`,
@@ -95,25 +95,25 @@ class AadO365GroupTeamifyCommand extends GraphCommand_1.default {
95
95
  _AadO365GroupTeamifyCommand_instances = new WeakSet(), _AadO365GroupTeamifyCommand_initTelemetry = function _AadO365GroupTeamifyCommand_initTelemetry() {
96
96
  this.telemetry.push((args) => {
97
97
  Object.assign(this.telemetryProperties, {
98
- groupId: typeof args.options.groupId !== 'undefined',
98
+ id: typeof args.options.id !== 'undefined',
99
99
  mailNickname: typeof args.options.mailNickname !== 'undefined'
100
100
  });
101
101
  });
102
102
  }, _AadO365GroupTeamifyCommand_initOptions = function _AadO365GroupTeamifyCommand_initOptions() {
103
103
  this.options.unshift({
104
- option: '-i, --groupId [groupId]'
104
+ option: '-i, --id [id]'
105
105
  }, {
106
106
  option: '--mailNickname [mailNickname]'
107
107
  });
108
108
  }, _AadO365GroupTeamifyCommand_initValidators = function _AadO365GroupTeamifyCommand_initValidators() {
109
109
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
110
- if (args.options.groupId && !validation_1.validation.isValidGuid(args.options.groupId)) {
111
- return `${args.options.groupId} is not a valid GUID`;
110
+ if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
111
+ return `${args.options.id} is not a valid GUID`;
112
112
  }
113
113
  return true;
114
114
  }));
115
115
  }, _AadO365GroupTeamifyCommand_initOptionSets = function _AadO365GroupTeamifyCommand_initOptionSets() {
116
- this.optionSets.push(['groupId', 'mailNickname']);
116
+ this.optionSets.push(['id', 'mailNickname']);
117
117
  };
118
118
  module.exports = new AadO365GroupTeamifyCommand();
119
119
  //# sourceMappingURL=o365group-teamify.js.map
@@ -46,7 +46,7 @@ class AadPolicyListCommand extends GraphCommand_1.default {
46
46
  }
47
47
  commandAction(logger, args) {
48
48
  return __awaiter(this, void 0, void 0, function* () {
49
- const policyType = args.options.policyType ? args.options.policyType.toLowerCase() : 'all';
49
+ const policyType = args.options.type ? args.options.type.toLowerCase() : 'all';
50
50
  try {
51
51
  if (policyType && policyType !== "all") {
52
52
  const policies = yield this.getPolicies(policyType);
@@ -92,20 +92,20 @@ class AadPolicyListCommand extends GraphCommand_1.default {
92
92
  _AadPolicyListCommand_instances = new WeakSet(), _AadPolicyListCommand_initTelemetry = function _AadPolicyListCommand_initTelemetry() {
93
93
  this.telemetry.push((args) => {
94
94
  Object.assign(this.telemetryProperties, {
95
- policyType: args.options.policyType || 'all'
95
+ policyType: args.options.type || 'all'
96
96
  });
97
97
  });
98
98
  }, _AadPolicyListCommand_initOptions = function _AadPolicyListCommand_initOptions() {
99
99
  this.options.unshift({
100
- option: '-p, --policyType [policyType]',
100
+ option: '-t, --type [type]',
101
101
  autocomplete: AadPolicyListCommand.supportedPolicyTypes
102
102
  });
103
103
  }, _AadPolicyListCommand_initValidators = function _AadPolicyListCommand_initValidators() {
104
104
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
105
- if (args.options.policyType) {
106
- const policyType = args.options.policyType.toLowerCase();
105
+ if (args.options.type) {
106
+ const policyType = args.options.type.toLowerCase();
107
107
  if (!AadPolicyListCommand.supportedPolicyTypes.find(p => p.toLowerCase() === policyType)) {
108
- return `${args.options.policyType} is not a valid policyType. Allowed values are ${AadPolicyListCommand.supportedPolicyTypes.join(', ')}`;
108
+ return `${args.options.type} is not a valid type. Allowed values are ${AadPolicyListCommand.supportedPolicyTypes.join(', ')}`;
109
109
  }
110
110
  }
111
111
  return true;