diff --git a/aws-lambda/aws-lambda-tests.ts b/aws-lambda/aws-lambda-tests.ts
new file mode 100644
index 0000000000..fd289dcb7f
--- /dev/null
+++ b/aws-lambda/aws-lambda-tests.ts
@@ -0,0 +1,49 @@
+///
+
+import lambda = require('aws-lambda');
+
+var str: string;
+var date: Date;
+var sns: lambda.SNS;
+var kinesis: lambda.Kinesis;
+var recordsList: lambda.Record[];
+var anyObj: any;
+var num: number;
+
+/* Records */
+var records: lambda.Records;
+
+recordsList = records.Records;
+
+/* Record */
+var record: lambda.Record;
+
+str = record.EventVersion;
+str = record.EventSubscriptionArn;
+str = record.EnventSource;
+sns = record.Sns;
+kinesis = record.kinesis;
+
+/* SNS */
+str = sns.Type;
+str = sns.MessageId;
+str = sns.TopicArn;
+str = sns.Subject;
+str = sns.Message;
+date = sns.Timestamp;
+
+/* Kinesis */
+var kinesis: lambda.Kinesis;
+
+str = kinesis.data;
+
+/* Context */
+var context: lambda.Context;
+
+context.log(str, anyObj);
+context.fail(str);
+context.succeed(str);
+context.succeed(anyObj);
+context.succeed(str, anyObj);
+str = context.awsRequestId;
+num = context.getRemainingTimeInMillis();
\ No newline at end of file
diff --git a/aws-lambda/aws-lambda.d.ts b/aws-lambda/aws-lambda.d.ts
new file mode 100644
index 0000000000..80ff3ce4a3
--- /dev/null
+++ b/aws-lambda/aws-lambda.d.ts
@@ -0,0 +1,43 @@
+// Type definitions for AWS Lambda
+// Project: http://docs.aws.amazon.com/lambda
+// Definitions by: Michael Skarum
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+declare module "aws-lambda" {
+
+ export interface Records {
+ Records: Record[];
+ }
+ interface Record {
+ EventVersion: string;
+ EventSubscriptionArn: string;
+ EnventSource: string;
+ Sns: SNS;
+ kinesis: Kinesis;
+ }
+ interface SNS {
+ Type: string;
+ MessageId: string;
+ TopicArn: string;
+ Subject: string;
+ Message: string;
+ Timestamp: Date;
+ }
+
+ interface Kinesis {
+ data: string;
+ }
+
+ export interface Context {
+ log(message: string, object: any): void;
+ fail(message: string): void;
+ succeed(message: string): void;
+ succeed(object: any): void;
+ succeed(message: string, object: any): void;
+ awsRequestId: string;
+ getRemainingTimeInMillis(): number;
+ }
+
+
+ export function Callback(error?: any, message?: string): void;
+}
\ No newline at end of file