feat(model-lifecycle): monitor Bedrock model lifecycle status, alert on change - #47
Merged
Merged
Conversation
…rt email GetInferenceProfile returns both a region-less and a region-qualified foundation-model ARN; GetFoundationModel rejects the region-less one, so pick the ARN matching the Lambda's own region instead of models[0]. Also rewrite the alert email to explain what LEGACY/EOL/ACTIVE mean and the 6-month LEGACY lead time AWS guarantees, instead of just the raw status transition.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ModelLifecycleMonitorconstruct +abe-model-lifecycle-monitorLambda) that checksmodelLifecycle.statusfor every Bedrock model inconfig.yaml, since AWS Health's deprecation notices require a support plan we don't have./abe/model-lifecycle/last-status); the first run just establishes the baseline (no email), later runs email one alert per model whose status changed, explaining what LEGACY/EOL/ACTIVE mean and AWS's 6-month minimum LEGACY lead time.GetInferenceProfilebefore callingGetFoundationModel(which rejects inference-profile ARNs directly), picking the region-qualified ARN rather than the region-less oneGetInferenceProfilealso returns.model_lifecycle_notification_emailconfig key, kept separate fromnotification_emailso this doesn't fire SNS confirmation emails at the existing content-sync list.Test plan
cdk synth/cdk diffreviewed - only the new topic/subscription/Lambda/IAM/schedule resources addedGetFoundationModelcorrectly for the inference-profile-backed models