using System.Collections.Generic; using Pulumi; using Aws = Pulumi.Aws; using Awsx = Pulumi.Awsx; return await Deployment.RunAsync(() => { var cluster = new Aws.Ecs.Cluster("cluster"); var lb = new Awsx.Lb.ApplicationLoadBalancer("lb"); var service = new Awsx.Ecs.FargateService("service", new() { Cluster = cluster.Arn, AssignPublicIp = true, DesiredCount = 2, TaskDefinitionArgs = new Awsx.Ecs.Inputs.FargateServiceTaskDefinitionArgs { Container = new Awsx.Ecs.Inputs.TaskDefinitionContainerDefinitionArgs { Image = "nginx:latest", Cpu = 512, Memory = 128, Essential = true, PortMappings = new[] { new Awsx.Ecs.Inputs.TaskDefinitionPortMappingArgs { TargetGroup = lb.DefaultTargetGroup, }, }, }, }, }); return new Dictionary { ["url"] = lb.LoadBalancer.Apply(loadBalancer => loadBalancer.DnsName), }; });