Hi all, I have an ApplicationLoadBalancer (awsx.el...
# general
s
Hi all, I have an ApplicationLoadBalancer (awsx.elasticloadbalancingv2.ApplicationLoadBalancer) that I create in my base network stack that listens to all subdomain requests (*.domain.com), in a higher level application stack I want to add a ListenerRule that points to a ApplicationTargetGroup using the ApplicationLoadBalancer but I can't seem to find a way in doing so using the TypeScript SDK. Can anyone point me in the right direction? Thanks. Here is a pseudo code of what i've tried so far and the error I get: *Base network stack
Copy code
const alb = new awsx.elasticloadbalancingv2.ApplicationLoadBalancer ........
const appListenerHttps = alb.createListener.......
const zone  = aws.route53.getZoneOutput({name:domainAddress})
const albDomain = new aws.route53.Record(`domain-record`, {
    name: pulumi.interpolate `*.${domainAddress}`,
    zoneId: zone.zoneId,
    type: 'CNAME',
    records: [appListenerHttps.endpoint.hostname]
  });
export const albListenerArn = appListenerHttps.listener.arn
export const albArn = alb.loadBalancer.arn
*Application stack
Copy code
const networkingStack = new StackReference(config.require('stack.networking'));
const alb =   aws.applicationloadbalancing.getLoadBalancerOutput({arn:networkingStack.getOutput('albArn')});
const targetGroup = new awsx.elasticloadbalancingv2.ApplicationTargetGroup(
      `app-alb-tg`,
      {
        ...............
        loadBalancer: new awsx.elasticloadbalancingv2.ApplicationLoadBalancer('alb',{
           loadBalancer:alb <----error: Type 'GetLoadBalancerResult' is missing the following properties from type 'LoadBalancer': enableCrossZoneLoadBalancing, namePrefix, tagsAll, urn, getProvider
        })
      }
    );

const itoolListener = new aws.lb.ListenerRule(
      `app-alb-lstn`,
      {
        listenerArn: networkingStack.getOutput('albListenerArn'),
        priority: 100,
        actions: [
          {
            type: 'forward',
            targetGroupArn: targetGroup.targetGroup.arn
          }
        ],
        conditions: [
          {
            hostHeader: {
              values: [pulumi.interpolate`test.${domainAddress}`]
            }
          }
        ]
      }
    );
.....