@pnp/cli-microsoft365 10.10.0-beta.bd186ba → 10.10.0

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 (86) hide show
  1. package/.devproxy/api-specs/sharepoint-admin.yaml +67 -0
  2. package/.devproxy/api-specs/sharepoint.yaml +230 -0
  3. package/.devproxy/devproxyrc.json +48 -0
  4. package/.devproxy/generate-openapi-spec.json +24 -0
  5. package/.devproxy/spo-csom-types.json +54 -0
  6. package/.eslintrc.cjs +8 -0
  7. package/allCommands.json +1 -1
  8. package/allCommandsFull.json +1 -1
  9. package/dist/cli/cli.js +2 -2
  10. package/dist/m365/app/commands/permission/permission-add.js +8 -1
  11. package/dist/m365/base/SpoCommand.js +1 -0
  12. package/dist/m365/entra/commands/app/app-permission-add.js +5 -18
  13. package/dist/m365/entra/commands/organization/organization-set.js +104 -0
  14. package/dist/m365/entra/commands.js +1 -0
  15. package/dist/m365/file/commands/file-copy.js +2 -2
  16. package/dist/m365/file/commands/file-move.js +1 -1
  17. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +0 -3
  18. package/dist/m365/spo/commands/contenttype/contenttype-add.js +3 -65
  19. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +5 -50
  20. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +4 -48
  21. package/dist/m365/spo/commands/contenttype/contenttype-set.js +8 -58
  22. package/dist/m365/spo/commands/contenttype/contenttype-sync.js +2 -2
  23. package/dist/m365/spo/commands/folder/folder-sharinglink-add.js +1 -1
  24. package/dist/m365/spo/commands/folder/folder-sharinglink-clear.js +1 -1
  25. package/dist/m365/spo/commands/folder/folder-sharinglink-get.js +1 -1
  26. package/dist/m365/spo/commands/folder/folder-sharinglink-list.js +1 -1
  27. package/dist/m365/spo/commands/folder/folder-sharinglink-remove.js +1 -1
  28. package/dist/m365/spo/commands/folder/folder-sharinglink-set.js +1 -1
  29. package/dist/m365/spo/commands/homesite/homesite-remove.js +57 -37
  30. package/dist/m365/spo/commands/list/list-view-add.js +140 -87
  31. package/dist/m365/spo/commands/listitem/listitem-batch-set.js +3 -27
  32. package/dist/m365/spo/commands/page/Page.js +16 -1
  33. package/dist/m365/spo/commands/page/clientsidepages.js +4 -0
  34. package/dist/m365/spo/commands/page/page-add.js +1 -1
  35. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +2 -8
  36. package/dist/m365/spo/commands/page/page-control-remove.js +99 -0
  37. package/dist/m365/spo/commands/page/page-control-set.js +1 -1
  38. package/dist/m365/spo/commands/page/page-header-set.js +9 -40
  39. package/dist/m365/spo/commands/page/page-publish.js +2 -10
  40. package/dist/m365/spo/commands/page/page-section-add.js +75 -21
  41. package/dist/m365/spo/commands/page/page-set.js +1 -1
  42. package/dist/m365/spo/commands/site/site-admin-add.js +1 -12
  43. package/dist/m365/spo/commands/site/site-set.js +2 -2
  44. package/dist/m365/spo/commands.js +1 -0
  45. package/dist/utils/entraServicePrincipal.js +21 -0
  46. package/dist/utils/md.js +3 -3
  47. package/dist/utils/spo.js +87 -3
  48. package/docs/docs/cmd/_global.mdx +1 -1
  49. package/docs/docs/cmd/entra/organization/organization-set.mdx +84 -0
  50. package/docs/docs/cmd/planner/bucket/bucket-add.mdx +19 -0
  51. package/docs/docs/cmd/planner/bucket/bucket-get.mdx +19 -0
  52. package/docs/docs/cmd/planner/bucket/bucket-list.mdx +19 -0
  53. package/docs/docs/cmd/planner/bucket/bucket-remove.mdx +21 -0
  54. package/docs/docs/cmd/planner/bucket/bucket-set.mdx +21 -0
  55. package/docs/docs/cmd/planner/plan/plan-add.mdx +19 -0
  56. package/docs/docs/cmd/planner/plan/plan-get.mdx +19 -0
  57. package/docs/docs/cmd/planner/plan/plan-list.mdx +19 -0
  58. package/docs/docs/cmd/planner/plan/plan-remove.mdx +21 -0
  59. package/docs/docs/cmd/planner/plan/plan-set.mdx +19 -0
  60. package/docs/docs/cmd/planner/roster/roster-add.mdx +19 -0
  61. package/docs/docs/cmd/planner/roster/roster-get.mdx +19 -0
  62. package/docs/docs/cmd/planner/roster/roster-member-add.mdx +19 -0
  63. package/docs/docs/cmd/planner/roster/roster-member-get.mdx +19 -0
  64. package/docs/docs/cmd/planner/roster/roster-member-list.mdx +19 -0
  65. package/docs/docs/cmd/planner/roster/roster-member-remove.mdx +21 -0
  66. package/docs/docs/cmd/planner/roster/roster-plan-list.mdx +19 -0
  67. package/docs/docs/cmd/planner/roster/roster-remove.mdx +21 -0
  68. package/docs/docs/cmd/planner/task/task-add.mdx +19 -0
  69. package/docs/docs/cmd/planner/task/task-checklistitem-add.mdx +19 -0
  70. package/docs/docs/cmd/planner/task/task-checklistitem-list.mdx +19 -0
  71. package/docs/docs/cmd/planner/task/task-checklistitem-remove.mdx +21 -0
  72. package/docs/docs/cmd/planner/task/task-get.mdx +27 -0
  73. package/docs/docs/cmd/planner/task/task-list.mdx +19 -0
  74. package/docs/docs/cmd/planner/task/task-reference-add.mdx +19 -0
  75. package/docs/docs/cmd/planner/task/task-reference-list.mdx +19 -0
  76. package/docs/docs/cmd/planner/task/task-reference-remove.mdx +21 -0
  77. package/docs/docs/cmd/planner/task/task-remove.mdx +21 -0
  78. package/docs/docs/cmd/planner/task/task-set.mdx +19 -0
  79. package/docs/docs/cmd/planner/tenant/tenant-settings-list.mdx +44 -7
  80. package/docs/docs/cmd/planner/tenant/tenant-settings-set.mdx +43 -8
  81. package/docs/docs/cmd/spo/homesite/homesite-remove.mdx +6 -3
  82. package/docs/docs/cmd/spo/list/list-view-add.mdx +53 -10
  83. package/docs/docs/cmd/spo/page/page-control-remove.mdx +56 -0
  84. package/docs/docs/cmd/spo/page/page-section-add.mdx +22 -2
  85. package/npm-shrinkwrap.json +2322 -534
  86. package/package.json +17 -14
package/dist/utils/spo.js CHANGED
@@ -1403,13 +1403,13 @@ export const spo = {
1403
1403
  await request.post(requestOptions);
1404
1404
  },
1405
1405
  /**
1406
- * Retrieves the site ID for a given web URL.
1406
+ * Retrieves the site ID for a given web URL by the MS Graph.
1407
1407
  * @param webUrl The web URL for which to retrieve the site ID.
1408
1408
  * @param logger The logger object.
1409
1409
  * @param verbose Set for verbose logging
1410
- * @returns A promise that resolves to the site ID.
1410
+ * @returns The site ID as a string.
1411
1411
  */
1412
- async getSiteId(webUrl, logger, verbose) {
1412
+ async getSiteIdByMSGraph(webUrl, logger, verbose) {
1413
1413
  if (verbose && logger) {
1414
1414
  await logger.logToStderr(`Getting site id for URL: ${webUrl}...`);
1415
1415
  }
@@ -1424,6 +1424,90 @@ export const spo = {
1424
1424
  const site = await request.get(requestOptions);
1425
1425
  return site.id;
1426
1426
  },
1427
+ /**
1428
+ * Retrieves the SharePoint Online site ID for the specified web URL by the SharePoint REST API.
1429
+ * @param webUrl The web URL of the SharePoint Online site to retrieve the site ID for.
1430
+ * @param logger The logger object.
1431
+ * @param verbose Set for verbose logging
1432
+ * @returns The site ID as a string.
1433
+ */
1434
+ async getSiteIdBySPApi(webUrl, logger, verbose) {
1435
+ if (verbose && logger) {
1436
+ await logger.logToStderr(`Getting site id for URL: ${webUrl}...`);
1437
+ }
1438
+ const requestOptions = {
1439
+ url: `${webUrl}/_api/site?$select=Id`,
1440
+ headers: {
1441
+ accept: 'application/json;odata=nometadata'
1442
+ },
1443
+ responseType: 'json'
1444
+ };
1445
+ const siteResponse = await request.get(requestOptions);
1446
+ return siteResponse.Id;
1447
+ },
1448
+ /**
1449
+ * Retrieves the id of a SharePoint web for the specified web URL.
1450
+ * @param webUrl The web URL for which to retrieve the web ID.
1451
+ * @param logger The logger object for logging messages.
1452
+ * @param verbose Set to true for verbose logging.
1453
+ * @returns The web ID as a string.
1454
+ */
1455
+ async getWebId(webUrl, logger, verbose) {
1456
+ if (verbose && logger) {
1457
+ await logger.logToStderr(`Getting web id for URL: ${webUrl}...`);
1458
+ }
1459
+ const requestOptions = {
1460
+ url: `${webUrl}/_api/web?$select=Id`,
1461
+ headers: {
1462
+ accept: 'application/json;odata=nometadata'
1463
+ },
1464
+ responseType: 'json'
1465
+ };
1466
+ const webResponse = await request.get(requestOptions);
1467
+ return webResponse.Id;
1468
+ },
1469
+ /**
1470
+ * Retrieves the ID of a SharePoint list by its title or URL.
1471
+ * @param webUrl The base URL of the SharePoint site.
1472
+ * @param listTitle The title of the list (optional).
1473
+ * @param listUrl The server-relative URL of the list (optional).
1474
+ * @param logger The logger object for logging messages (optional).
1475
+ * @param verbose Set to true for verbose logging (optional).
1476
+ * @returns The list ID as a string.
1477
+ */
1478
+ async getListId(webUrl, listTitle, listUrl, logger, verbose) {
1479
+ if (verbose && logger) {
1480
+ await logger.logToStderr(`Retrieving list id...`);
1481
+ }
1482
+ if (!listTitle && !listUrl) {
1483
+ throw new Error('Either listTitle or listUrl must be provided.');
1484
+ }
1485
+ let listId = '';
1486
+ if (listTitle) {
1487
+ const requestOptions = {
1488
+ url: `${webUrl}/_api/web/lists/getByTitle('${formatting.encodeQueryParameter(listTitle)}')?$select=Id`,
1489
+ headers: {
1490
+ accept: 'application/json;odata=nometadata'
1491
+ },
1492
+ responseType: 'json'
1493
+ };
1494
+ const listResponse = await request.get(requestOptions);
1495
+ listId = listResponse.Id;
1496
+ }
1497
+ else if (listUrl) {
1498
+ const listServerRelativeUrl = urlUtil.getServerRelativePath(webUrl, listUrl);
1499
+ const requestOptions = {
1500
+ url: `${webUrl}/_api/web/GetList('${formatting.encodeQueryParameter(listServerRelativeUrl)}')?$select=Id`,
1501
+ headers: {
1502
+ accept: 'application/json;odata=nometadata'
1503
+ },
1504
+ responseType: 'json'
1505
+ };
1506
+ const listResponse = await request.get(requestOptions);
1507
+ listId = listResponse.Id;
1508
+ }
1509
+ return listId;
1510
+ },
1427
1511
  /**
1428
1512
  * Retrieves the server-relative URL of a folder.
1429
1513
  * @param webUrl Web URL
@@ -1,6 +1,6 @@
1
1
  ```md definition-list
2
2
  `-h, --help [help]`
3
- : Output usage information. Optionally, specify which section of command's help you want to see. Allowed values are `options`, `examples`, `remarks`, `response`, `full`. Default is `options`.
3
+ : Output usage information. Optionally, specify which section of command's help you want to see. Allowed values are `options`, `examples`, `remarks`, `permissions`, `response`, `full`. Default is `options`.
4
4
 
5
5
  `--query [query]`
6
6
  : JMESPath query string. See [http://jmespath.org/](http://jmespath.org/) for more information and examples.
@@ -0,0 +1,84 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # entra organization set
6
+
7
+ Updates info about the organization
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 entra organization set [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-i, --id [id]`
19
+ : The id of the organization. Specify either `id` or `displayName`, but not both.
20
+
21
+ `-d, --displayName [displayName]`
22
+ : The name of the organization. Specify either `id` or `displayName`, but not both.
23
+
24
+ `--marketingNotificationEmails [marketingNotificationEmails]`
25
+ : The comma separated list of marketing notification emails.
26
+
27
+ `--securityComplianceNotificationMails [securityComplianceNotificationMails]`
28
+ : The comma separated list of security compliance notification emails.
29
+
30
+ `--securityComplianceNotificationPhones [securityComplianceNotificationPhones]`
31
+ : The comma separated list of security compliance notification phones.
32
+
33
+ `--technicalNotificationMails [technicalNotificationMails]`
34
+ : The comma separated list of technical notification emails.
35
+
36
+ `--contactEmail [contactEmail]`
37
+ : A valid smtp email address for the privacy statement contact
38
+
39
+ `--statementUrl [statementUrl]`
40
+ : The URL that directs to the company's privacy statement
41
+ ```
42
+
43
+ <Global />
44
+
45
+ ## Permissions
46
+
47
+ <Tabs>
48
+ <TabItem value="Delegated">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|--------------------------------------------------|
52
+ | Microsoft Graph | Organization.ReadWrite.All |
53
+
54
+ </TabItem>
55
+ <TabItem value="Application">
56
+
57
+ | Resource | Permissions |
58
+ |-----------------|----------------------------------------------------------|
59
+ | Microsoft Graph | Organization.ReadWrite.All |
60
+
61
+ </TabItem>
62
+ </Tabs>
63
+
64
+ ## Examples
65
+
66
+ Updates properties of an organization specified by id
67
+
68
+ ```sh
69
+ m365 entra organization set --id 84841066-274d-4ec0-a5c1-276be684bdd3 --marketingNotificationEmails 'marketing@contoso.com'
70
+ ```
71
+
72
+ Updates properties of an organization specified by displayName
73
+
74
+ ```sh
75
+ m365 entra organization set --displayName Contoso --marketingNotificationEmails 'marketing@contoso.com'
76
+ ```
77
+
78
+ ## Response
79
+
80
+ The command won't return a response on success
81
+
82
+ ## More information
83
+
84
+ - Organization: https://learn.microsoft.com/graph/api/organization-update
@@ -47,6 +47,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
47
47
 
48
48
  :::
49
49
 
50
+ ## Permissions
51
+
52
+ <Tabs>
53
+ <TabItem value="Delegated">
54
+
55
+ | Resource | Permissions |
56
+ |-----------------|---------------------------------------|
57
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
58
+
59
+ </TabItem>
60
+ <TabItem value="Application">
61
+
62
+ | Resource | Permissions |
63
+ |-----------------|-------------------------------------------|
64
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
65
+
66
+ </TabItem>
67
+ </Tabs>
68
+
50
69
  ## Examples
51
70
 
52
71
  Adds a Microsoft Planner bucket for a plan based on its ID with an order hint
@@ -47,6 +47,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
47
47
 
48
48
  :::
49
49
 
50
+ ## Permissions
51
+
52
+ <Tabs>
53
+ <TabItem value="Delegated">
54
+
55
+ | Resource | Permissions |
56
+ |-----------------|----------------------------------|
57
+ | Microsoft Graph | Tasks.Read, GroupMember.Read.All |
58
+
59
+ </TabItem>
60
+ <TabItem value="Application">
61
+
62
+ | Resource | Permissions |
63
+ |-----------------|--------------------------------------|
64
+ | Microsoft Graph | Tasks.Read.All, GroupMember.Read.All |
65
+
66
+ </TabItem>
67
+ </Tabs>
68
+
50
69
  ## Examples
51
70
 
52
71
  Gets the specified Microsoft Planner bucket
@@ -41,6 +41,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
41
41
 
42
42
  :::
43
43
 
44
+ ## Permissions
45
+
46
+ <Tabs>
47
+ <TabItem value="Delegated">
48
+
49
+ | Resource | Permissions |
50
+ |-----------------|----------------------------------|
51
+ | Microsoft Graph | Tasks.Read, GroupMember.Read.All |
52
+
53
+ </TabItem>
54
+ <TabItem value="Application">
55
+
56
+ | Resource | Permissions |
57
+ |-----------------|--------------------------------------|
58
+ | Microsoft Graph | Tasks.Read.All, GroupMember.Read.All |
59
+
60
+ </TabItem>
61
+ </Tabs>
62
+
44
63
  ## Examples
45
64
 
46
65
  Lists the Microsoft Planner buckets based on its plan ID
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # planner bucket remove
4
6
 
@@ -48,6 +50,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
48
50
 
49
51
  :::
50
52
 
53
+ ## Permissions
54
+
55
+ <Tabs>
56
+ <TabItem value="Delegated">
57
+
58
+ | Resource | Permissions |
59
+ |-----------------|---------------------------------------|
60
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
61
+
62
+ </TabItem>
63
+ <TabItem value="Application">
64
+
65
+ | Resource | Permissions |
66
+ |-----------------|-------------------------------------------|
67
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
68
+
69
+ </TabItem>
70
+ </Tabs>
71
+
51
72
  ## Examples
52
73
 
53
74
  Removes the Microsoft Planner bucket by ID
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # planner bucket set
4
6
 
@@ -51,6 +53,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
51
53
 
52
54
  :::
53
55
 
56
+ ## Permissions
57
+
58
+ <Tabs>
59
+ <TabItem value="Delegated">
60
+
61
+ | Resource | Permissions |
62
+ |-----------------|---------------------------------------|
63
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
64
+
65
+ </TabItem>
66
+ <TabItem value="Application">
67
+
68
+ | Resource | Permissions |
69
+ |-----------------|-------------------------------------------|
70
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
71
+
72
+ </TabItem>
73
+ </Tabs>
74
+
54
75
  ## Examples
55
76
 
56
77
  Updates the Microsoft Planner bucket by its ID
@@ -42,6 +42,25 @@ m365 planner plan add [options]
42
42
 
43
43
  - Hint: Unlike for groups, a Planner Roster can contain only 1 plan.
44
44
 
45
+ ## Permissions
46
+
47
+ <Tabs>
48
+ <TabItem value="Delegated">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|---------------------------------------|
52
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
53
+
54
+ </TabItem>
55
+ <TabItem value="Application">
56
+
57
+ | Resource | Permissions |
58
+ |-----------------|-------------------------------------------|
59
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
60
+
61
+ </TabItem>
62
+ </Tabs>
63
+
45
64
  ## Examples
46
65
 
47
66
  Adds a Microsoft Planner plan with a Group by id.
@@ -41,6 +41,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
41
41
 
42
42
  :::
43
43
 
44
+ ## Permissions
45
+
46
+ <Tabs>
47
+ <TabItem value="Delegated">
48
+
49
+ | Resource | Permissions |
50
+ |-----------------|----------------------------------|
51
+ | Microsoft Graph | Tasks.Read, GroupMember.Read.All |
52
+
53
+ </TabItem>
54
+ <TabItem value="Application">
55
+
56
+ | Resource | Permissions |
57
+ |-----------------|--------------------------------------|
58
+ | Microsoft Graph | Tasks.Read.All, GroupMember.Read.All |
59
+
60
+ </TabItem>
61
+ </Tabs>
62
+
44
63
  ## Examples
45
64
 
46
65
  Returns the Microsoft Planner plan by id.
@@ -35,6 +35,25 @@ When using rosterId, the command is based on an API that is currently in preview
35
35
 
36
36
  :::
37
37
 
38
+ ## Permissions
39
+
40
+ <Tabs>
41
+ <TabItem value="Delegated">
42
+
43
+ | Resource | Permissions |
44
+ |-----------------|----------------------------------|
45
+ | Microsoft Graph | Tasks.Read, GroupMember.Read.All |
46
+
47
+ </TabItem>
48
+ <TabItem value="Application">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|--------------------------------------|
52
+ | Microsoft Graph | Tasks.Read.All, GroupMember.Read.All |
53
+
54
+ </TabItem>
55
+ </Tabs>
56
+
38
57
  ## Examples
39
58
 
40
59
  Returns a list of Microsoft Planner plans for the specified Group by id.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # planner plan remove
4
6
 
@@ -35,6 +37,25 @@ m365 planner plan remove [options]
35
37
 
36
38
  If you wish to delete a Planner plan contained within a Planner Roster, you'll have to remove the roster using [planner roster remove](../roster/roster-remove.mdx).
37
39
 
40
+ ## Permissions
41
+
42
+ <Tabs>
43
+ <TabItem value="Delegated">
44
+
45
+ | Resource | Permissions |
46
+ |-----------------|---------------------------------------|
47
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
48
+
49
+ </TabItem>
50
+ <TabItem value="Application">
51
+
52
+ | Resource | Permissions |
53
+ |-----------------|-------------------------------------------|
54
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
55
+
56
+ </TabItem>
57
+ </Tabs>
58
+
38
59
  ## Examples
39
60
 
40
61
  Removes the Microsoft Planner plan by ID
@@ -57,6 +57,25 @@ When using `rosterId`, the command is based on an API that is currently in previ
57
57
 
58
58
  :::
59
59
 
60
+ ## Permissions
61
+
62
+ <Tabs>
63
+ <TabItem value="Delegated">
64
+
65
+ | Resource | Permissions |
66
+ |-----------------|---------------------------------------|
67
+ | Microsoft Graph | Tasks.ReadWrite, GroupMember.Read.All |
68
+
69
+ </TabItem>
70
+ <TabItem value="Application">
71
+
72
+ | Resource | Permissions |
73
+ |-----------------|-------------------------------------------|
74
+ | Microsoft Graph | Tasks.ReadWrite.All, GroupMember.Read.All |
75
+
76
+ </TabItem>
77
+ </Tabs>
78
+
60
79
  ## Examples
61
80
 
62
81
  Updates a Microsoft Planner plan title.
@@ -36,6 +36,25 @@ To be able to create a new Roster, the Planner Roster creation tenant setting sh
36
36
 
37
37
  :::
38
38
 
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|-----------------|
46
+ | Microsoft Graph | Tasks.ReadWrite |
47
+
48
+ </TabItem>
49
+ <TabItem value="Application">
50
+
51
+ | Resource | Permissions |
52
+ |-----------------|---------------------|
53
+ | Microsoft Graph | Tasks.ReadWrite.All |
54
+
55
+ </TabItem>
56
+ </Tabs>
57
+
39
58
  ## Examples
40
59
 
41
60
  Creates a new Microsoft Planner Roster
@@ -29,6 +29,25 @@ This command is based on an API that is currently in preview and is subject to c
29
29
 
30
30
  :::
31
31
 
32
+ ## Permissions
33
+
34
+ <Tabs>
35
+ <TabItem value="Delegated">
36
+
37
+ | Resource | Permissions |
38
+ |-----------------|-------------|
39
+ | Microsoft Graph | Tasks.Read |
40
+
41
+ </TabItem>
42
+ <TabItem value="Application">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|----------------|
46
+ | Microsoft Graph | Tasks.Read.All |
47
+
48
+ </TabItem>
49
+ </Tabs>
50
+
32
51
  ## Examples
33
52
 
34
53
  Gets information about a specific Planner Roster.
@@ -35,6 +35,25 @@ This command is based on an API that is currently in preview and is subject to c
35
35
 
36
36
  :::
37
37
 
38
+ ## Permissions
39
+
40
+ <Tabs>
41
+ <TabItem value="Delegated">
42
+
43
+ | Resource | Permissions |
44
+ |-----------------|-----------------|
45
+ | Microsoft Graph | Tasks.ReadWrite |
46
+
47
+ </TabItem>
48
+ <TabItem value="Application">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|---------------------|
52
+ | Microsoft Graph | Tasks.ReadWrite.All |
53
+
54
+ </TabItem>
55
+ </Tabs>
56
+
38
57
  ## Examples
39
58
 
40
59
  Adds a specific user by user name as member of the Planner Roster.
@@ -35,6 +35,25 @@ This command is based on an API that is currently in preview and is subject to c
35
35
 
36
36
  :::
37
37
 
38
+ ## Permissions
39
+
40
+ <Tabs>
41
+ <TabItem value="Delegated">
42
+
43
+ | Resource | Permissions |
44
+ |-----------------|-------------|
45
+ | Microsoft Graph | Tasks.Read |
46
+
47
+ </TabItem>
48
+ <TabItem value="Application">
49
+
50
+ | Resource | Permissions |
51
+ |-----------------|----------------|
52
+ | Microsoft Graph | Tasks.Read.All |
53
+
54
+ </TabItem>
55
+ </Tabs>
56
+
38
57
  ## Examples
39
58
 
40
59
  Gets a specific user by user name as member of the Planner Roster.
@@ -29,6 +29,25 @@ This command is based on an API that is currently in preview and is subject to c
29
29
 
30
30
  :::
31
31
 
32
+ ## Permissions
33
+
34
+ <Tabs>
35
+ <TabItem value="Delegated">
36
+
37
+ | Resource | Permissions |
38
+ |-----------------|-------------|
39
+ | Microsoft Graph | Tasks.Read |
40
+
41
+ </TabItem>
42
+ <TabItem value="Application">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|----------------|
46
+ | Microsoft Graph | Tasks.Read.All |
47
+
48
+ </TabItem>
49
+ </Tabs>
50
+
32
51
  ## Examples
33
52
 
34
53
  Lists members of the specified Microsoft Planner Roster.
@@ -1,4 +1,6 @@
1
1
  import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
2
4
 
3
5
  # planner roster member remove
4
6
 
@@ -42,6 +44,25 @@ The Planner Roster will be deleted when it doesn't have any users remaining in t
42
44
 
43
45
  :::
44
46
 
47
+ ## Permissions
48
+
49
+ <Tabs>
50
+ <TabItem value="Delegated">
51
+
52
+ | Resource | Permissions |
53
+ |-----------------|-----------------|
54
+ | Microsoft Graph | Tasks.ReadWrite |
55
+
56
+ </TabItem>
57
+ <TabItem value="Application">
58
+
59
+ | Resource | Permissions |
60
+ |-----------------|---------------------|
61
+ | Microsoft Graph | Tasks.ReadWrite.All |
62
+
63
+ </TabItem>
64
+ </Tabs>
65
+
45
66
  ## Examples
46
67
 
47
68
  Remove a Roster member by its Microsoft Entra ID.
@@ -32,6 +32,25 @@ This command is based on an API that is currently in preview and is subject to c
32
32
 
33
33
  :::
34
34
 
35
+ ## Permissions
36
+
37
+ <Tabs>
38
+ <TabItem value="Delegated">
39
+
40
+ | Resource | Permissions |
41
+ |-----------------|-------------|
42
+ | Microsoft Graph | Tasks.Read |
43
+
44
+ </TabItem>
45
+ <TabItem value="Application">
46
+
47
+ | Resource | Permissions |
48
+ |-----------------|----------------|
49
+ | Microsoft Graph | Tasks.Read.All |
50
+
51
+ </TabItem>
52
+ </Tabs>
53
+
35
54
  ## Examples
36
55
 
37
56
  List all Planner plans contained in a Roster where the current logged in user is member of.