@pnp/cli-microsoft365 6.3.0-beta.3f7129c → 6.3.0-beta.4c3b2c9

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 (97) hide show
  1. package/.eslintrc.js +6 -0
  2. package/dist/Command.js +12 -1
  3. package/dist/cli/Cli.js +4 -1
  4. package/dist/m365/aad/commands/group/group-list.js +2 -1
  5. package/dist/m365/base/O365MgmtCommand.js +10 -0
  6. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  7. package/dist/m365/onenote/commands/notebook/notebook-list.js +51 -40
  8. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  9. package/dist/m365/planner/commands/plan/plan-get.js +34 -27
  10. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  11. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  12. package/dist/m365/planner/commands/roster/roster-member-add.js +113 -0
  13. package/dist/m365/planner/commands/roster/roster-member-list.js +54 -0
  14. package/dist/m365/planner/commands/task/task-add.js +3 -0
  15. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  16. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  17. package/dist/m365/planner/commands.js +2 -0
  18. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  19. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  20. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  21. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
  22. package/dist/m365/purview/commands.js +2 -0
  23. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  24. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  25. package/dist/m365/spfx/commands.js +3 -2
  26. package/dist/m365/spo/commands/app/app-add.js +2 -1
  27. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +95 -0
  28. package/dist/m365/spo/commands/file/GraphFileDetails.js +0 -1
  29. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  30. package/dist/m365/spo/commands/file/file-sharinglink-add.js +2 -22
  31. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +137 -0
  32. package/dist/m365/spo/commands/file/file-sharinglink-get.js +2 -25
  33. package/dist/m365/spo/commands/file/file-sharinglink-list.js +9 -29
  34. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -25
  35. package/dist/m365/spo/commands/file/file-sharinglink-set.js +104 -0
  36. package/dist/m365/spo/commands/group/group-list.js +2 -1
  37. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  38. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  39. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  40. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  41. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  42. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  43. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +6 -0
  44. package/dist/m365/spo/commands/spo-search.js +2 -1
  45. package/dist/m365/spo/commands/term/term-list.js +2 -1
  46. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  47. package/dist/m365/spo/commands.js +3 -0
  48. package/dist/m365/teams/commands/meeting/meeting-list.js +1 -1
  49. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  50. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  51. package/dist/m365/todo/commands/task/task-get.js +2 -1
  52. package/dist/m365/todo/commands/task/task-list.js +2 -1
  53. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  54. package/dist/utils/planner.js +19 -5
  55. package/dist/utils/spo.js +28 -0
  56. package/docs/docs/cmd/pa/app/app-get.md +24 -0
  57. package/docs/docs/cmd/pa/app/app-list.md +21 -0
  58. package/docs/docs/cmd/pa/connector/connector-list.md +17 -0
  59. package/docs/docs/cmd/pa/environment/environment-get.md +18 -0
  60. package/docs/docs/cmd/pa/environment/environment-list.md +19 -0
  61. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  62. package/docs/docs/cmd/planner/plan/plan-get.md +16 -2
  63. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  64. package/docs/docs/cmd/planner/roster/roster-member-add.md +87 -0
  65. package/docs/docs/cmd/planner/roster/roster-member-list.md +76 -0
  66. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.md +43 -0
  67. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.md +43 -0
  68. package/docs/docs/cmd/pp/card/card-clone.md +12 -0
  69. package/docs/docs/cmd/pp/card/card-get.md +49 -0
  70. package/docs/docs/cmd/pp/card/card-list.md +49 -0
  71. package/docs/docs/cmd/pp/chatbot/chatbot-get.md +55 -0
  72. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +36 -0
  73. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +30 -0
  74. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +30 -0
  75. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.md +30 -0
  76. package/docs/docs/cmd/pp/environment/environment-get.md +19 -0
  77. package/docs/docs/cmd/pp/environment/environment-list.md +19 -0
  78. package/docs/docs/cmd/pp/gateway/gateway-get.md +19 -0
  79. package/docs/docs/cmd/pp/gateway/gateway-list.md +19 -0
  80. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +12 -0
  81. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +12 -0
  82. package/docs/docs/cmd/pp/solution/solution-get.md +14 -0
  83. package/docs/docs/cmd/pp/solution/solution-list.md +14 -0
  84. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +20 -1
  85. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +18 -0
  86. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +21 -0
  87. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  88. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
  89. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  90. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-add.md +56 -0
  91. package/docs/docs/cmd/spo/file/file-sharinglink-clear.md +46 -0
  92. package/docs/docs/cmd/spo/file/file-sharinglink-list.md +1 -1
  93. package/docs/docs/cmd/spo/file/file-sharinglink-set.md +104 -0
  94. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  95. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +1 -1
  96. package/docs/docs/cmd/spo/sitedesign/sitedesign-add.md +3 -0
  97. package/package.json +1 -1
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoSearchCommand_instances, _SpoSearchCommand_initTelemetry, _SpoSearchCommand_initOptions, _SpoSearchCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const util_1 = require("util");
19
+ const Cli_1 = require("../../../cli/Cli");
19
20
  const request_1 = require("../../../request");
20
21
  const formatting_1 = require("../../../utils/formatting");
21
22
  const spo_1 = require("../../../utils/spo");
@@ -137,7 +138,7 @@ class SpoSearchCommand extends SpoCommand_1.default {
137
138
  else {
138
139
  logger.log(this.getParsedOutput(args, results));
139
140
  }
140
- if (!args.options.output || args.options.output === 'text') {
141
+ if (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) {
141
142
  logger.log("# Rows: " + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRows);
142
143
  logger.log("# Rows (Including duplicates): " + results[results.length - 1].PrimaryQueryResult.RelevantResults.TotalRowsIncludingDuplicates);
143
144
  logger.log("Elapsed Time: " + this.getElapsedTime(results));
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoTermListCommand_instances, _SpoTermListCommand_initTelemetry, _SpoTermListCommand_initOptions, _SpoTermListCommand_initValidators, _SpoTermListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const config_1 = require("../../../../config");
19
20
  const request_1 = require("../../../../request");
20
21
  const formatting_1 = require("../../../../utils/formatting");
@@ -62,7 +63,7 @@ class SpoTermListCommand extends SpoCommand_1.default {
62
63
  }
63
64
  }
64
65
  }
65
- if (!args.options.output || args.options.output === 'json') {
66
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
66
67
  logger.log(terms);
67
68
  }
68
69
  else if (!args.options.includeChildTerms) {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoUserProfileGetCommand_instances, _SpoUserProfileGetCommand_initOptions, _SpoUserProfileGetCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const formatting_1 = require("../../../../utils/formatting");
20
21
  const spo_1 = require("../../../../utils/spo");
@@ -47,8 +48,7 @@ class SpoUserProfileGetCommand extends SpoCommand_1.default {
47
48
  responseType: 'json'
48
49
  };
49
50
  const res = yield request_1.default.get(requestOptions);
50
- if (!args.options.output ||
51
- args.options.output === 'text') {
51
+ if (!args.options.output || Cli_1.Cli.shouldTrimOutput(args.options.output)) {
52
52
  res.UserProfileProperties = JSON.stringify(res.UserProfileProperties);
53
53
  }
54
54
  logger.log(res);
@@ -13,6 +13,7 @@ exports.default = {
13
13
  APP_TEAMSPACKAGE_DOWNLOAD: `${prefix} app teamspackage download`,
14
14
  APP_UNINSTALL: `${prefix} app uninstall`,
15
15
  APP_UPGRADE: `${prefix} app upgrade`,
16
+ APPLICATIONCUSTOMIZER_ADD: `${prefix} applicationcustomizer add`,
16
17
  APPPAGE_ADD: `${prefix} apppage add`,
17
18
  APPPAGE_SET: `${prefix} apppage set`,
18
19
  CDN_GET: `${prefix} cdn get`,
@@ -65,9 +66,11 @@ exports.default = {
65
66
  FILE_ROLEINHERITANCE_RESET: `${prefix} file roleinheritance reset`,
66
67
  FILE_SHARINGINFO_GET: `${prefix} file sharinginfo get`,
67
68
  FILE_SHARINGLINK_ADD: `${prefix} file sharinglink add`,
69
+ FILE_SHARINGLINK_CLEAR: `${prefix} file sharinglink clear`,
68
70
  FILE_SHARINGLINK_GET: `${prefix} file sharinglink get`,
69
71
  FILE_SHARINGLINK_LIST: `${prefix} file sharinglink list`,
70
72
  FILE_SHARINGLINK_REMOVE: `${prefix} file sharinglink remove`,
73
+ FILE_SHARINGLINK_SET: `${prefix} file sharinglink set`,
71
74
  FILE_VERSION_CLEAR: `${prefix} file version clear`,
72
75
  FILE_VERSION_GET: `${prefix} file version get`,
73
76
  FILE_VERSION_LIST: `${prefix} file version list`,
@@ -79,7 +79,7 @@ class TeamsMeetingListCommand extends GraphCommand_1.default {
79
79
  }
80
80
  const res = yield odata_1.odata.getAllItems(requestUrl);
81
81
  const resFiltered = res.filter(y => y.isOnlineMeeting);
82
- if (!args.options.output || args.options.output === 'json') {
82
+ if (!args.options.output || !Cli_1.Cli.shouldTrimOutput(args.options.output)) {
83
83
  logger.log(resFiltered);
84
84
  }
85
85
  else {
@@ -47,7 +47,7 @@ class TeamsTeamAppListCommand extends GraphCommand_1.default {
47
47
  }
48
48
  const teamId = yield this.getTeamId(args);
49
49
  const res = yield odata_1.odata.getAllItems(`${this.resource}/v1.0/teams/${teamId}/installedApps?$expand=teamsApp,teamsAppDefinition`);
50
- if (args.options.output === 'json') {
50
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
51
51
  logger.log(res);
52
52
  }
53
53
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TeamsUserAppListCommand_instances, _TeamsUserAppListCommand_initTelemetry, _TeamsUserAppListCommand_initOptions, _TeamsUserAppListCommand_initValidators, _TeamsUserAppListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const formatting_1 = require("../../../../utils/formatting");
20
21
  const odata_1 = require("../../../../utils/odata");
@@ -47,7 +48,7 @@ class TeamsUserAppListCommand extends GraphCommand_1.default {
47
48
  const appId = userAppId.substr(userAppId.indexOf("##") + 2, userAppId.length - userId.length - 2);
48
49
  i.appId = appId;
49
50
  });
50
- if (args.options.output === 'json') {
51
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
51
52
  logger.log(items);
52
53
  }
53
54
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TodoTaskGetCommand_instances, _TodoTaskGetCommand_initTelemetry, _TodoTaskGetCommand_initOptions, _TodoTaskGetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
20
21
  const commands_1 = require("../../commands");
@@ -67,7 +68,7 @@ class TodoTaskGetCommand extends GraphCommand_1.default {
67
68
  responseType: 'json'
68
69
  };
69
70
  const item = yield request_1.default.get(requestOptions);
70
- if (args.options.output === 'json') {
71
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
71
72
  logger.log(item);
72
73
  }
73
74
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TodoTaskListCommand_instances, _TodoTaskListCommand_initTelemetry, _TodoTaskListCommand_initOptions, _TodoTaskListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const odata_1 = require("../../../../utils/odata");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
@@ -62,7 +63,7 @@ class TodoTaskListCommand extends GraphCommand_1.default {
62
63
  const listId = yield this.getTodoListId(args);
63
64
  const endpoint = `${this.resource}/v1.0/me/todo/lists/${listId}/tasks`;
64
65
  const items = yield odata_1.odata.getAllItems(endpoint);
65
- if (args.options.output === 'json') {
66
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
66
67
  logger.log(items);
67
68
  }
68
69
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _YammerSearchCommand_instances, _YammerSearchCommand_initTelemetry, _YammerSearchCommand_initOptions, _YammerSearchCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../cli/Cli");
18
19
  const request_1 = require("../../../request");
19
20
  const formatting_1 = require("../../../utils/formatting");
20
21
  const YammerCommand_1 = require("../../base/YammerCommand");
@@ -129,7 +130,7 @@ class YammerSearchCommand extends YammerCommand_1.default {
129
130
  this.users = [];
130
131
  try {
131
132
  yield this.getAllItems(logger, args, 1);
132
- if (args.options.output === 'json') {
133
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
133
134
  logger.log({
134
135
  summary: this.summary,
135
136
  messages: this.messages,
@@ -41,17 +41,31 @@ exports.planner = {
41
41
  * Get all Planner plans for a specific group.
42
42
  * @param groupId Group ID.
43
43
  */
44
- getPlansByGroupId(groupId) {
45
- return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, 'none');
44
+ getPlansByGroupId(groupId, metadata = 'none') {
45
+ return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, metadata);
46
+ },
47
+ /**
48
+ * Get all Planner plans for a specific roster.
49
+ * @param rosterId Roster ID.
50
+ */
51
+ getPlansByRosterId(rosterId, metadata = 'none') {
52
+ return odata_1.odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
46
53
  },
47
54
  /**
48
55
  * Get Planner plan by title in a specific group.
49
56
  * @param title Title of the Planner plan. Case insensitive.
50
- * @param groupId Owner group ID .
57
+ * @param groupId Owner group ID.
58
+ * @param rosterId Roster ID.
51
59
  */
52
- getPlanByTitle(title, groupId) {
60
+ getPlanByTitle(title, groupId, rosterId, metadata = 'none') {
53
61
  return __awaiter(this, void 0, void 0, function* () {
54
- const plans = yield this.getPlansByGroupId(groupId);
62
+ let plans = [];
63
+ if (groupId) {
64
+ plans = yield this.getPlansByGroupId(groupId, metadata);
65
+ }
66
+ else if (rosterId) {
67
+ plans = yield this.getPlansByRosterId(rosterId, metadata);
68
+ }
55
69
  const filteredPlans = plans.filter(p => p.title && p.title.toLowerCase() === title.toLowerCase());
56
70
  if (!filteredPlans.length) {
57
71
  throw Error(`The specified plan '${title}' does not exist.`);
package/dist/utils/spo.js CHANGED
@@ -456,6 +456,34 @@ exports.spo = {
456
456
  reject('Cannot proceed. Folder _ObjectIdentity_ not found'); // this is not suppose to happen
457
457
  }, (err) => { reject(err); });
458
458
  });
459
+ },
460
+ /**
461
+ * Retrieves the SiteId, VroomItemId and VroomDriveId from a specific file.
462
+ * @param webUrl Web url
463
+ * @param fileId GUID ID of the file
464
+ * @param fileUrl Decoded URL of the file
465
+ */
466
+ getVroomFileDetails(webUrl, fileId, fileUrl) {
467
+ return __awaiter(this, void 0, void 0, function* () {
468
+ let requestUrl = `${webUrl}/_api/web/`;
469
+ if (fileUrl) {
470
+ const fileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(webUrl, fileUrl);
471
+ requestUrl += `GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')`;
472
+ }
473
+ else {
474
+ requestUrl += `GetFileById('${fileId}')`;
475
+ }
476
+ requestUrl += '?$select=SiteId,VroomItemId,VroomDriveId';
477
+ const requestOptions = {
478
+ url: requestUrl,
479
+ headers: {
480
+ accept: 'application/json;odata=nometadata'
481
+ },
482
+ responseType: 'json'
483
+ };
484
+ const res = yield request_1.default.get(requestOptions);
485
+ return res;
486
+ });
459
487
  }
460
488
  };
461
489
  //# sourceMappingURL=spo.js.map
@@ -222,3 +222,27 @@ m365 pa app get --displayName App
222
222
  name,displayName,description,appVersion,owner
223
223
  37ea6004-f07b-46ca-8ef3-a256b67b4dbb,PowerApps Application,App Description,2022-10-25T21:28:12Z,user@tenant.onmicrosoft.com
224
224
  ```
225
+
226
+ === "Markdown"
227
+
228
+ ```md
229
+ # pa app get --displayName "PowerApps Application"
230
+
231
+ Date: 9/1/2023
232
+
233
+ ## PowerApps Application (/providers/Microsoft.PowerApps/apps/fe36f75e-c103-410b-a18a-2bf6df06ac3a)
234
+
235
+ Property | Value
236
+ ---------|-------
237
+ name | fe36f75e-c103-410b-a18a-2bf6df06ac3a
238
+ id | /providers/Microsoft.PowerApps/apps/fe36f75e-c103-410b-a18a-2bf6df06ac3a
239
+ type | Microsoft.PowerApps/apps
240
+ tags | {"primaryDeviceWidth":"1366","primaryDeviceHeight":"768","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Tablet","publisherVersion":"3.22102.32","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20221025T212812Z-3.22102.32.0"}
241
+ properties | {"appVersion":"2022-10-25T21:28:12Z","lastDraftVersion":"2022-10-25T21:28:12Z","lifeCycleId":"Published","status":"Ready","createdByClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"minClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"owner":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"createdBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastModifiedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastPublishedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"backgroundColor":"RGBA(0,176,240,1)","backgroundImageUri":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/logoSmallFile?sv=2018-03-28&sr=c&sig=cOkbwChyhCO%2BEJpqMDRxrXaxRoPD1TbTy%2B%2BFkdJEOjI%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsColorIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamscoloricon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsOutlineIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamsoutlineicon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","displayName":"Test application","description":"","commitMessage":"","appUris":{"documentUri":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"imageUris":[],"additionalUris":[]},"createdTime":"2022-10-25T21:28:12.7171469Z","lastModifiedTime":"2022-10-25T21:28:12.7456297Z","lastPublishTime":"2022-10-25T21:28:12Z","sharedGroupsCount":0,"sharedUsersCount":0,"appOpenProtocolUri":"ms-apps:///providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb","appOpenUri":"https://apps.powerapps.com/play/e/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc","appPlayUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d","appPlayEmbeddedUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu","appPlayTeamsUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&source=teamstab&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu&locale={locale}&channelId={channelId}&channelType={channelType}&chatId={chatId}&groupId={groupId}&hostClientType={hostClientType}&isFullScreen={isFullScreen}&entityId={entityId}&subEntityId={subEntityId}&teamId={teamId}&teamType={teamType}&theme={theme}&userTeamRole={userTeamRole}","userAppMetadata":{"favorite":"NotSpecified","includeInAppsList":true},"isFeaturedApp":false,"bypassConsent":false,"isHeroApp":false,"environment":{"id":"/providers/Microsoft.PowerApps/environments/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d","name":"default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"},"appPackageDetails":{"playerPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"webPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"unauthenticatedWebPackage":{"value":"https://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"documentServerVersion":{"major":3,"minor":22102,"build":33,"revision":0,"majorRevision":0,"minorRevision":0},"appPackageResourcesKind":"Split","packagePropertiesJson":"{\"cdnUrl\":\"https://content.powerapps.com/resource/app\",\"preLoadIdx\":\"https://content.powerapps.com/resource/app/kdfj31mdao7t9/preloadindex.web.html\",\"id\":\"638023301009567627\",\"v\":2.1}","id":"20221025t000000zac5237a2672a4782ad5a7d71040c032bhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"almMode":"Environment","performanceOptimizationEnabled":true,"unauthenticatedWebPackageHint":"296b0ef7-b4d0-4124-b835-f9c220a1f4bc","canConsumeAppPass":true,"enableModernRuntimeMode":false,"executionRestrictions":{"isTeamsOnly":false,"dataLossPreventionEvaluationResult":{"status":"Compliant","lastEvaluationDate":"2022-10-25T21:28:30.2281817Z","violations":[],"violationsByPolicy":[],"violationErrorMessage":"De app gebruikt de volgende connectors:."}},"appPlanClassification":"Standard","usesPremiumApi":false,"usesOnlyGrandfatheredPremiumApis":true,"usesCustomApi":false,"usesOnPremiseGateway":false,"usesPcfExternalServiceUsage":false,"isCustomizable":true}
242
+ appLocation | europe
243
+ appType | ClassicCanvasApp
244
+ displayName | PowerApps Application
245
+ description | App Description
246
+ appVersion | 2022-10-25T21:28:12Z
247
+ owner | user@tenant.onmicrosoft.com
248
+ ```
@@ -221,3 +221,24 @@ m365 pa app list --environment Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --as
221
221
  name,displayName
222
222
  37ea6004-f07b-46ca-8ef3-a256b67b4dbb,"PowerApps Application"
223
223
  ```
224
+
225
+ === "Markdown"
226
+
227
+ ```md
228
+ # pa app list
229
+
230
+ Date: 9/1/2023
231
+
232
+ ## PowerApps Application (/providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb)
233
+
234
+ Property | Value
235
+ ---------|-------
236
+ name | 37ea6004-f07b-46ca-8ef3-a256b67b4dbb
237
+ id | /providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb
238
+ type | Microsoft.PowerApps/apps
239
+ tags | {"primaryDeviceWidth":"1366","primaryDeviceHeight":"768","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Tablet","publisherVersion":"3.22102.32","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20221025T212812Z-3.22102.32.0"}
240
+ properties | {"appVersion":"2022-10-25T21:28:12Z","lastDraftVersion":"2022-10-25T21:28:12Z","lifeCycleId":"Published","status":"Ready","createdByClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"minClientVersion":{"major":3,"minor":22102,"build":32,"revision":0,"majorRevision":0,"minorRevision":0},"owner":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"createdBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastModifiedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"lastPublishedBy":{"id":"fe36f75e-c103-410b-a18a-2bf6df06ac3a","displayName":"contoso","email":"user@contoso.onmicrosoft.com","type":"User","tenantId":"e1dd4023-a656-480a-8a0e-c1b1eec51e1d","userPrincipalName":"user@contoso.onmicrosoft.com"},"backgroundColor":"RGBA(0,176,240,1)","backgroundImageUri":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/logoSmallFile?sv=2018-03-28&sr=c&sig=cOkbwChyhCO%2BEJpqMDRxrXaxRoPD1TbTy%2B%2BFkdJEOjI%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsColorIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamscoloricon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","teamsOutlineIconUrl":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000ze297221f3dc643ed9686b72b22d9a414/teamsoutlineicon.png?sv=2018-03-28&sr=c&sig=Fhk8E0LO4Lw0mHvNawCF5Ld7GHzPHo9l7RxvZbeZY48%3D&se=2022-12-24T10%3A06%3A27Z&sp=rl","displayName":"Test application","description":"","commitMessage":"","appUris":{"documentUri":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zddd642012aba4021a4886c8e21a3e1cb/document.msapp?sv=2018-03-28&sr=c&sig=laSGdpZL03POyAABXvdsyxv8YDDB8JPZIBccztIe39Q%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"imageUris":[],"additionalUris":[]},"createdTime":"2022-10-25T21:28:12.7171469Z","lastModifiedTime":"2022-10-25T21:28:12.7456297Z","lastPublishTime":"2022-10-25T21:28:12Z","sharedGroupsCount":0,"sharedUsersCount":0,"appOpenProtocolUri":"ms-apps:///providers/Microsoft.PowerApps/apps/37ea6004-f07b-46ca-8ef3-a256b67b4dbb","appOpenUri":"https://apps.powerapps.com/play/e/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc","appPlayUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d","appPlayEmbeddedUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu","appPlayTeamsUri":"https://apps.powerapps.com/play/e/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d/a/37ea6004-f07b-46ca-8ef3-a256b67b4dbb?tenantId=e1dd4023-a656-480a-8a0e-c1b1eec51e1d&source=teamstab&hint=296b0ef7-b4d0-4124-b835-f9c220a1f4bc&telemetryLocation=eu&locale={locale}&channelId={channelId}&channelType={channelType}&chatId={chatId}&groupId={groupId}&hostClientType={hostClientType}&isFullScreen={isFullScreen}&entityId={entityId}&subEntityId={subEntityId}&teamId={teamId}&teamType={teamType}&theme={theme}&userTeamRole={userTeamRole}","userAppMetadata":{"favorite":"NotSpecified","includeInAppsList":true},"isFeaturedApp":false,"bypassConsent":false,"isHeroApp":false,"environment":{"id":"/providers/Microsoft.PowerApps/environments/default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d","name":"default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"},"appPackageDetails":{"playerPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"webPackage":{"value":"https://pafeblobprodam.blob.core.windows.net:443/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl","readonlyValue":"https://pafeblobprodam-secondary.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rl"},"unauthenticatedWebPackage":{"value":"https://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"documentServerVersion":{"major":3,"minor":22102,"build":33,"revision":0,"majorRevision":0,"minorRevision":0},"appPackageResourcesKind":"Split","packagePropertiesJson":"{\"cdnUrl\":\"https://content.powerapps.com/resource/app\",\"preLoadIdx\":\"https://content.powerapps.com/resource/app/kdfj31mdao7t9/preloadindex.web.html\",\"id\":\"638023301009567627\",\"v\":2.1}","id":"20221025t000000zac5237a2672a4782ad5a7d71040c032bhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/web/index.web.html?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/20221025t000000zac5237a2672a4782ad5a7d71040c032b/5b38cd68-a930-4a14-be71-c622de887d1a/player.msappk?sv=2018-03-28&sr=c&sig=eztEkTd1pFaFEITA%2Bqqj2XCpxwgeujMC7FahMmEkujA%3D&se=2022-11-04T12%3A00%3A00Z&sp=rlhttps://pafeblobprodam.blob.core.windows.net/alt20221025t000000z529d41282a634bf6b94383dde5a8d52c/20221025T212824Z/index.web.html"},"almMode":"Environment","performanceOptimizationEnabled":true,"unauthenticatedWebPackageHint":"296b0ef7-b4d0-4124-b835-f9c220a1f4bc","canConsumeAppPass":true,"enableModernRuntimeMode":false,"executionRestrictions":{"isTeamsOnly":false,"dataLossPreventionEvaluationResult":{"status":"Compliant","lastEvaluationDate":"2022-10-25T21:28:30.2281817Z","violations":[],"violationsByPolicy":[],"violationErrorMessage":"De app gebruikt de volgende connectors: ."}},"appPlanClassification":"Standard","usesPremiumApi":false,"usesOnlyGrandfatheredPremiumApis":true,"usesCustomApi":false,"usesOnPremiseGateway":false,"usesPcfExternalServiceUsage":false,"isCustomizable":true}
241
+ appLocation | europe
242
+ appType | ClassicCanvasApp
243
+ displayName | PowerApps Application
244
+ ```
@@ -122,3 +122,20 @@ m365 pa connector list --environmentName Default-d87a7535-dd31-4437-bfe1-95340ac
122
122
  name,displayName
123
123
  shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012,My connector
124
124
  ```
125
+
126
+ === "Markdown"
127
+
128
+ ```md
129
+ # pa connector list --environmentName "Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6"
130
+
131
+ Date: 9/1/2023
132
+
133
+ ## My connector (/providers/Microsoft.PowerApps/apis/shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012)
134
+
135
+ Property | Value
136
+ ---------|-------
137
+ name | shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012
138
+ id | /providers/Microsoft.PowerApps/apis/shared_my-20connector-5f0027f520b23e81c1-5f9888a90360086012
139
+ type | Microsoft.PowerApps/apis
140
+ properties | {"displayName":"My connector","iconUri":"https://az787822.vo.msecnd.net/defaulticons/api-dedicated.png","iconBrandColor":"#007ee5","contact":{},"license":{},"apiEnvironment":"Shared","isCustomApi":true,"connectionParameters":{},"runtimeUrls":["https://europe-002.azure-apim.net/apim/my-20connector-5f0027f520b23e81c1-5f9888a90360086012"],"primaryRuntimeUrl":"https://europe-002.azure-apim.net/apim/my-20connector-5f0027f520b23e81c1-5f9888a90360086012","metadata":{"source":"powerapps-user-defined","brandColor":"#007ee5","contact":{},"license":{},"publisherUrl":null,"serviceUrl":null,"documentationUrl":null,"environmentName":"Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6","xrmConnectorId":null,"almMode":"Environment","createdBy":"{\"id\":\"03043611-d01e-4e58-9fbe-1a18ecb861d8\",\"displayName\":\"MOD Administrator\",\"email\":\"admin@contoso.OnMicrosoft.com\",\"type\":\"User\",\"tenantId\":\"0d645e38-ec52-4a4f-ac58-65f2ac4015f6\",\"userPrincipalName\":\"admin@contoso.onmicrosoft.com\"}","modifiedBy":"{\"id\":\"03043611-d01e-4e58-9fbe-1a18ecb861d8\",\"displayName\":\"MOD Administrator\",\"email\":\"admin@contoso.OnMicrosoft.com\",\"type\":\"User\",\"tenantId\":\"0d645e38-ec52-4a4f-ac58-65f2ac4015f6\",\"userPrincipalName\":\"admin@contoso.onmicrosoft.com\"}","allowSharing":false},"capabilities":[],"description":"","apiDefinitions":{"originalSwaggerUrl":"https://paeu2weu8.blob.core.windows.net/api-swagger-files/my-20connector-5f0027f520b23e81c1-5f9888a90360086012.json_original?sv=2018-03-28&sr=b&sig=cOkjAecgpr6sSznMpDqiZitUOpVvVDJRCOZfe3VmReU%3D&se=2019-12-05T19%3A53%3A49Z&sp=r","modifiedSwaggerUrl":"https://paeu2weu8.blob.core.windows.net/api-swagger-files/my-20connector-5f0027f520b23e81c1-5f9888a90360086012.json?sv=2018-03-28&sr=b&sig=rkpKHP8K%2F2yNBIUQcVN%2B0ZPjnP9sECrM%2FfoZMG%2BJZX0%3D&se=2019-12-05T19%3A53%3A49Z&sp=r"},"createdBy":{"id":"03043611-d01e-4e58-9fbe-1a18ecb861d8","displayName":"MOD Administrator","email":"admin@contoso.OnMicrosoft.com","type":"User","tenantId":"0d645e38-ec52-4a4f-ac58-65f2ac4015f6","userPrincipalName":"admin@contoso.onmicrosoft.com"},"modifiedBy":{"id":"03043611-d01e-4e58-9fbe-1a18ecb861d8","displayName":"MOD Administrator","email":"admin@contoso.OnMicrosoft.com","type":"User","tenantId":"0d645e38-ec52-4a4f-ac58-65f2ac4015f6","userPrincipalName":"admin@contoso.onmicrosoft.com"},"createdTime":"2019-12-05T18:45:03.4615313Z","changedTime":"2019-12-05T18:45:03.4615313Z","environment":{"id":"/providers/Microsoft.PowerApps/environments/Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6","name":"Default-0d645e38-ec52-4a4f-ac58-65f2ac4015f6"},"tier":"Standard","publisher":"MOD Administrator","almMode":"Environment"}
141
+ ```
@@ -141,4 +141,22 @@ m365 pa environment get --name Default-d87a7535-dd31-4437-bfe1-95340acd55c5
141
141
  name,id,location,displayName,provisioningState,environmentSku,azureRegionHint,isDefault
142
142
  Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,/providers/Microsoft.PowerApps/environments/Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,europe,environmentName (default),Succeeded,Default,westeurope,1
143
143
  ```
144
+
145
+ === "Markdown"
144
146
 
147
+ ```md
148
+ # pa environment get --name "Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d"
149
+
150
+ Date: 9/1/2023
151
+
152
+ ## environmentName (default) (org6633050c) (/providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d)
153
+
154
+ Property | Value
155
+ ---------|-------
156
+ id | /providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
157
+ name | Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
158
+ location | europe
159
+ type | Microsoft.PowerApps/environments
160
+ properties | {"azureRegionHint":"westeurope","displayName":"contoso (default) (org6633049a)","createdTime":"2020-03-12T13:39:17.9876946Z","createdBy":{"id":"SYSTEM","displayName":"SYSTEM","type":"NotSpecified"},"provisioningState":"Succeeded","creationType":"DefaultTenant","environmentSku":"Default","environmentType":"Production","isDefault":true,"runtimeEndpoints":{"microsoft.BusinessAppPlatform":"https://europe.api.bap.microsoft.com","microsoft.CommonDataModel":"https://europe.api.cds.microsoft.com","microsoft.PowerApps":"https://europe.api.powerapps.com","microsoft.PowerAppsAdvisor":"https://europe.api.advisor.powerapps.com","microsoft.PowerVirtualAgents":"https://powervamg.eu-il109.gateway.prod.island.powerapps.com","microsoft.ApiManagement":"https://management.EUROPE.azure-apihub.net","microsoft.Flow":"https://emea.api.flow.microsoft.com"},"linkedEnvironmentMetadata":{"type":"Dynamics365Instance","resourceId":"5041ef46-5a1c-4a0f-a185-6bb49b5c6686","friendlyName":"contoso (default)","uniqueName":"unq5041ef465a1c4a0fa1856bb49b5c6","domainName":"org6633049a","version":"9.2.22101.00168","instanceUrl":"https://org6633049a.crm4.dynamics.com/","instanceApiUrl":"https://org6633049a.api.crm4.dynamics.com","baseLanguage":1033,"instanceState":"Ready","createdTime":"2021-10-08T09:50:41.283Z","modifiedTime":"2022-10-29T14:04:14.0720726Z","hostNameSuffix":"crm4.dynamics.com","bapSolutionId":"00000001-0000-0000-0001-00000000009b","creationTemplates":["D365_CDS"],"webApiVersion":"v9.0","platformSku":"Standard"},"retentionPeriod":"P7D","lifecycleAuthority":"Environment","states":{"management":{"id":"NotSpecified"},"runtime":{"runtimeReasonCode":"NotSpecified","requestedBy":{"displayName":"SYSTEM","type":"NotSpecified"},"id":"Enabled"}},"updateCadence":{"id":"Frequent"},"connectedGroups":[],"protectionStatus":{"keyManagedBy":"Microsoft"},"trialScenarioType":"None","cluster":{"category":"Prod","number":"109","uriSuffix":"eu-il109.gateway.prod.island","geoShortName":"EU","environment":"Prod"},"governanceConfiguration":{"protectionLevel":"Basic"}}
161
+ displayName | contoso (default) (org6633049a)
162
+ ```
@@ -133,3 +133,22 @@ m365 pa environment list
133
133
  name,displayName
134
134
  Default-e1dd4030-a657-480a-8a0e-c1b1eec51e2e,environmentName (default) (org6633050c)
135
135
  ```
136
+
137
+ === "Markdown"
138
+
139
+ ```md
140
+ # pa environment list
141
+
142
+ Date: 9/1/2023
143
+
144
+ ## environmentName (default) (org6633050c) (/providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d)
145
+
146
+ Property | Value
147
+ ---------|-------
148
+ id | /providers/Microsoft.PowerApps/environments/Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
149
+ name | Default-e1dd4023-a656-480a-8a0e-c1b1eec51e1d
150
+ location | europe
151
+ type | Microsoft.PowerApps/environments
152
+ properties | {"azureRegionHint":"westeurope","displayName":"contoso (default) (org6633049a)","createdTime":"2020-03-12T13:39:17.9876946Z","createdBy":{"id":"SYSTEM","displayName":"SYSTEM","type":"NotSpecified"},"provisioningState":"Succeeded","creationType":"DefaultTenant","environmentSku":"Default","environmentType":"Production","isDefault":true,"runtimeEndpoints":{"microsoft.BusinessAppPlatform":"https://europe.api.bap.microsoft.com","microsoft.CommonDataModel":"https://europe.api.cds.microsoft.com","microsoft.PowerApps":"https://europe.api.powerapps.com","microsoft.PowerAppsAdvisor":"https://europe.api.advisor.powerapps.com","microsoft.PowerVirtualAgents":"https://powervamg.eu-il109.gateway.prod.island.powerapps.com","microsoft.ApiManagement":"https://management.EUROPE.azure-apihub.net","microsoft.Flow":"https://emea.api.flow.microsoft.com"},"linkedEnvironmentMetadata":{"type":"Dynamics365Instance","resourceId":"5041ef46-5a1c-4a0f-a185-6bb49b5c6686","friendlyName":"contoso (default)","uniqueName":"unq5041ef465a1c4a0fa1856bb49b5c6","domainName":"org6633049a","version":"9.2.22101.00168","instanceUrl":"https://org6633049a.crm4.dynamics.com/","instanceApiUrl":"https://org6633049a.api.crm4.dynamics.com","baseLanguage":1033,"instanceState":"Ready","createdTime":"2021-10-08T09:50:41.283Z","modifiedTime":"2022-10-29T14:04:14.0720726Z","hostNameSuffix":"crm4.dynamics.com","bapSolutionId":"00000001-0000-0000-0001-00000000009b","creationTemplates":["D365_CDS"],"webApiVersion":"v9.0","platformSku":"Standard"},"retentionPeriod":"P7D","lifecycleAuthority":"Environment","states":{"management":{"id":"NotSpecified"},"runtime":{"runtimeReasonCode":"NotSpecified","requestedBy":{"displayName":"SYSTEM","type":"NotSpecified"},"id":"Enabled"}},"updateCadence":{"id":"Frequent"},"connectedGroups":[],"protectionStatus":{"keyManagedBy":"Microsoft"},"trialScenarioType":"None","cluster":{"category":"Prod","number":"109","uriSuffix":"eu-il109.gateway.prod.island","geoShortName":"EU","environment":"Prod"},"governanceConfiguration":{"protectionLevel":"Basic"}}
153
+ displayName | contoso (default) (org6633049a)
154
+ ```
@@ -14,10 +14,13 @@ m365 planner plan add [options]
14
14
  : Title of the plan to add.
15
15
 
16
16
  `--ownerGroupId [ownerGroupId]`
17
- : ID of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId` or `ownerGroupName` but not both.
17
+ : ID of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
18
 
19
19
  `--ownerGroupName [ownerGroupName]`
20
- : Name of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId` or `ownerGroupName` but not both.
20
+ : Name of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
21
+
22
+ `--rosterId [rosterId]`
23
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
21
24
 
22
25
  `--shareWithUserIds [shareWithUserIds]`
23
26
  : The comma-separated IDs of the users with whom you want to share the plan. Specify either `shareWithUserIds` or `shareWithUserNames` but not both.
@@ -29,23 +32,31 @@ m365 planner plan add [options]
29
32
 
30
33
  ## Remarks
31
34
 
32
- Related to the options `--shareWithUserIds` and `--shareWithUserNames`. If you are leveraging Microsoft 365 groups, use the `aad o365group user` commands to manage group membership to share the [group's](https://pnp.github.io/cli-microsoft365/cmd/aad/o365group/o365group-user-add/) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group.
35
+ - Related to the options `--shareWithUserIds` and `--shareWithUserNames`. If you are leveraging Microsoft 365 groups, use the `aad o365group user` commands to manage group membership to share the [group's](https://pnp.github.io/cli-microsoft365/cmd/aad/o365group/o365group-user-add/) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group.
36
+
37
+ - Hint: Unlike for groups, a Planner Roster can contain only 1 plan.
33
38
 
34
39
  ## Examples
35
40
 
36
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _233e43d0-dc6a-482e-9b4e-0de7a7bce9b4_
41
+ Adds a Microsoft Planner plan with a Group by id
37
42
 
38
43
  ```sh
39
44
  m365 planner plan add --title 'My Planner Plan' --ownerGroupId '233e43d0-dc6a-482e-9b4e-0de7a7bce9b4'
40
45
  ```
41
46
 
42
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _My Planner Group_
47
+ Adds a Microsoft Planner plan with with a Group by name
43
48
 
44
49
  ```sh
45
50
  m365 planner plan add --title 'My Planner Plan' --ownerGroupName 'My Planner Group'
46
51
  ```
47
52
 
48
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _My Planner Group_ and share it with the users _Allan.Carroll@contoso.com_ and _Ida.Stevens@contoso.com_
53
+ Adds a Microsoft Planner plan with a Roster by id
54
+
55
+ ```sh
56
+ m365 planner plan add --title 'My Planner Plan' --rosterId 'tYqYlNd6eECmsNhN_fcq85cAGAnd'
57
+ ```
58
+
59
+ Adds a Microsoft Planner plan with with a Group by name and share it with the given users
49
60
 
50
61
  ```sh
51
62
  m365 planner plan add --title 'My Planner Plan' --ownerGroupName 'My Planner Group' --shareWithUserNames 'Allan.Carroll@contoso.com,Ida.Stevens@contoso.com'
@@ -17,13 +17,21 @@ m365 planner plan get [options]
17
17
  : Title of the plan. Specify either `id` or `title` but not both.
18
18
 
19
19
  `--ownerGroupId [ownerGroupId]`
20
- : ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `title`.
20
+ : ID of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
21
21
 
22
22
  `--ownerGroupName [ownerGroupName]`
23
- : Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `title`.
23
+ : Name of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
24
+
25
+ `--rosterId [rosterId]`
26
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
24
27
 
25
28
  --8<-- "docs/cmd/_global.md"
26
29
 
30
+ ## Remarks
31
+
32
+ !!! attention
33
+ When using `rosterId`, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
34
+
27
35
  ## Examples
28
36
 
29
37
  Returns the Microsoft Planner plan with id _gndWOTSK60GfPQfiDDj43JgACDCb_
@@ -44,6 +52,12 @@ Returns the Microsoft Planner plan with title _MyPlan_ for Group _My Planner Gro
44
52
  m365 planner plan get --title "MyPlan" --ownerGroupName "My Planner Group"
45
53
  ```
46
54
 
55
+ Returns the Microsoft Planner plan with title _MyPlan_ for Roster _FeMZFDoK8k2oWmuGE-XFHZcAEwtn_
56
+
57
+ ```sh
58
+ m365 planner plan get --title "MyPlan" --rosterId "FeMZFDoK8k2oWmuGE-XFHZcAEwtn"
59
+ ```
60
+
47
61
  ## Response
48
62
 
49
63
  === "JSON"
@@ -11,13 +11,21 @@ m365 planner plan list [options]
11
11
  ## Options
12
12
 
13
13
  `--ownerGroupId [ownerGroupId]`
14
- : ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` but not both.
14
+ : ID of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
15
15
 
16
16
  `--ownerGroupName [ownerGroupName]`
17
- : Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` but not both.
17
+ : Name of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
+
19
+ `--rosterId [rosterId]`
20
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
21
 
19
22
  --8<-- "docs/cmd/_global.md"
20
23
 
24
+ ## Remarks
25
+
26
+ !!! attention
27
+ When using rosterId, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
28
+
21
29
  ## Examples
22
30
 
23
31
  Returns a list of Microsoft Planner plans for Group _233e43d0-dc6a-482e-9b4e-0de7a7bce9b4_
@@ -32,6 +40,12 @@ Returns a list of Microsoft Planner plans for Group _My Planner Group_
32
40
  m365 planner plan list --ownerGroupName "My Planner Group"
33
41
  ```
34
42
 
43
+ Returns a list of Microsoft Planner plans for Roster _FeMZFDoK8k2oWmuGE-XFHZcAEwtn_
44
+
45
+ ```sh
46
+ m365 planner plan list --rosterId "FeMZFDoK8k2oWmuGE-XFHZcAEwtn"
47
+ ```
48
+
35
49
  ## Response
36
50
 
37
51
  === "JSON"