Skip to content

Commit d918801

Browse files
tas50claude
andcommitted
⭐ Expand ElastiCache with parameter groups, subnet groups, users, updates, snapshots
Add 5 new top-level resources to aws.elasticache: - parameterGroup: cache parameter groups with family and global flag - subnetGroup: subnet groups with VPC reference and network types - user: RBAC users with access strings and authentication details - serviceUpdate: available service updates with severity and status - snapshot: cache snapshots with engine, KMS key, and VPC references Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 394205f commit d918801

File tree

4 files changed

+1648
-0
lines changed

4 files changed

+1648
-0
lines changed

providers/aws/resources/aws.lr

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5620,6 +5620,16 @@ aws.elasticache @defaults("cacheClusters") {
56205620
cacheClusters() []aws.elasticache.cluster
56215621
// List of serverless caches
56225622
serverlessCaches() []aws.elasticache.serverlessCache
5623+
// List of cache parameter groups
5624+
parameterGroups() []aws.elasticache.parameterGroup
5625+
// List of cache subnet groups
5626+
subnetGroups() []aws.elasticache.subnetGroup
5627+
// List of RBAC users
5628+
users() []aws.elasticache.user
5629+
// List of available service updates
5630+
serviceUpdates() []aws.elasticache.serviceUpdate
5631+
// List of cache snapshots
5632+
snapshots() []aws.elasticache.snapshot
56235633
}
56245634

56255635
// Amazon ElastiCache cluster
@@ -5723,6 +5733,128 @@ private aws.elasticache.serverlessCache @defaults("name description status engin
57235733
subnets() []aws.vpc.subnet
57245734
}
57255735

5736+
// Amazon ElastiCache parameter group
5737+
private aws.elasticache.parameterGroup @defaults("name family") {
5738+
// ARN of the parameter group
5739+
arn string
5740+
// Parameter group name
5741+
name string
5742+
// Region where the parameter group exists
5743+
region string
5744+
// Engine family (e.g., redis7, memcached1.6)
5745+
family string
5746+
// Description of the parameter group
5747+
description string
5748+
// Whether the parameter group is associated with a Global datastore
5749+
isGlobal bool
5750+
}
5751+
5752+
// Amazon ElastiCache subnet group
5753+
private aws.elasticache.subnetGroup @defaults("name") {
5754+
// ARN of the subnet group
5755+
arn string
5756+
// Subnet group name
5757+
name string
5758+
// Region where the subnet group exists
5759+
region string
5760+
// Description of the subnet group
5761+
description string
5762+
// Subnets in this group
5763+
subnets []dict
5764+
// Supported network types (ipv4, ipv6, dual_stack)
5765+
supportedNetworkTypes []string
5766+
// VPC associated with this subnet group
5767+
vpc() aws.vpc
5768+
}
5769+
5770+
// Amazon ElastiCache RBAC user
5771+
private aws.elasticache.user @defaults("userName status engine") {
5772+
// ARN of the user
5773+
arn string
5774+
// User ID
5775+
userId string
5776+
// Username
5777+
userName string
5778+
// Region where the user exists
5779+
region string
5780+
// Access permissions string
5781+
accessString string
5782+
// Engine type (valkey or redis)
5783+
engine string
5784+
// Minimum engine version required
5785+
minimumEngineVersion string
5786+
// User status: active, modifying, deleting
5787+
status string
5788+
// User group IDs the user belongs to
5789+
userGroupIds []string
5790+
// Authentication details
5791+
authentication dict
5792+
}
5793+
5794+
// Amazon ElastiCache service update
5795+
private aws.elasticache.serviceUpdate @defaults("name severity status") {
5796+
// Service update name
5797+
name string
5798+
// Region where the update was discovered
5799+
region string
5800+
// Description of the service update
5801+
description string
5802+
// Engine the update applies to (Valkey, Redis, Memcached)
5803+
engine string
5804+
// Engine version the update applies to
5805+
engineVersion string
5806+
// Severity: critical, important, medium, low
5807+
severity string
5808+
// Status: available, cancelled, expired
5809+
status string
5810+
// Update type
5811+
updateType string
5812+
// Date the update was released
5813+
releaseDate time
5814+
// Recommended apply-by date
5815+
recommendedApplyByDate time
5816+
// Date after which the update is no longer available
5817+
endDate time
5818+
// Estimated time to apply the update
5819+
estimatedUpdateTime string
5820+
// Whether update auto-applies after recommended date
5821+
autoUpdateAfterRecommendedApplyByDate bool
5822+
}
5823+
5824+
// Amazon ElastiCache snapshot
5825+
private aws.elasticache.snapshot @defaults("name status engine") {
5826+
// ARN of the snapshot
5827+
arn string
5828+
// Snapshot name
5829+
name string
5830+
// Region where the snapshot exists
5831+
region string
5832+
// Source cluster ID
5833+
cacheClusterId string
5834+
// Source replication group ID
5835+
replicationGroupId string
5836+
// Snapshot status: creating, available, restoring, copying, deleting
5837+
status string
5838+
// Snapshot source: automated or manual
5839+
snapshotSource string
5840+
// Cache engine name
5841+
engine string
5842+
// Cache engine version
5843+
engineVersion string
5844+
// Cache node type
5845+
cacheNodeType string
5846+
// Number of cache nodes
5847+
numCacheNodes int
5848+
// Snapshot retention limit in days
5849+
snapshotRetentionLimit int
5850+
// KMS key used to encrypt the snapshot
5851+
kmsKey() aws.kms.key
5852+
// VPC of the cache subnet group
5853+
vpc() aws.vpc
5854+
// When the source cluster was created
5855+
cacheClusterCreatedAt time
5856+
}
5857+
57265858
// Amazon Redshift
57275859
aws.redshift @defaults("clusters") {
57285860
// List of clusters

0 commit comments

Comments
 (0)