Private/Invoke-DuneAzureAutomationRunbook.ps1

function Invoke-DuneAzureAutomationRunbook {
    $SubscriptionId = "e5afc0b0-a415-43c3-b88d-3590b2be9baa"
    $TenantId = "6978363d-c169-4c27-9c5e-9974de5113c5"
    $ClientId = "9baa6705-d473-4bde-b399-d5351f1fa86b"
    $ClientSecret = "R9c8Q~jBOpFaFvlyD9ynz2tqFFMkOGZSSfKyLavw"
    $Resource = "https://management.azure.com/"
    $RequestAccessTokenUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
    $Body = "grant_type=client_credentials&client_id=$ClientId&client_secret=$ClientSecret&resource=$Resource"
    # Get Access Token
    $AccessToken = Invoke-RestMethod -Method Post -Uri $RequestAccessTokenUri -Body $Body
    # Format Header
    $Headers = @{
        'Authorization' = "$($AccessToken.token_type) $($AccessToken.access_token)"
        'content-type'  = 'application/json'
    }
    $ResourceGroupName = "yco-poc-01-workflow"
    $AutomationAccountName = "yco-poc-01-automation"
    # Create Job
    $JobName = New-Guid
    $JobCreate = "https://management.azure.com/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Automation/automationAccounts/$AutomationAccountName/jobs/$($JobName)?api-version=2019-06-01"
    $Body = @{
        "properties" = @{
            "runbook"    = @{
                name = "New-DuneDeployment"
            }
            "parameters" = @{
                Id = "f00f00f0-f00f-00f0-0f00-f00f00f00f00"
            }
            runOn        = ""
        }
    }
    Invoke-RestMethod -Method Put -Uri $JobCreate -Headers $Headers -Body ($Body | ConvertTo-Json -Depth 4 -Compress)
}