diff --git a/pkg/cfn/builder/managed_nodegroup.go b/pkg/cfn/builder/managed_nodegroup.go index 87a711a8a5..74c97332c7 100644 --- a/pkg/cfn/builder/managed_nodegroup.go +++ b/pkg/cfn/builder/managed_nodegroup.go @@ -73,7 +73,7 @@ func (m *ManagedNodeGroupResourceSet) AddAllResources(ctx context.Context) error } nodeRole = gfnt.MakeFnGetAttString(cfnIAMInstanceRoleName, "Arn") } else { - nodeRole = gfnt.NewString(NormalizeARN(m.nodeGroup.IAM.InstanceRoleARN)) + nodeRole = gfnt.NewString(m.nodeGroup.IAM.InstanceRoleARN) } subnets, err := AssignSubnets(ctx, m.nodeGroup, m.clusterConfig, m.ec2API) diff --git a/pkg/cfn/builder/managed_nodegroup_test.go b/pkg/cfn/builder/managed_nodegroup_test.go index 66f1b2733d..c9f6170416 100644 --- a/pkg/cfn/builder/managed_nodegroup_test.go +++ b/pkg/cfn/builder/managed_nodegroup_test.go @@ -190,7 +190,7 @@ func TestManagedNodeRole(t *testing.T) { expectedNodeRoleARN: gfnt.NewString("arn::DUMMY::DUMMYROLE"), // using the provided role }, { - description: "InstanceRoleARN is provided and normalized", + description: "InstanceRoleARN is provided with path and preserved", nodeGroup: &api.ManagedNodeGroup{ NodeGroupBase: &api.NodeGroupBase{ IAM: &api.NodeGroupIAM{ @@ -199,7 +199,7 @@ func TestManagedNodeRole(t *testing.T) { }, }, expectedNewRole: false, - expectedNodeRoleARN: gfnt.NewString("arn:aws:iam::1234567890:role/custom-eks-role"), + expectedNodeRoleARN: gfnt.NewString("arn:aws:iam::1234567890:role/foo/bar/baz/custom-eks-role"), }, }