def greengrass_secrets_manager_run()

in functions/SecretsManagerPython3/SecretsManagerPython3.py [0:0]


def greengrass_secrets_manager_run():
    secrets = {}

    for secret_name in secret_names:
        # Build a dictionary that will have either the secret value or the error message
        secrets[secret_name] = {}

        try:
            # Attempt to get the secret value
            response = secrets_client.get_secret_value(SecretId=secret_name)
            secret_value = response.get('SecretString')
            secrets[secret_name]['value'] = secret_value
        except greengrasssdk.SecretsManager.SecretsManagerError:
            secrets[secret_name]['error'] = 'Failed to retrieve secret'

    payload['secrets'] = secrets

    client.publish(topic=THING_NAME + '/python3/secrets/manager', payload=json.dumps(payload))

    # Asynchronously schedule this function to be run again in 5 seconds
    Timer(5, greengrass_secrets_manager_run).start()