diff --git a/config/ModulesMapping.jsonc b/config/ModulesMapping.jsonc index 7c691c341ea..a65b1aec701 100644 --- a/config/ModulesMapping.jsonc +++ b/config/ModulesMapping.jsonc @@ -18,7 +18,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\\.", "Identity.SignIns": "^organization.certificateBasedAuthConfiguration$|^invitations\\.|^identityProviders\\.|^oauth2PermissionGrants\\.|^identityProtection\\.|^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 39b8a79bd76..a6b27dda7d8 100644 --- a/openApiDocs/beta/Groups.yml +++ b/openApiDocs/beta/Groups.yml @@ -18483,6 +18483,237 @@ 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': + $ref: '#/components/responses/microsoft.graph.groupLifecyclePolicyCollectionResponse' + 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' + links: + addGroup: + operationId: groups.group.groupLifecyclePolicies.groupLifecyclePolicy.addGroup + removeGroup: + operationId: groups.group.groupLifecyclePolicies.groupLifecyclePolicy.removeGroup + 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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup': post: tags: diff --git a/openApiDocs/v1.0/Groups.yml b/openApiDocs/v1.0/Groups.yml index 0fc1d88eca0..b784e4551e5 100644 --- a/openApiDocs/v1.0/Groups.yml +++ b/openApiDocs/v1.0/Groups.yml @@ -11432,6 +11432,237 @@ 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': + $ref: '#/components/responses/microsoft.graph.groupLifecyclePolicyCollectionResponse' + 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' + links: + addGroup: + operationId: groups.group.groupLifecyclePolicies.groupLifecyclePolicy.addGroup + removeGroup: + operationId: groups.group.groupLifecyclePolicies.groupLifecyclePolicy.removeGroup + 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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup': post: tags: diff --git a/profiles/Groups/crawl-log-v1.0-beta.json b/profiles/Groups/crawl-log-v1.0-beta.json index ede11adaf6d..faa51b53047 100644 --- a/profiles/Groups/crawl-log-v1.0-beta.json +++ b/profiles/Groups/crawl-log-v1.0-beta.json @@ -1189,6 +1189,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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup": { "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 aaff9885cc6..c347e710958 100644 --- a/profiles/Groups/crawl-log-v1.0.json +++ b/profiles/Groups/crawl-log-v1.0.json @@ -701,6 +701,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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup": { "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 313e845c3a3..a0aba1e9193 100644 --- a/profiles/Groups/definitions/v1.0-beta.md +++ b/profiles/Groups/definitions/v1.0-beta.md @@ -357,6 +357,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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup: v1.0-beta /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup: v1.0-beta /groups/{group-id}/groupLifecyclePolicies/microsoft.graph.renewGroup: v1.0-beta diff --git a/profiles/Groups/definitions/v1.0.md b/profiles/Groups/definitions/v1.0.md index 4905ae963c6..cc49b51bdd1 100644 --- a/profiles/Groups/definitions/v1.0.md +++ b/profiles/Groups/definitions/v1.0.md @@ -199,6 +199,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}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup: v1.0 /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup: v1.0 /groups/{group-id}/memberOf: v1.0 diff --git a/src/Groups/Groups/readme.md b/src/Groups/Groups/readme.md index ddf56adb66b..eaeaddffed6 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: