Skip to content

Commit 3385813

Browse files
authored
Merge pull request #540 from a-hilaly/rm-rolearn
Add `roleARN` parameter to ManagerFor in resource manager factory
2 parents c30e068 + 3d9d15e commit 3385813

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ toolchain go1.22.4
66

77
require (
88
github.com/aws-controllers-k8s/pkg v0.0.15
9-
github.com/aws-controllers-k8s/runtime v0.37.1
9+
github.com/aws-controllers-k8s/runtime v0.37.2-0.20240829063928-a606fd18ca1f
1010
github.com/aws/aws-sdk-go v1.49.0
1111
github.com/dlclark/regexp2 v1.10.0 // indirect
1212
// pin to v0.1.1 due to release problem with v0.1.2

go.sum

+2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ github.com/aws-controllers-k8s/pkg v0.0.15 h1:C1pnD/aDqJsU9oYf5upHkpSc+Hv4JQVtkd
7575
github.com/aws-controllers-k8s/pkg v0.0.15/go.mod h1:VvdjLWmR6IJ3KU8KByKiq/lJE8M+ur2piXysXKTGUS0=
7676
github.com/aws-controllers-k8s/runtime v0.37.1 h1:OKSG3WnswkazWgUtSZh3RApU6OK3l01LklP1DjWgEFY=
7777
github.com/aws-controllers-k8s/runtime v0.37.1/go.mod h1:gI2pWb20UGLP2SnHf1a1VzTd7iVVy+/I9VAzT0Y+Dew=
78+
github.com/aws-controllers-k8s/runtime v0.37.2-0.20240829063928-a606fd18ca1f h1:N5WNMehmiBNdthmGYlua3P0P+i6hctfGVEtPe4QHme8=
79+
github.com/aws-controllers-k8s/runtime v0.37.2-0.20240829063928-a606fd18ca1f/go.mod h1:gI2pWb20UGLP2SnHf1a1VzTd7iVVy+/I9VAzT0Y+Dew=
7880
github.com/aws/aws-sdk-go v1.49.0 h1:g9BkW1fo9GqKfwg2+zCD+TW/D36Ux+vtfJ8guF4AYmY=
7981
github.com/aws/aws-sdk-go v1.49.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
8082
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=

pkg/generate/ack/runtime_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ func (rmf *fakeRMF) ManagerFor(
9696
*session.Session,
9797
ackv1alpha1.AWSAccountID,
9898
ackv1alpha1.AWSRegion,
99+
ackv1alpha1.AWSResourceName,
99100
) (acktypes.AWSResourceManager, error) {
100101
return nil, nil
101102
}

templates/pkg/resource/manager_factory.go.tpl

+5-1
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@ func (f *resourceManagerFactory) ManagerFor(
4040
sess *session.Session,
4141
id ackv1alpha1.AWSAccountID,
4242
region ackv1alpha1.AWSRegion,
43+
roleARN ackv1alpha1.AWSResourceName,
4344
) (acktypes.AWSResourceManager, error) {
44-
rmId := fmt.Sprintf("%s/%s", id, region)
45+
// We use the account ID, region, and role ARN to uniquely identify a
46+
// resource manager. This helps us to avoid creating multiple resource
47+
// managers for the same account/region/roleARN combination.
48+
rmId := fmt.Sprintf("%s/%s/%s", id, region, roleARN)
4549
f.RLock()
4650
rm, found := f.rmCache[rmId]
4751
f.RUnlock()

0 commit comments

Comments
 (0)