From 0fa5b23d0a7fc8a17cf8c2980163260db6cd523f Mon Sep 17 00:00:00 2001 From: Peter Ombwa Date: Wed, 26 May 2021 09:24:27 -0700 Subject: [PATCH 1/2] Add missing OpenAPI tag to modulesmapping config. --- config/ModulesMapping.jsonc | 2 +- openApiDocs/beta/Groups.yml | 240 ++++++++++++++++++++ openApiDocs/v1.0/Groups.yml | 265 ++++++++++++++++++++++- profiles/Groups/crawl-log-v1.0-beta.json | 8 + profiles/Groups/crawl-log-v1.0.json | 8 + profiles/Groups/definitions/v1.0-beta.md | 2 + profiles/Groups/definitions/v1.0.md | 2 + 7 files changed, 525 insertions(+), 2 deletions(-) diff --git a/config/ModulesMapping.jsonc b/config/ModulesMapping.jsonc index 3f181f1fe25..0d09a2431fc 100644 --- a/config/ModulesMapping.jsonc +++ b/config/ModulesMapping.jsonc @@ -17,7 +17,7 @@ "Education": "^education\\.", "Files": "^drives\\.|^shares\\.|^users.drive$|^groups.drive$", "Financials": "^financials\\.", - "Groups": "^groups.group$|^groups.directoryObject$|^groups.conversation$|^groups.endpoint$|^groups.extension$|^groups.resourceSpecificPermissionGrant$|^groups.profilePhoto$|^groups.conversationThread$|^groupLifecyclePolicies\\.|^users.group$|^groups.directorySetting$|^groups.Actions$|^groups.Functions$", + "Groups": "^groups.group$|^groups.directoryObject$|^groups.conversation$|^groups.endpoint$|^groups.extension$|^groups.groupLifecyclePolicy$|^groups.resourceSpecificPermissionGrant$|^groups.profilePhoto$|^groups.conversationThread$|^groupLifecyclePolicies\\.|^users.group$|^groups.directorySetting$|^groups.Actions$|^groups.Functions$", "Identity.DirectoryManagement": "^administrativeUnits\\.|^contacts\\.|^devices\\.|^domains\\.|^directoryRoles\\.|^directoryRoleTemplates\\.|^directorySettingTemplates\\.|^settings\\.|^subscribedSkus\\.|^contracts\\.|^directory\\.|^users.scopedRoleMembership$|^organization.organization$|^organization.organizationalBranding$|^organization.organizationSettings$|^organization.Actions$|^organization.extension$", "Identity.Governance": "^accessReviews\\.|^businessFlowTemplates\\.|^programs\\.|^programControls\\.|^programControlTypes\\.|^privilegedRoles\\.|^privilegedRoleAssignments\\.|^privilegedRoleAssignmentRequests\\.|^privilegedApproval\\.|^privilegedOperationEvents\\.|^privilegedAccess\\.|^agreements\\.|^users.agreementAcceptance$|^identityGovernance.entitlementManagement$|^identityGovernance.Functions$|^identityGovernance.Actions$", "Identity.SignIns": "^organization.certificateBasedAuthConfiguration$|^invitations\\.|^identityProviders\\.|^oauth2PermissionGrants\\.|^riskDetections\\.|^riskyUsers\\.|^dataPolicyOperations\\.|^identity.identityUserFlow$|^trustFramework\\.|^informationProtection\\.|^policies\\.|^users.authentication$|^users.informationProtection$|^identity.conditionalAccessRoot$", diff --git a/openApiDocs/beta/Groups.yml b/openApiDocs/beta/Groups.yml index c1c58113481..69ffa3bc594 100644 --- a/openApiDocs/beta/Groups.yml +++ b/openApiDocs/beta/Groups.yml @@ -11227,6 +11227,246 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation + '/groups/{group-id}/groupLifecyclePolicies': + get: + tags: + - groups.groupLifecyclePolicy + summary: Get groupLifecyclePolicies from groups + operationId: groups_ListGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - id desc + - alternateNotificationEmails + - alternateNotificationEmails desc + - groupLifetimeInDays + - groupLifetimeInDays desc + - managedGroupTypes + - managedGroupTypes desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - alternateNotificationEmails + - groupLifetimeInDays + - managedGroupTypes + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of groupLifecyclePolicy + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + '@odata.nextLink': + type: string + additionalProperties: + type: object + default: + $ref: '#/components/responses/error' + x-ms-pageable: + nextLinkName: '@odata.nextLink' + operationName: listMore + x-ms-docs-operation-type: operation + post: + tags: + - groups.groupLifecyclePolicy + summary: Create new navigation property to groupLifecyclePolicies for groups + operationId: groups_CreateGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + requestBody: + description: New navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + required: true + responses: + '201': + description: Created navigation property. + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}': + get: + tags: + - groups.groupLifecyclePolicy + summary: Get groupLifecyclePolicies from groups + operationId: groups_GetGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - alternateNotificationEmails + - groupLifetimeInDays + - managedGroupTypes + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - groups.groupLifecyclePolicy + summary: Update the navigation property groupLifecyclePolicies in groups + operationId: groups_UpdateGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + requestBody: + description: New navigation property values + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - groups.groupLifecyclePolicy + summary: Delete navigation property groupLifecyclePolicies for groups + operationId: groups_DeleteGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation '/groups/{group-id}/memberOf': get: tags: diff --git a/openApiDocs/v1.0/Groups.yml b/openApiDocs/v1.0/Groups.yml index 50fc066b548..cd2fdcbef05 100644 --- a/openApiDocs/v1.0/Groups.yml +++ b/openApiDocs/v1.0/Groups.yml @@ -9048,6 +9048,246 @@ paths: default: $ref: '#/components/responses/error' x-ms-docs-operation-type: operation + '/groups/{group-id}/groupLifecyclePolicies': + get: + tags: + - groups.groupLifecyclePolicy + summary: Get groupLifecyclePolicies from groups + operationId: groups_ListGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - $ref: '#/components/parameters/top' + - $ref: '#/components/parameters/skip' + - $ref: '#/components/parameters/search' + - $ref: '#/components/parameters/filter' + - $ref: '#/components/parameters/count' + - name: $orderby + in: query + description: Order items by property values + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - id desc + - alternateNotificationEmails + - alternateNotificationEmails desc + - groupLifetimeInDays + - groupLifetimeInDays desc + - managedGroupTypes + - managedGroupTypes desc + type: string + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - alternateNotificationEmails + - groupLifetimeInDays + - managedGroupTypes + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + title: Collection of groupLifecyclePolicy + type: object + properties: + value: + type: array + items: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + '@odata.nextLink': + type: string + additionalProperties: + type: object + default: + $ref: '#/components/responses/error' + x-ms-pageable: + nextLinkName: '@odata.nextLink' + operationName: listMore + x-ms-docs-operation-type: operation + post: + tags: + - groups.groupLifecyclePolicy + summary: Create new navigation property to groupLifecyclePolicies for groups + operationId: groups_CreateGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + requestBody: + description: New navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + required: true + responses: + '201': + description: Created navigation property. + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + '/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}': + get: + tags: + - groups.groupLifecyclePolicy + summary: Get groupLifecyclePolicies from groups + operationId: groups_GetGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + - name: $select + in: query + description: Select properties to be returned + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - id + - alternateNotificationEmails + - groupLifetimeInDays + - managedGroupTypes + type: string + - name: $expand + in: query + description: Expand related entities + style: form + explode: false + schema: + uniqueItems: true + type: array + items: + enum: + - '*' + type: string + responses: + '200': + description: Retrieved navigation property + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + patch: + tags: + - groups.groupLifecyclePolicy + summary: Update the navigation property groupLifecyclePolicies in groups + operationId: groups_UpdateGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + requestBody: + description: New navigation property values + content: + application/json: + schema: + $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy' + required: true + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation + delete: + tags: + - groups.groupLifecyclePolicy + summary: Delete navigation property groupLifecyclePolicies for groups + operationId: groups_DeleteGroupLifecyclePolicies + parameters: + - name: group-id + in: path + description: 'key: id of group' + required: true + schema: + type: string + x-ms-docs-key-type: group + - name: groupLifecyclePolicy-id + in: path + description: 'key: id of groupLifecyclePolicy' + required: true + schema: + type: string + x-ms-docs-key-type: groupLifecyclePolicy + - name: If-Match + in: header + description: ETag + schema: + type: string + responses: + '204': + description: Success + default: + $ref: '#/components/responses/error' + x-ms-docs-operation-type: operation '/groups/{group-id}/memberOf': get: tags: @@ -23862,7 +24102,7 @@ components: description: State of license assignments for this user. Returned only on $select. Read-only. mail: type: string - description: 'The SMTP address for the user, for example, ''jeff@contoso.onmicrosoft.com''.NOTE: While this property can contain accent characters, using them can cause access issues with other Microsoft applications for the user.Returned by default. Supports $filter and endsWith.' + description: 'The SMTP address for the user, for example, ''jeff@contoso.onmicrosoft.com''. Changes to this property will also update the user''s proxyAddresses collection to include the value as an SMTP address. While this property can contain accent characters, using them can cause access issues with other Microsoft applications for the user. Supports $filter and endsWith.' nullable: true mailNickname: type: string @@ -26808,6 +27048,10 @@ components: type: string description: Enrollment time of the device. This property is read-only. format: date-time + ethernetMacAddress: + type: string + description: Ethernet MAC. This property is read-only. + nullable: true exchangeAccessState: $ref: '#/components/schemas/microsoft.graph.deviceManagementExchangeAccessState' exchangeAccessStateReason: @@ -26821,6 +27065,10 @@ components: type: integer description: Free Storage in Bytes. This property is read-only. format: int64 + iccid: + type: string + description: 'Integrated Circuit Card Identifier, it is A SIM card''s unique identification number. This property is read-only.' + nullable: true imei: type: string description: IMEI. This property is read-only. @@ -26860,6 +27108,10 @@ components: type: string description: Model of the device. This property is read-only. nullable: true + notes: + type: string + description: Notes on the device created by IT Admin + nullable: true operatingSystem: type: string description: 'Operating system of the device. Windows, iOS, etc. This property is read-only.' @@ -26874,6 +27126,10 @@ components: type: string description: Phone number of the device. This property is read-only. nullable: true + physicalMemoryInBytes: + type: integer + description: Total Memory in Bytes. This property is read-only. + format: int64 remoteAssistanceSessionErrorDetails: type: string description: An error string that identifies issues when creating Remote Assistance session objects. This property is read-only. @@ -26894,6 +27150,10 @@ components: type: integer description: Total Storage in Bytes. This property is read-only. format: int64 + udid: + type: string + description: Unique Device Identifier for iOS and macOS devices. This property is read-only. + nullable: true userDisplayName: type: string description: User display name. This property is read-only. @@ -28373,6 +28633,9 @@ components: - windowsAutoEnrollment - windowsBulkAzureDomainJoin - windowsCoManagement + - windowsAzureADJoinUsingDeviceAuth + - appleUserEnrollment + - appleUserEnrollmentWithServiceAccount type: string microsoft.graph.deviceHealthAttestationState: title: deviceHealthAttestationState diff --git a/profiles/Groups/crawl-log-v1.0-beta.json b/profiles/Groups/crawl-log-v1.0-beta.json index eb152c8ca9b..f82d253a0bf 100644 --- a/profiles/Groups/crawl-log-v1.0-beta.json +++ b/profiles/Groups/crawl-log-v1.0-beta.json @@ -721,6 +721,14 @@ "apiVersion": "v1.0-beta", "originalLocation": "/openApiDocs/beta/Groups.yml" }, + "/groups/{group-id}/groupLifecyclePolicies": { + "apiVersion": "v1.0-beta", + "originalLocation": "/openApiDocs/beta/Groups.yml" + }, + "/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}": { + "apiVersion": "v1.0-beta", + "originalLocation": "/openApiDocs/beta/Groups.yml" + }, "/groups/{group-id}/memberOf": { "apiVersion": "v1.0-beta", "originalLocation": "/openApiDocs/beta/Groups.yml" diff --git a/profiles/Groups/crawl-log-v1.0.json b/profiles/Groups/crawl-log-v1.0.json index 0fe67cd2707..dcae06a6727 100644 --- a/profiles/Groups/crawl-log-v1.0.json +++ b/profiles/Groups/crawl-log-v1.0.json @@ -573,6 +573,14 @@ "apiVersion": "v1.0", "originalLocation": "/openApiDocs/v1.0/Groups.yml" }, + "/groups/{group-id}/groupLifecyclePolicies": { + "apiVersion": "v1.0", + "originalLocation": "/openApiDocs/v1.0/Groups.yml" + }, + "/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}": { + "apiVersion": "v1.0", + "originalLocation": "/openApiDocs/v1.0/Groups.yml" + }, "/groups/{group-id}/memberOf": { "apiVersion": "v1.0", "originalLocation": "/openApiDocs/v1.0/Groups.yml" diff --git a/profiles/Groups/definitions/v1.0-beta.md b/profiles/Groups/definitions/v1.0-beta.md index bf405cef280..cd0d4e640ae 100644 --- a/profiles/Groups/definitions/v1.0-beta.md +++ b/profiles/Groups/definitions/v1.0-beta.md @@ -192,6 +192,8 @@ profiles: /groups/{group-id}/events/microsoft.graph.delta(): v1.0-beta /groups/{group-id}/extensions: v1.0-beta /groups/{group-id}/extensions/{extension-id}: v1.0-beta + /groups/{group-id}/groupLifecyclePolicies: v1.0-beta + /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}: v1.0-beta /groups/{group-id}/memberOf: v1.0-beta /groups/{group-id}/memberOf/$ref: v1.0-beta /groups/{group-id}/members: v1.0-beta diff --git a/profiles/Groups/definitions/v1.0.md b/profiles/Groups/definitions/v1.0.md index af72d7ee129..cf665a598bd 100644 --- a/profiles/Groups/definitions/v1.0.md +++ b/profiles/Groups/definitions/v1.0.md @@ -155,6 +155,8 @@ profiles: /groups/{group-id}/events/microsoft.graph.delta(): v1.0 /groups/{group-id}/extensions: v1.0 /groups/{group-id}/extensions/{extension-id}: v1.0 + /groups/{group-id}/groupLifecyclePolicies: v1.0 + /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}: v1.0 /groups/{group-id}/memberOf: v1.0 /groups/{group-id}/memberOf/$ref: v1.0 /groups/{group-id}/members: v1.0 From 59ff52e96d2ee298ba021edad0e51a3e545bdf79 Mon Sep 17 00:00:00 2001 From: Peter Ombwa Date: Fri, 24 Jun 2022 15:37:36 -0700 Subject: [PATCH 2/2] Update directives. --- src/Groups/Groups/readme.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Groups/Groups/readme.md b/src/Groups/Groups/readme.md index 22638b106c9..2dbf87bb63a 100644 --- a/src/Groups/Groups/readme.md +++ b/src/Groups/Groups/readme.md @@ -38,7 +38,7 @@ subject-prefix: '' ``` yaml directive: - - remove-path-by-operation: groups\.groupLifecyclePolicies_.*$|groups\.team.*$|users\.joinedGroups.*$|groups\.sites\.onenote.*$|.*\.onenote\..*parent.*|.*\.calendarView.*|.*\.notebooks\.section.*|.*\.sectionGroups\.section.*|.*\.sections\.pages.*|.*\.calendar\.events\..*$|.*\.events\..*$ + - remove-path-by-operation: groups\.groupLifecyclePolicies_.*$|groups_(Get|Create|Update|Delete)GroupLifecyclePolicies$|groups\.team.*$|users\.joinedGroups.*$|groups\.sites\.onenote.*$|.*\.onenote\..*parent.*|.*\.calendarView.*|.*\.notebooks\.section.*|.*\.sectionGroups\.section.*|.*\.sections\.pages.*|.*\.calendar\.events\..*$|.*\.events\..*$ # Remove cmdlets - where: verb: Test @@ -50,6 +50,12 @@ directive: subject: (Group)AvailableExtensionProperty remove: true # Rename cmdlets + - where: + verb: Get + subject: ^(GroupLifecyclePolicy)$ + variant: ^List$|^List1$ + set: + subject: $1ByGroup - where: subject: ^(GroupLifecyclePolicy)(\1)+ set: