Skip to content

Instantly share code, notes, and snippets.

View PartTimeLegend's full-sized avatar

Antony Bailey PartTimeLegend

View GitHub Profile
@PartTimeLegend
PartTimeLegend / terraforming.ps1
Created July 22, 2021 09:49
Export Terraform from existing AWS Infrastructure with Terraforming
terraforming alb > alb.tf --use-bundled-cert # ALB
terraforming asg > asg.tf --use-bundled-cert # AutoScaling Group
terraforming cwa > cwa.tf --use-bundled-cert # CloudWatch Alarm
terraforming dbpg > dbpg.tf --use-bundled-cert # Database Parameter Group
terraforming dbsg > dbsg.tf --use-bundled-cert # Database Security Group
terraforming dbsn > dbsn.tf --use-bundled-cert # Database Subnet Group
terraforming ddb > ddb.tf --use-bundled-cert # DynamoDB
terraforming ec2 > ec2.tf --use-bundled-cert # EC2
terraforming ecc > ecc.tf --use-bundled-cert # ElastiCache Cluster
terraforming ecsn > ecsn.tf --use-bundled-cert # ElastiCache Subnet Group
import boto3
ec2Client = boto3.client('ec2')
ec2Resource = boto3.resource('ec2')
for instance in ec2Resource.instances.all():
for tag in instance.tags:
if tag['Key'] == 'Name':
list_of_snapshots = []
check_value = []
check_value.append(tag['Value'] + '*')
snapshotsByTag = ec2Client.describe_snapshots(Filters=[{'Name':'tag:Name', 'Values': [check_value[0]]}])['Snapshots']
@PartTimeLegend
PartTimeLegend / OutOfDateNuget.ps1
Created June 2, 2021 09:56
OutOfDateNuget.ps1
dotnet tool update --global dotnet-outdated-tool
$errorCount = 0
Get-ChildItem -Path .\ -Filter *.csproj -Recurse -File -Name| ForEach-Object {
[System.IO.Path]::GetFileNameWithoutExtension($_)
dotnet outdated $_ -f -inc CB. -u
if ($LASTEXITCODE -ne 0)
{
$errorCount++
}
}
variable "az_region" {
type = string
default = "UK South"
}
variable "az_region_abbr_map" {
type = map(any)
description = "Map is used to obtain 3 letter azure region abreviation for naming resources"
default = {
"Central US" = "cus"
"East US 2" = "eus2"
@PartTimeLegend
PartTimeLegend / breaklease.ps1
Last active April 14, 2021 13:49
Break Lease on File in Azure Blob Storage
$blobName = ""
$resourceGroup = ""
$storageAccount = ""
$container = ""
$context = (Get-AzStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageAccount).Context
$blob = (Get-AzStorageBlob -Context $context -Container $container -Blob $blobName)
$leaseStatus = $blob.ICloudBlob.Properties.LeaseStatus;
switch ($leaseStatus)
{
"Locked"
@PartTimeLegend
PartTimeLegend / Get-AzVMStatus.ps1
Created April 7, 2021 14:49
Determine a Azure VM running status
function Get-AzVMStatus
{
param(
[Parameter(Mandatory=$true)][string]$resourceGroup,
[Parameter(Mandatory=$true)][string]$vmName,
)
return (Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Status).Statuses[1].DisplayStatus
}
$registry = "myRegistry"
$keep = 5
$prAgo = "7d"
$masterAgo = "90d"
$prCron = "0 0 * * *"
$masterCron = "0 0 * * *"
$repositories = @("foo.bar",
"bar.foo",
"foobar.boofoo",
"barfoo.foobar"
@PartTimeLegend
PartTimeLegend / FindWindowsEdition.ps1
Created March 25, 2021 09:35
Find Windows Edition
switch ((Get-WmiObject -class Win32_OperatingSystem).Caption)
{
{$_.Contains("Home")} { Write-Output "Home" }
{$_.Contains("Business")} { Write-Output "Business" }
{$_.Contains("Enterprise")} { Write-Output "Enterprise" }
Default { "Unknown" }
}
@PartTimeLegend
PartTimeLegend / backup.sh
Created March 1, 2021 10:34
Backup dir to git
#!/usr/bin/env bash
cd /config
git status
git add .
dt=$(date '+%d/%m/%Y %H:%M:%S');
git commit -m "$dt"
git push origin master
@PartTimeLegend
PartTimeLegend / GenerateAlphanumberPassword.ps1
Created February 22, 2021 18:22
Generate Alphanumeric Password in Powershell
$length = 10
Write-Output (-Join ((65..90) + (97..122) | Get-Random -Count $length | % {[char]$_}))