in functions/source/LicenseVerificationAndTokenGenerator/lambda_function.py [0:0]
def _verify_boomi_licensing(username, password, account):
_headers = _create_auth_headers(username, password, account)
API_URL = f"https://api.boomi.com/api/rest/v1/{account}/Account/{account}"
resp = requests.get(API_URL, headers=_headers)
resp.raise_for_status()
json_resp = resp.json()
account_status = json_resp['status']
molecule_licenses_purchased = json_resp['molecule']['purchased']
molecule_licenses_used = json_resp['molecule']['used']
# Is the account active?
if account_status == 'active':
logger.info(f"Account is active")
else:
logger.error('Exception: Boomi account is inactive')
raise Exception(f"Boomi account {account} is inactive.")
# Do we have license entitelements at all?
if molecule_licenses_purchased > molecule_licenses_used:
logger.info(
f"Licenses are available - Purchased: {molecule_licenses_purchased} / Used: {molecule_licenses_used}")
else:
logger.error('Exception: No molecule license available')
raise Exception(
f"No molecule licenses for account {account} are available. Purchased: {molecule_licenses_purchased}, Used: {molecule_licenses_used}")