Implemented User Creation for ElasticCache
Resolves #548
Description of your changes
- Add CRD and Controller for Elasticache user
- Add example file in elasticache folder
I have:
- [x] Read and followed Crossplane's [contribution process].
- [x] Run
make reviewable testto ensure this PR is ready for review.
How has this code been tested
Following this steps: https://github.com/crossplane/provider-aws/blob/master/CODE_GENERATION.md#local
@hasheddan would you mind taking another look at this?
Any update regarding this?
@turkenh @hasheddan i added a new commit & rebased master to fix the open issues
tested
- create
- update
- delete
kubectl describe user.elasticache.aws.crossplane.io/example
Name: example
Namespace:
Labels: <none>
Annotations: crossplane.io/external-create-pending: 2021-11-25T17:27:56+01:00
crossplane.io/external-create-succeeded: 2021-11-25T17:27:56+01:00
crossplane.io/external-name: example
API Version: elasticache.aws.crossplane.io/v1alpha1
Kind: User
Resource Version: 748000
UID: a8625015-0f6b-45bf-9604-ccc8be7023ec
Spec:
Deletion Policy: Delete
For Provider:
Access String: on
Engine: redis
Password Secret Ref:
Key: password
Name: example-elasticache
Namespace: crossplane-system
Region: us-east-1
Provider Config Ref:
Name: example
Write Connection Secret To Ref:
Name: example-elasticache
Namespace: default
Status:
At Provider:
Arn: arn:aws:elasticache:us-east-1:255932642927:user:example
Authentication:
Password Count: 1
type_: password
Status: active
User ID: example
User Name: example
Conditions:
Last Transition Time: 2021-11-25T16:27:57Z
Reason: Available
Status: True
Type: Ready
Last Transition Time: 2021-11-25T16:27:56Z
Reason: ReconcileSuccess
Status: True
Type: Synced
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CreatedExternalResource 21m managed/user.elasticache.aws.crossplane.io Successfully requested creation of external resource

rebased & implemented secretKeyRef as array
NAME READY SYNCED EXTERNAL-NAME
user.elasticache.aws.crossplane.io/example True True example
with two password:
Spec:
Deletion Policy: Delete
For Provider:
Access String: on
Engine: redis
No Password Required: false
Password Secret Ref:
Key: password1
Name: example-elasticache
Namespace: crossplane-system
Key: password2
Name: example-elasticache
Namespace: crossplane-system
Region: us-east-1
User Name: example-user
Provider Config Ref:
Name: default
Write Connection Secret To Ref:
Name: example-elasticache
Namespace: default
Status:
At Provider:
Arn: arn:aws:elasticache:us-east-1:12345678910:user:example
Authentication:
Password Count: 2
type_: password
Status: active
User ID: example
Conditions:
Last Transition Time: 2022-09-23T10:28:35Z
Reason: Available
Status: True
Type: Ready
Last Transition Time: 2022-09-23T10:10:36Z
Reason: ReconcileSuccess
Status: True
Type: Synced
with one password:
Spec:
Deletion Policy: Delete
For Provider:
Access String: on
Engine: redis
No Password Required: false
Password Secret Ref:
Key: password1
Name: example-elasticache
Namespace: crossplane-system
Region: us-east-1
User Name: example-user
Provider Config Ref:
Name: default
Write Connection Secret To Ref:
Name: example-elasticache
Namespace: default
Status:
At Provider:
Arn: arn:aws:elasticache:us-east-1:12345678910:user:example
Authentication:
Password Count: 1
type_: password
Status: active
User ID: example
Conditions:
Last Transition Time: 2022-09-23T09:10:35Z
Reason: Available
Status: True
Type: Ready
Last Transition Time: 2022-09-23T09:09:36Z
Reason: ReconcileSuccess
Status: True
Type: Synced
tested all comibinations 1 to 2 passwords, 2 to 1 password
@muvaf @chlunde @MisterMX any chance to get a review ? i fixed all openpoints
Crossplane does not currently have enough maintainers to address every issue and pull request. This pull request has been automatically marked as stale because it has had no activity in the last 90 days. It will be closed in 14 days if no further activity occurs. Adding a comment starting with /fresh will mark this PR as not stale.