Octopus.Script exported 2019-12-03 by praneetloke belongs to ‘Pulumi’ category.
Allows you to run Pulumi commands using the Pulumi CLI. For Pulumi stacks that deploy AWS resources, make sure your Octopus Project contains a variable called AWS
of type AWS Account
. For Pulumi stacks that deploy Azure resources, set the variable Azure
of type Azure Subscriptions
(Service Principal).
Learn more about adding an AWS Account or Azure Subscriptions to your Octopus Deploy instance.
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Stack Name
Pulumi.StackName =
The fully-qualified stack name against which the Pulumi commands will be run. Hint: {orgName}/{projectName}/{stackName}
Command Args
Pulumi.Args =
Arguments to pass to the Pulumi command. Eg. -v
to set the verbosity or --logtostderr
to log to the standard error. Learn more about the available commands and the arguments you can pass to each of them.
Pulumi Access Token
Pulumi.AccessToken =
The Pulumi access token to use. The access token must have access to the stack, which you are deploying. Click here to go to the Access Tokens page on the Pulumi Console now.
Pulumi Working Directory
Pulumi.WorkingDirectory =
The working directory where the Pulumi app is extracted to. If this parameter is specified, then the step will cd
into that directory. To avoid this, you can pass the --cwd C:\path\to\your\dir
in the Command Args
parameter as one of the args.
Create Stack
Pulumi.CreateStack = false
Whether to create a new stack if it does not exist already.
Restore Dependencies
Pulumi.RestoreDeps = true
Whether to restore dependencies.
The command used to restore dependencies.
Pulumi.RestoreCmd = npm install
(Optional) Required only if Restore Dependencies
is true. The command used to restore dependencies for your Pulumi app. This is dependent on the runtime your Pulumi app uses. For example, if your Pulumi app uses the nodejs
runtime, then use the command npm install
here to restore dependencies.
Script body
Steps based on this template will execute the following PowerShell script.
Function Test-CommandExists
{
Param ($command)
$oldPreference = $ErrorActionPreference
$ErrorActionPreference = 'stop'
Try {
if(Get-Command $command){
return $true
}
} Catch {
Write-Host "$command does not exist"
return $false
} Finally {
$ErrorActionPreference=$oldPreference
}
}
If ([string]::IsNullOrWhiteSpace($OctopusParameters["Pulumi.AccessToken"])) {
Fail-Step "Parameter Pulumi.AccessToken cannot be empty."
}
$env:PULUMI_ACCESS_TOKEN=$OctopusParameters["Pulumi.AccessToken"]
If ((Test-CommandExists pulumi) -eq $false) {
(new-object net.webclient).DownloadFile("https://get.pulumi.com/install.ps1","local.ps1")
./local.ps1
$pulumiInstallRoot=(Join-Path $env:UserProfile ".pulumi")
$binRoot=(Join-Path $pulumiInstallRoot "bin")
$env:Path+=";$binRoot"
}
# Check for AWS access key credentials and set those in the env.
If (![string]::IsNullOrWhiteSpace($OctopusParameters["AWS.AccessKey"])) {
$env:AWS_ACCESS_KEY_ID=$OctopusParameters["AWS.AccessKey"]
}
If (![string]::IsNullOrWhiteSpace($OctopusParameters["AWS.SecretKey"])) {
$env:AWS_SECRET_ACCESS_KEY=$OctopusParameters["AWS.SecretKey"]
}
# Check for Azure SP/personal account credentials and set those in the env.
If (![string]::IsNullOrWhiteSpace($OctopusParameters["Azure.Client"])) {
$env:ARM_CLIENT_ID=$OctopusParameters["Azure.Client"]
}
If (![string]::IsNullOrWhiteSpace($OctopusParameters["Azure.Password"])) {
$env:ARM_CLIENT_SECRET=$OctopusParameters["Azure.Password"]
}
If (![string]::IsNullOrWhiteSpace($OctopusParameters["Azure.TenantId"])) {
$env:ARM_TENANT_ID=$OctopusParameters["Azure.TenantId"]
}
If (![string]::IsNullOrWhiteSpace($OctopusParameters["Azure.SubscriptionNumber"])) {
$env:ARM_SUBSCRIPTION_ID=$OctopusParameters["Azure.SubscriptionNumber"]
}
Write-Host "Logging in to Pulumi using access token"
pulumi login
$cwd=$OctopusParameters["Pulumi.WorkingDirectory"]
If (![string]::IsNullOrWhiteSpace($cwd)) {
cd $cwd
}
$stackName=$OctopusParameters["Pulumi.StackName"]
Write-Host "Selecting stack $stackName"
Try {
pulumi stack select $stackName
}
Catch {
$createStackIfNotExists = $OctopusParameters["Pulumi.CreateStack"]
If ($createStackIfNotExists -eq "True") {
pulumi stack init $stackName
} Else {
Fail-Step "Stack $stackName does not exist."
}
}
$restoreDeps=$OctopusParameters["Pulumi.RestoreDeps"]
If ($restoreDeps -eq "True") {
Write-Host "Restoring dependencies..."
$restoreDepsCmd = $OctopusParameters["Pulumi.RestoreCmd"]
Invoke-Expression $restoreDepsCmd
}
$pulCmd=$OctopusParameters["Pulumi.Command"]
$pulArgs=$OctopusParameters["Pulumi.Args"]
If (![string]::IsNullOrWhiteSpace($pulArgs)) {
pulumi $pulCmd $pulArgs
}
Else {
pulumi $pulCmd
}
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "b63d2573-9ff4-4ffe-83c7-153fad24ea57",
"Name": "Run Pulumi (Windows)",
"Description": "Allows you to run Pulumi commands using the Pulumi CLI. For Pulumi stacks that deploy AWS resources, make sure your Octopus Project contains a variable called `AWS` of type `AWS Account`. For Pulumi stacks that deploy Azure resources, set the variable `Azure` of type `Azure Subscriptions` (Service Principal).\n\nLearn more about adding an [AWS Account](https://octopus.com/docs/infrastructure/deployment-targets/aws#create-an-aws-account) or [Azure Subscriptions](https://octopus.com/docs/infrastructure/deployment-targets/azure#azure-service-principal) to your Octopus Deploy instance.",
"Version": 2,
"ExportedAt": "2019-12-03T05:49:17.461Z",
"ActionType": "Octopus.Script",
"Author": "praneetloke",
"Packages": [],
"Parameters": [
{
"Id": "94a93122-235e-4edd-8217-adbe63db85f1",
"Name": "Pulumi.StackName",
"Label": "Stack Name",
"HelpText": "The fully-qualified stack name against which the Pulumi commands will be run. Hint: `{orgName}/{projectName}/{stackName}`",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "29e68d5d-5c46-4290-993c-51672a431812",
"Name": "Pulumi.Command",
"Label": "Command",
"HelpText": "Eg. `preview`, `up`, `destroy` etc. Learn more [here](https://www.pulumi.com/docs/reference/cli/).",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "362423a8-aab4-451f-b79b-3896725b8c84",
"Name": "Pulumi.Args",
"Label": "Command Args",
"HelpText": "Arguments to pass to the Pulumi command. Eg. `-v` to set the verbosity or `--logtostderr` to log to the standard error. [Learn more](https://www.pulumi.com/docs/reference/cli/) about the available commands and the arguments you can pass to each of them.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "9f6bda9f-39dd-47cf-9233-5499a837c4fb",
"Name": "Pulumi.AccessToken",
"Label": "Pulumi Access Token",
"HelpText": "The [Pulumi access token](https://www.pulumi.com/docs/intro/console/accounts-and-organizations/accounts/#access-tokens) to use. The access token must have access to the stack, which you are deploying. [Click here](https://app.pulumi.com/account/tokens) to go to the Access Tokens page on the Pulumi Console now.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
},
{
"Id": "aa4310d6-52eb-4b37-9575-db6cfe7c3e3a",
"Name": "Pulumi.WorkingDirectory",
"Label": "Pulumi Working Directory",
"HelpText": "The working directory where the Pulumi app is extracted to. If this parameter is specified, then the step will `cd` into that directory. To avoid this, you can pass the `--cwd C:\\path\\to\\your\\dir` in the `Command Args` parameter as one of the args.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "04d21e39-3f74-435f-803d-b80c104e5c07",
"Name": "Pulumi.CreateStack",
"Label": "Create Stack",
"HelpText": "Whether to create a new stack if it does not exist already.",
"DefaultValue": "false",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
},
{
"Id": "4775234d-4d5c-454e-888c-1171f1b1c258",
"Name": "Pulumi.RestoreDeps",
"Label": "Restore Dependencies",
"HelpText": "Whether to restore dependencies.",
"DefaultValue": "true",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
},
{
"Id": "6a1ddea9-76dd-4c32-bbf5-a5c451d6e251",
"Name": "Pulumi.RestoreCmd",
"Label": "The command used to restore dependencies.",
"HelpText": "(Optional) Required only if `Restore Dependencies` is true. The command used to restore dependencies for your Pulumi app. This is dependent on the runtime your Pulumi app uses. For example, if your Pulumi app uses the `nodejs` runtime, then use the command `npm install` here to restore dependencies.",
"DefaultValue": "npm install",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "Function Test-CommandExists\n{\n\tParam ($command)\n\t$oldPreference = $ErrorActionPreference\n\t$ErrorActionPreference = 'stop'\n\tTry {\n \tif(Get-Command $command){\n \treturn $true\n }\n } Catch {\n \tWrite-Host \"$command does not exist\"\n return $false\n } Finally {\n \t$ErrorActionPreference=$oldPreference\n \t}\n}\n\nIf ([string]::IsNullOrWhiteSpace($OctopusParameters[\"Pulumi.AccessToken\"])) {\n\tFail-Step \"Parameter Pulumi.AccessToken cannot be empty.\"\n}\n\n$env:PULUMI_ACCESS_TOKEN=$OctopusParameters[\"Pulumi.AccessToken\"]\n\nIf ((Test-CommandExists pulumi) -eq $false) {\n\t(new-object net.webclient).DownloadFile(\"https://get.pulumi.com/install.ps1\",\"local.ps1\")\n ./local.ps1\n\t$pulumiInstallRoot=(Join-Path $env:UserProfile \".pulumi\")\n\t$binRoot=(Join-Path $pulumiInstallRoot \"bin\")\n\t$env:Path+=\";$binRoot\"\n}\n\n# Check for AWS access key credentials and set those in the env.\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"AWS.AccessKey\"])) {\n\t$env:AWS_ACCESS_KEY_ID=$OctopusParameters[\"AWS.AccessKey\"]\n}\n\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"AWS.SecretKey\"])) {\n\t$env:AWS_SECRET_ACCESS_KEY=$OctopusParameters[\"AWS.SecretKey\"]\n}\n\n# Check for Azure SP/personal account credentials and set those in the env.\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"Azure.Client\"])) {\n\t$env:ARM_CLIENT_ID=$OctopusParameters[\"Azure.Client\"]\n}\n\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"Azure.Password\"])) {\n\t$env:ARM_CLIENT_SECRET=$OctopusParameters[\"Azure.Password\"]\n}\n\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"Azure.TenantId\"])) {\n\t$env:ARM_TENANT_ID=$OctopusParameters[\"Azure.TenantId\"]\n}\n\nIf (![string]::IsNullOrWhiteSpace($OctopusParameters[\"Azure.SubscriptionNumber\"])) {\n\t$env:ARM_SUBSCRIPTION_ID=$OctopusParameters[\"Azure.SubscriptionNumber\"]\n}\n\nWrite-Host \"Logging in to Pulumi using access token\"\npulumi login\n\n$cwd=$OctopusParameters[\"Pulumi.WorkingDirectory\"]\nIf (![string]::IsNullOrWhiteSpace($cwd)) {\n\tcd $cwd\n}\n\n$stackName=$OctopusParameters[\"Pulumi.StackName\"]\nWrite-Host \"Selecting stack $stackName\"\nTry {\n\tpulumi stack select $stackName\n}\nCatch {\n\t$createStackIfNotExists = $OctopusParameters[\"Pulumi.CreateStack\"]\n\tIf ($createStackIfNotExists -eq \"True\") {\n \tpulumi stack init $stackName\n } Else {\n \tFail-Step \"Stack $stackName does not exist.\"\n }\n}\n\n$restoreDeps=$OctopusParameters[\"Pulumi.RestoreDeps\"]\nIf ($restoreDeps -eq \"True\") {\n\tWrite-Host \"Restoring dependencies...\"\n $restoreDepsCmd = $OctopusParameters[\"Pulumi.RestoreCmd\"]\n Invoke-Expression $restoreDepsCmd\n}\n\n$pulCmd=$OctopusParameters[\"Pulumi.Command\"]\n$pulArgs=$OctopusParameters[\"Pulumi.Args\"]\nIf (![string]::IsNullOrWhiteSpace($pulArgs)) {\n\tpulumi $pulCmd $pulArgs\n}\nElse {\n\tpulumi $pulCmd\n}\n"
},
"Category": "Pulumi",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/run-pulumi-on-windows.json",
"Website": "/step-templates/b63d2573-9ff4-4ffe-83c7-153fad24ea57",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Tuesday, December 3, 2019