Skip to content

Instantly share code, notes, and snippets.

View Satak's full-sized avatar

Sami Koskivaara Satak

View GitHub Profile
@Satak
Satak / data.yaml
Created October 10, 2023 19:11
json schema
my-data-123:
is_enabled: true
amount: 100
tier: premium
subnets:
- item
tags:
test: test-tag
workspace-1:
environments:
dev: {}
test:
variables:
ws-1-top-var-1:
value: ws 1 test var value
prod:
variables:
WS-1-PROD-VAR:
@Satak
Satak / main.py
Last active January 26, 2023 13:13
data-filter
import json
def filter_data(data, filter):
return {k: v for k, v in data.items() if eval(filter)}
data = {
'my-common-account-dev': {
'id': '111',
$files = Get-ChildItem -Recurse -Filter '*.json' -Path 'Users'
$delimit = '---'
foreach ($file in $files) {
$yamlFileName = Join-Path $file.DirectoryName "$($file.BaseName).yaml"
$content = Get-Content $file -Raw
if ($content -match $delimit) {
$yamlDocs = $content.split($delimit) | ForEach-Object { $_ | ConvertFrom-Json -Depth 5 | ConvertTo-Yaml }
$yamlStr = $yamlDocs -join "$delimit`n"
variable "environment" {
default = "prod"
}
locals {
prefix_folder = "/environments/${var.environment}"
folders = {
accounts : "accounts"
iam_users : "iam_users"
@Satak
Satak / github_handler.py
Created April 14, 2022 20:21
Create new file commit via GitHub REST API
import requests
import json
def get_latest_commit_sha(base_url, headers, owner, repo, branch='main'):
url = f'{base_url}/repos/{owner}/{repo}/branches/{branch}'
return requests.get(url, headers=headers).json()['commit']['sha']
def get_base_tree_sha(base_url, headers, owner, repo, sha):
@Satak
Satak / config.yaml
Created March 25, 2022 13:34
Terraform templatefile
config:
name: "this is ${env} config"
@Satak
Satak / terraform-test.ps1
Created December 31, 2021 07:07
Terraform unit test with Pester/Powershell
BeforeDiscovery {
$testCases = Get-ChildItem -Path (Join-Path $PSScriptRoot examples) -Directory
}
describe 'terraform-module-storage - <_.Name>' -ForEach $testCases {
BeforeAll -ErrorAction Stop {
$exampleName = $_
Push-Location $exampleName
Write-Host "Test case: $($ExampleName.Name)" -Foreground Magenta
@Satak
Satak / import_script.ps1
Last active August 27, 2021 12:57
Create DevOps projects and AAD groups
$devOpsProjects = (az devops project list | ConvertFrom-Json).value
foreach ($i in $devOpsProjects) {
Write-Output "importing $($i.name)"
$command = @"
terraform import 'azuredevops_project.project[\"$($i.name)\"]' "$($i.id)"
"@
Invoke-Expression $command
}
@Satak
Satak / main.tf
Last active May 25, 2021 05:23
Terraform snippets
variable "my_list" {
default = [
{
id = 1
name = "name1"
},
{
id = 2
name = "my_name"
},