mirror of
https://gitlab.com/veilid/veilid.git
synced 2025-04-25 09:59:14 -04:00
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
import os
|
|
import sys
|
|
from dotenv import load_dotenv
|
|
import argparse
|
|
import asyncio
|
|
|
|
from utils.test_credentials import test_api_credentials
|
|
from utils.droplets import create_droplet, delete_droplet
|
|
|
|
if __name__ == "__main__":
|
|
# Load environment variables from the .env file.
|
|
load_dotenv()
|
|
token = os.getenv("DO_API_TOKEN")
|
|
if not token:
|
|
print("Error: DO_API_TOKEN environment variable not found. Please set it in the .env file.", file=sys.stderr)
|
|
sys.exit(1)
|
|
|
|
# Set up command-line argument parsing.
|
|
parser = argparse.ArgumentParser(description="DigitalOcean API Utility")
|
|
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
|
|
subparsers.add_parser("test-credentials", help="Test DigitalOcean API credentials")
|
|
|
|
create_parser = subparsers.add_parser("create", help="Create a droplet")
|
|
create_parser.add_argument("droplet_type", help="Type of droplet to create (e.g., amd64-deb)")
|
|
|
|
delete_parser = subparsers.add_parser("delete", help="Delete a droplet")
|
|
delete_parser.add_argument("droplet_type", help="Type of droplet to delete (e.g., amd64-deb)")
|
|
|
|
args = parser.parse_args()
|
|
|
|
if args.command == "test-credentials":
|
|
asyncio.run(test_api_credentials(token))
|
|
elif args.command == "create":
|
|
asyncio.run(create_droplet(token, args.droplet_type))
|
|
elif args.command == "delete":
|
|
asyncio.run(delete_droplet(token, args.droplet_type))
|