#!/usr/bin/env php
<?php

use Aws\Configuration\ConfigurationResolver;
use Compwright\AwsEnv\AwsEnv;
use Compwright\AwsEnv\FormatterFactory;
use Compwright\AwsEnv\SsmClientFactory;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\SingleCommandApplication;

if (isset($_composer_autoload_path)) {
    include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';
} else {
    require dirname(__DIR__) . '/vendor/autoload.php';
}

$awsEnv = new AwsEnv(
    new SsmClientFactory(
        ConfigurationResolver::resolve('region', '', 'string')
    ),
    new FormatterFactory()
);

(new SingleCommandApplication())
    ->setName('aws-env')
    ->addOption('path', 'p', InputOption::VALUE_REQUIRED, 'Parameter key path', getenv('AWS_ENV_PATH') ?: '/')
    ->addOption('format', 'f', InputOption::VALUE_REQUIRED, 'Output format: dotenv, env, export', getenv('AWS_ENV_FORMAT') ?: 'env')
    ->setCode($awsEnv)
    ->run();
