I have a custom resource used to get the API key from API gateway and send it as a header to Cloudfront. When i am creating a stack my custom:resource
is triggering since it is creating logical ID for first time. But when i update the stack(i.e Changing the API KEY name) Then the API key resource of type AWS::ApiGateway::ApiKey
will create a new Logical ID when in turn create a new API key, At this point my custom:resource
is not invoking since it has same same logical ID because of this my cloudfront is having old API Key rather than new one.
Is there a way to invoke my custom:resource
everytime a update happened to my stack?
As a workaround i am changing the Logical Id
of custom:resource
to trigger it whenever i am updating a resource in my stack. But this is little difficult since logicalId is shared as a reference to many resources.
BTW my custom resource is attached to a lambda function. I even tried changing the Version
field and also tried adding values to properties field (i.e.Stackname,parameters etc) but still it is not invoking.
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
"MyFrontEndTest" : {
"Type": "Custom::PingTester",
"Version" : "1.0", -->Even changed the version to 2.0
"Properties" : {
"ServiceToken": "arn:aws:lambda:us-east-1:*****",
"InputparameterName" : "MYvalue" -->Added this field
}
}
}
Thanks Any help is appreciated