Skip to content

feat : Add support to specify endpoint of service credentials#851

Open
Khuzaima05 wants to merge 3 commits intomainfrom
issue_16679
Open

feat : Add support to specify endpoint of service credentials#851
Khuzaima05 wants to merge 3 commits intomainfrom
issue_16679

Conversation

@Khuzaima05
Copy link
Member

@Khuzaima05 Khuzaima05 commented Mar 17, 2026

Description

This PR adds endpoint selection support for Redis service credentials created with ibm_resource_key, aligned with the Event Streams implementation pattern.

Reference: Terraform IBM Provider – resource_key parameters

Changes:

  • Updated the ibm_resource_key resource to allow passing the parameters argument so that service credentials can be created for private endpoints (e.g., {"service-endpoints" = "private"}).

issue : https://github.ibm.com/GoldenEye/issues/issues/16679#issue-56112021

Release required?

  • No release
  • Patch release (x.x.X)
  • Minor release (x.X.x)
  • Major release (X.x.x)

Release notes content

Breaking changes

  • Changed service_credential_names input format from map(string) to list(object(...)).
  • Existing configurations using map syntax must be migrated.

New features

  • Added endpoint selection support for service credentials created with ibm_resource_key.
  • Each service credential can now set endpoint to public or private.

Validation updates

  • Added validation for allowed service credential roles.
  • Added validation for allowed endpoint values (public, private).
  • Added cross-validation between service_endpoints and service_credential_names[*].endpoint:
    • service_endpoints = "private" disallows credential endpoint public
    • service_endpoints = "public" disallows credential endpoint private

Migration guide

Old format:

service_credential_names = {
  postgresql_admin    = "Administrator"
  postgresql_operator = "Operator"
  postgresql_viewer   = "Viewer"
}

New format

service_credential_names = [
  {
    name     = "postgresql_admin"
    role     = "Administrator"
    endpoint = "private"
  },
  {
    name     = "postgresql_operator"
    role     = "Operator"
    endpoint = "private"
  },
  {
    name     = "postgresql_viewer"
    role     = "Viewer"
    endpoint = "private"
  }
]

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

  • If relevant, a test for the change is included or updated with this PR.
  • If relevant, documentation for the change is included or updated with this PR.

For mergers

  • Use a conventional commit message to set the release level. Follow the guidelines.
  • Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
  • Use the Squash and merge option.

@Khuzaima05
Copy link
Member Author

/run pipeline

@Khuzaima05 Khuzaima05 self-assigned this Mar 17, 2026
@Khuzaima05
Copy link
Member Author

/run pipeline

@Khuzaima05
Copy link
Member Author

Upgrade test is failing due to variable change:

Screenshot 2026-03-17 at 9 51 15 PM

@Khuzaima05
Copy link
Member Author

/run pipeline

Copy link
Contributor

@shemau shemau left a comment

Choose a reason for hiding this comment

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

LGTM

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.

2 participants