Skip to content

Instantly share code, notes, and snippets.

View mgjam's full-sized avatar

Milan Gatyás mgjam

View GitHub Profile
interface IService
{
void ProcessData(MyData data);
}
class MyService : IService
{
void ProcessData(MyData data)
{
// ...
class MyService
{
void ProcessData(SQSEvent event)
{
var data = Deserialize<MyData>(event.Body);
ProcessData(data);
}
}
public Task<OutputModel> MyHandler(InputModel input, ILambdaContext context)
{
//...
}
class ValidEmail
{
string Email;
}
class EmailValidator
{
ValidEmail? IsEmailValid(string email);
}
class EmailValidator
{
bool IsEmailValid(string email);
}
class EmailValidationConfiguration
{
Regex ValidationRegex;
}
class EmailValidator
{
EmailValidator(EmailValidationConfiguration configuration) { }
}
interface IService
{
string GetData();
}
interface IHttpService : IService {}
class HttpService : IHttpService
{
public string GetData() => "Data obtained via HTTP";
interface IService
{
string GetData();
}
class HttpService : IService
{
public string GetData() => "Data obtained via HTTP";
}
private static createLogGroup(
scope: cdk.Construct,
lambdaFunction: lambda.Function
) {
new logs.LogGroup(scope, 'LogGroup', {
logGroupName: `/aws/lambda/${lambdaFunction.functionName}`, // Autogenerated log group name
retention: logs.RetentionDays.ONE_WEEK,
removalPolicy: cdk.RemovalPolicy.DESTROY
});
}
private createApiAccessKeyOutputs(
apiAccessKey: iam.CfnAccessKey
) {
new cdk.CfnOutput(this, 'ApiAccessKeyId', {
value: apiAccessKey.ref
});
new cdk.CfnOutput(this, 'ApiSecretAccessKey', {
value: apiAccessKey.attrSecretAccessKey
});
}