@@ -287,10 +287,18 @@ export class NetworkLoadBalancer extends BaseLoadBalancer implements INetworkLoa
287287 public readonly metrics : INetworkLoadBalancerMetrics ;
288288 public readonly ipAddressType ?: IpAddressType ;
289289 public readonly connections : ec2 . Connections ;
290- public securityGroups ?: string [ ] ;
291- public readonly enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ?: string ;
290+ private _securityGroups ?: string [ ] ;
291+ private _enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ?: string ;
292292 private enablePrefixForIpv6SourceNat ?: boolean ;
293293
294+ public get securityGroups ( ) : string [ ] | undefined {
295+ return this . _securityGroups ;
296+ }
297+
298+ public get enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ( ) : string | undefined {
299+ return this . _enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ;
300+ }
301+
294302 constructor ( scope : Construct , id : string , props : NetworkLoadBalancerProps ) {
295303 const enforceSgInboundRules = props . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic !== undefined
296304 ? ( props . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ? 'on' : 'off' )
@@ -353,10 +361,10 @@ export class NetworkLoadBalancer extends BaseLoadBalancer implements INetworkLoa
353361 if ( props . zonalShift !== undefined ) {
354362 this . setAttribute ( 'zonal_shift.config.enabled' , props . zonalShift ? 'true' : 'false' ) ;
355363 }
356- this . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic = props . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic !== undefined
364+ this . _enforceSecurityGroupInboundRulesOnPrivateLinkTraffic = props . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic !== undefined
357365 ? ( props . enforceSecurityGroupInboundRulesOnPrivateLinkTraffic ? 'on' : 'off' )
358366 : undefined ;
359- this . securityGroups = isSecurityGroupsPropertyDefined || this . connections . securityGroups . length
367+ this . _securityGroups = isSecurityGroupsPropertyDefined || this . connections . securityGroups . length
360368 ? this . connections . securityGroups . map ( sg => sg . securityGroupId )
361369 : undefined ;
362370 }
@@ -388,7 +396,7 @@ export class NetworkLoadBalancer extends BaseLoadBalancer implements INetworkLoa
388396 @MethodMetadata ( )
389397 public addSecurityGroup ( securityGroup : ec2 . ISecurityGroup ) {
390398 this . connections . addSecurityGroup ( securityGroup ) ;
391- this . securityGroups = this . connections . securityGroups . map ( sg => sg . securityGroupId ) ;
399+ this . _securityGroups = this . connections . securityGroups . map ( sg => sg . securityGroupId ) ;
392400 }
393401
394402 /**
@@ -642,10 +650,14 @@ class LookedUpNetworkLoadBalancer extends Resource implements INetworkLoadBalanc
642650 public readonly loadBalancerArn : string ;
643651 public readonly vpc ?: ec2 . IVpc ;
644652 public readonly metrics : INetworkLoadBalancerMetrics ;
645- public readonly securityGroups ?: string [ ] ;
653+ private _securityGroups ?: string [ ] ;
646654 public readonly ipAddressType ?: IpAddressType ;
647655 public readonly connections : ec2 . Connections ;
648656
657+ public get securityGroups ( ) : string [ ] | undefined {
658+ return this . _securityGroups ;
659+ }
660+
649661 public get loadBalancerRef ( ) : aws_elasticloadbalancingv2 . LoadBalancerReference {
650662 return {
651663 loadBalancerArn : this . loadBalancerArn ,
@@ -661,7 +673,7 @@ class LookedUpNetworkLoadBalancer extends Resource implements INetworkLoadBalanc
661673 this . loadBalancerCanonicalHostedZoneId = props . loadBalancerCanonicalHostedZoneId ;
662674 this . loadBalancerDnsName = props . loadBalancerDnsName ;
663675 this . metrics = new NetworkLoadBalancerMetrics ( this , parseLoadBalancerFullName ( props . loadBalancerArn ) ) ;
664- this . securityGroups = props . securityGroupIds ;
676+ this . _securityGroups = props . securityGroupIds ;
665677 this . connections = new ec2 . Connections ( {
666678 securityGroups : props . securityGroupIds . map (
667679 ( securityGroupId , index ) => ec2 . SecurityGroup . fromLookupById ( this , `SecurityGroup-${ index } ` , securityGroupId ) ,
0 commit comments