かべぎわブログ

凄腕エンジニアのブログです

argparseで2つの引数のどちらかのみオプションとして指定させる

概要 Pythonでargparseをつかって2つの引数のうちどちらかののみを指定している場合のみOKとしてみます。 文章で書くとよくわかんない。 こんなかんじにしたい。 $ ./wawawa.py --wawawa # これはOK $ ./wawawa.py --sasasa # これもOK $ ./wawawa.py --wawa…

プルリクエストを投げるまで(git switch対応版)

Git

プルリクエストを投げるまでの手順です。 git switch対応版です。 手順 手順 ブランチをつくってきりかえる addしてcommitしてpushする プルリクエストなげる チェックしてマージする 後処理 おしまい ブランチをつくってきりかえる 一気にできる。 $ git sw…

PowerShellで管理者権限でしか実行できないようにする

概要 PowerShellのスクリプトを管理者権限でしか実行できないようにしてみます。 前提 PowerShell v4 以上 スクリプト こんなかんじ #Requires -RunAsAdministratorを書いてあげる。 #Requires -RunAsAdministrator # ↓確認用 Write-Host 'wawawa' 実行して…

PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかいた

概要 PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかきました。 これと IAMグループをかんたんに削除してくれるPythonをかいた - かべぎわブログ これ IAMロールをかんたんに削除してくれるPythonを書いた - かべぎわブログ りょう…

PowerShellで管理者権限かどうか判定する

概要 PowerShellでAdministratorかどうかを判定してみます。 スクリプト こんなかんじ。 $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $bool_admin = $currentPrincipal.IsInR…

IAMグループをかんたんに削除してくれるPythonをかいた

概要 IAMグループをかんたんに削除してくれるPythonをかきました。 グループを削除する際にはポリシーをデタッチしたりユーザをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたりしてからグルー…

VSCodeで引数を与えてデバッグする

概要 VSCodeで引数を与えてデバッグしてみます。 手順 VSCodeのデバッグ画面の設定画面をクリックします。 launch.jsonが開くのでそこに"args":["--group-name", "test_group"],こんなかんじで入力してあげます。 この例だと./wawawa.py --group-name test_g…

IAMロールをかんたんに削除してくれるPythonを書いた

概要 IAMロールをかんたんに削除してくれるPythonをかきました。 ロールを削除する際にはポリシーをデタッチしたりインスタンスプロファイルをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたり…

自分のインスタンスIDを取得する方法まとめ

AWS

自分のインスタンスIDを取得する方法をまとめてみた。 メタデータを取得する cloud-utilを実行する cloudinitのディレクトリを参照する メタデータを取得する メタデータをcurlなりwgetなりで取得する。 curl http://169.254.169.254/latest/meta-data/insta…

PowerShellでブレース展開みたいなことをやってみる

概要 PowerShellでブレース展開みたいなことをやってみます。 やってみる こんなかんじ。 PS C:\> 'web','db','mq' | % { "$_-server" } web-server db-server mq-server またはこう。 PS C:\> 1..3 | % { "server-$_" } server-1 server-2 server-3 フォー…

Powershellで必須の引数を定義する

概要 PowerShellをつかって必須の引数を設定してみます。 そもそも引数を設定するには こんなかんじで設定できる。 Param($ichi, $ni) # 引数を出力する Write-Host $ichi Write-Host $ni スクリプトを実行したときにたとえばこんなかんじになる。 .\script.…

PowerShellで自分のファイル名を取得する

概要 PowerShellをつかって実行中の自分のファイル名を取得してみます。 こんなかんじでできます こんなかんじでできます。 $my_script_name = $myInvocation.MyCommand.name PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解…

AttributeError: module 'logging' has no attribute 'basicConfig'のエラーの解消法

概要 Pythonでこんなかんじのエラーがでた。 $ python logging.py Traceback (most recent call last): File ".\logging.py", line 1, in <module> import logging File "C:\Users\takak\blog_python\logging.py", line 2, in <module> logging.basicConfig(format='%(asctim</module></module>…

GitでCommitを取り消す

Git

概要 Gitでコミットを取り消す方法です。 コマンド例 こんなかんじ 直前のCommitを消す方法です。 コミットだけを取り消す $ git reset --soft HEAD^ コミットとインデックス/作業ツリーも取り消す $ git reset --hard HEAD^ わかばちゃんと学ぶ Git使い方入…

コマンドプロンプトでインターネットオプションのプロキシサーバーの設定をする

概要 コマンドプロンプトでインターネットオプションのプロキシサーバーの設定をしてみます。 コマンド こんなかんじ。 プロキシを使用するをONにする reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v Prox…

Powershellで環境変数を設定する

概要 PowerShellをつかって環境変数を設定してみる。 ユーザー環境変数 HTTP_PROXYにhttp://127.0.0.1:8080を設定している。 [System.Environment]::SetEnvironmentVariable('HTTP_PROXY', 'http://127.0.0.1:8080', 'User') システム環境変数 HTTP_PROXYにh…

AWSCLIで任意のタグのついたすべてのサービスのリソースを取得する

AWS

概要 AWSCLIを利用して任意のタグのついているすべてのサービス(すべてとは言っていない)のリソースを取得してみたいと思います。 このコマンドを利用することによりタグの--filterオプションが存在しないサービスのリソースも取得することができます。 コマ…

Pythonのloggingについてまとめる

概要 Pythonのloggingについてまとめてみる。 概要 基本編 ログレベルを指定する ログをファイルに出力する ログに日時を追加する おわりに 基本編 loggingをつかうことでPythonでかんたんなロギングを行うことができる。 たとえば以下のようなコードをかい…

AWS CLI Builderはいいぞ

AWS

AWS CLI Builderはいいぞっていうおはなし。 awsclibuilder.com たとえばこんなかんじでいろいろやってくれるのです。 かんがえなくても埋めていくだけでコマンドができるのです。 メディア: この商品を含むブログを見る

かべぎわブログをスクレイピングしてくれるPython

概要 かべぎわブログをスクレイピングしてくれます。 スクリプト こんなかんじ。 動かしてみる こんなかんじ。 $ python scraping_kabegiwa.py PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する(強化版) https://www.kabegiwablog.com/entry/20…

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する(強化版)

概要 BeautfulSoupをつかってAWS What's Newの今月の一覧を取得します。 本文も全部出してくれる強化版です。 スクリプト 実行してみる こんなかんじでずらーっと今月の情報が出力されます。 ARMv6 や新しい機械学習コネクタをサポートする AWS IoT Greengra…

Python(boto3)でAWSCLIとおなじかんじでprofileをわたしてあげる

概要 PythonとAWSCLIをいったりきたりしていて、profileのわたしかたに統一性がなくて(特にPythonは作った人によって全然違ったりして)めんどくさいなあと思っていたのでそれらを解決できるようなものを書いた。 Pythonでも--profileをわたして実行させるこ…

ワンライナーで特定のタグのついたインスタンスを起動/停止するAWSCLI

概要 AWSCLIのワンライナーで特定のタグのついたEC2インスタンスを起動/停止してみます。 インスタンスを起動する Nameタグがwawawaとなっているインスタンスを起動するワンライナー $ aws ec2 start-instances --instance-ids `aws ec2 describe-instances …

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する

概要 PythonのBeautifulSoupを利用してAWSのWhat's Newの今月のトピックの一覧を取得してみます。 スクリプト こんなかんじで取得できます。 h3タグをとってきてループさせています。 実行してみる 実行してあげるとこんなかんじです。 $ python ./scraping.…

error: Call to WHvSetupPartition failed: ERROR_SUCCESSというエラーでVirtualBoxが起動しなくなったときの対処法

概要 Vagrantが以下のようなエラーで起動しなくなってしまった (以下のログはvagrant reloadしたときのものだけれど) PS C:\Users\takak\vagrant\centos7> vagrant reload ==> default: Checking if box 'centos/7' is up to date... ==> default: Clearing …

Python(boto3)で~/.aws/configをつかってのAssumeRoleする

概要 Python(boto3)で~/.aws/configの設定をもとにAssumeRoleしてみます。 スクリプト こんなかんじでできます。 前提 ~/.aws/configはこんなかんじとする。 [default] region = ap-northeast-1 [profile wawawa_test_role] role_arn = arn:aws:iam::1234567…

Python(boto3)でAssumeRoleする

概要 Python(boto3)でAssumeRoleしてみます。 スクリプト こんなかんじ。 実行してみる get_caller_identityしてみるとこんなかんじでAssumeRoleされていることがわかる。 $ python ./assume_role.py {'UserId': 'AROA57T5RBG4BKZFFOHVS:wawawa', 'Account':…

Python(boto3)でアクセスキーをローテーションする

概要 Python(boto3)でアクセスキーをローテーションさせてみます。 スクリプト スクリプトはこんなかんじ。 処理の流れ こんなかんじのことをやってます。 古い(現在の)アクセスキーで新しいアクセスキーを作成する .aws/credentialsに新しいアクセスキーの…

Python(boto3)で自分のアクセスキーを削除する

概要 Python(boto3)を利用して自分のアクセスキーを削除してみます。 スクリプト こんなかんじ。 実行するとこれを実行したユーザのAWSアクセスキーが削除されます。 おわりに 作業終わりにこれを実行するようにするとか、踏み台のログアウト時とかシャット…

VSCodeでTimeout waiting for debugger connectionというエラーがでるときの解消法

概要 VSCodeを利用してPythonのデバッグを行っていたときにこんなかんじのエラーが出力されてPythonが実行できなくなってしまった。 その対処法です。 対処法 [Open launch.json]ボタンを選択してVSCodeでlaunch.jsonを開きます。 以下のように設定されてい…