autographps.psd1
# # Module manifest for module 'poshgraph' # # Generated by: adamedx # # Generated on: 9/24/2017 # @{ # Script module or binary module file associated with this manifest. # RootModule = '' # Version number of this module. ModuleVersion = '0.16.0' # Supported PSEditions # CompatiblePSEditions = @() # ID used to uniquely identify this module GUID = '524a2b17-37b1-43c2-aa55-6c19692c6450' # Author of this module Author = 'Adam Edwards' # Company or vendor of this module CompanyName = 'Modulus Group' # Copyright statement for this module Copyright = '(c) 2018 Adam Edwards.' # Description of the functionality provided by this module Description = 'CLI for automating the Microsoft Graph' # Minimum version of the Windows PowerShell engine required by this module # PowerShellVersion = '' # Name of the Windows PowerShell host required by this module # PowerShellHostName = '' # Minimum version of the Windows PowerShell host required by this module # PowerShellHostVersion = '' # Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. # DotNetFrameworkVersion = '' # Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. # CLRVersion = '' # Processor architecture (None, X86, Amd64) required by this module # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module # RequiredModules = @() # Assemblies that must be loaded prior to importing this module # RequiredAssemblies = @() # Script files (.ps1) that are run in the caller's environment prior to importing this module. ScriptsToProcess = @('./src/graph.ps1') # Type files (.ps1xml) to be loaded when importing this module # TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module # FormatsToProcess = @() # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess NestedModules = @( @{ModuleName='autographps-sdk';ModuleVersion='0.5.0';Guid='4d32f054-da30-4af7-b2cc-af53fb6cb1b6'} @{ModuleName='scriptclass';ModuleVersion='0.13.7';Guid='9b0f5599-0498-459c-9a47-125787b1af19'} ) # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. FunctionsToExport = @() # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. CmdletsToExport = @( 'Get-Graph', 'Get-GraphChildItem', 'Get-GraphLocation', 'Get-GraphType', 'Get-GraphUri', 'New-Graph', 'Remove-Graph', 'Set-GraphLocation', 'Set-GraphPrompt', 'Update-GraphMetadata' ) # Variables to export from this module VariablesToExport = @( 'GraphAutoPromptPreference', 'GraphMetadataPreference', 'GraphPromptColorPreference' ) # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. AliasesToExport = @('gcd', 'gg', 'ggu', 'gls', 'gwd') # DSC resources to export from this module # DscResourcesToExport = @() # List of all modules packaged with this module # ModuleList = @('') # List of all files packaged with this module FileList = @( '.\autographps.psd1', '.\autographps.psm1', '.\src\aliases.ps1', '.\src\cmdlets.ps1', '.\src\graph.ps1', '.\src\client\LocationContext.ps1', '.\src\cmdlets\Get-Graph.ps1', '.\src\cmdlets\Get-GraphChildItem.ps1', '.\src\cmdlets\Get-GraphLocation.ps1', '.\src\cmdlets\Get-GraphType.ps1', '.\src\cmdlets\Get-GraphUri.ps1', '.\src\cmdlets\New-Graph.ps1', '.\src\cmdlets\Remove-Graph.ps1', '.\src\cmdlets\Set-GraphLocation.ps1', '.\src\cmdlets\Set-GraphPrompt.ps1', '.\src\cmdlets\Update-GraphMetadata.ps1', '.\src\cmdlets\common\ArgumentCompletionHelper.ps1', '.\src\cmdlets\common\ContextHelper.ps1', '.\src\cmdlets\common\GraphCompletionHelper.ps1', '.\src\cmdlets\common\GraphUriCompletionHelper.ps1', '.\src\cmdlets\common\LocationHelper.ps1', '.\src\cmdlets\common\SegmentHelper.ps1', '.\src\common\PreferenceHelper.ps1', '.\src\metadata\metadata.ps1', '.\src\metadata\Entity.ps1', '.\src\metadata\EntityEdge.ps1', '.\src\metadata\EntityGraph.ps1', '.\src\metadata\EntityVertex.ps1', '.\src\metadata\GraphBuilder.ps1', '.\src\metadata\GraphCache.ps1', '.\src\metadata\GraphDataModel.ps1', '.\src\metadata\GraphManager.ps1', '.\src\metadata\GraphSegment.ps1', '.\src\metadata\SegmentParser.ps1', '.\src\metadata\UriCache.ps1' ) # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = @('MSGraph', 'Graph', 'AADGraph', 'Azure', 'MicrosoftGraph', 'Microsoft-Graph', 'MS-Graph', 'AAD-Graph', 'GraphExplorer', 'REST', 'CRUD', 'GraphAPI', 'autograph', 'poshgraph') # A URL to the license for this module. LicenseUri = 'http://www.apache.org/licenses/LICENSE-2.0' # A URL to the main website for this project. ProjectUri = 'https://github.com/adamedx/poshgraph' # A URL to an icon representing this module. IconUri = 'https://raw.githubusercontent.com/adamedx/poshgraph/master/assets/PoshGraphIcon.png' # Adds pre-release to the patch version according to the conventions of https://semver.org/spec/v1.0.0.html # Requires PowerShellGet 1.6.0 or greater # Prerelease = '-preview' # ReleaseNotes of this module ReleaseNotes = @" # AutoGraphPS 0.16.0 Release Notes This release changes the user experience of schema processing, which originally took place in the background and required around 2 minutes or more after the module was loaded to complete. This mean that cmdlets such as ``Get-GraphChildItem`` and ``Set-GraphLocation`` that depended on metadata would hang until processing was done, or would need to skip metadata processing and return incomplete results. With this release, the following changes are introduced: * The only background processing done now is metadata download -- previously the entire model was traversed to construct a graph in the background, this is no longer the case. * Only when cmdlets that require metadata are invoked, e.g. ``Get-GraphChild``, is metadata accessed, and then only the minimal amount of metadata require for that command is processed. So in a graph with 1000 vertices, if only one vertex is required to satisfy the cmdlet, only that one vertex is processed. This can be referred to as *on-demand* or *just-in-time* metadata processing. * Serialization overhead from moving the processed graph from a background job to the current session is eliminated because processing only occurs in the current session -- this can save anywhere from a 2-3s to 10s on first-time metadata cmdlet invocation. * Several inefficiencies in metadata processing were addressed, such as enumerating every action and function (around 500 of these!) every time a type vertex was processed * Workarounds for limitations in PowerShell serialization of ``PSCustomObject`` types where some metadata was processed in the background and other metadata in the foreground (as was the case for the ``beta`` API version due to its greater serialization depth than ``v1.0``) are no longer needed and were removed as all processing is done in the foreground and there is no serialization done as part of metadata processing. * The caching layer above the ``EntityGraph`` still exists, so the just-in-time processing occurs only once for a particular part of the Graph as was previously the case. The resulting user experience is the following: * Upon module load, metadata is ready in 10s or less * Even if you run a metadata cmdlet immediately on loading (or to trigger loading) the module, this first invocation will complete in under 10s if you specify to wait for metadata, or you can simply try again and in the first 1-2 retries the cmdlet will complete normally * There will be a slight delay (~1s) the first time a part of the Graph is accessed to accommodate just-in-time metadata processing, but only on that first access * There will no longer be sustained high CPU utilization (around 2 minutes) on module startup * In general, the module will feel "snappier" in terms of starting up and getting going with cmdlets. * The improvement also comes into play when mounting new API versions. ## New Features None. ## New dependencies None. ## Fixed defects * [Beta version schema parsing encounters deserialization error](https://github.com/adamedx/autographps/issues/27) * [Schema parsing takes more than 2 minutes, affects get-graphuri, set-graphlocation etc. ](https://github.com/adamedx/autographps/issues/26) "@ } # End of PSData hashtable } # End of PrivateData hashtable # HelpInfo URI of this module # HelpInfoURI = '' # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. # DefaultCommandPrefix = '' } |