#!/usr/bin/perl

use constant 'POLC_ARN' => 'arn:aws:iam::290365479392:policy/';
use constant 'SERVERID' => 's-1e6fa3454e42484ba';

use strict;
use warnings;
use open ':std', ':encoding(UTF-8)';

use JSON::XS;
use FileHandle;
use Capture::Tiny(qw/capture/);
use Text::CSV::Easy(qw/csv_build csv_parse/);

use lib '/app/tools/common/lib';
use Common::Session;
use Common::RunCommand;

my ( $opt, $usage ) = clopt(
    [ 'username|u=s' => 'username to add to SFTP server', { 'required' => 1 } ],
    [ 'norole|n'     => 'Do not remove the AWS role - just SFTP user' ],
    [ 'nosftp|s'     => 'Do not remove the AWS role - just SFTP user' ],
    [ 'help|?|h'     => "print usage message and exit" ]
);
if ( $opt->help ) {
    logMessage( 'info', $usage->text, 'options' );
    exit 1;
}

my $username = $opt->username;

my $policyARN = POLC_ARN . 'RoyaltyshareFTPUserPolicy-' . $username;
my $roleName  = 'RoyaltyshareFTPUserRole-' . $username;

if ( not $opt->nosftp ) {
    Common::RunCommand::execute_die_log( "aws transfer delete-user --user-name $username --server-id " . SERVERID );
}

if ( not $opt->norole ) {
    Common::RunCommand::execute_die_log("aws iam detach-role-policy --role-name $roleName --policy-arn $policyARN");
    Common::RunCommand::execute_die_log("aws iam delete-policy --policy-arn $policyARN");
    Common::RunCommand::execute_die_log("aws iam delete-role --role-name $roleName");
}
