Octopus.Script exported 2023-03-16 by domrichardson belongs to ‘Proxmox’ category.
Destroys a Proxmox LXC container using the Proxmox API.
Requires a Proxmox API token to authenticate to the Proxmox Server/Cluster
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Proxmox Host
Proxmox.Host = 1.2.3.4
The hostname or IP address of the Proxmox cluster/host
Proxmox Port
Proxmox.Port = 8006
Port number for Proxmox Cluster/Host
Proxmox User Account
Proxmox.User = root@pam
The Proxmox user account associated with the api token.
Proxmox Node
Proxmox.Node =
The Proxmox node in the cluster.
Proxmox Token ID
Proxmox.TokenID =
This is token id that was used to create an API token in proxmox.
Proxmox API Token
Proxmox.Token =
The API Token secret key
LXC VM ID
Proxmox.LXC.VMID =
The LXC VMID you want to destroy
Force Destroy LXC
Proxmox.LXC.Force = False
Do you want to force destroy the LXC container even if its running
Script body
Steps based on this template will execute the following PowerShell script.
# Proxmox Connection Variables
$ProxmoxHost = $OctopusParameters["Proxmox.Host"];
$ProxmoxPort = [int]$OctopusParameters["Proxmox.Port"];
$ProxmoxUser = $OctopusParameters["Proxmox.User"];
$ProxmoxNode = $OctopusParameters["Proxmox.Node"];
$ProxmoxTokenID = $OctopusParameters["Proxmox.TokenID"];
$ProxmoxToken = $OctopusParameters["Proxmox.Token"];
# LXC Variables
$LXC_VMID = [int]$OctopusParameters["Proxmox.LXC.VMID"];
$BaseURL = "https://$($ProxmoxHost):$($ProxmoxPort)/api2/json"
$header = @{
"Authorization" = "PVEAPIToken=$($ProxmoxUser)!$($ProxmoxTokenID)=$($ProxmoxToken)"
}
Write-Host "Testing Connection To Proxmox Server/Cluster ..."
try{
Invoke-RestMethod -Method GET -uri "$($BaseURL)" -Headers $header | out-null
}catch{
throw "Couldn't Connect to the Proxmox Server/Cluster"
}
Write-Host "Successfully Connected To Proxmox Server/Cluster"
$CheckLXCExists = Invoke-RestMethod -Method GET -uri "$($BaseURL)/nodes/$($ProxmoxNode)/lxc/$($LXC_VMID)/status/current" -Headers $header
if($CheckLXCExists.data -eq $null){
throw "The LXC container with vmid ($LXC_VMID) does not exist!"
}
$LXC_Force = 0
try {
$Force = [System.Convert]::ToBoolean($OctopusParameters["Proxmox.LXC.Force"])
if($Force -eq $True){
$LXC_Force = 1
}
} catch {}
$LXCDestroyAsyncTask = (Invoke-RestMethod -Method DELETE -uri "$($BaseURL)/nodes/$($ProxmoxNode)/lxc/$($LXC_VMID)?force=$($LXC_Force)" -Headers $header)
$count = 1;
$maxCount = 10;
$TaskID = $LXCDestroyAsyncTask.Data;
DO
{
Write-Host "Checking if LXC has finished Destroying.."
$LXCSDestroyAsyncTaskStatus = (Invoke-RestMethod -Method GET -uri "$($BaseURL)/nodes/$($ProxmoxNode)/tasks/$($TaskID)/status" -Headers $header).data
if($LXCSDestroyAsyncTaskStatus.status -eq "stopped"){
if($LXCSDestroyAsyncTaskStatus.exitstatus -ne "OK"){
Write-Error "LXC destroy task finished with error: $($LXCSDestroyAsyncTaskStatus.exitstatus)"
}else{
Write-Host "LXC destroy task has successfully completed!"
}
break;
}
Write-Host "LXC destroy task has not finished yet, retring in 5 seconds.."
Write-Host "Task Status: $($LXCSDestroyAsyncTaskStatus.status)"
sleep 5
If($count -gt $maxCount) {
Write-Warning "Task Timed out!"
break;
}
$count++
} While ($count -le $maxCount)
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": "5facb9eb-5a33-4a67-a254-7ba938d0b5a4",
"Name": "Proxmox Destroy LXC Container",
"Description": "Destroys a Proxmox LXC container using the Proxmox API.\n\nRequires a Proxmox [API token](https://pve.proxmox.com/wiki/Proxmox_VE_API#API_Tokens) to authenticate to the Proxmox Server/Cluster",
"Version": 1,
"ExportedAt": "2023-03-16T12:26:59.412Z",
"ActionType": "Octopus.Script",
"Author": "domrichardson",
"Packages": [],
"Parameters": [
{
"Id": "9f1a3789-a4fe-4fc4-9a66-78e73d384248",
"Name": "Proxmox.Host",
"Label": "Proxmox Host",
"HelpText": "The hostname or IP address of the Proxmox cluster/host",
"DefaultValue": "1.2.3.4",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "240b1180-7b10-48ac-90fb-796fc8eaaf41",
"Name": "Proxmox.Port",
"Label": "Proxmox Port",
"HelpText": "Port number for Proxmox Cluster/Host",
"DefaultValue": "8006",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "37d5fad7-2bd3-45da-b30c-62116f0b1940",
"Name": "Proxmox.User",
"Label": "Proxmox User Account",
"HelpText": "The Proxmox user account associated with the api token.",
"DefaultValue": "root@pam",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "72a89f72-2571-435b-b0f7-a383f08572b9",
"Name": "Proxmox.Node",
"Label": "Proxmox Node",
"HelpText": "The Proxmox node in the cluster.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "b33b88c3-3949-4563-91a2-4ae264bc2d7f",
"Name": "Proxmox.TokenID",
"Label": "Proxmox Token ID",
"HelpText": "This is token id that was used to create an API token in proxmox.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "eff9ca9b-b3ea-44e9-aa79-489d1d9161ee",
"Name": "Proxmox.Token",
"Label": "Proxmox API Token",
"HelpText": "The API Token secret key",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
},
{
"Id": "f7be6495-cc3b-4492-bb1b-e8a178a36a91",
"Name": "Proxmox.LXC.VMID",
"Label": "LXC VM ID",
"HelpText": "The LXC VMID you want to destroy",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "94de0cbc-b722-4788-858f-fb2b32b57fd8",
"Name": "Proxmox.LXC.Force",
"Label": "Force Destroy LXC",
"HelpText": "Do you want to force destroy the LXC container even if its running",
"DefaultValue": "False",
"DisplaySettings": {
"Octopus.ControlType": "Checkbox"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "# Proxmox Connection Variables\n$ProxmoxHost = $OctopusParameters[\"Proxmox.Host\"];\n$ProxmoxPort = [int]$OctopusParameters[\"Proxmox.Port\"];\n$ProxmoxUser = $OctopusParameters[\"Proxmox.User\"];\n\n$ProxmoxNode = $OctopusParameters[\"Proxmox.Node\"];\n\n$ProxmoxTokenID = $OctopusParameters[\"Proxmox.TokenID\"];\n$ProxmoxToken = $OctopusParameters[\"Proxmox.Token\"];\n\n# LXC Variables\n$LXC_VMID = [int]$OctopusParameters[\"Proxmox.LXC.VMID\"];\n\n$BaseURL = \"https://$($ProxmoxHost):$($ProxmoxPort)/api2/json\"\n\n$header = @{\n\t\"Authorization\" = \"PVEAPIToken=$($ProxmoxUser)!$($ProxmoxTokenID)=$($ProxmoxToken)\"\n}\n\n\nWrite-Host \"Testing Connection To Proxmox Server/Cluster ...\"\n\ntry{\n\tInvoke-RestMethod -Method GET -uri \"$($BaseURL)\" -Headers $header | out-null\n}catch{\n\tthrow \"Couldn't Connect to the Proxmox Server/Cluster\"\n}\n\nWrite-Host \"Successfully Connected To Proxmox Server/Cluster\"\n\n$CheckLXCExists = Invoke-RestMethod -Method GET -uri \"$($BaseURL)/nodes/$($ProxmoxNode)/lxc/$($LXC_VMID)/status/current\" -Headers $header\n\nif($CheckLXCExists.data -eq $null){\n\tthrow \"The LXC container with vmid ($LXC_VMID) does not exist!\"\n}\n\n\n$LXC_Force = 0\ntry {\n $Force = [System.Convert]::ToBoolean($OctopusParameters[\"Proxmox.LXC.Force\"])\n \n if($Force -eq $True){\n \t$LXC_Force = 1\n }\n \n} catch {}\n\n$LXCDestroyAsyncTask = (Invoke-RestMethod -Method DELETE -uri \"$($BaseURL)/nodes/$($ProxmoxNode)/lxc/$($LXC_VMID)?force=$($LXC_Force)\" -Headers $header)\n\n$count = 1;\n$maxCount = 10;\n\n$TaskID = $LXCDestroyAsyncTask.Data;\n\nDO\n{\n Write-Host \"Checking if LXC has finished Destroying..\"\n $LXCSDestroyAsyncTaskStatus = (Invoke-RestMethod -Method GET -uri \"$($BaseURL)/nodes/$($ProxmoxNode)/tasks/$($TaskID)/status\" -Headers $header).data\n \n if($LXCSDestroyAsyncTaskStatus.status -eq \"stopped\"){\n \tif($LXCSDestroyAsyncTaskStatus.exitstatus -ne \"OK\"){\n \tWrite-Error \"LXC destroy task finished with error: $($LXCSDestroyAsyncTaskStatus.exitstatus)\"\n }else{\n \tWrite-Host \"LXC destroy task has successfully completed!\"\n }\n \n break;\n }\n \n\tWrite-Host \"LXC destroy task has not finished yet, retring in 5 seconds..\"\n Write-Host \"Task Status: $($LXCSDestroyAsyncTaskStatus.status)\"\n sleep 5\n \n If($count -gt $maxCount) {\n Write-Warning \"Task Timed out!\"\n break;\n }\n $count++\n\n} While ($count -le $maxCount)\n"
},
"Category": "Proxmox",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/proxmox-destroy-lxc.json",
"Website": "/step-templates/5facb9eb-5a33-4a67-a254-7ba938d0b5a4",
"Logo": "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CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmM2NTNiYTk5LWUwYTctNGVmMC1hNjc2LTg2NDRmMzYwOWEyNiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4Yzc4MDlmOC02ZGQxLTQ3YTAtYjY3OS0yZWIyMGY5ZTBkMDMiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZWFiZDZkNC04MWFjLTQ5NzgtYmU0ZC0yODljNTVmNjY4NTEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIgogICBHSU1QOlRpbWVTdGFtcD0iMTY3ODgzNTI4ODI3NDc3OSIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjMwIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmM1MGQ1MGY0LTIxMmYtNDhkYS1iODBiLTYxZWJkM2ZkODk3YyIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wMy0xNFQyMzowODowOCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6CzfBpAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAB3RJTUUH5wMOFwgIv4E7tgAAIABJREFUeNrtnXl8XWWZx7/ZmrTpXtoCty1LoYLsFKFsLiMMLuMIIzPq4MKIio6CraVsAtViWVppIsugw4CIOKyDirIoouwUoUgByyLSBQOltGm6JE2zzh/P7zQnh5ubm+Q9TXL7/D6f+4EmN+e85z3v733W93nA4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HI5+QJFPwbvmowIYCxwCHAccBuwBjANKgDrg78DzwB+BR4A1QAPQNkCeoxgYBowHjgE+BBwETAFGaZzrgOXAEuAB4M9ALdAItPtScCRRDkwFvgU8rQXfBLRoQbXr0wa06ndbgNeAS4H9tSj7G8OA/YDvA69qjE0a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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Thursday, March 16, 2023