Skip to content

duffney/InvokeDSC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status

InvokeDSC

InvokeDSC is a JSON based DSL for creating and managing infrastructure with DSC resources.

Overview

Allows you to declaratively define your infrastructure within JSON configuration documents. InvokeDSC converts those json documents to PSCustomObjects that Invoke-DSCResource can consume. By doing this it removes the need for PowerShell configuration documents and the .mof documents it generates. Which results in more flexibility and removes the need of a single .mof document that declares the end state of your infrastructure.

test run output

JSON Configuration File

{
    "Modules":{
        "xPSDesiredStateConfiguration":"8.0.0.0"
    },
   "DSCResourcesToExecute":{
        "DevOpsGroup":{
            "dscResourceName":"xGroup",
            "GroupName":"DevOps",
            "ensure":"Present"
        }
   }
}

Commands

  • ConvertTo-Dsc
  • Invoke-Dsc
  • Invoke-DscConfiguration

Examples

Invoke-DscConfiguration

Invoke-DscConfiguration -Path 'c:\config.json'
$config = @"
{
    "Modules":{
        "xPSDesiredStateConfiguration":"8.0.0.0"
    },
   "DSCResourcesToExecute":{
        "DevOpsGroup":{
            "dscResourceName":"xGroup",
            "GroupName":"DevOps",
            "ensure":"Present"
        }
   }
}
"@

Invoke-DscConfiguration -InputObject $config

ConvertTo-Dsc

ConvertTo-Dsc -Path 'c:\json\example.json'
$config = @"
{
    "Modules":{
        "xPSDesiredStateConfiguration":"8.0.0.0"
    },
   "DSCResourcesToExecute":{
        "DevOpsGroup":{
            "dscResourceName":"xGroup",
            "GroupName":"DevOps",
            "ensure":"Present"
        }
   }
}
"@

ConvertTo-Dsc -InputObject $config

Invoke-Dsc

$r = ConvertTo-Dsc -Path 'c:\config.json'
Invoke-Dsc -Resource $r

Credits

POSHOrigin by Brandon Olin

Ansible-win_dsc by Trond Hindenes

Steven Murawski

Jaigene Kang

About

PowerShell module for Invoking DSC from json

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published