@@ -2743,6 +2743,109 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
2743
2743
}
2744
2744
}
2745
2745
}
2746
+ }` ,
2747
+ },
2748
+ {
2749
+ name : "Ingress - wafv2AclArn in IngressClassParams" ,
2750
+ env : env {
2751
+ svcs : []* corev1.Service {ns_1_svc_1 , ns_1_svc_2 , ns_1_svc_3 },
2752
+ },
2753
+ fields : fields {
2754
+ resolveViaDiscoveryCalls : []resolveViaDiscoveryCall {resolveViaDiscoveryCallForInternalLB },
2755
+ listLoadBalancersCalls : []listLoadBalancersCall {listLoadBalancerCallForEmptyLB },
2756
+ enableBackendSG : true ,
2757
+ },
2758
+ args : args {
2759
+ ingGroup : Group {
2760
+ ID : GroupID {Namespace : "ns-1" , Name : "ing-1" },
2761
+ Members : []ClassifiedIngress {
2762
+ {
2763
+ IngClassConfig : ClassConfiguration {
2764
+ IngClassParams : & v1beta1.IngressClassParams {
2765
+ Spec : v1beta1.IngressClassParamsSpec {
2766
+ WAFv2ACLArn : "alb.ingress.kubernetes.io/wafv2-acl-arn: arn:aws:wafv2:us-west-2:xxxxx:regional/webacl/xxxxxxx/3ab78708-85b0-49d3-b4e1-7a9615a6613b" ,
2767
+ },
2768
+ },
2769
+ },
2770
+ Ing : & networking.Ingress {ObjectMeta : metav1.ObjectMeta {
2771
+ Namespace : "ns-1" ,
2772
+ Name : "ing-1" ,
2773
+ },
2774
+ Spec : networking.IngressSpec {
2775
+ Rules : []networking.IngressRule {
2776
+ {
2777
+ Host : "app-1.example.com" ,
2778
+ IngressRuleValue : networking.IngressRuleValue {
2779
+ HTTP : & networking.HTTPIngressRuleValue {
2780
+ Paths : []networking.HTTPIngressPath {
2781
+ {
2782
+ Path : "/svc-1" ,
2783
+ Backend : networking.IngressBackend {
2784
+ Service : & networking.IngressServiceBackend {
2785
+ Name : ns_1_svc_1 .Name ,
2786
+ Port : networking.ServiceBackendPort {
2787
+ Name : "http" ,
2788
+ },
2789
+ },
2790
+ },
2791
+ },
2792
+ {
2793
+ Path : "/svc-2" ,
2794
+ Backend : networking.IngressBackend {
2795
+ Service : & networking.IngressServiceBackend {
2796
+ Name : ns_1_svc_2 .Name ,
2797
+ Port : networking.ServiceBackendPort {
2798
+ Name : "http" ,
2799
+ },
2800
+ },
2801
+ },
2802
+ },
2803
+ },
2804
+ },
2805
+ },
2806
+ },
2807
+ {
2808
+ Host : "app-2.example.com" ,
2809
+ IngressRuleValue : networking.IngressRuleValue {
2810
+ HTTP : & networking.HTTPIngressRuleValue {
2811
+ Paths : []networking.HTTPIngressPath {
2812
+ {
2813
+ Path : "/svc-3" ,
2814
+ Backend : networking.IngressBackend {
2815
+ Service : & networking.IngressServiceBackend {
2816
+ Name : ns_1_svc_3 .Name ,
2817
+ Port : networking.ServiceBackendPort {
2818
+ Name : "https" ,
2819
+ },
2820
+ },
2821
+ },
2822
+ },
2823
+ },
2824
+ },
2825
+ },
2826
+ },
2827
+ },
2828
+ },
2829
+ },
2830
+ },
2831
+ },
2832
+ },
2833
+ },
2834
+ wantStackPatch : `
2835
+ {
2836
+ "id":"ns-1/ing-1",
2837
+ "resources":{
2838
+ "AWS::WAFv2::WebACLAssociation":{
2839
+ "LoadBalancer":{
2840
+ "spec":{
2841
+ "resourceARN":{
2842
+ "$ref":"#/resources/AWS::ElasticLoadBalancingV2::LoadBalancer/LoadBalancer/status/loadBalancerARN"
2843
+ },
2844
+ "webACLARN":"alb.ingress.kubernetes.io/wafv2-acl-arn: arn:aws:wafv2:us-west-2:xxxxx:regional/webacl/xxxxxxx/3ab78708-85b0-49d3-b4e1-7a9615a6613b"
2845
+ }
2846
+ }
2847
+ }
2848
+ }
2746
2849
}` ,
2747
2850
},
2748
2851
{
0 commit comments