Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Entra User Sponsor Command #1302

Draft
wants to merge 124 commits into
base: modularize
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
4e472ee
Usability Params for Set-EntraUserExtension
emmanuel-karanja Oct 18, 2024
2e4d841
Added module splitter and psm1 builder
emmanuel-karanja Oct 21, 2024
a01bfb0
Added module splitter and psm1 builder
emmanuel-karanja Oct 21, 2024
aad9d7e
added moduleMapper.json
emmanuel-karanja Oct 21, 2024
1411242
added runner script and typedefs
emmanuel-karanja Oct 21, 2024
2b48e82
Added Comments
emmanuel-karanja Oct 21, 2024
b4b69bd
Added WriteModuleManifest
emmanuel-karanja Oct 21, 2024
ba129f5
changed name to Create-EntraModule
emmanuel-karanja Oct 21, 2024
4955209
Added CreateModuleHelp
emmanuel-karanja Oct 21, 2024
a8fbe40
fixed the help generation code
emmanuel-karanja Oct 21, 2024
4115c36
Fixed the runner script
emmanuel-karanja Oct 21, 2024
c77413c
added dependency mapping
emmanuel-karanja Oct 21, 2024
a937005
Added dependency mapping.json
emmanuel-karanja Oct 21, 2024
2a3d39c
Fixes
emmanuel-karanja Oct 21, 2024
f571749
fixes
emmanuel-karanja Oct 21, 2024
f1e9421
fixes
emmanuel-karanja Oct 21, 2024
79bc9bd
fixes to EntraModulebuilder
emmanuel-karanja Oct 21, 2024
a9265d0
fixes to EntraModuleBuilder
emmanuel-karanja Oct 21, 2024
6f84fc1
formatting
emmanuel-karanja Oct 21, 2024
ff32d98
fixed manifest gen bug
emmanuel-karanja Oct 21, 2024
64912fe
fixed manifest gen bug
emmanuel-karanja Oct 21, 2024
9b95783
Created New-Build.md
emmanuel-karanja Oct 21, 2024
640cc76
added Doc Splitting code and Module Mapping creator
emmanuel-karanja Oct 21, 2024
c00e454
updates
emmanuel-karanja Oct 21, 2024
15a2f7d
Debugged to add Get-EntraUnsupportedCommand and New-EntraCustomHeader…
emmanuel-karanja Oct 21, 2024
79d128c
Debug to add export
emmanuel-karanja Oct 21, 2024
a7c4f43
Debug to add export
emmanuel-karanja Oct 21, 2024
4349dc4
Refactored Create-ModuleMapping
emmanuel-karanja Oct 22, 2024
6c5a6b6
refactored logging code
emmanuel-karanja Oct 22, 2024
d20481f
refactored Split-Docs code
emmanuel-karanja Oct 22, 2024
251813d
Refactor
emmanuel-karanja Oct 22, 2024
a9ad3f1
rename file
emmanuel-karanja Oct 22, 2024
c0f3179
minor changes
emmanuel-karanja Oct 23, 2024
b026e86
minor changes
emmanuel-karanja Oct 23, 2024
77926e0
Small changes to mapping generation and doc splitting
emmanuel-karanja Oct 23, 2024
c0ecd8e
Small changes to mapping generation and doc splitting
emmanuel-karanja Oct 23, 2024
7aba8d4
fixes
emmanuel-karanja Oct 23, 2024
cdfb922
Updated dependencyMapping.json
emmanuel-karanja Oct 23, 2024
2e6fd27
Updated module map code
emmanuel-karanja Oct 23, 2024
0bbd476
Added Meta-Module Generation Code
emmanuel-karanja Oct 23, 2024
c812ad3
Added Meta-Module Generation Code
emmanuel-karanja Oct 23, 2024
84aca33
Added Meta-Module Generation Code
emmanuel-karanja Oct 24, 2024
bd6993e
Fixes
emmanuel-karanja Oct 24, 2024
062ab1e
fixed submodule loading code
emmanuel-karanja Oct 24, 2024
79c6e47
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
4668958
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
0467e56
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
4981de9
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
0638957
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
57f25d8
fixed root module manifest gen code
emmanuel-karanja Oct 24, 2024
d06c3bd
fixed module loading issue
emmanuel-karanja Oct 24, 2024
1e4f660
fixed root module generation to give correct path
emmanuel-karanja Oct 24, 2024
0ba1878
Fixed required module fetching
emmanuel-karanja Oct 24, 2024
4dc2463
Added logging for testing
emmanuel-karanja Oct 24, 2024
4f73285
Added logging for testing
emmanuel-karanja Oct 24, 2024
5b78d52
Added correct moduleMapping for Entra
emmanuel-karanja Oct 28, 2024
a4836a9
fix bug
emmanuel-karanja Oct 28, 2024
fc20c04
fix bug
emmanuel-karanja Oct 28, 2024
6518336
fix bug
emmanuel-karanja Oct 28, 2024
0e5e8e2
fix bug
emmanuel-karanja Oct 28, 2024
5151656
Split Files
emmanuel-karanja Oct 28, 2024
6771dc7
Split Files
emmanuel-karanja Oct 28, 2024
1f97d2c
fix bug
emmanuel-karanja Oct 28, 2024
31db253
New Split
emmanuel-karanja Oct 28, 2024
66f01f2
resplit docs
emmanuel-karanja Oct 28, 2024
1edb018
fixes to dependency mapping and added logic to skip the Migrations di…
emmanuel-karanja Oct 28, 2024
d9bb336
update dependency maps
emmanuel-karanja Oct 28, 2024
d124d77
fixes
emmanuel-karanja Oct 29, 2024
8fa1d9f
fixes
emmanuel-karanja Oct 29, 2024
9eef4bc
migrate to moduleVNext
emmanuel-karanja Oct 29, 2024
71bfd9d
migrate to moduleVNext
emmanuel-karanja Oct 29, 2024
5b3662f
migrate to moduleVNext
emmanuel-karanja Oct 29, 2024
0ac418c
fixes
emmanuel-karanja Oct 29, 2024
dcc64b8
fixes
emmanuel-karanja Oct 29, 2024
a68e957
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
0664994
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
e802b26
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
0069900
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
7b484ee
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
f08c65a
Update VNext-Build.md file
emmanuel-karanja Oct 29, 2024
ff3a94b
Update RootModule Import for Tests
emmanuel-karanja Oct 29, 2024
9f0d5d2
Update modularization paths (#1177)
KenitoInc Oct 29, 2024
0ed42ea
Fix telemetry custom headers (#1179)
KenitoInc Oct 30, 2024
c05f33b
Split Test files to sub-module directories (#1180)
emmanuel-karanja Nov 5, 2024
99699b2
Changes
emmanuel-karanja Nov 7, 2024
e473f5a
Changes
emmanuel-karanja Nov 7, 2024
cbd85e7
Generate the Root Module .ps1 file (#1192)
emmanuel-karanja Nov 7, 2024
c8c1d02
resolve New-EntraBetaCustomHeaders
emmanuel-karanja Nov 7, 2024
4fb5ef0
resolve New-EntraBetaCustomHeaders
emmanuel-karanja Nov 7, 2024
5ac6e14
resolve New-EntraBetaCustomHeaders and updated splitting
emmanuel-karanja Nov 7, 2024
7a274a0
clean up
emmanuel-karanja Nov 7, 2024
b13532e
clean up
emmanuel-karanja Nov 7, 2024
478594d
Directory Harmonization
emmanuel-karanja Nov 7, 2024
5de6d5a
Directory Harmonization
emmanuel-karanja Nov 7, 2024
351e7b2
Commented out call to create root psm1 file
emmanuel-karanja Nov 11, 2024
89b1f7e
Inject RequiredModules section into Root Module Manifest (#1195)
emmanuel-karanja Nov 11, 2024
5a66eed
Commented out call to create root psm1 file (#1199)
emmanuel-karanja Nov 11, 2024
ff48ca5
Enganga/remove root module psm1 file (#1200)
emmanuel-karanja Nov 11, 2024
56e2094
Tests Cleanup (#1209)
emmanuel-karanja Nov 14, 2024
a91f137
Add the Sub-Modules as RequiredModules in the Root Module Manifest (#…
emmanuel-karanja Nov 14, 2024
9773c1c
Merge branch 'modularize' of https://github.com/microsoftgraph/entra-…
emmanuel-karanja Nov 14, 2024
d4b8994
Groups changes
emmanuel-karanja Nov 14, 2024
9471507
Groups changes
emmanuel-karanja Nov 14, 2024
a6b2cae
Groups changes
emmanuel-karanja Nov 14, 2024
2ce3938
entra-beta-audit changes (#1210)
emmanuel-karanja Nov 15, 2024
8003969
Additional EntraBeta Tests Issues (#1211)
emmanuel-karanja Nov 15, 2024
b00cba4
Removed additional entry for MsDirectoryObject
emmanuel-karanja Nov 15, 2024
fcc3a59
Removed additional entry for MsDirectoryObject and MsRoleMemberInfo (…
emmanuel-karanja Nov 15, 2024
c36796e
Run modular tests on the pipeline (#1186)
KenitoInc Nov 18, 2024
fe9da95
Credscan and PSScriptAnalyzer suppressions (#1220)
KenitoInc Nov 20, 2024
119292c
Kemunga/modularize folders restructure (#1222)
KenitoInc Nov 21, 2024
0fff351
Rename module (#1223)
KenitoInc Nov 21, 2024
ecce8ad
Docs updates for legacy (#1225)
emmanuel-karanja Nov 21, 2024
b12f189
Release pipeline - update module name (#1224)
KenitoInc Nov 21, 2024
0d60fa9
Resplit for Release (#1226)
emmanuel-karanja Nov 22, 2024
9dd6d57
Version 0.20.0-preview (#1227)
KenitoInc Nov 22, 2024
49379b6
Update docs help (#1228)
KenitoInc Nov 22, 2024
21f8f07
Enganga/docfx issue (#1230)
emmanuel-karanja Nov 27, 2024
ba3621b
Mapped Get-EntraBetaObjectByObjectId (#1250)
emmanuel-karanja Dec 10, 2024
4183d0a
Custom Headers Update automation (#1234)
emmanuel-karanja Dec 10, 2024
5048031
Split Automation Fixes (#1236)
emmanuel-karanja Dec 11, 2024
0f774e7
Fixing online version entries (#1249)
SteveMutungi254 Dec 11, 2024
5cce428
Modularize minor fixes (#1238)
SamErde Dec 19, 2024
9debfee
Add Entra User Sponsor Command
DButoyez Jan 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 11 additions & 3 deletions .azure-pipelines/1es-entra-powershell-ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ extends:
name: MSSecurity-1ES-Build-Agents-Pool
image: MSSecurity-1ES-Windows-2022
os: windows
credscan:
suppressionsFile: $(Build.SourcesDirectory)\.config\CredScanSuppressions.json
outputFormat: pre
debugMode: false
batchSize: 16
psscriptanalyzer:
break: false
enabled: true
stages:
- stage: build
jobs:
Expand All @@ -42,15 +50,15 @@ extends:
- template: .azure-pipelines/common-templates/install-tools.yml@self
- template: .azure-pipelines/common-templates/security-pre-checks.yml@self

- template: .azure-pipelines/generation-templates/generate_adapter-migrate-1es.yml@self
- template: .azure-pipelines/generation-templates/generate_adapter-1es.yml@self
parameters:
Sign: ${{ parameters.Sign }}

- ${{ if and(eq(parameters.Pack, true), eq(parameters.Sign, true)) }}:
- template: .azure-pipelines/common-templates/esrp/codesign-nuget-migrate.yml@self
parameters:
FolderPath: "$(Build.ArtifactStagingDirectory)"
Pattern: "Microsoft.Graph.Entra.*.nupkg"
Pattern: "Microsoft.Entra.*.nupkg"
- task: 1ES.PublishBuildArtifacts@1
displayName: Publish Module Artifacts
inputs:
Expand All @@ -60,7 +68,7 @@ extends:
displayName: Publish NuGet to preview feed
inputs:
useDotNetTask: false
packagesToPush: $(Build.ArtifactStagingDirectory)/**/Microsoft.Graph.Entra.*.nupkg
packagesToPush: $(Build.ArtifactStagingDirectory)/**/Microsoft.Entra.*.nupkg
packageParentPath: '$(Build.ArtifactStagingDirectory)'
publishVstsFeed: $(PROJECT_NAME)/$(PREVIEW_FEED_NAME)
nuGetFeedType: internal
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/1es-entra-powershell-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ extends:
displayName: Publish Nuget package
inputs:
useDotNetTask: false
packagesToPush: '$(System.ArtifactsDirectory)/drop/Microsoft.Graph.Entra*.nupkg'
packagesToPush: '$(System.ArtifactsDirectory)/drop/Microsoft.Entra*.nupkg'
packageParentPath: '$(System.ArtifactsDirectory)'
nuGetFeedType: external
publishFeedCredentials: EntraPowerShell_PSGallery
4 changes: 2 additions & 2 deletions .azure-pipelines/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- template: ./common-templates/esrp/codesign-nuget.yml
parameters:
FolderPath: "$(Build.ArtifactStagingDirectory)"
Pattern: "Microsoft.Graph.Entra.*.nupkg"
Pattern: "Microsoft.Entra.*.nupkg"

- task: PublishBuildArtifacts@1
displayName: Publish Module Artifacts
Expand All @@ -54,7 +54,7 @@ jobs:
displayName: Publish NuGet to preview feed
inputs:
command: push
packagesToPush: $(Build.ArtifactStagingDirectory)/**/Microsoft.Graph.Entra.*.nupkg
packagesToPush: $(Build.ArtifactStagingDirectory)/**/Microsoft.Entra.*.nupkg
publishVstsFeed: $(PROJECT_NAME)/$(PREVIEW_FEED_NAME)
allowPackageConflicts: true

Expand Down
4 changes: 2 additions & 2 deletions .azure-pipelines/entra-powershell-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ stages:
inputs:
targetType: inline
script: |
Publish-Module -NuGetApiKey $env:NuGetApiKey -Path $(Build.ArtifactStagingDirectory)/modules/Microsoft.Graph.Entra -Verbose
Publish-Module -NuGetApiKey $env:NuGetApiKey -Path $(Build.ArtifactStagingDirectory)/modules/Microsoft.Graph.Entra.Beta -Verbose
Publish-Module -NuGetApiKey $env:NuGetApiKey -Path $(Build.ArtifactStagingDirectory)/modules/Microsoft.Entra -Verbose
Publish-Module -NuGetApiKey $env:NuGetApiKey -Path $(Build.ArtifactStagingDirectory)/modules/Microsoft.Entra.Beta -Verbose
pwsh: false
dependsOn: Release_Approval
247 changes: 247 additions & 0 deletions .azure-pipelines/generation-templates/generate_adapter-1es.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# https://aka.ms/yaml

parameters:
- name: Sign
type: boolean
default: false
- name: Integration
type: boolean
default: false

steps:
- task: powershell@2
displayName: 'Show current PowerShell version information'
inputs:
targetType: inline
script: 'echo $PSVersionTable'
pwsh: true
- task: powershell@2
displayName: 'Set maximum function count'
inputs:
targetType: inline
script: '$MaximumFunctionCount=32768'
pwsh: true
- task: powershell@2
displayName: 'Install Dependencies Entra'
inputs:
targetType: inline
script: |
./build/Install-Dependencies.ps1 -ModuleName Entra -Verbose
pwsh: true
- task: powershell@2
displayName: 'Install PlatyPS'
inputs:
targetType: inline
script: Install-Module PlatyPS -scope currentuser -Force
pwsh: true
# - task: powershell@2
# displayName: 'Create Module Help Files Entra'
# inputs:
# targetType: inline
# script: |
# Import-Module PlatyPS
# . ./build/common-functions.ps1
# Create-ModuleHelp -Module Entra
# pwsh: true
- task: powershell@2
displayName: '[Modularization ] Build Entra'
inputs:
targetType: inline
script: |
./build/Create-EntraModule.ps1 -Module Entra -Verbose
./build/Create-EntraModule.ps1 -Module Entra -Root -Verbose
pwsh: true
- ${{ if eq(parameters.Sign, true) }}:
- template: ../common-templates/esrp/codesign-migrate.yml
parameters:
FolderPath: "bin"
Pattern: "*.psm1, *.psd1, *.format.ps1xml, *.ps1"
- task: PowerShell@2
displayName: "Validate Authenticode Signature"
inputs:
targetType: "inline"
pwsh: true
script: ./build/ValidateAuthenticodeSignature.ps1
- task: powershell@2
displayName: 'Create Module Files Entra'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Create-ModuleFolder
pwsh: true
- task: 1ES.PublishBuildArtifacts@1
displayName: 'Publish Module Files EntraBeta'
inputs:
PathtoPublish: 'bin'
ArtifactName: 'Module Files'
- task: powershell@2
displayName: 'Register Local Gallery'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Register-LocalGallery -Path $(Build.ArtifactStagingDirectory)
pwsh: true
- task: powershell@2
displayName: 'Publish to Local Gallery Entra'
inputs:
targetType: inline
script: ./build/Publish-LocalCompatModule.ps1 -Install
pwsh: true
- task: 1ES.PublishBuildArtifacts@1
displayName: 'Publish Module Nuget File Entra'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'Module Nuget'
- task: powershell@2
displayName: 'Remove Build Folders'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Remove-BuildDirectories
pwsh: true
- task: powershell@2
displayName: 'Install Dependencies EntraBeta'
inputs:
targetType: inline
script: |
./build/Install-Dependencies.ps1 -ModuleName EntraBeta -Verbose
pwsh: true
# - task: powershell@2
# displayName: 'Create Module Help Files EntraBeta'
# inputs:
# targetType: inline
# script: |
# Import-Module PlatyPS
# . ./build/common-functions.ps1
# Create-ModuleHelp -Module EntraBeta
# pwsh: true
- task: powershell@2
displayName: '[Modularization ] Build EntraBeta'
inputs:
targetType: inline
script: |
./build/Create-EntraModule.ps1 -Module EntraBeta -Verbose
./build/Create-EntraModule.ps1 -Module EntraBeta -Root -Verbose
pwsh: true
- ${{ if eq(parameters.Sign, true) }}:
- template: ../common-templates/esrp/codesign-migrate.yml
parameters:
FolderPath: "bin"
Pattern: "*.psm1, *.psd1, *.format.ps1xml, *.ps1"
- task: PowerShell@2
displayName: "Validate Authenticode Signature"
inputs:
targetType: "inline"
pwsh: true
script: ./build/ValidateAuthenticodeSignature.ps1
- task: powershell@2
displayName: 'Create Module Files EntraBeta'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Create-ModuleFolder
pwsh: true
- task: 1ES.PublishBuildArtifacts@1
displayName: 'Publish Module Files EntraBeta'
inputs:
PathtoPublish: 'bin'
ArtifactName: 'Module Files'
- task: powershell@2
displayName: 'Publish to Local Gallery EntraBeta'
inputs:
targetType: inline
script: ./build/Publish-LocalCompatModule.ps1 -Install
pwsh: true
- task: 1ES.PublishBuildArtifacts@1
displayName: 'Publish Module Nuget File EntraBeta'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'Module Nuget'
- task: powershell@2
displayName: 'Remove Build Folders'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Remove-BuildDirectories
pwsh: true
- task: powershell@2
displayName: 'Install Pester'
inputs:
targetType: inline
script: Install-Module Pester -scope currentuser -SkipPublisherCheck -Force
pwsh: true
- task: powershell@2
displayName: 'Run tests Entra'
inputs:
targetType: inline
pwsh: true
script: |
cd test/Entra
Invoke-Pester -OutputFile "./test/results/pester-test-results-ad.xml" -OutputFormat NUnitXml
- task: PublishTestResults@2
inputs:
testResultsFormat: NUnit
testResultsFiles: "./test/results/pester-test-results-ad.xml"
failTaskOnFailedTests: true
- task: powershell@2
displayName: 'Run tests Entra Beta'
inputs:
targetType: inline
pwsh: true
script: |
cd test/EntraBeta
Invoke-Pester -OutputFile "./test/results/pester-test-results-ad.xml" -OutputFormat NUnitXml
- task: PublishTestResults@2
inputs:
testResultsFormat: NUnit
testResultsFiles: "./test/results/pester-test-results-ad.xml"
failTaskOnFailedTests: true
- ${{ if eq(parameters.Integration, true) }}:
- task: powershell@2
displayName: 'Run Entra integration tests'
inputs:
targetType: inline
pwsh: true
script: |
cd test/module/Integration/Entra
Invoke-Pester -OutputFile "./test/results/pester-test-results-preview.xml" -OutputFormat NUnitXml
- task: PublishTestResults@2
inputs:
testResultsFormat: NUnit
testResultsFiles: "./test/results/pester-test-results-preview.xml"
failTaskOnFailedTests: true
- task: powershell@2
displayName: 'Run EntraBeta integration tests'
inputs:
targetType: inline
pwsh: true
script: |
cd test/module/Integration/EntraBeta
Invoke-Pester -OutputFile "./test/results/pester-test-results-preview.xml" -OutputFormat NUnitXml
- task: PublishTestResults@2
inputs:
testResultsFormat: NUnit
testResultsFiles: "./test/results/pester-test-results-preview.xml"
failTaskOnFailedTests: true
- task: powershell@2
displayName: 'Remove Local Gallery'
inputs:
targetType: inline
script: |
. ./build/common-functions.ps1
Unregister-LocalGallery
pwsh: true
- task: PSScriptAnalyzer@1
displayName: 'Run PSScriptAnalyzer'
inputs:
Path: '$(Build.SourcesDirectory)'
Settings: required
IgnorePattern: .gdn
Recurse: true
Loading