{
    "target": "foo",
    "latest": {
        "time": "2017-11-08T11:52:26.954469-08:00",
        "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",
                "parent": "urn:pulumi:foo::countdown::cloud:topic:Topic::countDown",
                "defaults": {
                    "name": "countDown-9d430501c4510322"
                },
                "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\"}"
                }
            },
            {
                "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",
                "defaults": {
                    "name": "unhandled-error-topic-ddd8c2cd9a876715"
                },
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                "inputs": {
                    "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                },
                "defaults": {
                    "forceDetachPolicies": false,
                    "name": "countDown_watcher-iamrole-bf695eb09a5c3e28",
                    "path": "/"
                },
                "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"
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                "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"
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::countDown_watcher",
                "custom": true,
                "id": "countDown_watcher-560cf0c8d799e9cd",
                "type": "aws:lambda/function:Function",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                "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
                },
                "defaults": {
                    "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive025626512",
                    "memorySize": "128",
                    "name": "countDown_watcher-560cf0c8d799e9cd",
                    "publish": false,
                    "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": []
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
                "custom": false,
                "type": "aws:serverless:Function",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                "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"
                        ]
                    }
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                "inputs": {
                    "name": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
                    "retentionInDays": 1
                },
                "defaults": {
                    "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": {}
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                "inputs": {
                    "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                },
                "defaults": {
                    "forceDetachPolicies": false,
                    "name": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
                    "path": "/"
                },
                "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"
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                "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"
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
                "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
                },
                "defaults": {
                    "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive440249666",
                    "memorySize": "128",
                    "name": "pulumi-foo-log-collector-2c23bf214eaacce8",
                    "publish": false,
                    "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": []
                }
            },
            {
                "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"
                        ]
                    }
                }
            },
            {
                "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",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                "inputs": {
                    "action": "lambda:invokeFunction",
                    "function": "pulumi-foo-log-collector-2c23bf214eaacce8",
                    "principal": "logs.us-east-2.amazonaws.com"
                },
                "defaults": {
                    "statementId": "pulumi-foo-log-collector-ba2b0a268e749fe6"
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::countDown_watcher",
                "custom": true,
                "id": "cwlsf-2481582075",
                "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                "inputs": {
                    "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                    "filterPattern": "",
                    "logGroup": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd"
                },
                "defaults": {
                    "name": "countDown_watcher-57808b716bf46c1d"
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
                "custom": false,
                "type": "cloud:function:Function",
                "inputs": {
                    "handler": {}
                }
            },
            {
                "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"
                },
                "defaults": {
                    "statementId": "countDown_watcher-aa73943ce15ac420"
                },
                "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"
                }
            },
            {
                "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"
                },
                "defaults": {
                    "confirmationTimeoutInMinutes": "1",
                    "endpointAutoConfirms": false,
                    "rawMessageDelivery": false
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::heartbeat-iamrole",
                "custom": true,
                "id": "heartbeat-iamrole-ea19407f5d1f9983",
                "type": "aws:iam/role:Role",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                "inputs": {
                    "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
                },
                "defaults": {
                    "forceDetachPolicies": false,
                    "name": "heartbeat-iamrole-ea19407f5d1f9983",
                    "path": "/"
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-0",
                "custom": true,
                "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195207299700000004",
                "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-1",
                "custom": true,
                "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195208724900000005",
                "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::heartbeat",
                "custom": true,
                "id": "heartbeat-5614fce52cdefed1",
                "type": "aws:lambda/function:Function",
                "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                "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
                },
                "defaults": {
                    "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive964270020",
                    "memorySize": "128",
                    "name": "heartbeat-5614fce52cdefed1",
                    "publish": false,
                    "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": []
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
                "custom": false,
                "type": "aws:serverless:Function",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                "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"
                        ]
                    }
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logGroup:LogGroup::heartbeat-func-logs",
                "custom": true,
                "id": "/aws/lambda/heartbeat-5614fce52cdefed1",
                "type": "aws:cloudwatch/logGroup:LogGroup",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                "inputs": {
                    "name": "/aws/lambda/heartbeat-5614fce52cdefed1",
                    "retentionInDays": 1
                },
                "defaults": {
                    "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": {}
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::heartbeat",
                "custom": true,
                "id": "cwlsf-2719389737",
                "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
                "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                "inputs": {
                    "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
                    "filterPattern": "",
                    "logGroup": "/aws/lambda/heartbeat-5614fce52cdefed1"
                },
                "defaults": {
                    "name": "heartbeat-26ff913c249c7734"
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
                "custom": false,
                "type": "cloud:function:Function",
                "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                "inputs": {
                    "handler": {}
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventRule:EventRule::heartbeat",
                "custom": true,
                "id": "heartbeat-c7779a3d5f53ed1e",
                "type": "aws:cloudwatch/eventRule:EventRule",
                "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                "inputs": {
                    "scheduleExpression": "rate(5 minutes)"
                },
                "defaults": {
                    "isEnabled": true,
                    "name": "heartbeat-c7779a3d5f53ed1e"
                },
                "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)"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventTarget:EventTarget::heartbeat",
                "custom": true,
                "id": "heartbeat-c7779a3d5f53ed1e-heartbeat",
                "type": "aws:cloudwatch/eventTarget:EventTarget",
                "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::heartbeat",
                "custom": true,
                "id": "heartbeat-15d43252e0160c80",
                "type": "aws:lambda/permission:Permission",
                "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                "inputs": {
                    "action": "lambda:invokeFunction",
                    "function": "heartbeat-5614fce52cdefed1",
                    "principal": "events.amazonaws.com",
                    "sourceArn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e"
                },
                "defaults": {
                    "statementId": "heartbeat-15d43252e0160c80"
                },
                "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"
                }
            },
            {
                "urn": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
                "custom": false,
                "type": "cloud:timer:Timer",
                "inputs": {
                    "scheduleExpression": "rate(5 minutes)"
                }
            }
        ]
    }
}
