@@ -799,6 +799,67 @@ func TestServiceLaunchTemplateNeedsUpdate(t *testing.T) {
799799 want : true ,
800800 wantErr : false ,
801801 },
802+ {
803+ name : "Should return true if incoming PrivateDNSName is different from existing PrivateDNSName" ,
804+ incoming : & expinfrav1.AWSLaunchTemplate {
805+ PrivateDNSName : & infrav1.PrivateDNSName {
806+ EnableResourceNameDNSARecord : aws .Bool (true ),
807+ EnableResourceNameDNSAAAARecord : aws .Bool (false ),
808+ HostnameType : aws .String ("resource-name" ),
809+ },
810+ },
811+ existing : & expinfrav1.AWSLaunchTemplate {
812+ AdditionalSecurityGroups : []infrav1.AWSResourceReference {
813+ {ID : aws .String ("sg-111" )},
814+ {ID : aws .String ("sg-222" )},
815+ },
816+ PrivateDNSName : & infrav1.PrivateDNSName {
817+ EnableResourceNameDNSARecord : aws .Bool (false ),
818+ EnableResourceNameDNSAAAARecord : aws .Bool (false ),
819+ HostnameType : aws .String ("ip-name" ),
820+ },
821+ },
822+ want : true ,
823+ wantErr : false ,
824+ },
825+ {
826+ name : "Should return true if incoming adds PrivateDNSName and existing has none" ,
827+ incoming : & expinfrav1.AWSLaunchTemplate {
828+ PrivateDNSName : & infrav1.PrivateDNSName {
829+ EnableResourceNameDNSARecord : aws .Bool (true ),
830+ EnableResourceNameDNSAAAARecord : aws .Bool (false ),
831+ HostnameType : aws .String ("resource-name" ),
832+ },
833+ },
834+ existing : & expinfrav1.AWSLaunchTemplate {
835+ AdditionalSecurityGroups : []infrav1.AWSResourceReference {
836+ {ID : aws .String ("sg-111" )},
837+ {ID : aws .String ("sg-222" )},
838+ },
839+ PrivateDNSName : nil ,
840+ },
841+ want : true ,
842+ wantErr : false ,
843+ },
844+ {
845+ name : "Should return true if incoming removes PrivateDNSName and existing has some" ,
846+ incoming : & expinfrav1.AWSLaunchTemplate {
847+ PrivateDNSName : nil ,
848+ },
849+ existing : & expinfrav1.AWSLaunchTemplate {
850+ AdditionalSecurityGroups : []infrav1.AWSResourceReference {
851+ {ID : aws .String ("sg-111" )},
852+ {ID : aws .String ("sg-222" )},
853+ },
854+ PrivateDNSName : & infrav1.PrivateDNSName {
855+ EnableResourceNameDNSARecord : aws .Bool (true ),
856+ EnableResourceNameDNSAAAARecord : aws .Bool (false ),
857+ HostnameType : aws .String ("resource-name" ),
858+ },
859+ },
860+ want : true ,
861+ wantErr : false ,
862+ },
802863 }
803864 for _ , tt := range tests {
804865 t .Run (tt .name , func (t * testing.T ) {
0 commit comments