Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloudformation support for Secrets Manager Integration #164

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

nidhimanthale
Copy link
Contributor

The changes provide Cloudformation support for Secrets Manager integration with Redshift clusters. With this new feature, customers can opt in to store their cluster's admin credentials in a service linked secret in Secrets Manager. It allows us to create/modify/restore Redshift clusters with Secrets Manager support using the Cloudformation template. The changes in this request allow us to use create-cluster, modify-cluster, restore-from-cluster-snapshot APIs for Redshift clusters when opting in to this feature.

We are adding a new boolean parameter "ManageMasterPassword" to allow customers to opt in to this feature and another parameter "MasterPasswordSecretKmsKeyId" allows customers to specify the key ID of the KMS key in the customer account which will be used to encrypt the cluster secret. These parameters can be used while setting CreateClusterRequest, ModifyClusterRequest and RestoreFromClusterSnapshotRequest. The response of these requests will return the "MasterPasswordSecretArn" when the cluster is opted in to this feature.

@@ -207,7 +207,7 @@ protected boolean issueModifyClusterMaintenanceRequest(ResourceModel model) {
// check for required parameters to not have null values
protected boolean invalidCreateClusterRequest(ResourceModel model) {
return model.getClusterIdentifier() == null || model.getNodeType() == null
|| model.getMasterUsername() == null || model.getMasterUserPassword() == null;
|| model.getMasterUsername() == null;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if cx doesn't pass in ManageMasterPassword the request would still be invalid right, can we add the condition for all the scenarios here please? or tell me I'm wrong :)

nidhimanthale and others added 2 commits December 19, 2023 23:15
- Check if required parameters are provided - ClusterIdentifier, NodeType, MasterUsername
- Check if either MasterUserPassword is provided or ManageMasterPassword is true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants