Si vous faites divers essais et erreurs avec CloudFormation, il sera difficile de cliquer sur le mannequin, et vous voudrez créer une pile ou une pile de suppression avec la CLI. Cependant, il est gênant d'appuyer sur la commande une par une pour lire le JSON, et il est également gênant de simplement regarder le mannequin et d'appuyer sur le bouton de chargement, donc je l'ai créé rapidement. J'aime la facilité avec laquelle python peut écrire ceci en 30 étapes ...
Étant donné que boto3 et tabulate ne sont pas inclus en standard,
pip install``` doit être effectué.
Pour boto3, reportez-vous au site Around.
import os
import sys
import time
import boto3
import pprint
from tabulate import tabulate
args = sys.argv
client = boto3.client('cloudformation')
stackstatus = ""
while stackstatus != 'CREATE_COMPLETE':
os.system('clear')
response = client.describe_stacks(StackName=args[1])
stacks = response['Stacks']
stackstatus = stacks[0]['StackStatus']
response = client.describe_stack_events(StackName=args[1])
events = response['StackEvents']
events.sort(key=lambda x:x['Timestamp'])
rows = []
for keys in events:
cols = []
cols.append(keys['Timestamp'])
cols.append(keys['LogicalResourceId'])
cols.append(keys['ResourceStatus'])
rows.append(cols)
headers = ['Timestamp', 'LogicalResourceId', 'Status']
table = tabulate(rows, headers)
print(table)
if stackstatus != 'CREATE_COMPLETE':
time.sleep(10)
Quand je l'exécute, ↓ Cet écran est ...
Ça y est ...! Sur la console, lorsqu'un nouvel enregistrement apparaît, il s'écoule, donc l'affichage est inversé.
Timestamp LogicalResourceId Status
-------------------------------- -------------------------- ------------------
2020-05-10 10:47:57.928000+00:00 ApigwTest-issue01-Pipeline CREATE_IN_PROGRESS
2020-05-10 10:48:02.269000+00:00 CODEBUILDLOGGROUP CREATE_IN_PROGRESS
2020-05-10 10:48:02.699000+00:00 S3BUCKET CREATE_IN_PROGRESS
2020-05-10 10:48:02.789000+00:00 CODEBUILDLOGGROUP CREATE_IN_PROGRESS
2020-05-10 10:48:03.178000+00:00 CODEBUILDLOGGROUP CREATE_COMPLETE
2020-05-10 10:48:04.363000+00:00 S3BUCKET CREATE_IN_PROGRESS
2020-05-10 10:48:25.539000+00:00 S3BUCKET CREATE_COMPLETE
2020-05-10 10:48:27.772000+00:00 CODEBUILDIAMROLE CREATE_IN_PROGRESS
2020-05-10 10:48:29.158000+00:00 CODEBUILDIAMROLE CREATE_IN_PROGRESS
2020-05-10 10:48:45.746000+00:00 CODEBUILDIAMROLE CREATE_COMPLETE
2020-05-10 10:48:49.115000+00:00 CODEBUILD CREATE_IN_PROGRESS
2020-05-10 10:48:51.445000+00:00 CODEBUILD CREATE_IN_PROGRESS
2020-05-10 10:48:52.222000+00:00 CODEBUILD CREATE_COMPLETE
2020-05-10 10:48:54.622000+00:00 PIPELINE CREATE_IN_PROGRESS
2020-05-10 10:48:55.360000+00:00 PIPELINE CREATE_IN_PROGRESS
2020-05-10 10:48:55.853000+00:00 PIPELINE CREATE_COMPLETE
2020-05-10 10:48:57.646000+00:00 ApigwTest-issue01-Pipeline CREATE_COMPLETE
Recommended Posts