1 | var AWS = require('aws-sdk')
|
2 |
|
3 | var gateway = AWS.APIGateway
|
4 | AWS.APIGateway = function() {
|
5 | var obj = new gateway()
|
6 |
|
7 | obj.getRestApis = function(params, callback) {
|
8 | callback(null, {
|
9 | "items": [
|
10 | {
|
11 | "id": "o9kvzup3g2",
|
12 | "name": "test2",
|
13 | "description": "this is a test",
|
14 | "createdDate": "2015-12-16T18:45:15.000Z"
|
15 | }
|
16 | ]
|
17 | })
|
18 | }
|
19 |
|
20 | obj.createDeployment = function(params, callback) {
|
21 | callback(null, {
|
22 | id: 'l4nono',
|
23 | createdDate: '2015-12-16T18:45:15.000Z',
|
24 | })
|
25 | }
|
26 |
|
27 | obj.getStages = function(params, callback) {
|
28 | callback(null, {
|
29 | item:
|
30 | [
|
31 | {
|
32 | deploymentId: 'l4nono',
|
33 | stageName: 'dev',
|
34 | cacheClusterEnabled: false,
|
35 | cacheClusterStatus: 'NOT_AVAILABLE',
|
36 | methodSettings: {},
|
37 | createdDate: '2015-12-16T18:45:15.000Z',
|
38 | lastUpdatedDate: '2015-12-16T18:45:15.000Z',
|
39 | }
|
40 | ]
|
41 | })
|
42 | }
|
43 |
|
44 | obj.getResources = function(params, callback) {
|
45 | callback(null, {
|
46 | "items": [
|
47 | {
|
48 | "id": "et8yke",
|
49 | "parentId": "n8lbb78g76",
|
50 | "pathPart": "test",
|
51 | "path": "/test"
|
52 | },
|
53 | {
|
54 | "id": "n8lbb78g76",
|
55 | "path": "/",
|
56 | "resourceMethods": {
|
57 | "GET": {},
|
58 | "POST": {}
|
59 | }
|
60 | }
|
61 | ]
|
62 | })
|
63 | }
|
64 |
|
65 | obj.putMethod = function(params, callback) {
|
66 | callback(null, {
|
67 | "httpMethod": "POST",
|
68 | "authorizationType": "NONE",
|
69 | "apiKeyRequired": false
|
70 | })
|
71 | }
|
72 |
|
73 | obj.createResource = function(params, callback) {
|
74 | callback(null, {
|
75 | "id": "et8yke",
|
76 | "parentId": "n8lbb78g76",
|
77 | "pathPart": "test",
|
78 | "path": "/test"
|
79 | })
|
80 | }
|
81 |
|
82 | obj.putIntegration = function(params, callback) {
|
83 | callback(null, {
|
84 | "type": "AWS",
|
85 | "httpMethod": "POST",
|
86 | "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:551937714682:function:testFunction/invocations",
|
87 | "requestTemplates": {
|
88 | "application/json": "{\n \"querystring\" : {\n #foreach($key in $input.params().querystring.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().querystring.get($key))\"\n #end\n },\n \"header\" : {\n #foreach($key in $input.params().header.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().header.get($key))\"\n #end\n },\n \"path\" : {\n #foreach($key in $input.params().path.keySet())\n #if($foreach.index > 0), #end\n \"$util.escapeJavaScript($key)\": \"$util.escapeJavaScript($input.params().path.get($key))\"\n #end\n },\n \"body\" : $input.json('$')\n}"
|
89 | },
|
90 | "cacheNamespace": "n8lbb78g76",
|
91 | "cacheKeyParameters": []
|
92 | })
|
93 | }
|
94 |
|
95 | obj.putIntegrationResponse = function(params, callback) {
|
96 | callback(null, {
|
97 | "statusCode": "200",
|
98 | "selectionPattern": ".*",
|
99 | "responseParameters": {},
|
100 | "responseTemplates": {}
|
101 | })
|
102 | }
|
103 |
|
104 | obj.putMethodResponse = function(params, callback) {
|
105 | callback(null, {
|
106 | "statusCode": "200",
|
107 | "responseParameters": {},
|
108 | "responseModels": {}
|
109 | })
|
110 | }
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 | return obj
|
117 | }
|
118 |
|
119 | var iam = AWS.IAM
|
120 | AWS.IAM = function() {
|
121 | var obj = new iam()
|
122 |
|
123 | obj.listRoles = function(callback) {
|
124 | callback(null, {
|
125 | "ResponseMetadata": {
|
126 | "RequestId": "578b9c46-c352-11e5-a92d-cb5f21fe3353"
|
127 | },
|
128 | "Roles": [
|
129 | {
|
130 | "Path": "/",
|
131 | "RoleName": "lambda_dynamo",
|
132 | "RoleId": "RROAIARHBGRXWOH6BQHSM",
|
133 | "Arn": "arn:aws:iam::551937714682:role/lambda_dynamo",
|
134 | "CreateDate": "2016-01-19T18:30:49.000Z",
|
135 | "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D"
|
136 | }
|
137 | ]
|
138 | })
|
139 | }
|
140 |
|
141 | obj.createRole = function(params, callback) {
|
142 | callback(null, {
|
143 | "ResponseMetadata": {
|
144 | "RequestId": "4369fef8-c353-11e5-a8d3-0f8f31dffa74"
|
145 | },
|
146 | "Role": {
|
147 | "Path": "/",
|
148 | "RoleName": "lambda_dynamo2",
|
149 | "RoleId": "RROAI7EMUBAUGAASLFKVC",
|
150 | "Arn": "arn:aws:iam::551937714682:role/lambda_dynamo2",
|
151 | "CreateDate": "2016-01-25T11:03:28.684Z",
|
152 | "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D"
|
153 | }
|
154 | })
|
155 | }
|
156 |
|
157 | return obj
|
158 | }
|
159 |
|
160 | var lambda = AWS.Lambda
|
161 | AWS.Lambda = function() {
|
162 | var obj = new lambda()
|
163 |
|
164 | obj.createFunction = function(params, callback) {
|
165 | callback(null, {
|
166 | "FunctionName": "testFunction",
|
167 | "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
|
168 | "Runtime": "nodejs",
|
169 | "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
|
170 | "Handler": "index.run",
|
171 | "CodeSize": 123141,
|
172 | "Description": "",
|
173 | "Timeout": 3,
|
174 | "MemorySize": 256,
|
175 | "LastModified": "2016-01-25T11:26:18.574+0000",
|
176 | "CodeSha256": "Y5KAYRYkYV4EUjZNpUcULXeiJWgRB5wGUjXq6XeIO9Y=",
|
177 | "Version": "$LATEST"
|
178 | })
|
179 | }
|
180 |
|
181 | obj.addPermission = function(params, callback) {
|
182 | callback(null, {
|
183 | "Statement": "{\"Action\":[\"lambda:InvokeFunction\"],\"Resource\":\"arn:aws:lambda:us-east-1:551937714682:function:testFunction\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"apigateway.amazonaws.com\"},\"Sid\":\"3ccda8e0-d2ec-43a3-b20e-8242ff270da1\"}"
|
184 | })
|
185 | }
|
186 |
|
187 | obj.updateFunctionCode = function(params, callback) {
|
188 | callback(null, {
|
189 | "FunctionName": "testFunction",
|
190 | "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
|
191 | "Runtime": "nodejs",
|
192 | "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
|
193 | "Handler": "index.handler",
|
194 | "CodeSize": 123141,
|
195 | "Description": "",
|
196 | "Timeout": 3,
|
197 | "MemorySize": 256,
|
198 | "LastModified": "2016-01-25T11:42:20.895+0000",
|
199 | "CodeSha256": "cXmXSL2lJgpfhoYdrPd6g0BV0Z0G8qCPadUGqEOWNcU=",
|
200 | "Version": "$LATEST"
|
201 | })
|
202 | }
|
203 |
|
204 | obj.updateFunctionConfiguration = function(params, callback) {
|
205 | callback(null, {
|
206 | "FunctionName": "testFunction",
|
207 | "FunctionArn": "arn:aws:lambda:us-east-1:551937714682:function:testFunction",
|
208 | "Runtime": "nodejs",
|
209 | "Role": "arn:aws:iam::551937714682:role/lambda_dynamo",
|
210 | "Handler": "index.handler",
|
211 | "CodeSize": 123141,
|
212 | "Description": "",
|
213 | "Timeout": 3,
|
214 | "MemorySize": 256,
|
215 | "LastModified": "2016-01-25T11:42:21.663+0000",
|
216 | "CodeSha256": "cXmXSL2lJgpfhoYdrPd6g0BV0Z0G8qCPadUGqEOWNcU=",
|
217 | "Version": "$LATEST"
|
218 | })
|
219 | }
|
220 |
|
221 | return obj
|
222 | }
|