からクロスポストです。これが発生すると、カスタムリソースは変更されたことを通知する必要があります。だから、
置き換える:
var crypto = require('crypto');
var hash = crypto.createHash('md5').update(JSON.stringify(responseData)).digest('hex');
response.send(event, context, response.SUCCESS, responseData, hash);
と
response.send(event, context, response.SUCCESS, responseData);
をこれは、アップデート中のイベントを以下になります:
15:08:16 UTC+0200 UPDATE_COMPLETE Custom::NetworkInfo NetworkInfo
15:08:15 UTC+0200 UPDATE_IN_PROGRESS Custom::NetworkInfo NetworkInfo Requested update required the provider to create a new physical resource
15:08:08 UTC+0200 UPDATE_IN_PROGRESS Custom::NetworkInfo NetworkInfo
これはまだかかわらず、変更するプロパティが必要です。私は、カスタムリソースへの擬似ランダムパラメータを渡した思い付いたその最高:
{
"Parameters": {
"Random": {
"Description": "Random value to force stack-outputs update",
"Type": "String"
}
},
"Resources": {
"NetworkInfo": {
"Type": "Custom::NetworkInfo",
"Properties": {
"ServiceToken": { "Fn::GetAtt" : ["LookupStackOutputs", "Arn"] },
"Random": { "Ref": "Random" },
"StackName": { "Ref": "NetworkStackName" }
}
}
}
}
未知のパラメータ(すなわちRandom
)は、単にラムダ関数によって無視されます。