{
    "version": 3,
    "checkpoint": {
        "stack": "",
        "latest": {
            "manifest": {
                "time": "0001-01-01T00:00:00Z",
                "magic": "",
                "version": ""
            },
            "secrets_providers": {
                "type": "b64",
                "state": {}
            },
            "resources": [
                {
                    "urn": "urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown",
                    "custom": true,
                    "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
                    "type": "aws:sns/topic:Topic",
                    "outputs": {
                        "arn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
                        "displayName": "",
                        "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
                        "name": "countDown-9d430501c4510322",
                        "policy": "{\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Action\":[\"SNS:GetTopicAttributes\",\"SNS:SetTopicAttributes\",\"SNS:AddPermission\",\"SNS:RemovePermission\",\"SNS:DeleteTopic\",\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:Publish\",\"SNS:Receive\"],\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"153052954103\"}},\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Resource\":\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\",\"Sid\":\"__default_statement_ID\"}],\"Version\":\"2008-10-17\"}"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:topic:Topic::countDown"
                },
                {
                    "urn": "urn:pulumi:foo::countdown::cloud:topic:Topic::countDown",
                    "custom": false,
                    "type": "cloud:topic:Topic"
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:sns/topic:Topic::unhandled-error-topic",
                    "custom": true,
                    "id": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
                    "type": "aws:sns/topic:Topic",
                    "outputs": {
                        "arn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
                        "displayName": "",
                        "id": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
                        "name": "unhandled-error-topic-ddd8c2cd9a876715",
                        "policy": "{\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Action\":[\"SNS:GetTopicAttributes\",\"SNS:SetTopicAttributes\",\"SNS:AddPermission\",\"SNS:RemovePermission\",\"SNS:DeleteTopic\",\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:Publish\",\"SNS:Receive\"],\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"153052954103\"}},\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Resource\":\"arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715\",\"Sid\":\"__default_statement_ID\"}],\"Version\":\"2008-10-17\"}"
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::countDown_watcher-iamrole",
                    "custom": true,
                    "id": "countDown_watcher-iamrole-bf695eb09a5c3e28",
                    "type": "aws:iam/role:Role",
                    "inputs": {
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                    },
                    "outputs": {
                        "arn": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
                        "createDate": "2017-11-08T19:51:32Z",
                        "forceDetachPolicies": false,
                        "id": "countDown_watcher-iamrole-bf695eb09a5c3e28",
                        "name": "countDown_watcher-iamrole-bf695eb09a5c3e28",
                        "path": "/",
                        "uniqueId": "AROAJBQANPFEXFW2SEVJM"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                    "propertyDependencies": {
                        "assumeRolePolicy": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::countDown_watcher-iampolicy-0",
                    "custom": true,
                    "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195133331200000001",
                    "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                    "inputs": {
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
                    },
                    "outputs": {
                        "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195133331200000001",
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                    "propertyDependencies": {
                        "policyArn": null,
                        "role": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::countDown_watcher-iampolicy-1",
                    "custom": true,
                    "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195134625700000002",
                    "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                    "inputs": {
                        "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
                        "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
                    },
                    "outputs": {
                        "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195134625700000002",
                        "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
                        "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                    "propertyDependencies": {
                        "policyArn": null,
                        "role": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::countDown_watcher",
                    "custom": true,
                    "id": "countDown_watcher-560cf0c8d799e9cd",
                    "type": "aws:lambda/function:Function",
                    "inputs": {
                        "code": {
                            "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                            "assets": {
                                ".": {
                                    "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                                    "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
                                    "path": "."
                                },
                                "__index.js": {
                                    "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
                                    "hash": "2379662c18737708ce800361028a4bb5cc1d3ea619d90ec50811e299e465307a",
                                    "text": "exports.handler = __c9e856d50f915ecde20c43f505596928ee91643e;\n\nfunction __c9e856d50f915ecde20c43f505596928ee91643e() {\n  var _this;\n  with({ __awaiter: __492fe142c8be132f2ccfdc443ed720d77b1ef3a6, handler: __db4cc5ebcb1698516c862c46e2aeec3a258aa47f }) {\n    return (function() {\n\nreturn ((ev, ctx, cb) =\u003e {\n        Promise.all(ev.Records.map((record) =\u003e __awaiter(this, void 0, void 0, function* () {\n            yield handler(record.Sns);\n        })))\n            .then(() =\u003e { cb(null, null); })\n            .catch((err) =\u003e { cb(err, null); });\n    })\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __492fe142c8be132f2ccfdc443ed720d77b1ef3a6() {\n  var _this;\n  with({  }) {\n    return (function() {\n\nreturn (function (thisArg, _arguments, P, generator) {\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n})\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __db4cc5ebcb1698516c862c46e2aeec3a258aa47f() {\n  var _this;\n  with({ __awaiter: __492fe142c8be132f2ccfdc443ed720d77b1ef3a6, handler: __820d19c6daf60cebb8ca144dd373a37806be5880 }) {\n    return (function() {\n\nreturn ((snsItem) =\u003e __awaiter(this, void 0, void 0, function* () {\n            const item = JSON.parse(snsItem.Message);\n            yield handler(item);\n        }))\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __820d19c6daf60cebb8ca144dd373a37806be5880() {\n  var _this;\n  with({ __awaiter: __492fe142c8be132f2ccfdc443ed720d77b1ef3a6, countDown: { children: [ { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" } ], urn: \"urn:pulumi:foo::countdown::cloud:topic:Topic::countDown\", name: \"countDown\", topic: { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" }, publish: __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a } }) {\n    return (function() {\n\nreturn ((num) =\u003e __awaiter(this, void 0, void 0, function* () {\n    console.log(num);\n    if (num \u003e 0) {\n        yield countDown.publish(num - 1);\n    }\n}))\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a() {\n  var _this;\n  with({ _this: { children: [ { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" } ], urn: \"urn:pulumi:foo::countdown::cloud:topic:Topic::countDown\", name: \"countDown\", topic: { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" }, publish: __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a } }) {\n    return (function() {\n\nreturn ((item) =\u003e {\n            const awssdk = require(\"aws-sdk\");\n            const snsconn = new awssdk.SNS();\n            return snsconn.publish({\n                Message: JSON.stringify(item),\n                TopicArn: this.topic.id,\n            }).promise();\n        })\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\n"
                                }
                            },
                            "hash": "b9d3b221cf1e03db6f40d62bddaa4087764f26f0b68c0e3aaf02a1d7921ea9a5"
                        },
                        "deadLetterConfig": [
                            {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            }
                        ],
                        "handler": "__index.handler",
                        "memorySize": 128,
                        "role": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
                        "runtime": "nodejs6.10",
                        "timeout": 180
                    },
                    "outputs": {
                        "arn": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
                        "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive203107759",
                        "deadLetterConfig": [
                            {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            }
                        ],
                        "description": "",
                        "environment": [],
                        "handler": "__index.handler",
                        "id": "countDown_watcher-560cf0c8d799e9cd",
                        "invokeArn": "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd/invocations",
                        "kmsKeyArn": "",
                        "lastModified": "2017-11-08T19:51:46.320+0000",
                        "memorySize": "128",
                        "name": "countDown_watcher-560cf0c8d799e9cd",
                        "publish": false,
                        "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd:$LATEST",
                        "role": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
                        "runtime": "nodejs6.10",
                        "sourceCodeHash": "4t/d32Qvj5j7gHSYFhXKoroGD1NDBKC7wsr1mmPB3AM=",
                        "tags": {},
                        "timeout": "180",
                        "tracingConfig": [
                            {
                                "mode": "PassThrough"
                            }
                        ],
                        "version": "$LATEST",
                        "vpcConfig": []
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                    "propertyDependencies": {
                        "code": null,
                        "deadLetterConfig": null,
                        "handler": null,
                        "memorySize": null,
                        "role": null,
                        "runtime": null,
                        "timeout": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                    "custom": false,
                    "type": "aws:serverless:Function",
                    "inputs": {
                        "options": {
                            "deadLetterConfig": {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            },
                            "memorySize": 128,
                            "policies": [
                                "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                                "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess"
                            ]
                        }
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                    "propertyDependencies": {
                        "options": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logGroup:LogGroup::countDown_watcher-func-logs",
                    "custom": true,
                    "id": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                    "type": "aws:cloudwatch/logGroup:LogGroup",
                    "inputs": {
                        "name": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                        "retentionInDays": 1
                    },
                    "outputs": {
                        "arn": "arn:aws:logs:us-east-2:153052954103:log-group:/aws/lambda/countDown_watcher-560cf0c8d799e9cd:*",
                        "id": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                        "name": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                        "retentionInDays": "1",
                        "tags": {}
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                    "propertyDependencies": {
                        "name": null,
                        "retentionInDays": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::pulumi-foo-log-collector-iamrole",
                    "custom": true,
                    "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                    "type": "aws:iam/role:Role",
                    "inputs": {
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                    },
                    "outputs": {
                        "arn": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
                        "createDate": "2017-11-08T19:51:49Z",
                        "forceDetachPolicies": false,
                        "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                        "name": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                        "path": "/",
                        "uniqueId": "AROAIQAQPEUAL7EJ3HOZM"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                    "propertyDependencies": {
                        "assumeRolePolicy": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-foo-log-collector-iampolicy-0",
                    "custom": true,
                    "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07-20171108195150465100000003",
                    "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                    "inputs": {
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07"
                    },
                    "outputs": {
                        "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07-20171108195150465100000003",
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                    "propertyDependencies": {
                        "policyArn": null,
                        "role": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::pulumi-foo-log-collector",
                    "custom": true,
                    "id": "pulumi-foo-log-collector-2c23bf214eaacce8",
                    "type": "aws:lambda/function:Function",
                    "inputs": {
                        "code": {
                            "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                            "assets": {
                                ".": {
                                    "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                                    "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
                                    "path": "."
                                },
                                "__index.js": {
                                    "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
                                    "hash": "371d4d8ead106550e5d7e2d0c02dd2e479dba060c765e09f98840fdfe73ea824",
                                    "text": "exports.handler = __88442d0b4365f25c858d35485cca4f999253cc40;\n\nfunction __88442d0b4365f25c858d35485cca4f999253cc40() {\n  var _this;\n  with({  }) {\n    return (function() {\n\nreturn ((ev, ctx, cb) =\u003e {\n            const zlib = require(\"zlib\");\n            const payload = new Buffer(ev.awslogs.data, \"base64\");\n            zlib.gunzip(payload, (err, result) =\u003e {\n                if (err !== undefined \u0026\u0026 err !== null) {\n                    cb(err, null);\n                }\n                else {\n                    console.log(result.toString(\"utf8\"));\n                    cb(null, {});\n                }\n            });\n        })\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\n"
                                }
                            },
                            "hash": "8a00ca481f85fe64b20537ac86fcb551b471dcfbff8c4623927d4654cd8a4ed2"
                        },
                        "handler": "__index.handler",
                        "role": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                        "runtime": "nodejs6.10",
                        "timeout": 180
                    },
                    "outputs": {
                        "arn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                        "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive938160569",
                        "deadLetterConfig": [],
                        "description": "",
                        "environment": [],
                        "handler": "__index.handler",
                        "id": "pulumi-foo-log-collector-2c23bf214eaacce8",
                        "invokeArn": "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8/invocations",
                        "kmsKeyArn": "",
                        "lastModified": "2017-11-08T19:52:01.821+0000",
                        "memorySize": "128",
                        "name": "pulumi-foo-log-collector-2c23bf214eaacce8",
                        "publish": false,
                        "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8:$LATEST",
                        "role": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                        "runtime": "nodejs6.10",
                        "sourceCodeHash": "ZFzSi0OvUjtU4arIaBHfsxusBAoknUjiAxUTAB6U9oA=",
                        "tags": {},
                        "timeout": "180",
                        "tracingConfig": [
                            {
                                "mode": "PassThrough"
                            }
                        ],
                        "version": "$LATEST",
                        "vpcConfig": []
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                    "propertyDependencies": {
                        "code": null,
                        "handler": null,
                        "role": null,
                        "runtime": null,
                        "timeout": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                    "custom": false,
                    "type": "aws:serverless:Function",
                    "inputs": {
                        "options": {
                            "policies": [
                                "arn:aws:iam::aws:policy/AWSLambdaFullAccess"
                            ]
                        }
                    },
                    "propertyDependencies": {
                        "options": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::pulumi-foo-log-collector",
                    "custom": true,
                    "id": "pulumi-foo-log-collector-ba2b0a268e749fe6",
                    "type": "aws:lambda/permission:Permission",
                    "inputs": {
                        "action": "lambda:invokeFunction",
                        "function": "pulumi-foo-log-collector-2c23bf214eaacce8",
                        "principal": "logs.us-east-2.amazonaws.com"
                    },
                    "outputs": {
                        "action": "lambda:invokeFunction",
                        "function": "pulumi-foo-log-collector-2c23bf214eaacce8",
                        "id": "pulumi-foo-log-collector-ba2b0a268e749fe6",
                        "principal": "logs.us-east-2.amazonaws.com",
                        "qualifier": "",
                        "statementId": "pulumi-foo-log-collector-ba2b0a268e749fe6"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                    "propertyDependencies": {
                        "action": null,
                        "function": null,
                        "principal": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::countDown_watcher",
                    "custom": true,
                    "id": "cwlsf-2481582075",
                    "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
                    "inputs": {
                        "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                        "filterPattern": "",
                        "logGroup": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd"
                    },
                    "outputs": {
                        "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                        "filterPattern": "",
                        "id": "cwlsf-2481582075",
                        "logGroup": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                        "name": "countDown_watcher-57808b716bf46c1d"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                    "propertyDependencies": {
                        "destinationArn": null,
                        "filterPattern": null,
                        "logGroup": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                    "custom": false,
                    "type": "cloud:function:Function",
                    "inputs": {
                        "handler": {}
                    },
                    "propertyDependencies": {
                        "handler": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::countDown_watcher",
                    "custom": true,
                    "id": "countDown_watcher-aa73943ce15ac420",
                    "type": "aws:lambda/permission:Permission",
                    "inputs": {
                        "action": "lambda:invokeFunction",
                        "function": "countDown_watcher-560cf0c8d799e9cd",
                        "principal": "sns.amazonaws.com",
                        "sourceArn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
                    },
                    "outputs": {
                        "action": "lambda:invokeFunction",
                        "function": "countDown_watcher-560cf0c8d799e9cd",
                        "id": "countDown_watcher-aa73943ce15ac420",
                        "principal": "sns.amazonaws.com",
                        "qualifier": "",
                        "sourceArn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
                        "statementId": "countDown_watcher-aa73943ce15ac420"
                    },
                    "propertyDependencies": {
                        "action": null,
                        "function": null,
                        "principal": null,
                        "sourceArn": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:sns/topicSubscription:TopicSubscription::countDown_watcher",
                    "custom": true,
                    "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
                    "type": "aws:sns/topicSubscription:TopicSubscription",
                    "inputs": {
                        "endpoint": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
                        "protocol": "lambda",
                        "topic": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
                    },
                    "outputs": {
                        "arn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
                        "confirmationTimeoutInMinutes": "1",
                        "endpoint": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
                        "endpointAutoConfirms": false,
                        "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
                        "protocol": "lambda",
                        "rawMessageDelivery": false,
                        "topic": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
                    },
                    "propertyDependencies": {
                        "endpoint": null,
                        "protocol": null,
                        "topic": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::heartbeat-iamrole",
                    "custom": true,
                    "id": "heartbeat-iamrole-ea19407f5d1f9983",
                    "type": "aws:iam/role:Role",
                    "inputs": {
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                    },
                    "outputs": {
                        "arn": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
                        "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
                        "createDate": "2017-11-08T19:52:06Z",
                        "forceDetachPolicies": false,
                        "id": "heartbeat-iamrole-ea19407f5d1f9983",
                        "name": "heartbeat-iamrole-ea19407f5d1f9983",
                        "path": "/",
                        "uniqueId": "AROAJTGNWRNQ7OCLFKY7U"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                    "propertyDependencies": {
                        "assumeRolePolicy": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-0",
                    "custom": true,
                    "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195207299700000004",
                    "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                    "inputs": {
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "heartbeat-iamrole-ea19407f5d1f9983"
                    },
                    "outputs": {
                        "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195207299700000004",
                        "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                        "role": "heartbeat-iamrole-ea19407f5d1f9983"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                    "propertyDependencies": {
                        "policyArn": null,
                        "role": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-1",
                    "custom": true,
                    "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195208724900000005",
                    "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                    "inputs": {
                        "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
                        "role": "heartbeat-iamrole-ea19407f5d1f9983"
                    },
                    "outputs": {
                        "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195208724900000005",
                        "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
                        "role": "heartbeat-iamrole-ea19407f5d1f9983"
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                    "propertyDependencies": {
                        "policyArn": null,
                        "role": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::heartbeat",
                    "custom": true,
                    "id": "heartbeat-5614fce52cdefed1",
                    "type": "aws:lambda/function:Function",
                    "inputs": {
                        "code": {
                            "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                            "assets": {
                                ".": {
                                    "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
                                    "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
                                    "path": "."
                                },
                                "__index.js": {
                                    "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
                                    "hash": "a468f1c8c9ab41698856ed3792332e6b5777feaed065a53649bdb060cf7f3230",
                                    "text": "exports.handler = __a455c2c731f5040281af02a4818453f11f0b328b;\n\nfunction __a455c2c731f5040281af02a4818453f11f0b328b() {\n  var _this;\n  with({ handler: __cc09ee843518b38f3cd7adfbed024016fa68320d }) {\n    return (function() {\n\nreturn ((ev, ctx, cb) =\u003e {\n                handler().then(() =\u003e {\n                    cb(null, null);\n                }).catch((err) =\u003e {\n                    cb(err, null);\n                });\n            })\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __cc09ee843518b38f3cd7adfbed024016fa68320d() {\n  var _this;\n  with({ __awaiter: __492fe142c8be132f2ccfdc443ed720d77b1ef3a6, countDown: { children: [ { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" } ], urn: \"urn:pulumi:foo::countdown::cloud:topic:Topic::countDown\", name: \"countDown\", topic: { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" }, publish: __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a } }) {\n    return (function() {\n\nreturn (() =\u003e __awaiter(this, void 0, void 0, function* () {\n    yield countDown.publish(25);\n}))\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __492fe142c8be132f2ccfdc443ed720d77b1ef3a6() {\n  var _this;\n  with({  }) {\n    return (function() {\n\nreturn (function (thisArg, _arguments, P, generator) {\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n})\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\nfunction __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a() {\n  var _this;\n  with({ _this: { children: [ { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" } ], urn: \"urn:pulumi:foo::countdown::cloud:topic:Topic::countDown\", name: \"countDown\", topic: { children: [  ], urn: \"urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown\", id: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\", displayName: \"\", name: \"countDown-9d430501c4510322\", policy: \"{\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"SNS:GetTopicAttributes\\\",\\\"SNS:SetTopicAttributes\\\",\\\"SNS:AddPermission\\\",\\\"SNS:RemovePermission\\\",\\\"SNS:DeleteTopic\\\",\\\"SNS:Subscribe\\\",\\\"SNS:ListSubscriptionsByTopic\\\",\\\"SNS:Publish\\\",\\\"SNS:Receive\\\"],\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"AWS:SourceOwner\\\":\\\"153052954103\\\"}},\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"AWS\\\":\\\"*\\\"},\\\"Resource\\\":\\\"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\\\",\\\"Sid\\\":\\\"__default_statement_ID\\\"}],\\\"Version\\\":\\\"2008-10-17\\\"}\", arn: \"arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322\" }, publish: __b95cc3f572fd6cfdf970cdf7bf3f1b0f8d88700a } }) {\n    return (function() {\n\nreturn ((item) =\u003e {\n            const awssdk = require(\"aws-sdk\");\n            const snsconn = new awssdk.SNS();\n            return snsconn.publish({\n                Message: JSON.stringify(item),\n                TopicArn: this.topic.id,\n            }).promise();\n        })\n\n    }).apply(_this).apply(this, arguments);\n  }\n}\n\n"
                                }
                            },
                            "hash": "28d308ff48619077125cb154436fed798c678ede238fc09aad199252747bb9af"
                        },
                        "deadLetterConfig": [
                            {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            }
                        ],
                        "handler": "__index.handler",
                        "memorySize": 128,
                        "role": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
                        "runtime": "nodejs6.10",
                        "timeout": 180
                    },
                    "outputs": {
                        "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
                        "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive024127571",
                        "deadLetterConfig": [
                            {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            }
                        ],
                        "description": "",
                        "environment": [],
                        "handler": "__index.handler",
                        "id": "heartbeat-5614fce52cdefed1",
                        "invokeArn": "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1/invocations",
                        "kmsKeyArn": "",
                        "lastModified": "2017-11-08T19:52:20.380+0000",
                        "memorySize": "128",
                        "name": "heartbeat-5614fce52cdefed1",
                        "publish": false,
                        "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1:$LATEST",
                        "role": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
                        "runtime": "nodejs6.10",
                        "sourceCodeHash": "H7sZcBf1/eLXcG/KVqmj6frm09XMQkpiLPaf2WEpLUs=",
                        "tags": {},
                        "timeout": "180",
                        "tracingConfig": [
                            {
                                "mode": "PassThrough"
                            }
                        ],
                        "version": "$LATEST",
                        "vpcConfig": []
                    },
                    "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                    "propertyDependencies": {
                        "code": null,
                        "deadLetterConfig": null,
                        "handler": null,
                        "memorySize": null,
                        "role": null,
                        "runtime": null,
                        "timeout": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                    "custom": false,
                    "type": "aws:serverless:Function",
                    "inputs": {
                        "options": {
                            "deadLetterConfig": {
                                "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
                            },
                            "memorySize": 128,
                            "policies": [
                                "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
                                "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess"
                            ]
                        }
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                    "propertyDependencies": {
                        "options": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logGroup:LogGroup::heartbeat-func-logs",
                    "custom": true,
                    "id": "/aws/lambda/heartbeat-5614fce52cdefed1",
                    "type": "aws:cloudwatch/logGroup:LogGroup",
                    "inputs": {
                        "name": "/aws/lambda/heartbeat-5614fce52cdefed1",
                        "retentionInDays": 1
                    },
                    "outputs": {
                        "arn": "arn:aws:logs:us-east-2:153052954103:log-group:/aws/lambda/heartbeat-5614fce52cdefed1:*",
                        "id": "/aws/lambda/heartbeat-5614fce52cdefed1",
                        "name": "/aws/lambda/heartbeat-5614fce52cdefed1",
                        "retentionInDays": "1",
                        "tags": {}
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                    "propertyDependencies": {
                        "name": null,
                        "retentionInDays": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::heartbeat",
                    "custom": true,
                    "id": "cwlsf-2719389737",
                    "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
                    "inputs": {
                        "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                        "filterPattern": "",
                        "logGroup": "/aws/lambda/heartbeat-5614fce52cdefed1"
                    },
                    "outputs": {
                        "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                        "filterPattern": "",
                        "id": "cwlsf-2719389737",
                        "logGroup": "/aws/lambda/heartbeat-5614fce52cdefed1",
                        "name": "heartbeat-26ff913c249c7734"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                    "propertyDependencies": {
                        "destinationArn": null,
                        "filterPattern": null,
                        "logGroup": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                    "custom": false,
                    "type": "cloud:function:Function",
                    "inputs": {
                        "handler": {}
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                    "propertyDependencies": {
                        "handler": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventRule:EventRule::heartbeat",
                    "custom": true,
                    "id": "heartbeat-c7779a3d5f53ed1e",
                    "type": "aws:cloudwatch/eventRule:EventRule",
                    "inputs": {
                        "scheduleExpression": "rate(5 minutes)"
                    },
                    "outputs": {
                        "arn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e",
                        "description": "",
                        "id": "heartbeat-c7779a3d5f53ed1e",
                        "isEnabled": true,
                        "name": "heartbeat-c7779a3d5f53ed1e",
                        "roleArn": "",
                        "scheduleExpression": "rate(5 minutes)"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                    "propertyDependencies": {
                        "scheduleExpression": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventTarget:EventTarget::heartbeat",
                    "custom": true,
                    "id": "heartbeat-c7779a3d5f53ed1e-heartbeat",
                    "type": "aws:cloudwatch/eventTarget:EventTarget",
                    "inputs": {
                        "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
                        "rule": "heartbeat-c7779a3d5f53ed1e",
                        "targetId": "heartbeat"
                    },
                    "outputs": {
                        "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
                        "id": "heartbeat-c7779a3d5f53ed1e-heartbeat",
                        "input": "",
                        "inputPath": "",
                        "roleArn": "",
                        "rule": "heartbeat-c7779a3d5f53ed1e",
                        "targetId": "heartbeat"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                    "propertyDependencies": {
                        "arn": null,
                        "rule": null,
                        "targetId": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::heartbeat",
                    "custom": true,
                    "id": "heartbeat-15d43252e0160c80",
                    "type": "aws:lambda/permission:Permission",
                    "inputs": {
                        "action": "lambda:invokeFunction",
                        "function": "heartbeat-5614fce52cdefed1",
                        "principal": "events.amazonaws.com",
                        "sourceArn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e"
                    },
                    "outputs": {
                        "action": "lambda:invokeFunction",
                        "function": "heartbeat-5614fce52cdefed1",
                        "id": "heartbeat-15d43252e0160c80",
                        "principal": "events.amazonaws.com",
                        "qualifier": "",
                        "sourceArn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e",
                        "statementId": "heartbeat-15d43252e0160c80"
                    },
                    "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                    "propertyDependencies": {
                        "action": null,
                        "function": null,
                        "principal": null,
                        "sourceArn": null
                    }
                },
                {
                    "urn": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                    "custom": false,
                    "type": "cloud:timer:Timer",
                    "inputs": {
                        "scheduleExpression": "rate(5 minutes)"
                    },
                    "propertyDependencies": {
                        "scheduleExpression": null
                    }
                }
            ]
        }
    }
}