def get_slack_config(ssm_client: BaseClient, token=None) -> dict: prefix = "/FukuokaDeLongiBot/Slack/" option = {"Path": prefix, "WithDecryption": True} if token is not None: option["NextToken"] = token resp = ssm_client.get_parameters_by_path(**option) result = {x["Name"][len(prefix) :]: x["Value"] for x in resp.get("Parameters", [])} if "NextToken" in resp: result.update(get_slack_config(ssm_client, token=resp["NextToken"])) return result
def get_keys(ssm_client: BaseClient) -> dict: option = {"Path": "/twitter/keys", "WithDecryption": True} resp = ssm_client.get_parameters_by_path(**option) keys = {x["Name"]: x["Value"] for x in resp["Parameters"]} return { "consumer_key": keys["/twitter/keys/consumer_key"], "consumer_secret": keys["/twitter/keys/consumer_secret"], "access_token_key": keys["/twitter/keys/access_token_key"], "access_token_secret": keys["/twitter/keys/access_token_secret"], }