Skip to content

Conversation

@stas-schaller
Copy link
Collaborator

Summary

Implements regex pattern matching for the secretsmanager_records data source, allowing users to filter records by title using Go regular expressions.

Changes

New Feature

  • title_patterns parameter: Accepts list of regex patterns to match against record titles
  • Pattern validation: Compiles and validates patterns at runtime with clear error messages
  • Combined queries: Supports mixing UIDs, exact titles, and regex patterns in single data source
  • Optimization: Fetches all records once when patterns are used (same as titles behavior)

Tests Added

  • TestAccDataSourceRecords_WithTitlePatterns: Basic pattern matching functionality
  • TestAccDataSourceRecords_InvalidPattern: Invalid regex error handling
  • TestAccDataSourceRecords_CombinedWithPatterns: Mixed UIDs, titles, and patterns
  • TestAccDataSourceRecords_MultiplePatterns: Multiple pattern support

Documentation

  • Updated docs/data-sources/records.md with regex pattern examples
  • Added practical examples to examples/data-sources/records.tf
  • Documented performance considerations for pattern matching

Example Usage

data "secretsmanager_records" "production_dbs" {
  title_patterns = [
    "^Production.*Database$",
    "^Prod.*DB.*"
  ]
}

Testing

Run acceptance tests with:

TF_ACC=1 go test ./secretsmanager -v -run TestAccDataSourceRecords_WithTitlePatterns
TF_ACC=1 go test ./secretsmanager -v -run TestAccDataSourceRecords_InvalidPattern
TF_ACC=1 go test ./secretsmanager -v -run TestAccDataSourceRecords_CombinedWithPatterns
TF_ACC=1 go test ./secretsmanager -v -run TestAccDataSourceRecords_MultiplePatterns

Related Issues

Implement title_patterns parameter for secretsmanager_records data source,
allowing users to filter records using Go regex patterns. This addresses
GitHub issue #14 and Jira ticket KSM-389.

Features:
- Add title_patterns schema field accepting list of regex patterns
- Compile and validate patterns at runtime
- Match records against any provided pattern
- Support combining UIDs, titles, and patterns in single query
- Fetch all records once when patterns used (optimization)

Tests:
- TestAccDataSourceRecords_WithTitlePatterns: Basic pattern matching
- TestAccDataSourceRecords_InvalidPattern: Invalid regex error handling
- TestAccDataSourceRecords_CombinedWithPatterns: Mixed query types
- TestAccDataSourceRecords_MultiplePatterns: Multiple pattern support

Documentation:
- Updated docs/data-sources/records.md with pattern examples
- Added regex usage examples to examples/data-sources/records.tf
- Documented performance considerations for pattern matching

References: GitHub issue #14, Jira KSM-389
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