B 9a@s*ddlmZmZmZGdddejZdS))coreaws_ec2aws_elasticloadbalancingv2cs(eZdZejeddfdd ZZS)NlbStackN)scopeidreturnc stj||f|tj|d|ddtj|dd|_tjdddtj dt |d }tj |d ||tj d |t d d |_|jjd||jgd}tj|dd|jjd|jjddS)NZPrivbatelinkRdsDemoNlbFPrivatelinkRdsDemoNlb)subnet_group_name)vpcZinternet_facingZload_balancer_name vpc_subnetsT )enabledZhealthy_threshold_countZunhealthy_threshold_countintervalportZPrivatelinkRdsDemoTargetGrouprZIP)r health_checkZderegistration_delayr target_typeZMySql)rZdefault_target_groupsOutputz NLB ARN: z TG ARN: )value)super__init__elbZNetworkLoadBalancerec2SubnetSelectionnlbZ HealthCheckrDurationsecondsstrZNetworkTargetGroupZ TargetType target_groupZ add_listener CfnOutputload_balancer_arntarget_group_arn) selfrrr subnet_groupdb_portkwargsrZlistener) __class__M/home/aaron/repos/aws-cdk-examples/python/privatelink-rds/stacks/nlb_stack.pyrs0    zNlbStack.__init__)__name__ __module__ __qualname__r Constructrr __classcell__r(r()r'r)rsrN)aws_cdkrrrrrStackrr(r(r(r)s