ChiliYago
ChiliYago

Reputation: 12299

Authoratative Source Dcoumentation for Azure ARM Template Schema

I am looking for the official documentation for Azure Desired State Configuration JSON schemas. Documentation and examples I find online go back quite a while and I feel the schemas I am using are not current. I am currently seeking the most current schema and a description of the fields for Microsoft.Powershell.DSC. This is the schema Visual Studio provides but I would like to have a complete understanding of each field and values they expect.

{
    "name": "Microsoft.Powershell.DSC",
    "type": "extensions",
    "location": "[parameters('location')]",
    "apiVersion": "2015-06-15",
    "dependsOn": [
        "[resourceId('Microsoft.Compute/virtualMachines', parameters('vm-SP1-Name'))]"
    ],
    "tags": {
        "displayName": "test"
    },
    "properties": {
        "publisher": "Microsoft.Powershell",
        "type": "DSC",
        "typeHandlerVersion": "2.9",
        "autoUpgradeMinorVersion": true,
        "forceUpdateTag": "[parameters('testUpdateTagVersion')]",
        "settings": {
            "configuration": {
                "url": "[concat(parameters('_artifactsLocation'), '/', variables('testArchiveFolder'), '/', variables('testArchiveFileName'))]",
                "script": "test.ps1",
                "function": "Main"
            },
            "configurationArguments": {
                "nodeName": "[parameters('vm-SP1-Name')]"
            }
        },
        "protectedSettings": {
            "configurationUrlSasToken": "[parameters('_artifactsLocationSasToken')]"
        }
    }
}

Upvotes: 0

Views: 74

Answers (2)

juvchan
juvchan

Reputation: 6255

The official schema definition for the ARM PowerShell Desired State Configuration (DSC) JSON Schema can be found at the link below:

Schema Json

    "dscExtension": {
        "type": "object",
        "properties": {
            "publisher": {
                "enum": ["Microsoft.Powershell"]
            },
            "type": {
                "enum": ["DSC"]
            },
            "typeHandlerVersion": {
                "type": "string",
                "minLength": 1
            },
            "autoUpgradeMinorVersion": {
                "type": "boolean"
            },
            "settings": {
                "type": "object",
                "properties": {
                    "modulesUrl": {
                        "type": "string"
                    },
                    "configurationFunction": {
                        "type": "string"
                    },
                    "properties": {
                        "type": "string"
                    },
                    "wmfVersion": {
                        "type": "string"
                    },
                    "privacy": {
                        "type": "object",
                        "properties": {
                            "dataCollection": {
                                "type": "string"
                            }
                        }
                    }
                },
                "required": ["modulesUrl", "configurationFunction"]
            },
            "protectedSettings": {
                "type": "object",
                "properties": {
                    "dataBlobUri": {
                        "type": "string"
                    }
                }
            }
        },
        "required": ["publisher", "type", "typeHandlerVersion", "autoUpgradeMinorVersion", "settings", "protectedSettings"]
    },

Upvotes: 1

TravisEz13
TravisEz13

Reputation: 2413

The schema was documented in this blog. Feel free to ping me on the PowerShell slack (preferred) or twitter if you have any questions, @TravisPlunk. If I don't know, I can direct them to the right place.

Upvotes: 0

Related Questions