github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/resource/stack/testdata/checkpoint-v3.json (about)

     1  {
     2      "version": 3,
     3      "checkpoint": {
     4          "stack": "",
     5          "latest": {
     6              "manifest": {
     7                  "time": "0001-01-01T00:00:00Z",
     8                  "magic": "",
     9                  "version": ""
    10              },
    11              "secrets_providers": {
    12                  "type": "b64",
    13                  "state": {}
    14              },
    15              "resources": [
    16                  {
    17                      "urn": "urn:pulumi:foo::countdown::aws:sns/topic:Topic::countDown",
    18                      "custom": true,
    19                      "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
    20                      "type": "aws:sns/topic:Topic",
    21                      "outputs": {
    22                          "arn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
    23                          "displayName": "",
    24                          "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
    25                          "name": "countDown-9d430501c4510322",
    26                          "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\"}"
    27                      },
    28                      "parent": "urn:pulumi:foo::countdown::cloud:topic:Topic::countDown"
    29                  },
    30                  {
    31                      "urn": "urn:pulumi:foo::countdown::cloud:topic:Topic::countDown",
    32                      "custom": false,
    33                      "type": "cloud:topic:Topic"
    34                  },
    35                  {
    36                      "urn": "urn:pulumi:foo::countdown::aws:sns/topic:Topic::unhandled-error-topic",
    37                      "custom": true,
    38                      "id": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
    39                      "type": "aws:sns/topic:Topic",
    40                      "outputs": {
    41                          "arn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
    42                          "displayName": "",
    43                          "id": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715",
    44                          "name": "unhandled-error-topic-ddd8c2cd9a876715",
    45                          "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\"}"
    46                      }
    47                  },
    48                  {
    49                      "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::countDown_watcher-iamrole",
    50                      "custom": true,
    51                      "id": "countDown_watcher-iamrole-bf695eb09a5c3e28",
    52                      "type": "aws:iam/role:Role",
    53                      "inputs": {
    54                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
    55                      },
    56                      "outputs": {
    57                          "arn": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
    58                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
    59                          "createDate": "2017-11-08T19:51:32Z",
    60                          "forceDetachPolicies": false,
    61                          "id": "countDown_watcher-iamrole-bf695eb09a5c3e28",
    62                          "name": "countDown_watcher-iamrole-bf695eb09a5c3e28",
    63                          "path": "/",
    64                          "uniqueId": "AROAJBQANPFEXFW2SEVJM"
    65                      },
    66                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
    67                      "propertyDependencies": {
    68                          "assumeRolePolicy": null
    69                      }
    70                  },
    71                  {
    72                      "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::countDown_watcher-iampolicy-0",
    73                      "custom": true,
    74                      "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195133331200000001",
    75                      "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
    76                      "inputs": {
    77                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
    78                          "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
    79                      },
    80                      "outputs": {
    81                          "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195133331200000001",
    82                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
    83                          "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
    84                      },
    85                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
    86                      "propertyDependencies": {
    87                          "policyArn": null,
    88                          "role": null
    89                      }
    90                  },
    91                  {
    92                      "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::countDown_watcher-iampolicy-1",
    93                      "custom": true,
    94                      "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195134625700000002",
    95                      "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
    96                      "inputs": {
    97                          "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
    98                          "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
    99                      },
   100                      "outputs": {
   101                          "id": "countDown_watcher-iamrole-bf695eb09a5c3e28-20171108195134625700000002",
   102                          "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
   103                          "role": "countDown_watcher-iamrole-bf695eb09a5c3e28"
   104                      },
   105                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
   106                      "propertyDependencies": {
   107                          "policyArn": null,
   108                          "role": null
   109                      }
   110                  },
   111                  {
   112                      "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::countDown_watcher",
   113                      "custom": true,
   114                      "id": "countDown_watcher-560cf0c8d799e9cd",
   115                      "type": "aws:lambda/function:Function",
   116                      "inputs": {
   117                          "code": {
   118                              "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   119                              "assets": {
   120                                  ".": {
   121                                      "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   122                                      "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
   123                                      "path": "."
   124                                  },
   125                                  "__index.js": {
   126                                      "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
   127                                      "hash": "2379662c18737708ce800361028a4bb5cc1d3ea619d90ec50811e299e465307a",
   128                                      "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"
   129                                  }
   130                              },
   131                              "hash": "b9d3b221cf1e03db6f40d62bddaa4087764f26f0b68c0e3aaf02a1d7921ea9a5"
   132                          },
   133                          "deadLetterConfig": [
   134                              {
   135                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   136                              }
   137                          ],
   138                          "handler": "__index.handler",
   139                          "memorySize": 128,
   140                          "role": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
   141                          "runtime": "nodejs6.10",
   142                          "timeout": 180
   143                      },
   144                      "outputs": {
   145                          "arn": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
   146                          "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive203107759",
   147                          "deadLetterConfig": [
   148                              {
   149                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   150                              }
   151                          ],
   152                          "description": "",
   153                          "environment": [],
   154                          "handler": "__index.handler",
   155                          "id": "countDown_watcher-560cf0c8d799e9cd",
   156                          "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",
   157                          "kmsKeyArn": "",
   158                          "lastModified": "2017-11-08T19:51:46.320+0000",
   159                          "memorySize": "128",
   160                          "name": "countDown_watcher-560cf0c8d799e9cd",
   161                          "publish": false,
   162                          "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd:$LATEST",
   163                          "role": "arn:aws:iam::153052954103:role/countDown_watcher-iamrole-bf695eb09a5c3e28",
   164                          "runtime": "nodejs6.10",
   165                          "sourceCodeHash": "4t/d32Qvj5j7gHSYFhXKoroGD1NDBKC7wsr1mmPB3AM=",
   166                          "tags": {},
   167                          "timeout": "180",
   168                          "tracingConfig": [
   169                              {
   170                                  "mode": "PassThrough"
   171                              }
   172                          ],
   173                          "version": "$LATEST",
   174                          "vpcConfig": []
   175                      },
   176                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
   177                      "propertyDependencies": {
   178                          "code": null,
   179                          "deadLetterConfig": null,
   180                          "handler": null,
   181                          "memorySize": null,
   182                          "role": null,
   183                          "runtime": null,
   184                          "timeout": null
   185                      }
   186                  },
   187                  {
   188                      "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::countDown_watcher",
   189                      "custom": false,
   190                      "type": "aws:serverless:Function",
   191                      "inputs": {
   192                          "options": {
   193                              "deadLetterConfig": {
   194                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   195                              },
   196                              "memorySize": 128,
   197                              "policies": [
   198                                  "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   199                                  "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess"
   200                              ]
   201                          }
   202                      },
   203                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
   204                      "propertyDependencies": {
   205                          "options": null
   206                      }
   207                  },
   208                  {
   209                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logGroup:LogGroup::countDown_watcher-func-logs",
   210                      "custom": true,
   211                      "id": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
   212                      "type": "aws:cloudwatch/logGroup:LogGroup",
   213                      "inputs": {
   214                          "name": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
   215                          "retentionInDays": 1
   216                      },
   217                      "outputs": {
   218                          "arn": "arn:aws:logs:us-east-2:153052954103:log-group:/aws/lambda/countDown_watcher-560cf0c8d799e9cd:*",
   219                          "id": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
   220                          "name": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
   221                          "retentionInDays": "1",
   222                          "tags": {}
   223                      },
   224                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
   225                      "propertyDependencies": {
   226                          "name": null,
   227                          "retentionInDays": null
   228                      }
   229                  },
   230                  {
   231                      "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::pulumi-foo-log-collector-iamrole",
   232                      "custom": true,
   233                      "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   234                      "type": "aws:iam/role:Role",
   235                      "inputs": {
   236                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
   237                      },
   238                      "outputs": {
   239                          "arn": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   240                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
   241                          "createDate": "2017-11-08T19:51:49Z",
   242                          "forceDetachPolicies": false,
   243                          "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   244                          "name": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   245                          "path": "/",
   246                          "uniqueId": "AROAIQAQPEUAL7EJ3HOZM"
   247                      },
   248                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
   249                      "propertyDependencies": {
   250                          "assumeRolePolicy": null
   251                      }
   252                  },
   253                  {
   254                      "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::pulumi-foo-log-collector-iampolicy-0",
   255                      "custom": true,
   256                      "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07-20171108195150465100000003",
   257                      "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
   258                      "inputs": {
   259                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   260                          "role": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07"
   261                      },
   262                      "outputs": {
   263                          "id": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07-20171108195150465100000003",
   264                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   265                          "role": "pulumi-foo-log-collector-iamrole-be795575fd1fcf07"
   266                      },
   267                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
   268                      "propertyDependencies": {
   269                          "policyArn": null,
   270                          "role": null
   271                      }
   272                  },
   273                  {
   274                      "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::pulumi-foo-log-collector",
   275                      "custom": true,
   276                      "id": "pulumi-foo-log-collector-2c23bf214eaacce8",
   277                      "type": "aws:lambda/function:Function",
   278                      "inputs": {
   279                          "code": {
   280                              "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   281                              "assets": {
   282                                  ".": {
   283                                      "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   284                                      "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
   285                                      "path": "."
   286                                  },
   287                                  "__index.js": {
   288                                      "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
   289                                      "hash": "371d4d8ead106550e5d7e2d0c02dd2e479dba060c765e09f98840fdfe73ea824",
   290                                      "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"
   291                                  }
   292                              },
   293                              "hash": "8a00ca481f85fe64b20537ac86fcb551b471dcfbff8c4623927d4654cd8a4ed2"
   294                          },
   295                          "handler": "__index.handler",
   296                          "role": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   297                          "runtime": "nodejs6.10",
   298                          "timeout": 180
   299                      },
   300                      "outputs": {
   301                          "arn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
   302                          "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive938160569",
   303                          "deadLetterConfig": [],
   304                          "description": "",
   305                          "environment": [],
   306                          "handler": "__index.handler",
   307                          "id": "pulumi-foo-log-collector-2c23bf214eaacce8",
   308                          "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",
   309                          "kmsKeyArn": "",
   310                          "lastModified": "2017-11-08T19:52:01.821+0000",
   311                          "memorySize": "128",
   312                          "name": "pulumi-foo-log-collector-2c23bf214eaacce8",
   313                          "publish": false,
   314                          "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8:$LATEST",
   315                          "role": "arn:aws:iam::153052954103:role/pulumi-foo-log-collector-iamrole-be795575fd1fcf07",
   316                          "runtime": "nodejs6.10",
   317                          "sourceCodeHash": "ZFzSi0OvUjtU4arIaBHfsxusBAoknUjiAxUTAB6U9oA=",
   318                          "tags": {},
   319                          "timeout": "180",
   320                          "tracingConfig": [
   321                              {
   322                                  "mode": "PassThrough"
   323                              }
   324                          ],
   325                          "version": "$LATEST",
   326                          "vpcConfig": []
   327                      },
   328                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
   329                      "propertyDependencies": {
   330                          "code": null,
   331                          "handler": null,
   332                          "role": null,
   333                          "runtime": null,
   334                          "timeout": null
   335                      }
   336                  },
   337                  {
   338                      "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::pulumi-foo-log-collector",
   339                      "custom": false,
   340                      "type": "aws:serverless:Function",
   341                      "inputs": {
   342                          "options": {
   343                              "policies": [
   344                                  "arn:aws:iam::aws:policy/AWSLambdaFullAccess"
   345                              ]
   346                          }
   347                      },
   348                      "propertyDependencies": {
   349                          "options": null
   350                      }
   351                  },
   352                  {
   353                      "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::pulumi-foo-log-collector",
   354                      "custom": true,
   355                      "id": "pulumi-foo-log-collector-ba2b0a268e749fe6",
   356                      "type": "aws:lambda/permission:Permission",
   357                      "inputs": {
   358                          "action": "lambda:invokeFunction",
   359                          "function": "pulumi-foo-log-collector-2c23bf214eaacce8",
   360                          "principal": "logs.us-east-2.amazonaws.com"
   361                      },
   362                      "outputs": {
   363                          "action": "lambda:invokeFunction",
   364                          "function": "pulumi-foo-log-collector-2c23bf214eaacce8",
   365                          "id": "pulumi-foo-log-collector-ba2b0a268e749fe6",
   366                          "principal": "logs.us-east-2.amazonaws.com",
   367                          "qualifier": "",
   368                          "statementId": "pulumi-foo-log-collector-ba2b0a268e749fe6"
   369                      },
   370                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
   371                      "propertyDependencies": {
   372                          "action": null,
   373                          "function": null,
   374                          "principal": null
   375                      }
   376                  },
   377                  {
   378                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::countDown_watcher",
   379                      "custom": true,
   380                      "id": "cwlsf-2481582075",
   381                      "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
   382                      "inputs": {
   383                          "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
   384                          "filterPattern": "",
   385                          "logGroup": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd"
   386                      },
   387                      "outputs": {
   388                          "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
   389                          "filterPattern": "",
   390                          "id": "cwlsf-2481582075",
   391                          "logGroup": "/aws/lambda/countDown_watcher-560cf0c8d799e9cd",
   392                          "name": "countDown_watcher-57808b716bf46c1d"
   393                      },
   394                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
   395                      "propertyDependencies": {
   396                          "destinationArn": null,
   397                          "filterPattern": null,
   398                          "logGroup": null
   399                      }
   400                  },
   401                  {
   402                      "urn": "urn:pulumi:foo::countdown::cloud:function:Function::countDown_watcher",
   403                      "custom": false,
   404                      "type": "cloud:function:Function",
   405                      "inputs": {
   406                          "handler": {}
   407                      },
   408                      "propertyDependencies": {
   409                          "handler": null
   410                      }
   411                  },
   412                  {
   413                      "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::countDown_watcher",
   414                      "custom": true,
   415                      "id": "countDown_watcher-aa73943ce15ac420",
   416                      "type": "aws:lambda/permission:Permission",
   417                      "inputs": {
   418                          "action": "lambda:invokeFunction",
   419                          "function": "countDown_watcher-560cf0c8d799e9cd",
   420                          "principal": "sns.amazonaws.com",
   421                          "sourceArn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
   422                      },
   423                      "outputs": {
   424                          "action": "lambda:invokeFunction",
   425                          "function": "countDown_watcher-560cf0c8d799e9cd",
   426                          "id": "countDown_watcher-aa73943ce15ac420",
   427                          "principal": "sns.amazonaws.com",
   428                          "qualifier": "",
   429                          "sourceArn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322",
   430                          "statementId": "countDown_watcher-aa73943ce15ac420"
   431                      },
   432                      "propertyDependencies": {
   433                          "action": null,
   434                          "function": null,
   435                          "principal": null,
   436                          "sourceArn": null
   437                      }
   438                  },
   439                  {
   440                      "urn": "urn:pulumi:foo::countdown::aws:sns/topicSubscription:TopicSubscription::countDown_watcher",
   441                      "custom": true,
   442                      "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
   443                      "type": "aws:sns/topicSubscription:TopicSubscription",
   444                      "inputs": {
   445                          "endpoint": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
   446                          "protocol": "lambda",
   447                          "topic": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
   448                      },
   449                      "outputs": {
   450                          "arn": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
   451                          "confirmationTimeoutInMinutes": "1",
   452                          "endpoint": "arn:aws:lambda:us-east-2:153052954103:function:countDown_watcher-560cf0c8d799e9cd",
   453                          "endpointAutoConfirms": false,
   454                          "id": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322:c4790d7c-8106-438a-b368-cc7ade3eefc8",
   455                          "protocol": "lambda",
   456                          "rawMessageDelivery": false,
   457                          "topic": "arn:aws:sns:us-east-2:153052954103:countDown-9d430501c4510322"
   458                      },
   459                      "propertyDependencies": {
   460                          "endpoint": null,
   461                          "protocol": null,
   462                          "topic": null
   463                      }
   464                  },
   465                  {
   466                      "urn": "urn:pulumi:foo::countdown::aws:iam/role:Role::heartbeat-iamrole",
   467                      "custom": true,
   468                      "id": "heartbeat-iamrole-ea19407f5d1f9983",
   469                      "type": "aws:iam/role:Role",
   470                      "inputs": {
   471                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Effect\":\"Allow\",\"Sid\":\"\"}]}"
   472                      },
   473                      "outputs": {
   474                          "arn": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
   475                          "assumeRolePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"lambda.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}",
   476                          "createDate": "2017-11-08T19:52:06Z",
   477                          "forceDetachPolicies": false,
   478                          "id": "heartbeat-iamrole-ea19407f5d1f9983",
   479                          "name": "heartbeat-iamrole-ea19407f5d1f9983",
   480                          "path": "/",
   481                          "uniqueId": "AROAJTGNWRNQ7OCLFKY7U"
   482                      },
   483                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
   484                      "propertyDependencies": {
   485                          "assumeRolePolicy": null
   486                      }
   487                  },
   488                  {
   489                      "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-0",
   490                      "custom": true,
   491                      "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195207299700000004",
   492                      "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
   493                      "inputs": {
   494                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   495                          "role": "heartbeat-iamrole-ea19407f5d1f9983"
   496                      },
   497                      "outputs": {
   498                          "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195207299700000004",
   499                          "policyArn": "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   500                          "role": "heartbeat-iamrole-ea19407f5d1f9983"
   501                      },
   502                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
   503                      "propertyDependencies": {
   504                          "policyArn": null,
   505                          "role": null
   506                      }
   507                  },
   508                  {
   509                      "urn": "urn:pulumi:foo::countdown::aws:iam/rolePolicyAttachment:RolePolicyAttachment::heartbeat-iampolicy-1",
   510                      "custom": true,
   511                      "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195208724900000005",
   512                      "type": "aws:iam/rolePolicyAttachment:RolePolicyAttachment",
   513                      "inputs": {
   514                          "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
   515                          "role": "heartbeat-iamrole-ea19407f5d1f9983"
   516                      },
   517                      "outputs": {
   518                          "id": "heartbeat-iamrole-ea19407f5d1f9983-20171108195208724900000005",
   519                          "policyArn": "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess",
   520                          "role": "heartbeat-iamrole-ea19407f5d1f9983"
   521                      },
   522                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
   523                      "propertyDependencies": {
   524                          "policyArn": null,
   525                          "role": null
   526                      }
   527                  },
   528                  {
   529                      "urn": "urn:pulumi:foo::countdown::aws:lambda/function:Function::heartbeat",
   530                      "custom": true,
   531                      "id": "heartbeat-5614fce52cdefed1",
   532                      "type": "aws:lambda/function:Function",
   533                      "inputs": {
   534                          "code": {
   535                              "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   536                              "assets": {
   537                                  ".": {
   538                                      "4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
   539                                      "hash": "f82fadd12aa67ab9211a7ce021206fc288f10df32d3009291171be2a836cf47b",
   540                                      "path": "."
   541                                  },
   542                                  "__index.js": {
   543                                      "4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
   544                                      "hash": "a468f1c8c9ab41698856ed3792332e6b5777feaed065a53649bdb060cf7f3230",
   545                                      "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"
   546                                  }
   547                              },
   548                              "hash": "28d308ff48619077125cb154436fed798c678ede238fc09aad199252747bb9af"
   549                          },
   550                          "deadLetterConfig": [
   551                              {
   552                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   553                              }
   554                          ],
   555                          "handler": "__index.handler",
   556                          "memorySize": 128,
   557                          "role": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
   558                          "runtime": "nodejs6.10",
   559                          "timeout": 180
   560                      },
   561                      "outputs": {
   562                          "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
   563                          "code": "/var/folders/h7/n3r2j28517g5bbvlkn1l_h_80000gn/T/pulumi-archive024127571",
   564                          "deadLetterConfig": [
   565                              {
   566                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   567                              }
   568                          ],
   569                          "description": "",
   570                          "environment": [],
   571                          "handler": "__index.handler",
   572                          "id": "heartbeat-5614fce52cdefed1",
   573                          "invokeArn": "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1/invocations",
   574                          "kmsKeyArn": "",
   575                          "lastModified": "2017-11-08T19:52:20.380+0000",
   576                          "memorySize": "128",
   577                          "name": "heartbeat-5614fce52cdefed1",
   578                          "publish": false,
   579                          "qualifiedArn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1:$LATEST",
   580                          "role": "arn:aws:iam::153052954103:role/heartbeat-iamrole-ea19407f5d1f9983",
   581                          "runtime": "nodejs6.10",
   582                          "sourceCodeHash": "H7sZcBf1/eLXcG/KVqmj6frm09XMQkpiLPaf2WEpLUs=",
   583                          "tags": {},
   584                          "timeout": "180",
   585                          "tracingConfig": [
   586                              {
   587                                  "mode": "PassThrough"
   588                              }
   589                          ],
   590                          "version": "$LATEST",
   591                          "vpcConfig": []
   592                      },
   593                      "parent": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
   594                      "propertyDependencies": {
   595                          "code": null,
   596                          "deadLetterConfig": null,
   597                          "handler": null,
   598                          "memorySize": null,
   599                          "role": null,
   600                          "runtime": null,
   601                          "timeout": null
   602                      }
   603                  },
   604                  {
   605                      "urn": "urn:pulumi:foo::countdown::aws:serverless:Function::heartbeat",
   606                      "custom": false,
   607                      "type": "aws:serverless:Function",
   608                      "inputs": {
   609                          "options": {
   610                              "deadLetterConfig": {
   611                                  "targetArn": "arn:aws:sns:us-east-2:153052954103:unhandled-error-topic-ddd8c2cd9a876715"
   612                              },
   613                              "memorySize": 128,
   614                              "policies": [
   615                                  "arn:aws:iam::aws:policy/AWSLambdaFullAccess",
   616                                  "arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess"
   617                              ]
   618                          }
   619                      },
   620                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
   621                      "propertyDependencies": {
   622                          "options": null
   623                      }
   624                  },
   625                  {
   626                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logGroup:LogGroup::heartbeat-func-logs",
   627                      "custom": true,
   628                      "id": "/aws/lambda/heartbeat-5614fce52cdefed1",
   629                      "type": "aws:cloudwatch/logGroup:LogGroup",
   630                      "inputs": {
   631                          "name": "/aws/lambda/heartbeat-5614fce52cdefed1",
   632                          "retentionInDays": 1
   633                      },
   634                      "outputs": {
   635                          "arn": "arn:aws:logs:us-east-2:153052954103:log-group:/aws/lambda/heartbeat-5614fce52cdefed1:*",
   636                          "id": "/aws/lambda/heartbeat-5614fce52cdefed1",
   637                          "name": "/aws/lambda/heartbeat-5614fce52cdefed1",
   638                          "retentionInDays": "1",
   639                          "tags": {}
   640                      },
   641                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
   642                      "propertyDependencies": {
   643                          "name": null,
   644                          "retentionInDays": null
   645                      }
   646                  },
   647                  {
   648                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter::heartbeat",
   649                      "custom": true,
   650                      "id": "cwlsf-2719389737",
   651                      "type": "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter",
   652                      "inputs": {
   653                          "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
   654                          "filterPattern": "",
   655                          "logGroup": "/aws/lambda/heartbeat-5614fce52cdefed1"
   656                      },
   657                      "outputs": {
   658                          "destinationArn": "arn:aws:lambda:us-east-2:153052954103:function:pulumi-foo-log-collector-2c23bf214eaacce8",
   659                          "filterPattern": "",
   660                          "id": "cwlsf-2719389737",
   661                          "logGroup": "/aws/lambda/heartbeat-5614fce52cdefed1",
   662                          "name": "heartbeat-26ff913c249c7734"
   663                      },
   664                      "parent": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
   665                      "propertyDependencies": {
   666                          "destinationArn": null,
   667                          "filterPattern": null,
   668                          "logGroup": null
   669                      }
   670                  },
   671                  {
   672                      "urn": "urn:pulumi:foo::countdown::cloud:function:Function::heartbeat",
   673                      "custom": false,
   674                      "type": "cloud:function:Function",
   675                      "inputs": {
   676                          "handler": {}
   677                      },
   678                      "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
   679                      "propertyDependencies": {
   680                          "handler": null
   681                      }
   682                  },
   683                  {
   684                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventRule:EventRule::heartbeat",
   685                      "custom": true,
   686                      "id": "heartbeat-c7779a3d5f53ed1e",
   687                      "type": "aws:cloudwatch/eventRule:EventRule",
   688                      "inputs": {
   689                          "scheduleExpression": "rate(5 minutes)"
   690                      },
   691                      "outputs": {
   692                          "arn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e",
   693                          "description": "",
   694                          "id": "heartbeat-c7779a3d5f53ed1e",
   695                          "isEnabled": true,
   696                          "name": "heartbeat-c7779a3d5f53ed1e",
   697                          "roleArn": "",
   698                          "scheduleExpression": "rate(5 minutes)"
   699                      },
   700                      "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
   701                      "propertyDependencies": {
   702                          "scheduleExpression": null
   703                      }
   704                  },
   705                  {
   706                      "urn": "urn:pulumi:foo::countdown::aws:cloudwatch/eventTarget:EventTarget::heartbeat",
   707                      "custom": true,
   708                      "id": "heartbeat-c7779a3d5f53ed1e-heartbeat",
   709                      "type": "aws:cloudwatch/eventTarget:EventTarget",
   710                      "inputs": {
   711                          "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
   712                          "rule": "heartbeat-c7779a3d5f53ed1e",
   713                          "targetId": "heartbeat"
   714                      },
   715                      "outputs": {
   716                          "arn": "arn:aws:lambda:us-east-2:153052954103:function:heartbeat-5614fce52cdefed1",
   717                          "id": "heartbeat-c7779a3d5f53ed1e-heartbeat",
   718                          "input": "",
   719                          "inputPath": "",
   720                          "roleArn": "",
   721                          "rule": "heartbeat-c7779a3d5f53ed1e",
   722                          "targetId": "heartbeat"
   723                      },
   724                      "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
   725                      "propertyDependencies": {
   726                          "arn": null,
   727                          "rule": null,
   728                          "targetId": null
   729                      }
   730                  },
   731                  {
   732                      "urn": "urn:pulumi:foo::countdown::aws:lambda/permission:Permission::heartbeat",
   733                      "custom": true,
   734                      "id": "heartbeat-15d43252e0160c80",
   735                      "type": "aws:lambda/permission:Permission",
   736                      "inputs": {
   737                          "action": "lambda:invokeFunction",
   738                          "function": "heartbeat-5614fce52cdefed1",
   739                          "principal": "events.amazonaws.com",
   740                          "sourceArn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e"
   741                      },
   742                      "outputs": {
   743                          "action": "lambda:invokeFunction",
   744                          "function": "heartbeat-5614fce52cdefed1",
   745                          "id": "heartbeat-15d43252e0160c80",
   746                          "principal": "events.amazonaws.com",
   747                          "qualifier": "",
   748                          "sourceArn": "arn:aws:events:us-east-2:153052954103:rule/heartbeat-c7779a3d5f53ed1e",
   749                          "statementId": "heartbeat-15d43252e0160c80"
   750                      },
   751                      "parent": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
   752                      "propertyDependencies": {
   753                          "action": null,
   754                          "function": null,
   755                          "principal": null,
   756                          "sourceArn": null
   757                      }
   758                  },
   759                  {
   760                      "urn": "urn:pulumi:foo::countdown::cloud:timer:Timer::heartbeat",
   761                      "custom": false,
   762                      "type": "cloud:timer:Timer",
   763                      "inputs": {
   764                          "scheduleExpression": "rate(5 minutes)"
   765                      },
   766                      "propertyDependencies": {
   767                          "scheduleExpression": null
   768                      }
   769                  }
   770              ]
   771          }
   772      }
   773  }