Commit Graph

80 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
37ea0ae6da
Add missed npm-naming exemptions (#34198)
Previously, I only replaced non-final dt-header exemptions. This commit
fixes that.
2019-03-25 11:11:36 -07:00
Grzegorz Redlicki
3eb866bd83 @types/aws-lambda: There are no types for the communication with Application Load Balancer (#33763)
* Add the additional types for the usage of Application Load Balancer

* Change the long name "Application Load Balancer" to shorter one "ALB"

* Add ALBCallback for the completeness of the communication with the ALB
2019-03-12 10:44:04 -07:00
Nathan Shively-Sanders
363f4d07e5
Merge pull request #33620 from therockstorm/master
Update SQSMessageAttribute in aws-lambda
2019-03-08 15:29:40 -08:00
Richard
eed96d4372 aws-lambda Authorizer response context only allows booleans, numbers and strings (#33437)
* Context only allows booleans, numbers and strings

* add richardcornelissen as contributor
2019-03-06 15:29:48 -08:00
Rocky Warren
57ee130627 Update SQSMessageAttribute in aws-lambda 2019-03-06 08:31:31 -06:00
Roberto Zen
fe9e68da29 fix: connectedAt field must be optional 2019-02-26 15:04:08 +01:00
Loik Gaonach
209ac2ff35 add websocket integration props to APIGatewayEventRequestContext
messageId is nullable on connection events
2019-02-07 11:31:59 +01:00
Declan
480b0531a3 [@types/aws-lambda] Add Amazon Lex events (#32502)
* [aws-lambda] Add types for Amazon Lex events

* fix: Fixed Typo in `AWSLambda.LexDialogActionClose.fulfillmentState`

* fix: removed a blank line
2019-01-28 12:48:38 -08:00
Daniel Cottone
f56373cd3e Adding additional props to custom authorizer event (#31558) 2018-12-20 08:15:40 -08:00
Erik Dalén
8c536fe7db Add handler definitions for codepipeline cloudwatch events 2018-12-13 10:34:16 +01:00
Erik Dalén
0fd1512fdf Rename all cloudwatch codepipeline events to include cloudwatch in name 2018-12-13 10:27:38 +01:00
Erik Dalén
ff933f81c4 Change value of provider key to string 2018-12-13 10:24:45 +01:00
Erik Dalén
c87266f660 Fix typo 2018-12-13 10:03:00 +01:00
Erik Dalén
a056705264 Add CloudWatch events for CodePipeline
Add AWS lambda event type definitions for https://docs.aws.amazon.com/codepipeline/latest/userguide/detect-state-changes-cloudwatch-events.html
2018-12-12 16:33:11 +01:00
Trevor Leach
9fe08c154c Add multiValueHeaders to ProxyResult too 2018-10-30 18:00:00 -07:00
Trevor Leach
ea9eec5238 Merge remote-tracking branch 'upstream/master' into multi-value_headers_and_query_params 2018-10-27 13:50:42 -07:00
Trevor Leach
cf416f6ac0 Merge remote-tracking branch 'upstream/master' into multi-value_headers_and_query_params 2018-10-27 13:33:25 -07:00
Trevor Leach
4547dc6384 multi-valued headers and query string prarameters 2018-10-20 15:00:00 -07:00
James Gregory
656a9a17c8 [aws-lambda] Add Amazon Cognito Migrate User triggers
See:

1. https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html
2. https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-import-using-lambda.html
2018-10-19 07:19:39 +11:00
Oliver Hookins
24f4e6d721 Add AWS Lambda CloudFront Event origin fields. (#28675)
* Add AWS Lambda CloudFront Event origin fields.

* Add tests for the different kinds of Lambda CloudFrontRequests.
2018-09-13 13:11:40 -07:00
Chris Redekop
49e8daef6a [aws-lambda] Fix challengeMetadata typos in cognito custom challenge (#28834)
* Fix challengeMetadata typos

* Fix type of challengeAnswer
2018-09-13 09:48:08 -07:00
David J. Felix
efe7ba616a [@types/aws-lambda]: Add extractedFields optional field (#27670)
* [@types/aws-lambda]: Add extractedFields optional field

Added an undocumented optional field to a datatype which is sent zipped and base64 encoded. This field is only available if users select certain options when creating a subscription filter.

You can see the field used if you create a subscription filter to elasticsearch and look at the source for the builtin lambda. I couldn't find any documentation for this field except in the terms "fields extracted" [here](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) and found some amazon code referencing it [here](https://github.com/amazon-archives/cloudwatch-logs-subscription-consumer/blob/master/src/test/resources/aws-lambda-log-example.json#L14).

I nearly went insane tracking this down.

* Narrow the type of extracted fields to string:string

* Add test for extracted fields
2018-08-06 11:34:23 -07:00
Daniel Papukchiev
13f8c453e1 [@types/aws-lambda] Add Firehose lambda event and transformation helpers (#27731)
* Add Firehose to aws-lambda

* Add one more link for reference

* Change some interface names, remove irrelevant S3 interface, add special callback

* Fix tests
2018-08-01 11:39:21 -07:00
Louis Larry
1a1c9299a6 update aws-lambda cloudfront (#27407) 2018-07-27 17:21:28 -07:00
Ishaan Malhi
e3727a66d2 [@types/aws-lambda] Add SQS Event Source (#27334)
* feat: Add initial typings

* feat: Add tests for SQS Event Source

* fix: linting fixes
2018-07-20 17:31:00 -07:00
Richard Barker
bf6894a4e5 Fix test 2018-06-22 11:18:02 +10:00
Richard Barker
f9f78a7a9b ClientContext field must be spelt 'custom' so that it is correctly serialized by Java Lambdas. 2018-06-22 11:05:58 +10:00
Jeremy Nagel
1a53ccde52 [BUGFIX] Lambda callbacks support string errors
As per https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html
2018-05-29 15:32:25 +10:00
Jonathan Jung
26d40427c1 [types/aws-lambda] adds a path attribute to the APIGatewayEventRequestContext 2018-05-21 14:59:14 -07:00
Nick Holloway
ff0c5eb0c0 Add encryption key to Code Pipeline event 2018-05-17 09:35:00 +01:00
Nick Holloway
e818117186 Add definition for AWS Lambda Code Pipeline event 2018-05-15 16:54:58 +01:00
Aneil Mallavarapu
07268c98de Improve coverage of AWS Lambda Statement type (#25304)
* Improve coverage of AWS Lambda Statement type

Allow statements which have either a Principal or a Resource,
instead of requiring Resource.
This permits policies such as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html:

```
{
  Effect: "Allow",
  Principal: "*",
  Action: "*"
}
```
and
```
{
  Effect: "Allow",
  Principal: { "Service": "lambda.amazonaws.com" },
  Action: "sts:AssumeRole"
}
```

* Remove unnecessary additional type

* Add tests for valid/invalid combinations of Resource and Principal in Statement type

This addresses issues raised by @simonbuchanan here:
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/25304\#pullrequestreview-115377094
2018-04-26 15:03:40 -07:00
Martin Donath
02ed6f6b49 Added missing field apiKeyId to API Gateway request context (#25195)
* Added missing field `apiKeyId` to API Gateway request context

`$context.identity.apiKeyId`: The API key ID associated with the key-enabled API request.

See the [AWS documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) and search for `apiKeyId`.

* Added missing tests for new apiKeyId field in aws-lambda typings
2018-04-24 16:06:22 -07:00
Aneil Mallavarapu
a5db46d192 Add missing elements to Policy Statement (#24792)
* Add: NotAction, NotResource, Principal, NotPrincipal
* Implement some of the conditional logic
  - e.g., Action or NotAction is required
  - however, mutual exclusivity is not implemented (hard to do in Typescript)
* Allow >1 statement per PolicyDocument
2018-04-12 12:11:30 -07:00
Simon Buchan
78350168c5 [aws-lambda] Rutime node8.10 support. (#24823)
Bump version to 8.10 to match current runtime, allow returning result promises in handlers.
2018-04-09 10:21:48 -07:00
repl-chris
3a1f68f9c1 Added AWSLambda.KinesisDataStream event type definitions (aws-lambda) 2018-04-05 16:45:08 -06:00
Andrea Ratto
eedb1097a8 Fix creation time attribute in StreamRecord of aws-lambda 2018-03-21 11:15:56 +01:00
David
c9749a4f65 [aws-lambda] Include CloudFrontRequest in CloudFrontRequestResult union type (#23882)
A request is a valid callback result type. See example: https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html#lambda-edge-authoring-functions-example-ab-testing
2018-02-26 11:59:10 -08:00
Andy Hanson
45c9246c09 Remove esModuleInterop from tsconfigs (no longer mandatory) 2018-02-14 14:55:13 -08:00
Simon Buchan
50dafbd8e3 Add tests, fix some missed type name normalizations. 2018-02-08 12:39:00 +13:00
Simon Buchan
e43b209621 Fix tests for strictNullChecks: true 2018-02-08 11:59:17 +13:00
Simon Buchan
17e9857f8d [aws-lambda] Add Handler and Callback types for each trigger.
No tests added for the new types yet, I'll get on that tomorrow.

Motivation
---

The connection between the trigger event and the result types can be
confusing sometimes - for example `CloudFormationCustomResourceResponse`
is *not* returned from the lambda, but instead should be sent to the
*Request `ResponseUrl`. This PR tries to help by providing pre-baked
`Handler` types for each of the triggers (that have types already).

There's also a few niggles with naming and the handler signature that
have been bothering me for a while.

Changes
---

This PR:

- Adds defaulted generic parameters to the existing `Handler` and
  `Callback` types. This increases the minimum TS version to 2.3.

- Makes the `callback` parameter to `Handler`s "required" - this
  probably originally was meant to represent the Node 0.10 runtime,
  which did not pass a callback parameter, but that is no longer
  selectable when creating or editing a Lambda and makes the normal,
  recommended usage harder. In case anyone is confused, this doesn't
  break any code: it is required to be provided when being called, your
  handlers don't need to declare it. I'm not removing the legacy node 0.10
  runtime methods `context.done()` etc., since they still work.

- In the spirit of #21874, make the default result type for
  `Handler`, `Callback` `any`, since the only requirement is
  that it be `JSON.stringify()`able, and there are things like
  `.toJSON()`, etc. so there is no meaningful type restriction
  here.

- Revert the definition changes of #22588, which changed the `Handler`
  result types to `void | Promise<void>`, which is misleading: Lambda
  will not accept or wait for a promise result (it by default waits
  for the node event loop to empty). This is not a breaking change for
  code that does return promises, since a `void` result type is
  compatible with any result type, even with strict function types.
  (Which is why the tests still pass.)

- Adds `FooHandler` and `FooCallback` types for all `FooEvent`s and
  `FooResult`s, where possible - sometimes these don't match up.

- Renamed, with aliases to the old name, various types to align them: in
  particular `ProxyResult` -> `APIGatewayProxyResult`.

- `CloudFrontResult` (not the same type as `CloudFrontResponse`!)
  was missing for some reason.
2018-02-07 21:47:58 +13:00
Andy
bef4d2b27d
Enable "esModuleInterop" in all tsconfigs (#23354) 2018-02-05 11:01:56 -08:00
Markus Tacker
73518ca44a fix(aws-lambda): AuthResponseContext children may be objects (#23192)
If used with a custom authorizer, there will be a claims object
with the parsed JSON web token.
See https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
2018-01-30 11:04:01 -08:00
Andy
a0d0b93d94
aws-lambda: Lint (#23167) 2018-01-24 09:53:35 -08:00
Louis Roché
ee0a159fc2 add requestTimeEpoch to aws lambda types (#22941)
Add the missing requestTimeEpoch in the APIGatewayEventRequestContext interface.

$context.requestTimeEpoch is documented in https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference
2018-01-23 15:03:59 -08:00
Pálmi Þór Valgeirsson
286bf2a94d aws-lambda : Add more Cognito triggerSources according to spec (#22943)
* aws-lambda : Add more triggerSources according to spec

* aws-lambda: Add my info in the Definitions by - list

* aws-lambda: Cognito triggerSources list failed npm test due to extra semi colon
2018-01-23 11:48:40 -08:00
Danilo Tenorio Raisi
8db0647a2d Created ScheduledEvent on AWS Lambda Types (#22974)
* Created ScheduledEvent on AWS Lambda Types

* aws-lambda types

Fixed detail type on ScheduleEvent

* types/aws-lambda
Fixed header at index.d.ts
2018-01-23 11:06:53 -08:00
austinried
1f68776226 AttributeValue "N" should be string (#22790)
AttributeValue's "N" is a string, not a number: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_AttributeValue.html

This causes an incompatibility between this AttributeValue and the one in the AWS SDK types, which makes it impossible to use something like AWS.DynamoDB.Converter.unmarshall() for items in records on a DynamoDBStreamEvent.
2018-01-09 15:23:33 -08:00
Tomas Polovincak
68f6a78112 aws-lambda: extend Handler return type to support Promises (#22588) 2018-01-03 13:29:06 -08:00