ReadonlyalarmName pattern of the alarms the grants apply to, used as the resource name in the
aws:SourceArn condition. May contain * wildcards, e.g. myapp-*-my-resource.
Required rather than defaulted: scoping to the caller's own alarm names is what
keeps these grants from applying to every alarm in the account, and a permissive
default is invisible at the call site - a caller who simply omitted it would get
an account-wide grant with nothing in the code to show for it. Passing '*'
explicitly is still possible, but it has to be a decision someone wrote down.
Derive this from the same constant the alarm names are built from: a pattern that drifts out of step with the actual alarm names silently breaks notification delivery at runtime, with no synth or deploy error.
Optional ReadonlymasterThe KMS key encrypting the topic, when it is CMK-encrypted. CloudWatch cannot
publish to an encrypted topic without kms:Decrypt + kms:GenerateDataKey* on
the key, so omitting this for an encrypted topic yields alerting that deploys
cleanly and silently delivers nothing.
ReadonlytopicThe SNS topic the alarms publish to. Must be a topic this stack owns.
Properties for grantCloudWatchAlarmsTopicAccess.