Skip to content

Instantly share code, notes, and snippets.

View shaposhnikoff's full-sized avatar
🏠
Working from home

Shaposhnikoff shaposhnikoff

🏠
Working from home
View GitHub Profile
@shaposhnikoff
shaposhnikoff / nkon_LiFePo4_batteries_availability_checker.py
Created July 17, 2024 16:04
LiFePo4 batteries availability checker
import requests
from bs4 import BeautifulSoup
# URL to scrape
url = "https://ru.nkon.nl/rechargeable/lifepo4/prismatisch.html"
# Send a GET request to the page
response = requests.get(url)
response.raise_for_status() # Ensure the request was successful

Prerequisites

AWS Account: Ensure you have an AWS account and necessary permissions to create resources.
AWS CLI: Install and configure the AWS CLI with your credentials.
Terraform: Install Terraform on your local machine.

Step 1: Set Up Your Project Directory

https://medium.com/@janvithakkar.583/implementing-serverless-api-with-amazon-api-gateway-lambda-function-and-amazon-cognito-user-pool-92ff44cc4949
https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-invoke-api-integrated-with-cognito-user-pool.html
Call the API with Cognito Credentials:
After integrating the user pool, users will need to sign in to Cognito and obtain a JSON Web Token (JWT).
When making API requests, users will include the JWT token in the "Authorization" header with the format "Bearer <token>".
API Gateway will validate the token with Cognito and grant access based on the user's permissions.
template(name="json-template"
type="list") {
constant(value="{")
constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc3339")
constant(value="\",\"@version\":\"1")
constant(value="\",\"message\":\"") property(name="msg" format="json")
constant(value="\",\"sysloghost\":\"") property(name="hostname")
constant(value="\",\"severity\":\"") property(name="syslogseverity-text")
constant(value="\",\"facility\":\"") property(name="syslogfacility-text")
constant(value="\",\"programname\":\"") property(name="programname")
from kubernetes import client, config
import requests,sys
# list all PVCs in a namespace
def list_all_pvc(env, namespace):
config.load_kube_config(config_file='~/.kube/config', context=env)
v1 = client.CoreV1Api()
pvc_list = v1.list_namespaced_persistent_volume_claim(namespace)
return pvc_list
@shaposhnikoff
shaposhnikoff / FTDX10 Digital Mode Setup.csv
Last active May 1, 2024 09:52
FTDX10 Digital Mode Setup
Name Value Long_name Desc MenuPath
EX010101 2 AF TREBLE GAIN 0 RadioSetting->ModeSSB
EX010102 1 AF MIDDLE TONE GAIN 0 RadioSetting->ModeSSB
EX010103 0 AF BASS GAIN 0 RadioSetting->ModeSSB
EX010104 20 msec AGC FAST DELAY 0 RadioSetting->ModeSSB
EX010105 1000 msec AGC MID DELAY 0 RadioSetting->ModeSSB
EX010106 3220 msec AGC SLOW DELAY 0 RadioSetting->ModeSSB
EX010107 100Hz LCUT FREQ 0 RadioSetting->ModeSSB
EX010108 6dB/oct LCUT SLOP 0 RadioSetting->ModeSSB
EX010109 3000Hz HCUT FREQ 0 RadioSetting->ModeSSB
@shaposhnikoff
shaposhnikoff / NBUStatService.py
Created November 19, 2023 16:14
NBUStatService Prometheus Currency Exporter
import sys
import time
from prometheus_client import start_http_server, Gauge
import requests,json
nbu_api_endpoint = "https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?json"
date = time.strftime("%Y-%m-%d")
for item in json.loads(requests.get(nbu_api_endpoint).text):
globals()[item['cc']] = Gauge(item['cc'], "currency rate ", ["date","currency_name"])
globals()[item['cc']].labels(date = time.strftime("%Y-%m-%d"), currency_name = item['cc']).set(item['rate'])
@shaposhnikoff
shaposhnikoff / Ophran IAM Policies ( Not used in any role ).py
Created October 15, 2023 08:39
Ophran IAM Policies ( Not used in any role )
import boto3,os,shutil,re
session = boto3.session.Session(profile_name='default')
iam = session.client('iam')
def list_policy_arns():
policy_arns = []
paginator = iam.get_paginator('list_policies')
for response in paginator.paginate(Scope='Local'):
for policy in response['Policies']:
policy_arns.append(policy['Arn'])
@shaposhnikoff
shaposhnikoff / AWS List Glue Database and Tables.py
Created October 15, 2023 08:38
AWS List Glue Database and Tables
import boto3,re,datetime
import argparse
parser = argparse.ArgumentParser(description='List Glue databases and tables')
parser.add_argument('--timestamps_show', help='show timestams fro Last usage, update and create tables',required=True)
parser.add_argument('--locations_show', help='show Locations of specified table',required=True)
parser.add_argument('--glue_database_regex', help='regex for filtering databases',required=False)
parser.add_argument('--glue_table_regex', help='regex for filtering tables',required=False)
args = parser.parse_args()
@shaposhnikoff
shaposhnikoff / Backup Github organization - enterprise.py
Created October 15, 2023 08:37
Backup Github organization - enterprise
from github import Github
import re,logging
from subprocess import call
token="ghp_###########"
g = Github(base_url="https://code.some.organization/api/v3", login_or_token=token)
regexp = ['regular-expression-*']
user = g.get_user()