Run Pulumi (Windows)

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

Pulumi.Command =

Eg. preview, up, destroy etc. Learn more here.

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.

Report an issue

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"
  }
}

History

Page updated on Tuesday, December 3, 2019