Octopus.Script exported 2019-05-16 by alex-yates belongs to ‘Redgate’ category.
Deletes a database image with Redgate SQL Clone.
Requires SQL Clone.
Version date: 16th May 2019
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
SQL Clone Server (required)
cloneServer =
The URL for your SQL Clone server (e.g. http://sql-clone.example.com:14145)
SQL Clone User (optional)
cloneUser =
User account to access SQL Clone. (If left blank Octopus tentacle account will be used.)
SQL Clone Password (optional)
clonePassword =
User account to access SQL Clone. (If left blank Octopus tentacle account will be used.)
Image Name (required)
imageName =
The name of your database image.
Script body
Steps based on this template will execute the following PowerShell script.
$ErrorActionPreference = 'Stop'
# The code for this step template is largely a copy/paste job from the
# Azure DevOps Services step template which is maintained by Redgate:
# https://github.com/red-gate/SqlCloneVSTSExtension/blob/master/DeleteImageTask/SQLCloneDeleteImageTask.ps1
# The code was copied and adapted on 16th May 2019.
Write-Verbose "cloneServer is $cloneServer"
Write-Verbose "cloneUser is $cloneUser"
Write-Verbose "clonePassword is $clonePassword"
Write-Verbose "imageName is $imageName"
# This line is broken: Import-Module "$PSScriptRoot\Modules\RedGate.SQLClone.PowerShell.dll"
if($cloneUser){
$password = ConvertTo-SecureString -String $clonePassword -AsPlainText -Force
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $cloneUser,$password
}
Connect-SqlClone -ServerUrl $cloneServer -Credential $credential
Write-Output "Connected to SQL Clone server"
try
{
$image = Get-SqlCloneImage -Name $imageName
Write-Output "Found image"
}
catch
{
$images = Get-SqlCloneImage
$imageNames = "`n"
Foreach ($cImage in $images)
{
$imageNames += $cImage.Name + "`n"
}
$message = 'SQL Clone image ' + $imageName + ' does not exist, available images: ' + $imageNames
write-error $message
exit 1
}
Write-Output "Deleting image"
Remove-SqlCloneImage -Image $image | Wait-SqlCloneOperation
Write-Output "Finished deleting image"
Write-Debug "Leaving script SQLCloneDeleteImageTask.ps1"
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": "5ba6d0f2-04f1-4b52-adbf-9cf23b12ee58",
"Name": "Redgate - SQL Clone, Delete Image",
"Description": "Deletes a database image with [Redgate SQL Clone](https://www.red-gate.com/products/dba/sql-clone/index).\n\nRequires SQL Clone.\n\n*Version date: 16th May 2019*",
"Version": 1,
"ExportedAt": "2019-05-16T11:37:47.360Z",
"ActionType": "Octopus.Script",
"Author": "alex-yates",
"Packages": [],
"Parameters": [
{
"Id": "8c140a4c-65a2-4341-a604-73d14775b3a0",
"Name": "cloneServer",
"Label": "SQL Clone Server (required)",
"HelpText": "The URL for your SQL Clone server (e.g. http://sql-clone.example.com:14145)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "e5ac1d04-b8a5-440e-ba69-a5d66a53abba",
"Name": "cloneUser",
"Label": "SQL Clone User (optional)",
"HelpText": "User account to access SQL Clone. (If left blank Octopus tentacle account will be used.)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "5f6288f2-57c9-4a11-91f2-b0c2e3cb9ccd",
"Name": "clonePassword",
"Label": "SQL Clone Password (optional)",
"HelpText": "User account to access SQL Clone. (If left blank Octopus tentacle account will be used.)",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "Sensitive"
}
},
{
"Id": "ee5286d3-f233-410c-92ab-36743f8743e7",
"Name": "imageName",
"Label": "Image Name (required)",
"HelpText": "The name of your database image.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "$ErrorActionPreference = 'Stop'\n\n# The code for this step template is largely a copy/paste job from the\n# Azure DevOps Services step template which is maintained by Redgate:\n# https://github.com/red-gate/SqlCloneVSTSExtension/blob/master/DeleteImageTask/SQLCloneDeleteImageTask.ps1\n# The code was copied and adapted on 16th May 2019.\n\nWrite-Verbose \"cloneServer is $cloneServer\"\nWrite-Verbose \"cloneUser is $cloneUser\"\nWrite-Verbose \"clonePassword is $clonePassword\"\nWrite-Verbose \"imageName is $imageName\"\n\n# This line is broken: Import-Module \"$PSScriptRoot\\Modules\\RedGate.SQLClone.PowerShell.dll\"\n\nif($cloneUser){\n $password = ConvertTo-SecureString -String $clonePassword -AsPlainText -Force\n $credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $cloneUser,$password\n\n}\nConnect-SqlClone -ServerUrl $cloneServer -Credential $credential\nWrite-Output \"Connected to SQL Clone server\"\n \n try\n {\n $image = Get-SqlCloneImage -Name $imageName\n Write-Output \"Found image\"\n }\n catch\n {\n $images = Get-SqlCloneImage\n $imageNames = \"`n\"\n Foreach ($cImage in $images)\n {\n $imageNames += $cImage.Name + \"`n\"\n }\n $message = 'SQL Clone image ' + $imageName + ' does not exist, available images: ' + $imageNames\n write-error $message\n exit 1\n }\n \n Write-Output \"Deleting image\"\n Remove-SqlCloneImage -Image $image | Wait-SqlCloneOperation\n Write-Output \"Finished deleting image\" \n\nWrite-Debug \"Leaving script SQLCloneDeleteImageTask.ps1\"\n"
},
"Category": "Redgate",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/redgate-sql-clone-delete-image.json",
"Website": "/step-templates/5ba6d0f2-04f1-4b52-adbf-9cf23b12ee58",
"Logo": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD9QTFRF9s3N7Z6e3U1N87+/+NjY0RIS2Tc3zgAA/O7u425u1SQk5Xp66Y2N/fPz76ys+eHh4F5e0AkJ/vj4/vz8////8g2GDwAABlRJREFUeNrsne2SpCoMhkEQ+RJQ+v6v9YDau+JO97a2IuxJdn7MVk3V+EzSQN6QiB7/iCEAARAAARAAARAAARAAARAAARAAARAAARAAAZAvrOeWUkSIwVprt7bwf2wIQYha3vuCQXpKjFbCNUzKoXtlQysZc05pQygvDmSkWMXnb9vuUwtAkjUKkzJAPKcEizcO+IBIOhycM94I4q1Rjn0D8bRWOmWsvwekx461Z1A8YViDbW6QnmJ3IsPvMGMacZ8NhBshu6usddrmAeGYtd2VNjBFLwcZqbqWYnGLQuOlIFSxLo9JRf1lIKNhQ5fLwuf+KhDbdHmtodeAkMwcXYsBBEAABEAABEAA5DqQdvg3QLjRyjWsrR4kyg29pYhg1ci2bpAFZzoLIywmKWuoF2QlQlgyxZuUlYNs4m2oG2SmmeONxHhjJ8XbLSAbMRufsb7dDbKIwhahyT+Vg/yON2+JVofWt3JA/iie7FvfigR5xtu8vn0mK5ULspb6Poi3KkDmDegZb0PeQ6O9AuYxhngzMusxnm1+eDyvNGtl1sSKpT4hSmFDkB1PIMFD1gwxVWOp69pYm2WNC0Toq2IzlXlT3TS6uNvUApgT2ixXAnaWj1zmnJ0lPrHs5xpt8JFQGBNiP60IZgfZRBdi764ExEsOk5MQLQ9kE13006JJy5rgJEJe3ES5AaRr+N8+pW/vOcw3UcJyR9c3BO4ACT7xSSHreBY1yMbZ+0A2JPS7khy6EWSzM1pZLUjHyKdrV+Egm7WLsGpB0ujyqK0WZPM5MbJakHQ/8YdJ7gfpREoy1ALy6ClCBmMthGNNOEVJlezxpq0FZC2Ohn3QUpSc1Uct5YFyw20gr20MHkOEkPnmcpSAKwVJPbYcBqOQhbESopmikUWvtWsRqFiQt+UUa4PHAphWSjgX2SStECQNRB657HLnr2KQ+xIrAAEQAPnLMtP/IyDkl7Ajp3/N3HGk9GQmOXf1iNrZ+Gy+QJAXgohYa9k2nFBYPFkutE7NpvFshkyGAulYGEg36BWJJ7LbHOuHRX2cTc4WHEtLAwk+4UcO9ag4kDS6et1WC5JGV6/rBQk+WS/RaqgWpGtXvRKei6FakPSXc1EvyGbt+iC6SgUJJIlPhmpBUr1r1EO9IEl0jaJekDS6rKsXJI0u/r4btmyQJLr4j7W558GRFg0STivr6FLxJC/0krmQ5Qw/W58fZDl3x68512CNmOyZZpjl2Q7cSskJwslU7rfx6/SsF8QHAAEQAKkC5BY56BzzHE01rLD9xL3oDjlol42c87DfxKIiHd+KROWV3uKDkzjGaSmsRbExnAUGad6mJ0WAhDBBc5g0c5xMlc7tfXe5ut41/pH85gfpp+KzmYvPjdwxyEKaceWT9m4QJA93H66jq1c3g/hvenUlerlllJ1YvY2uVFqpDGQdXT556tpAkrVrfRW9OpDgkx9J6gNJLnQSWTFIcg3y12GlRpD1dWFvopTB2K1Xyk+JrjGcy36PnKwD5NnAJLChBSRW+0GGOBzTqdjbgywvJkPcAxJiX+koJlr+2UzMckCW8BEaE9rPbdN72hTvB5ladMTSohOf/liXJWW3gbTSOf26aWpnJm9yNlTGybbT3z88/yJ+nNTk6m2bscXVhudHpw4bfu4oFDc5m473fn4/+uMQLBx7MeaifIHuw0EqJYOMNo4aEZ+NGikUhCOs3K7hLyWBPMfxuCMCTCEgzwFJxwfW3A+yP4qKAuGxVyTOLT9riFh+kDGOBdFxhP+pg6lygng+DZ5hlww+ywDS8z2jc8oEsWje0eT1sw4vKytMn2S2500QZYLACFAAARAAARAAARAAKRDEujYrx+Auem1HfDtPRg6pd4mau47xHqlcThn2vqVnbz7CRYZEpJNi93DL3YmVR/rqN/VIceBNdgdSXW+Nuw5lYPjQhfWD4gM37oIQG2Sj7EHJ/6iK4h9Iu1NjbJBOk+PNA9/IQZwSdZIaNzBlKP+m+vKVrjUFAQmeOS5rxTdvBk98P9f1FKWxR0QLx3Yq7sM8+hSd04tykvbrH2MsIJipkPb39VXG2xyEWj4+zrIz1fhlufF+nCYf6blvaepimr/VU/dSf2I5OF/Fyj8yGbzpGEAABEAABEAABEAABEAABEAABEAABEAA5H8F8p8AAwD2WseknbBRCwAAAABJRU5ErkJggg==",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Thursday, May 16, 2019