in src/main/java/software/aws/chatops_lex_api/resource/AccountVendor.java [54:102]
public AccountVendor() {
logger.info("Logger configured");
String lexBotRegion = "us-east-1";
if (System.getenv("LEX_BOT_REGION") != null) {
lexBotRegion = System.getenv("LEX_BOT_REGION");
}
logger.info("Will access lexbot in " + lexBotRegion);
lexClient = LexRuntimeClient.builder().region(Region.of(lexBotRegion)).build();
ddbClient = DynamoDbClient.builder().build();
snsClient = SnsClient.builder().build();
scClient = ServiceCatalogClient.builder().build();
ssmClient = SsmClient.builder().build();
String envName = System.getenv("ENVIRONMENT") == null ? "Dev" : System.getenv("ENVIRONMENT");
String projectName = System.getenv("PROJECT_NAME") == null ? "chatops-lex" : System.getenv("PROJECT_NAME");
if( projectName == null ) throw new IllegalArgumentException("Project name cannot be null");
logger.info("Using Env: " + envName);
if (!CHATOPS_APPROVAL_URL_PARAM.endsWith(envName)) {
CHATOPS_APPROVAL_URL_PARAM = CHATOPS_APPROVAL_URL_PARAM.concat("_" + envName);
CHATOPS_APPROVAL_URL_PARAM = projectName.concat(CHATOPS_APPROVAL_URL_PARAM);
}
logger.info("CHATOPS_APPROVAL_URL_PARAM: " + CHATOPS_APPROVAL_URL_PARAM);
try {
AccountVendor.CALLBACK_URL = AccountVendor.ssmClient.getParameter(GetParameterRequest.builder()
.name(CHATOPS_APPROVAL_URL_PARAM)
.build()).parameter().value();
AccountVendor.DYNAMO_TABLE = System.getenv("DYNAMO_TABLE") == null ? DYNAMO_TABLE : System.getenv("DYNAMO_TABLE");
AccountVendor.CONFIRM_TOPIC_ARN = System.getenv("CONFIRM_TOPIC_ARN");
AccountVendor.BOT_NAME = System.getenv("BOT_NAME") != null ? System.getenv("BOT_NAME") : AccountVendor.BOT_NAME;
AccountVendor.SLACK_TOKEN = System.getenv("SLACK_TOKEN") == null ? "Slack Token not Set" : System.getenv("SLACK_TOKEN");
logger.info("Using callback URL: " + AccountVendor.CALLBACK_URL);
logger.info("Using DYNAMO_TABLE: " + AccountVendor.DYNAMO_TABLE);
logger.info("Using bot name: " + AccountVendor.BOT_NAME);
logger.info("Using CONFIRM_TOPIC_ARN: " + AccountVendor.CONFIRM_TOPIC_ARN);
} catch (SsmException se) {
logger.info("SSM Exception: " + se.getMessage());
AccountVendor.CALLBACK_URL = "http://test-url";
} catch (Exception e) {
logger.info("Exception msg: " + e.getMessage());
logger.info(
"Could not retrieve callbackurl and confirm topic from Parameter Store. In case you are compiling or testing locally please ignore");
}
}