Skip to content

Instantly share code, notes, and snippets.

using Amazon.Lambda.Core;
using Integrations.Firebase.Enum;
using Integrations.Google.Models.Notification;
using Integrations.Google.Services.Firebase;
using Integrations.Services;
using Lambda.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace Lambda.AWSAppConfigChanges.Notifier
{
using Amazon.CDK;
using Amazon.CDK.AWS.Events;
using Amazon.CDK.AWS.Lambda;
using System.Collections.Generic;
namespace Iac.Stacks
{
internal class AwsAppConfigChangesNotifierStack : Stack
{
public AwsAppConfigChangesNotifierStack(Construct scope, string id, AwsAppConfigChangesNotifierStackProps props) : base(scope, id, props)
using Amazon.CDK.Assertions;
using Amazon.CDK.AWS.DynamoDB;
using Moq;
using Rest.Api.Infrastructure.CDK.Constructs;
using System.Collections.Generic;
using Xunit;
using Match = Amazon.CDK.Assertions.Match;
using Stack = Amazon.CDK.Stack;
namespace Rest.Api.Infrastructure.CDK.UnitTests
@murariuroger
murariuroger / RestApiInsideLambda.cs
Last active June 7, 2022 09:16
RestApiInsideLambda Construct
using Amazon.CDK;
using Amazon.CDK.AWS.APIGateway;
using Amazon.CDK.AWS.IAM;
using Amazon.CDK.AWS.Lambda;
using Constructs;
using Rest.Api.Infrastructure.CDK.ApiGateway;
using Rest.Api.Infrastructure.CDK.IAM;
namespace Rest.Api.Infrastructure.CDK.Constructs
{
@murariuroger
murariuroger / ProxyRestApi.cs
Created June 5, 2022 18:44
API Gateway - REST API
using Amazon.CDK.AWS.APIGateway;
using Amazon.CDK.AWS.Lambda;
using Constructs;
namespace Rest.Api.Infrastructure.CDK.ApiGateway
{
internal class ProxyRestApi : RestApi
{
public ProxyRestApi(Construct scope, string id, RestApiProps props, Function function) : base(scope, id, props)
{
@murariuroger
murariuroger / DynamoDBLambdaRole.cs
Last active June 5, 2022 18:36
IAM Role for Lambda
using Amazon.CDK.AWS.DynamoDB;
using Amazon.CDK.AWS.IAM;
using Constructs;
namespace Rest.Api.Infrastructure.CDK.IAM
{
internal class DynamoDBLambdaRole : Role
{
public DynamoDBLambdaRole(Construct scope, string id, RoleProps props, ITable dynamoDbTable) : base(scope, id, props)
{
using Amazon.CDK;
using Amazon.CDK.AWS.IAM;
using Amazon.CDK.AWS.Lambda;
using Amazon.CDK.AWS.APIGateway;
using Weather.Api.IaC.Common;
namespace WeatherApiIaC
{
public class WeatherApiIaCStack : Stack
{
using Amazon.CDK;
using HostEnvironment = System.Environment;
namespace WeatherApiIaC
{
sealed class Program
{
public static void Main(string[] args)
{
var app = new App();
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
<PropertyGroup>
<StartupObject>Weather.Api.Program</StartupObject>
</PropertyGroup>
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using System;
namespace Weather.Api
{
/// <summary>
/// This class extends from APIGatewayProxyFunction which contains the method FunctionHandlerAsync which is the
/// actual Lambda function entry point. The Lambda handler field should be set to