From 4be7d8fb574ee3ab14c6b73859e3fa86c805cee5 Mon Sep 17 00:00:00 2001 From: sahil-lakhwani Date: Tue, 28 Apr 2020 21:42:36 +0530 Subject: [PATCH] IAMUserPolicyAttachment: update metadata names Signed-off-by: sahil-lakhwani --- apis/identity/v1alpha1/register.go | 12 ++++++------ .../identity/iamuserpolicyattachment/controller.go | 8 +++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apis/identity/v1alpha1/register.go b/apis/identity/v1alpha1/register.go index 4c88aab3d1..9e44e0ce81 100644 --- a/apis/identity/v1alpha1/register.go +++ b/apis/identity/v1alpha1/register.go @@ -40,7 +40,7 @@ var ( SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} ) -// User type metadata. +// IAMUser type metadata. var ( IAMUserKind = reflect.TypeOf(IAMUser{}).Name() IAMUserGroupKind = schema.GroupKind{Group: Group, Kind: IAMUserKind}.String() @@ -48,12 +48,12 @@ var ( IAMUserGroupVersionKind = SchemeGroupVersion.WithKind(IAMUserKind) ) -// UserPolicyAttachment type metadata. +// IAMUserPolicyAttachment type metadata. var ( - UserPolicyAttachmentKind = reflect.TypeOf(IAMUserPolicyAttachment{}).Name() - UserPolicyAttachmentGroupKind = schema.GroupKind{Group: Group, Kind: UserPolicyAttachmentKind}.String() - UserPolicyAttachmentKindAPIVersion = UserPolicyAttachmentKind + "." + SchemeGroupVersion.String() - UserPolicyAttachmentGroupVersionKind = SchemeGroupVersion.WithKind(UserPolicyAttachmentKind) + IAMUserPolicyAttachmentKind = reflect.TypeOf(IAMUserPolicyAttachment{}).Name() + IAMUserPolicyAttachmentGroupKind = schema.GroupKind{Group: Group, Kind: IAMUserPolicyAttachmentKind}.String() + IAMUserPolicyAttachmentKindAPIVersion = IAMUserPolicyAttachmentKind + "." + SchemeGroupVersion.String() + IAMUserPolicyAttachmentGroupVersionKind = SchemeGroupVersion.WithKind(IAMUserPolicyAttachmentKind) ) func init() { diff --git a/pkg/controller/identity/iamuserpolicyattachment/controller.go b/pkg/controller/identity/iamuserpolicyattachment/controller.go index 0a18fc4b0c..8eb1b24741 100644 --- a/pkg/controller/identity/iamuserpolicyattachment/controller.go +++ b/pkg/controller/identity/iamuserpolicyattachment/controller.go @@ -59,13 +59,13 @@ const ( // SetupIAMUserPolicyAttachment adds a controller that reconciles // IAMUserPolicyAttachments. func SetupIAMUserPolicyAttachment(mgr ctrl.Manager, l logging.Logger) error { - name := managed.ControllerName(v1alpha1.UserPolicyAttachmentGroupKind) + name := managed.ControllerName(v1alpha1.IAMUserPolicyAttachmentGroupKind) return ctrl.NewControllerManagedBy(mgr). Named(name). For(&v1alpha1.IAMUserPolicyAttachment{}). Complete(managed.NewReconciler(mgr, - resource.ManagedKind(v1alpha1.UserPolicyAttachmentGroupVersionKind), + resource.ManagedKind(v1alpha1.IAMUserPolicyAttachmentGroupVersionKind), managed.WithExternalConnecter(&connector{kube: mgr.GetClient(), newClientFn: iam.NewUserPolicyAttachmentClient}), managed.WithConnectionPublishers(), managed.WithReferenceResolver(managed.NewAPISimpleReferenceResolver(mgr.GetClient())), @@ -177,7 +177,9 @@ func (e *external) Create(ctx context.Context, mgd resource.Managed) (managed.Ex } func (e *external) Update(ctx context.Context, mgd resource.Managed) (managed.ExternalUpdate, error) { - // PolicyARN is the only distinguishing field and on update to that, new policy is attached + // Updating any field will create a new User-Policy attachment in AWS, which will be + // irrelevant/out-of-sync to the original defined attachment. + // It is encouraged to instead create a new IAMUserPolicyAttachment resource. return managed.ExternalUpdate{}, nil }