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

The -Scope parameter for Export-Configuration has a parameterset (and it should not) #8

Open
Jaykul opened this issue Dec 2, 2016 · 5 comments
Labels

Comments

@Jaykul
Copy link
Member

Jaykul commented Dec 2, 2016

We need to be able to specify a value for Export-Configuration -Scope regardless of ParameterSet (just like you can for Get-StoragePath).

Currently, it has it's ParameterSet to the ManualOverride set, so you can only use it when specifying the -Name and -Company by hand (as in the first example below).

I want all three of these to work:

Scenario: Specifying the scope when listing metadata
    Given a module with the name 'MyModule1' and the author 'MyCompany' with code like this
    """
    $Config = Import-Configuration -Company 'MyCompany' -Name MyModule1
    if(!$Config.ApiKey) {
        $Config =@{ ApiKey = "My Default API Key" }
        Export-Configuration $Config  -Company 'MyCompany' -Name MyModule1 -Scope Machine
    }
    """
    When the module is imported
    Then a settings file named Configuration.psd1 should exist in the Machine folder

Scenario: Specifying the scope when piping moduleinfo
    Given a module with the name 'MyModule1'
    When a user writes (something like) this
    """
    Get-Module MyModule1 | Export-Configuration @{ ApiKey = "MyApiKey" } -Scope Enterprise
    """
    Then a settings file named Configuration.psd1 should exist in the Enterprise folder

Scenario: Specifying the scope implicitly
    Given a module with the name 'MyModule1' and the author 'MyCompany' with code like this
    """
    function Set-ApiKey {
        param($ApiKey)
        $Config =@{ ApiKey = $ApiKey }
        Export-Configuration $Config -Scope Machine
    }
    """
   When I invoke Set-ApiKey "OurCorporateApiKey"
   Then a settings file named Configuration.psd1 should exist in the Machine folder
@Jaykul Jaykul changed the title The -Scope parameter for Export-Configuration has a parameterset? The -Scope parameter for Export-Configuration has a parameterset (and it should not) Dec 2, 2016
@Jaykul Jaykul added the bug label Dec 2, 2016
@gerane
Copy link

gerane commented Dec 5, 2016

If you remove the ManualOverride ParameterSet from Scope, all three of these Scenarios should pass. Even if you have the Company set to 'Unknown', you can still specify the AuthorName and it will successfully update the Config.

@fsackur
Copy link
Contributor

fsackur commented Jan 6, 2021

I would love to PR this, but I see some development is happening off the master branch.

I see that Jaykul is actively working on the build process, and I'm getting nowhere with the build scripts as they exist in master.

Should I hold off? @Jaykul is it your intention to merge / deploy to the gallery any time soon?

@Jaykul
Copy link
Member Author

Jaykul commented Jan 7, 2021

LOL. Yeah. I have a couple more pieces to do in the build (I'm working on a Script Analyzer action), and then I was thinking of trying to auto-publish builds of master ...

It's all a little mad. I made a new CI build in Github Actions because I was having weird problems with the Azure build (and I wanted to learn Actions anyway).
... and then the Github Action had the same problem.

It turned out it wasn't properly importing the new build output for some reason when it ran the tests. Fixed now, anyway.

@Jaykul
Copy link
Member Author

Jaykul commented Jan 19, 2021

Ok, that stuff is done (enough). I still want to make some improvements, but the build is working and running tests and script analyzer, and it's merged to master. Thanks for your patience, @fsackur

@fsackur
Copy link
Contributor

fsackur commented Jan 19, 2021

No, thank YOU. I'll pick this back up when my day job calms down a little.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants