@pnp/cli-microsoft365 10.0.0 → 10.1.0-beta.10765f6

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.
@@ -37,8 +37,9 @@ class LoginCommand extends Command {
37
37
  }
38
38
  getRefinedSchema(schema) {
39
39
  return schema
40
- .refine(options => typeof options.appId !== 'undefined' || cli.getConfig().get(settingsNames.clientId), {
41
- message: `appId is required. TIP: use the "m365 setup" command to configure the default appId`
40
+ .refine(options => typeof options.appId !== 'undefined' || cli.getClientId(), {
41
+ message: `appId is required. TIP: use the "m365 setup" command to configure the default appId`,
42
+ path: ['appId']
42
43
  })
43
44
  .refine(options => options.authType !== 'password' || options.userName, {
44
45
  message: 'Username is required when using password authentication',
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContainerProperties.js.map
@@ -0,0 +1,87 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _SpeContainerListCommand_instances, _SpeContainerListCommand_initTelemetry, _SpeContainerListCommand_initOptions, _SpeContainerListCommand_initValidators, _SpeContainerListCommand_initOptionSets, _SpeContainerListCommand_initTypes;
7
+ import { formatting } from '../../../../utils/formatting.js';
8
+ import { odata } from '../../../../utils/odata.js';
9
+ import { validation } from '../../../../utils/validation.js';
10
+ import GraphCommand from '../../../base/GraphCommand.js';
11
+ import commands from '../../commands.js';
12
+ import { spo } from '../../../../utils/spo.js';
13
+ class SpeContainerListCommand extends GraphCommand {
14
+ get name() {
15
+ return commands.CONTAINER_LIST;
16
+ }
17
+ get description() {
18
+ return 'Lists all Container Types';
19
+ }
20
+ defaultProperties() {
21
+ return ['id', 'displayName', 'containerTypeId', 'createdDateTime'];
22
+ }
23
+ constructor() {
24
+ super();
25
+ _SpeContainerListCommand_instances.add(this);
26
+ __classPrivateFieldGet(this, _SpeContainerListCommand_instances, "m", _SpeContainerListCommand_initTelemetry).call(this);
27
+ __classPrivateFieldGet(this, _SpeContainerListCommand_instances, "m", _SpeContainerListCommand_initOptions).call(this);
28
+ __classPrivateFieldGet(this, _SpeContainerListCommand_instances, "m", _SpeContainerListCommand_initValidators).call(this);
29
+ __classPrivateFieldGet(this, _SpeContainerListCommand_instances, "m", _SpeContainerListCommand_initOptionSets).call(this);
30
+ __classPrivateFieldGet(this, _SpeContainerListCommand_instances, "m", _SpeContainerListCommand_initTypes).call(this);
31
+ }
32
+ async commandAction(logger, args) {
33
+ try {
34
+ if (this.verbose) {
35
+ await logger.logToStderr(`Retrieving list of Containers...`);
36
+ }
37
+ const containerTypeId = await this.getContainerTypeId(logger, args.options);
38
+ const allContainers = await odata.getAllItems(`${this.resource}/v1.0/storage/fileStorage/containers?$filter=containerTypeId eq ${formatting.encodeQueryParameter(containerTypeId)}`);
39
+ await logger.log(allContainers);
40
+ }
41
+ catch (err) {
42
+ this.handleRejectedPromise(err);
43
+ }
44
+ }
45
+ async getContainerTypeId(logger, options) {
46
+ if (options.containerTypeId) {
47
+ return options.containerTypeId;
48
+ }
49
+ const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
50
+ const containerTypes = await spo.getAllContainerTypes(spoAdminUrl, logger, this.debug);
51
+ // Get id of the container type by name
52
+ const containerType = containerTypes.find(c => c.DisplayName === options.containerTypeName);
53
+ if (!containerType) {
54
+ throw new Error(`Container type with name ${options.containerTypeName} not found`);
55
+ }
56
+ // The value is returned as "/Guid(073269af-f1d2-042d-2ef5-5bdd6ac83115)/". We need to extract the GUID from it.
57
+ const containerTypeValue = containerType.ContainerTypeId.toString();
58
+ return containerTypeValue.substring(containerTypeValue.indexOf('(') + 1, containerTypeValue.lastIndexOf(')'));
59
+ }
60
+ }
61
+ _SpeContainerListCommand_instances = new WeakSet(), _SpeContainerListCommand_initTelemetry = function _SpeContainerListCommand_initTelemetry() {
62
+ this.telemetry.push((args) => {
63
+ Object.assign(this.telemetryProperties, {
64
+ containerTypeId: typeof args.options.containerTypeId !== 'undefined',
65
+ containerTypeName: typeof args.options.containerTypeName !== 'undefined'
66
+ });
67
+ });
68
+ }, _SpeContainerListCommand_initOptions = function _SpeContainerListCommand_initOptions() {
69
+ this.options.unshift({
70
+ option: '--containerTypeId [containerTypeId]'
71
+ }, {
72
+ option: '--containerTypeName [containerTypeName]'
73
+ });
74
+ }, _SpeContainerListCommand_initValidators = function _SpeContainerListCommand_initValidators() {
75
+ this.validators.push(async (args) => {
76
+ if (args.options.containerTypeId && !validation.isValidGuid(args.options.containerTypeId)) {
77
+ return `${args.options.containerTypeId} is not a valid GUID`;
78
+ }
79
+ return true;
80
+ });
81
+ }, _SpeContainerListCommand_initOptionSets = function _SpeContainerListCommand_initOptionSets() {
82
+ this.optionSets.push({ options: ['containerTypeId', 'containerTypeName'] });
83
+ }, _SpeContainerListCommand_initTypes = function _SpeContainerListCommand_initTypes() {
84
+ this.types.string.push('containerTypeId', 'containerTypeName');
85
+ };
86
+ export default new SpeContainerListCommand();
87
+ //# sourceMappingURL=container-list.js.map
@@ -0,0 +1,103 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _SpeContainertypeGetCommand_instances, _SpeContainertypeGetCommand_initTelemetry, _SpeContainertypeGetCommand_initOptions, _SpeContainertypeGetCommand_initOptionSets, _SpeContainertypeGetCommand_initValidators, _SpeContainertypeGetCommand_initTypes;
7
+ import config from '../../../../config.js';
8
+ import request from '../../../../request.js';
9
+ import { spo } from '../../../../utils/spo.js';
10
+ import { validation } from '../../../../utils/validation.js';
11
+ import SpoCommand from '../../../base/SpoCommand.js';
12
+ import commands from '../../commands.js';
13
+ class SpeContainertypeGetCommand extends SpoCommand {
14
+ get name() {
15
+ return commands.CONTAINERTYPE_GET;
16
+ }
17
+ get description() {
18
+ return 'Get a Container Type';
19
+ }
20
+ constructor() {
21
+ super();
22
+ _SpeContainertypeGetCommand_instances.add(this);
23
+ __classPrivateFieldGet(this, _SpeContainertypeGetCommand_instances, "m", _SpeContainertypeGetCommand_initTelemetry).call(this);
24
+ __classPrivateFieldGet(this, _SpeContainertypeGetCommand_instances, "m", _SpeContainertypeGetCommand_initOptions).call(this);
25
+ __classPrivateFieldGet(this, _SpeContainertypeGetCommand_instances, "m", _SpeContainertypeGetCommand_initValidators).call(this);
26
+ __classPrivateFieldGet(this, _SpeContainertypeGetCommand_instances, "m", _SpeContainertypeGetCommand_initOptionSets).call(this);
27
+ __classPrivateFieldGet(this, _SpeContainertypeGetCommand_instances, "m", _SpeContainertypeGetCommand_initTypes).call(this);
28
+ }
29
+ async commandAction(logger, args) {
30
+ try {
31
+ const spoAdminUrl = await spo.getSpoAdminUrl(logger, this.debug);
32
+ if (this.verbose) {
33
+ await logger.logToStderr(`Getting the Container type...`);
34
+ }
35
+ const containerTypeId = await this.getContainerTypeId(args.options, spoAdminUrl, logger);
36
+ const allContainerTypes = await this.getContainerTypeById(containerTypeId, spoAdminUrl, logger);
37
+ await logger.log(allContainerTypes);
38
+ }
39
+ catch (err) {
40
+ this.handleRejectedPromise(err);
41
+ }
42
+ }
43
+ async getContainerTypeById(containerTypeId, spoAdminUrl, logger) {
44
+ const formDigestInfo = await spo.ensureFormDigest(spoAdminUrl, logger, undefined, this.debug);
45
+ const requestOptions = {
46
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
47
+ headers: {
48
+ 'X-RequestDigest': formDigestInfo.FormDigestValue
49
+ },
50
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="49" ObjectPathId="48" /><Method Name="GetSPOContainerTypeById" Id="50" ObjectPathId="48"><Parameters><Parameter Type="Guid">{${containerTypeId}}</Parameter><Parameter Type="Enum">1</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="48" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
51
+ };
52
+ const res = await request.post(requestOptions);
53
+ const json = JSON.parse(res);
54
+ const response = json[0];
55
+ if (response.ErrorInfo) {
56
+ throw response.ErrorInfo.ErrorMessage;
57
+ }
58
+ const containerTypes = json[json.length - 1];
59
+ return containerTypes;
60
+ }
61
+ async getContainerTypeId(options, spoAdminUrl, logger) {
62
+ if (options.id) {
63
+ return options.id;
64
+ }
65
+ const containerTypes = await spo.getAllContainerTypes(spoAdminUrl, logger, this.debug);
66
+ // Get id of the container type by name
67
+ const containerType = containerTypes.find(c => c.DisplayName === options.name);
68
+ if (!containerType) {
69
+ throw new Error(`Container type with name ${options.name} not found`);
70
+ }
71
+ const match = containerType.ContainerTypeId.match(/\/Guid\(([^)]+)\)\//);
72
+ return match[1];
73
+ }
74
+ }
75
+ _SpeContainertypeGetCommand_instances = new WeakSet(), _SpeContainertypeGetCommand_initTelemetry = function _SpeContainertypeGetCommand_initTelemetry() {
76
+ this.telemetry.push((args) => {
77
+ Object.assign(this.telemetryProperties, {
78
+ id: typeof args.options.id !== 'undefined',
79
+ name: typeof args.options.name !== 'undefined'
80
+ });
81
+ });
82
+ }, _SpeContainertypeGetCommand_initOptions = function _SpeContainertypeGetCommand_initOptions() {
83
+ this.options.unshift({
84
+ option: '-i, --id [id]'
85
+ }, {
86
+ option: '-n, --name [name]'
87
+ });
88
+ }, _SpeContainertypeGetCommand_initOptionSets = function _SpeContainertypeGetCommand_initOptionSets() {
89
+ this.optionSets.push({
90
+ options: ['id', 'name']
91
+ });
92
+ }, _SpeContainertypeGetCommand_initValidators = function _SpeContainertypeGetCommand_initValidators() {
93
+ this.validators.push(async (args) => {
94
+ if (args.options.id && !validation.isValidGuid(args.options.id)) {
95
+ return `${args.options.id} is not a valid GUID`;
96
+ }
97
+ return true;
98
+ });
99
+ }, _SpeContainertypeGetCommand_initTypes = function _SpeContainertypeGetCommand_initTypes() {
100
+ this.types.string.push('id', 'name');
101
+ };
102
+ export default new SpeContainertypeGetCommand();
103
+ //# sourceMappingURL=containertype-get.js.map
@@ -1,8 +1,6 @@
1
- import config from '../../../../config.js';
2
- import request from '../../../../request.js';
3
- import { spo } from '../../../../utils/spo.js';
4
1
  import SpoCommand from '../../../base/SpoCommand.js';
5
2
  import commands from '../../commands.js';
3
+ import { spo } from '../../../../utils/spo.js';
6
4
  class SpeContainertypeListCommand extends SpoCommand {
7
5
  get name() {
8
6
  return commands.CONTAINERTYPE_LIST;
@@ -19,31 +17,13 @@ class SpeContainertypeListCommand extends SpoCommand {
19
17
  if (this.verbose) {
20
18
  await logger.logToStderr(`Retrieving list of Container types...`);
21
19
  }
22
- const allContainerTypes = await this.getAllContainerTypes(spoAdminUrl, logger);
20
+ const allContainerTypes = await spo.getAllContainerTypes(spoAdminUrl, logger, this.debug);
23
21
  await logger.log(allContainerTypes);
24
22
  }
25
23
  catch (err) {
26
24
  this.handleRejectedPromise(err);
27
25
  }
28
26
  }
29
- async getAllContainerTypes(spoAdminUrl, logger) {
30
- const formDigestInfo = await spo.ensureFormDigest(spoAdminUrl, logger, undefined, this.debug);
31
- const requestOptions = {
32
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
33
- headers: {
34
- 'X-RequestDigest': formDigestInfo.FormDigestValue
35
- },
36
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="46" ObjectPathId="45" /><Method Name="GetSPOContainerTypes" Id="47" ObjectPathId="45"><Parameters><Parameter Type="Enum">1</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="45" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
37
- };
38
- const res = await request.post(requestOptions);
39
- const json = JSON.parse(res);
40
- const response = json[0];
41
- if (response.ErrorInfo) {
42
- throw response.ErrorInfo.ErrorMessage;
43
- }
44
- const containerTypes = json[json.length - 1];
45
- return containerTypes;
46
- }
47
27
  }
48
28
  export default new SpeContainertypeListCommand();
49
29
  //# sourceMappingURL=containertype-list.js.map
@@ -1,6 +1,8 @@
1
1
  const prefix = 'spe';
2
2
  export default {
3
+ CONTAINER_LIST: `${prefix} container list`,
3
4
  CONTAINERTYPE_ADD: `${prefix} containertype add`,
5
+ CONTAINERTYPE_GET: `${prefix} containertype get`,
4
6
  CONTAINERTYPE_LIST: `${prefix} containertype list`
5
7
  };
6
8
  //# sourceMappingURL=commands.js.map
package/dist/utils/spo.js CHANGED
@@ -54,6 +54,24 @@ export const spo = {
54
54
  };
55
55
  return context;
56
56
  },
57
+ async getAllContainerTypes(spoAdminUrl, logger, verbose) {
58
+ const formDigestInfo = await spo.ensureFormDigest(spoAdminUrl, logger, undefined, verbose);
59
+ const requestOptions = {
60
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
61
+ headers: {
62
+ 'X-RequestDigest': formDigestInfo.FormDigestValue
63
+ },
64
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="46" ObjectPathId="45" /><Method Name="GetSPOContainerTypes" Id="47" ObjectPathId="45"><Parameters><Parameter Type="Enum">1</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="45" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /></ObjectPaths></Request>`
65
+ };
66
+ const res = await request.post(requestOptions);
67
+ const json = JSON.parse(res);
68
+ const response = json[0];
69
+ if (response.ErrorInfo) {
70
+ throw new Error(response.ErrorInfo.ErrorMessage);
71
+ }
72
+ const containerTypes = json[json.length - 1];
73
+ return containerTypes;
74
+ },
57
75
  async waitUntilFinished({ operationId, siteUrl, logger, currentContext, debug, verbose }) {
58
76
  const resFormDigest = await spo.ensureFormDigest(siteUrl, logger, currentContext, debug);
59
77
  currentContext = resFormDigest;
@@ -0,0 +1,97 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # spe container list
6
+
7
+ Lists containers of a specific Container Type
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 spe container list [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `--containerTypeId [containerTypeId]`
19
+ : The Container Type Id of the container instance. Use either `containerTypeId` or `containerTypeName` but not both.
20
+
21
+ `--containerTypeName [containerTypeName]`
22
+ : The Container Type name of the container instance. Use either `containerTypeId` or `containerTypeName` but not both.
23
+ ```
24
+
25
+ <Global />
26
+
27
+ ## Examples
28
+
29
+ List containers of a specific type by id.
30
+
31
+ ```sh
32
+ m365 spe container list --containerTypeId "91710488-5756-407f-9046-fbe5f0b4de73"
33
+ ```
34
+
35
+ List containers of a specific type by name.
36
+
37
+ ```sh
38
+ m365 spe container list --containerTypeName "trial container"
39
+ ```
40
+
41
+ ## Response
42
+
43
+ <Tabs>
44
+ <TabItem value="JSON">
45
+
46
+ ```json
47
+ [
48
+ {
49
+ "id": "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z",
50
+ "displayName": "My File Storage Container",
51
+ "containerTypeId": "e2756c4d-fa33-4452-9c36-2325686e1082",
52
+ "createdDateTime": "2021-11-24T15:41:52.347Z"
53
+ }
54
+ ]
55
+ ```
56
+
57
+ </TabItem>
58
+ <TabItem value="Text">
59
+
60
+ ```text
61
+ id displayName containerTypeId createdDateTime
62
+ ------------------------------------------------------------------ ------------------------- ------------------------------------ ------------------------
63
+ b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z My File Storage Container e2756c4d-fa33-4452-9c36-2325686e1082 2021-11-24T15:41:52.347Z
64
+ ```
65
+
66
+ </TabItem>
67
+ <TabItem value="CSV">
68
+
69
+ ```csv
70
+ id,displayName,containerTypeId,createdDateTime
71
+ b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z,My File Storage Container,e2756c4d-fa33-4452-9c36-2325686e1082,2021-11-24T15:41:52.347Z
72
+ ```
73
+
74
+ </TabItem>
75
+ <TabItem value="Markdown">
76
+
77
+ ```md
78
+ # spe container list
79
+
80
+ Date: 10/06/2024
81
+
82
+ ## My File Storage Container
83
+
84
+ Property | Value
85
+ ---------|-------
86
+ id | b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z
87
+ displayName | My File Storage Container
88
+ containerTypeId | e2756c4d-fa33-4452-9c36-2325686e1082
89
+ createdDateTime | 2021-11-24T15:41:52.347Z
90
+ ```
91
+
92
+ </TabItem>
93
+ </Tabs>
94
+
95
+ ## More information
96
+
97
+ In SharePoint Embedded, all files and documents are stored in Containers. The calling app should be the owning app of the container type.
@@ -0,0 +1,114 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # spe containertype get
6
+
7
+ Get a specific Container Type
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 containertype get [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `-i, --id [id]`
19
+ : The Id of the Container Type. Specify either id or name but not both.
20
+
21
+ `-n, --name [name]`
22
+ : The Container Type name. Specify either id or name but not both.
23
+ ```
24
+
25
+ <Global />
26
+
27
+ ## Examples
28
+
29
+ Gets Container Type by id
30
+
31
+ ```sh
32
+ m365 spe containertype get --id '4ec4aefd-4fa3-0e4a-20c3-6e68389e7138'
33
+ ```
34
+
35
+ Gets Container Type by name
36
+
37
+ ```sh
38
+ m365 spe containertype get --name 'test container'
39
+ ```
40
+
41
+ ## Response
42
+
43
+ <Tabs>
44
+ <TabItem value="JSON">
45
+
46
+ ```json
47
+ {
48
+ "_ObjectType_": "Microsoft.Online.SharePoint.TenantAdministration.SPContainerTypeProperties",
49
+ "ApplicationRedirectUrl": null,
50
+ "AzureSubscriptionId": "/Guid(00000000-0000-0000-0000-000000000000)/",
51
+ "ContainerTypeId": "/Guid(073269af-f1d2-042d-2ef5-5bdd6ac83115)/",
52
+ "CreationDate": null,
53
+ "DisplayName": "test1",
54
+ "ExpiryDate": null,
55
+ "IsBillingProfileRequired": true,
56
+ "OwningAppId": "/Guid(df4085cc-9a38-4255-badc-5c5225610475)/",
57
+ "OwningTenantId": "/Guid(00000000-0000-0000-0000-000000000000)/",
58
+ "Region": null,
59
+ "ResourceGroup": null,
60
+ "SPContainerTypeBillingClassification": 0
61
+ }
62
+ ```
63
+
64
+ </TabItem>
65
+ <TabItem value="Text">
66
+
67
+ ```text
68
+ ContainerTypeId DisplayName OwningAppId
69
+ -------------------------------------------- --------------------------------------------- --------------------------------------------
70
+ /Guid(073269af-f1d2-042d-2ef5-5bdd6ac83115)/ test1 /Guid(df4085cc-9a38-4255-badc-5c5225610475)/
71
+ ```
72
+
73
+ </TabItem>
74
+ <TabItem value="CSV">
75
+
76
+ ```csv
77
+ _ObjectType_,ApplicationRedirectUrl,AzureSubscriptionId,ContainerTypeId,CreationDate,DisplayName,ExpiryDate,IsBillingProfileRequired,OwningAppId,OwningTenantId,Region,ResourceGroup,SPContainerTypeBillingClassification
78
+ Microsoft.Online.SharePoint.TenantAdministration.SPContainerTypeProperties,,/Guid(00000000-0000-0000-0000-000000000000)/,/Guid(073269af-f1d2-042d-2ef5-5bdd6ac83115)/,,test1,,1,/Guid(df4085cc-9a38-4255-badc-5c5225610475)/,/Guid(00000000-0000-0000-0000-000000000000)/,,,0
79
+ ```
80
+
81
+ </TabItem>
82
+ <TabItem value="Markdown">
83
+
84
+ ```md
85
+ # spe containertype list
86
+
87
+ Date: 5/11/2024
88
+
89
+ ## test1
90
+
91
+ Property | Value
92
+ ---------|-------
93
+ \_ObjectType\_ | Microsoft.Online.SharePoint.TenantAdministration.SPContainerTypeProperties
94
+ AzureSubscriptionId | /Guid(00000000-0000-0000-0000-000000000000)/
95
+ ContainerTypeId | /Guid(073269af-f1d2-042d-2ef5-5bdd6ac83115)/
96
+ DisplayName | test1
97
+ IsBillingProfileRequired | true
98
+ OwningAppId | /Guid(df4085cc-9a38-4255-badc-5c5225610475)/
99
+ OwningTenantId | /Guid(00000000-0000-0000-0000-000000000000)/
100
+ SPContainerTypeBillingClassification | 0
101
+ ```
102
+
103
+ </TabItem>
104
+ </Tabs>
105
+
106
+ ## More information
107
+
108
+ In SharePoint Embedded, all files and documents are stored in Containers, and each Container is identified by a Container Type.
109
+
110
+ Container Type is a property stamped on every Container instance. Each Container Type is owned by one Application, and each Application can own only one Container Type.
111
+
112
+ The primary function of a Container Type is to manage the application workload that can access the Containers. Container Type defines the access permissions an Application has towards all Containers of that type, including create, read, write, delete containers; manage container permissions, etc.
113
+
114
+ More information about SharePoint Embedded and the limits can be found at the following location: [SharePoint Embedded](https://learn.microsoft.com/en-us/sharepoint/dev/embedded/concepts/app-concepts/containertypes#sharepoint-embedded-trial-container-types)
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@pnp/cli-microsoft365",
3
- "version": "10.0.0",
3
+ "version": "10.1.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@pnp/cli-microsoft365",
9
- "version": "10.0.0",
9
+ "version": "10.1.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@azure/msal-common": "14.15",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnp/cli-microsoft365",
3
- "version": "10.0.0",
3
+ "version": "10.1.0-beta.10765f6",
4
4
  "description": "Manage Microsoft 365 and SharePoint Framework projects on any platform",
5
5
  "license": "MIT",
6
6
  "main": "./dist/api.js",
@@ -310,4 +310,4 @@
310
310
  "sinon": "^19.0.2",
311
311
  "source-map-support": "^0.5.21"
312
312
  }
313
- }
313
+ }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ContainerTypeProperties.js.map