import asyncio
import sys
from aws_ssm_bridge import InteractiveShell, InteractiveConfig, run_shell
async def main():
if len(sys.argv) < 2:
print("Interactive SSM Shell")
print()
print(f"Usage: {sys.argv[0]} <instance-id>")
print()
print("Examples:")
print(f" {sys.argv[0]} i-0123456789abcdef0")
print()
print("Controls:")
print(" Ctrl+D - Exit session")
print(" Ctrl+C - Send interrupt signal")
print(" Ctrl+Z - Suspend current process")
sys.exit(1)
instance_id = sys.argv[1]
config = InteractiveConfig(
show_banner=True, send_initial_size=True, forward_signals=True, )
shell = InteractiveShell(config)
await shell.connect(instance_id)
await shell.run()
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
print("\n\033[33mInterrupted.\033[0m")