@aws-cdk/aws-elasticache-alpha 2.256.1-alpha.0 → 2.258.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.256.1",
11
+ "aws-cdk-lib": "^2.258.0",
12
12
  "constructs": "^10.5.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -525,6 +525,19 @@
525
525
  }
526
526
  }
527
527
  },
528
+ "aws-cdk-lib.aws_awsexternalanthropic": {
529
+ "targets": {
530
+ "dotnet": {
531
+ "namespace": "Amazon.CDK.AWS.AWSExternalAnthropic"
532
+ },
533
+ "java": {
534
+ "package": "software.amazon.awscdk.services.awsexternalanthropic"
535
+ },
536
+ "python": {
537
+ "module": "aws_cdk.aws_awsexternalanthropic"
538
+ }
539
+ }
540
+ },
528
541
  "aws-cdk-lib.aws_b2bi": {
529
542
  "targets": {
530
543
  "dotnet": {
@@ -4702,6 +4715,22 @@
4702
4715
  }
4703
4716
  }
4704
4717
  },
4718
+ "aws-cdk-lib.interfaces.aws_awsexternalanthropic": {
4719
+ "targets": {
4720
+ "dotnet": {
4721
+ "namespace": "Amazon.CDK.Interfaces.AWSExternalAnthropic"
4722
+ },
4723
+ "go": {
4724
+ "packageName": "interfacesawsawsexternalanthropic"
4725
+ },
4726
+ "java": {
4727
+ "package": "software.amazon.awscdk.interfaces.awsexternalanthropic"
4728
+ },
4729
+ "python": {
4730
+ "module": "aws_cdk.interfaces.aws_awsexternalanthropic"
4731
+ }
4732
+ }
4733
+ },
4705
4734
  "aws-cdk-lib.interfaces.aws_b2bi": {
4706
4735
  "targets": {
4707
4736
  "dotnet": {
@@ -8937,7 +8966,7 @@
8937
8966
  "stability": "experimental"
8938
8967
  },
8939
8968
  "homepage": "https://github.com/aws/aws-cdk",
8940
- "jsiiVersion": "5.9.37 (build 5176c0d)",
8969
+ "jsiiVersion": "5.9.44 (build 150b837)",
8941
8970
  "keywords": [
8942
8971
  "aws",
8943
8972
  "cdk",
@@ -8959,7 +8988,7 @@
8959
8988
  },
8960
8989
  "name": "@aws-cdk/aws-elasticache-alpha",
8961
8990
  "readme": {
8962
- "markdown": "# ElastiCache CDK Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module has constructs for [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/WhatIs.html).\n\n* The `ServerlessCache` construct facilitates the creation and management of serverless cache.\n* The `User` and `UserGroup` constructs facilitate the creation and management of users for the cache.\n\n## Serverless Cache\n\nAmazon ElastiCache Serverless is a serverless option that automatically scales cache capacity based on application traffic patterns. You can create a serverless cache using the `ServerlessCache` construct:\n\n```ts\nconst vpc = new ec2.Vpc(this, 'VPC');\n\nconst cache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n vpc,\n});\n```\n\n### Connecting to serverless cache\n\nTo control who can access the serverless cache by the security groups, use the `.connections` attribute.\n\nThe serverless cache has a default port `6379`.\n\nThis example allows an EC2 instance to connect to the serverless cache:\n\n```ts\ndeclare const serverlessCache: elasticache.ServerlessCache;\ndeclare const instance: ec2.Instance;\n\n// allow the EC2 instance to connect to serverless cache on default port 6379\nserverlessCache.connections.allowDefaultPortFrom(instance);\n```\n\n### Cache usage limits\n\nYou can configure usage limits on both cache data storage and ECPU/second for your cache to control costs and ensure predictable performance.\n\n**Configuration options:**\n\n* **Maximum limits**: Ensure your cache usage never exceeds the configured maximum\n* **Minimum limits**: Reserve a baseline level of resources for consistent performance\n* **Both**: Define a range where your cache usage will operate\n\nFor more infomation, see [Setting scaling limits to manage costs](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Scaling.html#Pre-Scaling).\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n vpc,\n cacheUsageLimits: {\n // cache data storage limits (GB)\n dataStorageMinimumSize: Size.gibibytes(2), // minimum: 1GB\n dataStorageMaximumSize: Size.gibibytes(3), // maximum: 5000GB\n // rate limits (ECPU/second)\n requestRateLimitMinimum: 1000, // minimum: 1000\n requestRateLimitMaximum: 10000, // maximum: 15000000\n },\n});\n```\n\n### Backups and restore\n\nYou can enable automatic backups for serverless cache.\nWhen automatic backups are enabled, ElastiCache creates a backup of the cache on a daily basis.\n\nAlso you can set the backup window for any time when it's most convenient.\nIf you don't specify a backup window, ElastiCache assigns one automatically.\n\nFor more information, see [Scheduling automatic backups](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/backups-automatic.html).\n\nTo enable automatic backups, set the `backupRetentionLimit` property. You can also specify the snapshot creation time by setting `backupTime` property:\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n backup: {\n // enable automatic backups and set the retention period to 6 days\n backupRetentionLimit: 6,\n // set the backup window to 9:00 AM UTC\n backupTime: events.Schedule.cron({\n hour: '9',\n minute: '0',\n }),\n },\n vpc,\n});\n```\n\nYou can create a final backup by setting `backupNameBeforeDeletion` property.\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n backup: {\n // set a backup name before deleting a cache\n backupNameBeforeDeletion: \"my-final-backup-name\",\n },\n vpc,\n});\n```\n\nYou can restore from backups by setting snapshot ARNs to `backupArnsToRestore` property:\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n backup: {\n // set the backup(s) to restore\n backupArnsToRestore: ['arn:aws:elasticache:us-east-1:123456789012:serverlesscachesnapshot:my-final-backup-name'],\n },\n vpc,\n});\n```\n\n### Encryption at rest\n\nAt-rest encryption is always enabled for Serverless Cache. There are two encryption options:\n\n* **Default**: When no `kmsKey` is specified (left as `undefined`), AWS owned KMS keys are used automatically\n* **Customer Managed Key**: Create a KMS key first, then pass it to the cache via the `kmsKey` property\n\n### Customer Managed Key for encryption at rest\n\nElastiCache supports symmetric Customer Managed key (CMK) for encryption at rest.\n\nFor more information, see [Using customer managed keys from AWS KMS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/at-rest-encryption.html#using-customer-managed-keys-for-elasticache-security).\n\nTo use CMK, set your CMK to the `kmsKey` property:\n\n```ts\nimport { Key } from 'aws-cdk-lib/aws-kms';\n\ndeclare const kmsKey: Key;\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n serverlessCacheName: 'my-serverless-cache',\n vpc,\n // set Customer Managed Key\n kmsKey,\n});\n```\n\n### Metrics and monitoring\n\nYou can monitor your serverless cache using CloudWatch Metrics via the `metric` method.\n\nFor more information about serverless cache metrics, see [Serverless metrics and events for Valkey and Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html) and [Serverless metrics and events for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events.memcached.html).\n\n```ts\ndeclare const serverlessCache: elasticache.ServerlessCache;\n\n// The 5 minutes average of the total number of successful read-only key lookups in the cache.\nconst cacheHits = serverlessCache.metricCacheHitCount();\n\n// The 5 minutes average of the total number of bytes used by the data stored in the cache.\nconst bytesUsedForCache = serverlessCache.metricDataStored();\n\n// The 5 minutes average of the total number of ElastiCacheProcessingUnits (ECPUs) consumed by the requests executed on the cache.\nconst elastiCacheProcessingUnits = serverlessCache.metricProcessingUnitsConsumed();\n\n// Create an alarm for ECPUs.\nelastiCacheProcessingUnits.createAlarm(this, 'ElastiCacheProcessingUnitsAlarm', {\n threshold: 50,\n evaluationPeriods: 1,\n});\n```\n\n### Import an existing serverless cache\n\nTo import an existing ServerlessCache, use the `ServerlessCache.fromServerlessCacheAttributes` method:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\n\nconst importedServerlessCache = elasticache.ServerlessCache.fromServerlessCacheAttributes(this, 'ImportedServerlessCache', {\n serverlessCacheName: 'my-serverless-cache',\n securityGroups: [securityGroup],\n});\n```\n\n## User and User Group\n\nSetup required properties and create:\n\n```ts\nconst newDefaultUser = new elasticache.NoPasswordUser(this, 'NoPasswordUser', {\n userId: 'default',\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n})\n\nconst userGroup = new elasticache.UserGroup(this, 'UserGroup', {\n users: [newDefaultUser],\n});\n```\n\n### RBAC\n\nIn Valkey 7.2 and onward and Redis OSS 6.0 onward you can use a feature called Role-Based Access Control (RBAC). RBAC is also the only way to control access to serverless caches.\n\nRBAC enables you to control cache access through user groups. These user groups are designed as a way to organize access to caches.\n\nFor more information, see [Role-Based Access Control (RBAC)](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html).\n\nTo enable RBAC for ElastiCache with Valkey or Redis OSS, you take the following steps:\n\n* Create users.\n* Create a user group and add users to the user group.\n* Assign the user group to a cache.\n\n### Create users\n\nFirst, you need to create users by using `IamUser`, `PasswordUser` or `NoPasswordUser` construct.\n\nWith RBAC, you create users and assign them specific permissions by using `accessString` property.\n\nFor more information, see [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html#Access-string).\n\nYou can create an IAM-enabled user by using `IamUser` construct:\n\n```ts\nconst user = new elasticache.IamUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.REDIS,\n\n // set user id\n userId: 'my-user',\n\n // set username\n userName: 'my-user',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n});\n```\n\n> NOTE: IAM-enabled users must have matching user id and username. For more information, see [Limitations](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth-iam.html). The construct can set automatically the username to be the same as the user id.\n\nIf you want to create a password authenticated user, use `PasswordUser` construct:\n\n```ts\nconst user = new elasticache.PasswordUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.VALKEY,\n\n // set user id\n userId: 'my-user-id',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n\n // set username\n userName: 'my-user-name',\n\n // set up to two passwords\n passwords: [\n // \"SecretIdForPassword\" is the secret id for the password\n SecretValue.secretsManager('SecretIdForPassword'),\n // \"AnotherSecretIdForPassword\" is the secret id for the password\n SecretValue.secretsManager('AnotherSecretIdForPassword'),\n ],\n});\n```\n\nYou can also create a no password required user by using `NoPasswordUser` construct:\n\n```ts\nconst user = new elasticache.NoPasswordUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.REDIS,\n\n // set user id\n userId: 'my-user-id',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n\n // set username\n userName: 'my-user-name',\n});\n```\n\n> NOTE: `NoPasswordUser` is only available for Redis Cache.\n\n### Default user\n\nElastiCache automatically creates a default user with both a user ID and username set to `default`. This default user cannot be modified or deleted. The user is created as a no password authentication user.\n\nThis user is intended for compatibility with the default behavior of previous Redis OSS versions and has an access string that permits it to call all commands and access all keys.\n\nTo use this automatically created default user in CDK, you can import it using `NoPasswordUser.fromUserAttributes` method. For more information on import methods, see the [Import an existing user and user group](#import-an-existing-user-and-user-group) section.\n\nTo add proper access control to a cache, replace the default user with a new one that is either disabled by setting the `accessString` to `off -@all` or secured with a strong password.\n\nTo change the default user, create a new default user with the username set to `default`. You can then swap it with the original default user.\n\nFor more information, see [Applying RBAC to a Cache for ElastiCache with Valkey or Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html#rbac-using).\n\nIf you want to create a new default user, `userName` must be `default` and `userId` must not be `default` by using `NoPasswordUser` or `PasswordUser`:\n\n```ts\n// use the original `default` user by using import method\nconst defaultUser = elasticache.NoPasswordUser.fromUserAttributes(this, 'DefaultUser', {\n // userId and userName must be 'default'\n userId: 'default',\n});\n\n// create a new default user\nconst newDefaultUser = new elasticache.NoPasswordUser(this, 'NewDefaultUser', {\n // new default user id must not be 'default'\n userId: 'new-default',\n // new default username must be 'default'\n userName: 'default',\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n});\n```\n\n> NOTE: You can't create a new default user using `IamUser` because an IAM-enabled user's username and user ID cannot be different.\n\n### Add users to the user group\n\nNext, use the `UserGroup` construct to create a user group and add users to it.\nEnsure that you include either the original default user or a new default user:\n\n```ts\ndeclare const newDefaultUser: elasticache.IUser;\ndeclare const user: elasticache.IUser;\ndeclare const anotherUser: elasticache.IUser;\n\nconst userGroup = new elasticache.UserGroup(this, 'UserGroup', {\n // add users including default user\n users: [newDefaultUser, user],\n});\n\n// you can also add a user by using addUser method\nuserGroup.addUser(anotherUser);\n```\n\n### Assign user group\n\nFinally, assign a user group to cache:\n\n```ts\ndeclare const vpc: ec2.Vpc;\ndeclare const userGroup: elasticache.UserGroup;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n serverlessCacheName: 'my-serverless-cache',\n vpc,\n // assign User Group\n userGroup,\n});\n\n```\n\n### Grant permissions to IAM-enabled users\n\nIf you create IAM-enabled users, `\"elasticache:Connect\"` action must be allowed for the users and cache.\n\n> NOTE: You don't need grant permissions to no password required users or password authentication users.\n\nFor more information, see [Authenticating with IAM](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth-iam.html).\n\nTo grant permissions, you can use the `grantConnect` method in `IamUser` and `ServerlessCache` constructs:\n\n```ts\ndeclare const user: elasticache.IamUser;\ndeclare const serverlessCache: elasticache.ServerlessCache;\ndeclare const role: iam.Role;\n\n// grant \"elasticache:Connect\" action permissions to role\nuser.grantConnect(role);\nserverlessCache.grants.connect(role);\n```\n\n### Import an existing user and user group\n\nYou can import an existing user and user group by using import methods:\n\n```ts\nconst stack = new Stack();\n\nconst importedIamUser = elasticache.IamUser.fromUserId(this, 'ImportedIamUser', 'my-iam-user-id');\n\nconst importedPasswordUser = elasticache.PasswordUser.fromUserAttributes(stack, 'ImportedPasswordUser', {\n userId: 'my-password-user-id',\n});\n\nconst importedNoPasswordUser = elasticache.NoPasswordUser.fromUserAttributes(stack, 'ImportedNoPasswordUser', {\n userId: 'my-no-password-user-id',\n});\n\nconst importedUserGroup = elasticache.UserGroup.fromUserGroupAttributes(this, 'ImportedUserGroup', {\n userGroupName: 'my-user-group-name'\n});\n```\n"
8991
+ "markdown": "# ElastiCache CDK Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module has constructs for [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/WhatIs.html).\n\n* The `ServerlessCache` construct facilitates the creation and management of serverless cache.\n* The `User` and `UserGroup` constructs facilitate the creation and management of users for the cache.\n\n## Serverless Cache\n\nAmazon ElastiCache Serverless is a serverless option that automatically scales cache capacity based on application traffic patterns. You can create a serverless cache using the `ServerlessCache` construct:\n\n```ts\nconst vpc = new ec2.Vpc(this, 'VPC');\n\nconst cache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n vpc,\n});\n```\n\n### Connecting to serverless cache\n\nTo control who can access the serverless cache by the security groups, use the `.connections` attribute.\n\nThe serverless cache has a default port `6379`.\n\nThis example allows an EC2 instance to connect to the serverless cache:\n\n```ts\ndeclare const serverlessCache: elasticache.ServerlessCache;\ndeclare const instance: ec2.Instance;\n\n// allow the EC2 instance to connect to serverless cache on default port 6379\nserverlessCache.connections.allowDefaultPortFrom(instance);\n```\n\n### Using a custom engine version\n\nThe named `CacheEngine` and `UserEngine` static members cover the versions available\nat the time of the most recent CDK release. If ElastiCache releases a new engine\nversion before it is added as a named member, use the `.of(...)` factory to target\nit without waiting for a CDK update:\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nnew elasticache.ServerlessCache(this, 'ServerlessCache', {\n // Use any engine/version combination supported by ElastiCache:\n engine: elasticache.CacheEngine.of('valkey', '9'),\n vpc,\n});\n```\n\nThe same pattern applies to `UserEngine.of(engineType)` for users and user groups.\n\n### Cache usage limits\n\nYou can configure usage limits on both cache data storage and ECPU/second for your cache to control costs and ensure predictable performance.\n\n**Configuration options:**\n\n* **Maximum limits**: Ensure your cache usage never exceeds the configured maximum\n* **Minimum limits**: Reserve a baseline level of resources for consistent performance\n* **Both**: Define a range where your cache usage will operate\n\nFor more infomation, see [Setting scaling limits to manage costs](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Scaling.html#Pre-Scaling).\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n vpc,\n cacheUsageLimits: {\n // cache data storage limits (GB)\n dataStorageMinimumSize: Size.gibibytes(2), // minimum: 1GB\n dataStorageMaximumSize: Size.gibibytes(3), // maximum: 5000GB\n // rate limits (ECPU/second)\n requestRateLimitMinimum: 1000, // minimum: 1000\n requestRateLimitMaximum: 10000, // maximum: 15000000\n },\n});\n```\n\n### Backups and restore\n\nYou can enable automatic backups for serverless cache.\nWhen automatic backups are enabled, ElastiCache creates a backup of the cache on a daily basis.\n\nAlso you can set the backup window for any time when it's most convenient.\nIf you don't specify a backup window, ElastiCache assigns one automatically.\n\nFor more information, see [Scheduling automatic backups](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/backups-automatic.html).\n\nTo enable automatic backups, set the `backupRetentionLimit` property. You can also specify the snapshot creation time by setting `backupTime` property:\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n backup: {\n // enable automatic backups and set the retention period to 6 days\n backupRetentionLimit: 6,\n // set the backup window to 9:00 AM UTC\n backupTime: events.Schedule.cron({\n hour: '9',\n minute: '0',\n }),\n },\n vpc,\n});\n```\n\nYou can create a final backup by setting `backupNameBeforeDeletion` property.\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n backup: {\n // set a backup name before deleting a cache\n backupNameBeforeDeletion: \"my-final-backup-name\",\n },\n vpc,\n});\n```\n\nYou can restore from backups by setting snapshot ARNs to `backupArnsToRestore` property:\n\n```ts\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n backup: {\n // set the backup(s) to restore\n backupArnsToRestore: ['arn:aws:elasticache:us-east-1:123456789012:serverlesscachesnapshot:my-final-backup-name'],\n },\n vpc,\n});\n```\n\n### Encryption at rest\n\nAt-rest encryption is always enabled for Serverless Cache. There are two encryption options:\n\n* **Default**: When no `kmsKey` is specified (left as `undefined`), AWS owned KMS keys are used automatically\n* **Customer Managed Key**: Create a KMS key first, then pass it to the cache via the `kmsKey` property\n\n### Customer Managed Key for encryption at rest\n\nElastiCache supports symmetric Customer Managed key (CMK) for encryption at rest.\n\nFor more information, see [Using customer managed keys from AWS KMS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/at-rest-encryption.html#using-customer-managed-keys-for-elasticache-security).\n\nTo use CMK, set your CMK to the `kmsKey` property:\n\n```ts\nimport { Key } from 'aws-cdk-lib/aws-kms';\n\ndeclare const kmsKey: Key;\ndeclare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n serverlessCacheName: 'my-serverless-cache',\n vpc,\n // set Customer Managed Key\n kmsKey,\n});\n```\n\n### Metrics and monitoring\n\nYou can monitor your serverless cache using CloudWatch Metrics via the `metric` method.\n\nFor more information about serverless cache metrics, see [Serverless metrics and events for Valkey and Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html) and [Serverless metrics and events for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/serverless-metrics-events.memcached.html).\n\n```ts\ndeclare const serverlessCache: elasticache.ServerlessCache;\n\n// The 5 minutes average of the total number of successful read-only key lookups in the cache.\nconst cacheHits = serverlessCache.metricCacheHitCount();\n\n// The 5 minutes average of the total number of bytes used by the data stored in the cache.\nconst bytesUsedForCache = serverlessCache.metricDataStored();\n\n// The 5 minutes average of the total number of ElastiCacheProcessingUnits (ECPUs) consumed by the requests executed on the cache.\nconst elastiCacheProcessingUnits = serverlessCache.metricProcessingUnitsConsumed();\n\n// Create an alarm for ECPUs.\nelastiCacheProcessingUnits.createAlarm(this, 'ElastiCacheProcessingUnitsAlarm', {\n threshold: 50,\n evaluationPeriods: 1,\n});\n```\n\n### Import an existing serverless cache\n\nTo import an existing ServerlessCache, use the `ServerlessCache.fromServerlessCacheAttributes` method:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\n\nconst importedServerlessCache = elasticache.ServerlessCache.fromServerlessCacheAttributes(this, 'ImportedServerlessCache', {\n serverlessCacheName: 'my-serverless-cache',\n securityGroups: [securityGroup],\n});\n```\n\n## User and User Group\n\nSetup required properties and create:\n\n```ts\nconst newDefaultUser = new elasticache.NoPasswordUser(this, 'NoPasswordUser', {\n userId: 'default',\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n})\n\nconst userGroup = new elasticache.UserGroup(this, 'UserGroup', {\n users: [newDefaultUser],\n});\n```\n\n### RBAC\n\nIn Valkey 7.2 and onward and Redis OSS 6.0 onward you can use a feature called Role-Based Access Control (RBAC). RBAC is also the only way to control access to serverless caches.\n\nRBAC enables you to control cache access through user groups. These user groups are designed as a way to organize access to caches.\n\nFor more information, see [Role-Based Access Control (RBAC)](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html).\n\nTo enable RBAC for ElastiCache with Valkey or Redis OSS, you take the following steps:\n\n* Create users.\n* Create a user group and add users to the user group.\n* Assign the user group to a cache.\n\n### Create users\n\nFirst, you need to create users by using `IamUser`, `PasswordUser` or `NoPasswordUser` construct.\n\nWith RBAC, you create users and assign them specific permissions by using `accessString` property.\n\nFor more information, see [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html#Access-string).\n\nYou can create an IAM-enabled user by using `IamUser` construct:\n\n```ts\nconst user = new elasticache.IamUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.REDIS,\n\n // set user id\n userId: 'my-user',\n\n // set username\n userName: 'my-user',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n});\n```\n\n> NOTE: IAM-enabled users must have matching user id and username. For more information, see [Limitations](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth-iam.html). The construct can set automatically the username to be the same as the user id.\n\nIf you want to create a password authenticated user, use `PasswordUser` construct:\n\n```ts\nconst user = new elasticache.PasswordUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.VALKEY,\n\n // set user id\n userId: 'my-user-id',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n\n // set username\n userName: 'my-user-name',\n\n // set up to two passwords\n passwords: [\n // \"SecretIdForPassword\" is the secret id for the password\n SecretValue.secretsManager('SecretIdForPassword'),\n // \"AnotherSecretIdForPassword\" is the secret id for the password\n SecretValue.secretsManager('AnotherSecretIdForPassword'),\n ],\n});\n```\n\nYou can also create a no password required user by using `NoPasswordUser` construct:\n\n```ts\nconst user = new elasticache.NoPasswordUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.REDIS,\n\n // set user id\n userId: 'my-user-id',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n\n // set username\n userName: 'my-user-name',\n});\n```\n\n> NOTE: `NoPasswordUser` is only available for Redis Cache.\n\n### Default user\n\nElastiCache automatically creates a default user with both a user ID and username set to `default`. This default user cannot be modified or deleted. The user is created as a no password authentication user.\n\nThis user is intended for compatibility with the default behavior of previous Redis OSS versions and has an access string that permits it to call all commands and access all keys.\n\nTo use this automatically created default user in CDK, you can import it using `NoPasswordUser.fromUserAttributes` method. For more information on import methods, see the [Import an existing user and user group](#import-an-existing-user-and-user-group) section.\n\nTo add proper access control to a cache, replace the default user with a new one that is either disabled by setting the `accessString` to `off -@all` or secured with a strong password.\n\nTo change the default user, create a new default user with the username set to `default`. You can then swap it with the original default user.\n\nFor more information, see [Applying RBAC to a Cache for ElastiCache with Valkey or Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html#rbac-using).\n\nIf you want to create a new default user, `userName` must be `default` and `userId` must not be `default` by using `NoPasswordUser` or `PasswordUser`:\n\n```ts\n// use the original `default` user by using import method\nconst defaultUser = elasticache.NoPasswordUser.fromUserAttributes(this, 'DefaultUser', {\n // userId and userName must be 'default'\n userId: 'default',\n});\n\n// create a new default user\nconst newDefaultUser = new elasticache.NoPasswordUser(this, 'NewDefaultUser', {\n // new default user id must not be 'default'\n userId: 'new-default',\n // new default username must be 'default'\n userName: 'default',\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n});\n```\n\n> NOTE: You can't create a new default user using `IamUser` because an IAM-enabled user's username and user ID cannot be different.\n\n### Add users to the user group\n\nNext, use the `UserGroup` construct to create a user group and add users to it.\nEnsure that you include either the original default user or a new default user:\n\n```ts\ndeclare const newDefaultUser: elasticache.IUser;\ndeclare const user: elasticache.IUser;\ndeclare const anotherUser: elasticache.IUser;\n\nconst userGroup = new elasticache.UserGroup(this, 'UserGroup', {\n // add users including default user\n users: [newDefaultUser, user],\n});\n\n// you can also add a user by using addUser method\nuserGroup.addUser(anotherUser);\n```\n\n### Assign user group\n\nFinally, assign a user group to cache:\n\n```ts\ndeclare const vpc: ec2.Vpc;\ndeclare const userGroup: elasticache.UserGroup;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n serverlessCacheName: 'my-serverless-cache',\n vpc,\n // assign User Group\n userGroup,\n});\n\n```\n\n### Grant permissions to IAM-enabled users\n\nIf you create IAM-enabled users, `\"elasticache:Connect\"` action must be allowed for the users and cache.\n\n> NOTE: You don't need grant permissions to no password required users or password authentication users.\n\nFor more information, see [Authenticating with IAM](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth-iam.html).\n\nTo grant permissions, you can use the `grantConnect` method in `IamUser` and `ServerlessCache` constructs:\n\n```ts\ndeclare const user: elasticache.IamUser;\ndeclare const serverlessCache: elasticache.ServerlessCache;\ndeclare const role: iam.Role;\n\n// grant \"elasticache:Connect\" action permissions to role\nuser.grantConnect(role);\nserverlessCache.grants.connect(role);\n```\n\n### Import an existing user and user group\n\nYou can import an existing user and user group by using import methods:\n\n```ts\nconst stack = new Stack();\n\nconst importedIamUser = elasticache.IamUser.fromUserId(this, 'ImportedIamUser', 'my-iam-user-id');\n\nconst importedPasswordUser = elasticache.PasswordUser.fromUserAttributes(stack, 'ImportedPasswordUser', {\n userId: 'my-password-user-id',\n});\n\nconst importedNoPasswordUser = elasticache.NoPasswordUser.fromUserAttributes(stack, 'ImportedNoPasswordUser', {\n userId: 'my-no-password-user-id',\n});\n\nconst importedUserGroup = elasticache.UserGroup.fromUserGroupAttributes(this, 'ImportedUserGroup', {\n userGroupName: 'my-user-group-name'\n});\n```\n"
8963
8992
  },
8964
8993
  "repository": {
8965
8994
  "directory": "packages/@aws-cdk/aws-elasticache-alpha",
@@ -9085,7 +9114,7 @@
9085
9114
  "kind": "interface",
9086
9115
  "locationInModule": {
9087
9116
  "filename": "lib/serverless-cache.ts",
9088
- "line": 79
9117
+ "line": 78
9089
9118
  },
9090
9119
  "name": "BackupSettings",
9091
9120
  "properties": [
@@ -9099,7 +9128,7 @@
9099
9128
  "immutable": true,
9100
9129
  "locationInModule": {
9101
9130
  "filename": "lib/serverless-cache.ts",
9102
- "line": 103
9131
+ "line": 102
9103
9132
  },
9104
9133
  "name": "backupArnsToRestore",
9105
9134
  "optional": true,
@@ -9122,7 +9151,7 @@
9122
9151
  "immutable": true,
9123
9152
  "locationInModule": {
9124
9153
  "filename": "lib/serverless-cache.ts",
9125
- "line": 97
9154
+ "line": 96
9126
9155
  },
9127
9156
  "name": "backupNameBeforeDeletion",
9128
9157
  "optional": true,
@@ -9140,7 +9169,7 @@
9140
9169
  "immutable": true,
9141
9170
  "locationInModule": {
9142
9171
  "filename": "lib/serverless-cache.ts",
9143
- "line": 91
9172
+ "line": 90
9144
9173
  },
9145
9174
  "name": "backupRetentionLimit",
9146
9175
  "optional": true,
@@ -9158,7 +9187,7 @@
9158
9187
  "immutable": true,
9159
9188
  "locationInModule": {
9160
9189
  "filename": "lib/serverless-cache.ts",
9161
- "line": 85
9190
+ "line": 84
9162
9191
  },
9163
9192
  "name": "backupTime",
9164
9193
  "optional": true,
@@ -9172,6 +9201,8 @@
9172
9201
  "@aws-cdk/aws-elasticache-alpha.CacheEngine": {
9173
9202
  "assembly": "@aws-cdk/aws-elasticache-alpha",
9174
9203
  "docs": {
9204
+ "remarks": "Named instances cover the versions currently available on ElastiCache Serverless.\nTo target a version that is not yet represented by a named instance, use\n`CacheEngine.of(engineType, majorEngineVersion)`.",
9205
+ "see": "https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html",
9175
9206
  "stability": "experimental",
9176
9207
  "summary": "Supported cache engines together with available versions.",
9177
9208
  "example": "declare const vpc: ec2.Vpc;\n\nconst serverlessCache = new elasticache.ServerlessCache(this, 'ServerlessCache', {\n engine: elasticache.CacheEngine.VALKEY_LATEST,\n backup: {\n // set a backup name before deleting a cache\n backupNameBeforeDeletion: \"my-final-backup-name\",\n },\n vpc,\n});",
@@ -9180,63 +9211,241 @@
9180
9211
  }
9181
9212
  },
9182
9213
  "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine",
9183
- "kind": "enum",
9214
+ "kind": "class",
9184
9215
  "locationInModule": {
9185
9216
  "filename": "lib/serverless-cache-base.ts",
9186
- "line": 17
9217
+ "line": 22
9187
9218
  },
9188
- "members": [
9219
+ "methods": [
9220
+ {
9221
+ "docs": {
9222
+ "remarks": "Use this for engine/version combinations that are not yet represented by a\nnamed static member.",
9223
+ "stability": "experimental",
9224
+ "summary": "Create a new `CacheEngine` with an arbitrary engine type and major version."
9225
+ },
9226
+ "locationInModule": {
9227
+ "filename": "lib/serverless-cache-base.ts",
9228
+ "line": 73
9229
+ },
9230
+ "name": "of",
9231
+ "parameters": [
9232
+ {
9233
+ "docs": {
9234
+ "summary": "the engine type (for example, `'valkey'`, `'redis'`, or `'memcached'`)."
9235
+ },
9236
+ "name": "engineType",
9237
+ "type": {
9238
+ "primitive": "string"
9239
+ }
9240
+ },
9241
+ {
9242
+ "docs": {
9243
+ "remarks": "When omitted,\nthe latest major version available is selected by the service.",
9244
+ "summary": "the major engine version (for example, `'9'`)."
9245
+ },
9246
+ "name": "majorEngineVersion",
9247
+ "optional": true,
9248
+ "type": {
9249
+ "primitive": "string"
9250
+ }
9251
+ }
9252
+ ],
9253
+ "returns": {
9254
+ "type": {
9255
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9256
+ }
9257
+ },
9258
+ "static": true
9259
+ },
9260
+ {
9261
+ "docs": {
9262
+ "remarks": "The format is `engineType_majorEngineVersion` when a\nmajor version is set, or just `engineType` otherwise (for example,\n`'valkey_8'`, `'memcached_1.6'`, `'redis'`).",
9263
+ "stability": "experimental",
9264
+ "summary": "Returns a string representation of this cache engine, for logging and error messages."
9265
+ },
9266
+ "locationInModule": {
9267
+ "filename": "lib/serverless-cache-base.ts",
9268
+ "line": 102
9269
+ },
9270
+ "name": "toString",
9271
+ "returns": {
9272
+ "type": {
9273
+ "primitive": "string"
9274
+ }
9275
+ }
9276
+ }
9277
+ ],
9278
+ "name": "CacheEngine",
9279
+ "properties": [
9280
+ {
9281
+ "const": true,
9282
+ "docs": {
9283
+ "stability": "experimental",
9284
+ "summary": "Memcached engine, minor version 1.6, patch version is selected automatically."
9285
+ },
9286
+ "immutable": true,
9287
+ "locationInModule": {
9288
+ "filename": "lib/serverless-cache-base.ts",
9289
+ "line": 61
9290
+ },
9291
+ "name": "MEMCACHED_1_6",
9292
+ "static": true,
9293
+ "type": {
9294
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9295
+ }
9296
+ },
9189
9297
  {
9298
+ "const": true,
9190
9299
  "docs": {
9191
9300
  "stability": "experimental",
9192
- "summary": "Valkey engine, latest major version available, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9301
+ "summary": "Memcached engine, latest major version available, minor version is selected automatically."
9302
+ },
9303
+ "immutable": true,
9304
+ "locationInModule": {
9305
+ "filename": "lib/serverless-cache-base.ts",
9306
+ "line": 56
9193
9307
  },
9194
- "name": "VALKEY_LATEST"
9308
+ "name": "MEMCACHED_LATEST",
9309
+ "static": true,
9310
+ "type": {
9311
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9312
+ }
9195
9313
  },
9196
9314
  {
9315
+ "const": true,
9197
9316
  "docs": {
9198
9317
  "stability": "experimental",
9199
- "summary": "Valkey engine, major version 7, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9318
+ "summary": "Redis engine, major version 7, minor version is selected automatically."
9319
+ },
9320
+ "immutable": true,
9321
+ "locationInModule": {
9322
+ "filename": "lib/serverless-cache-base.ts",
9323
+ "line": 51
9200
9324
  },
9201
- "name": "VALKEY_7"
9325
+ "name": "REDIS_7",
9326
+ "static": true,
9327
+ "type": {
9328
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9329
+ }
9202
9330
  },
9203
9331
  {
9332
+ "const": true,
9204
9333
  "docs": {
9205
9334
  "stability": "experimental",
9206
- "summary": "Valkey engine, major version 8, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9335
+ "summary": "Redis engine, latest major version available, minor version is selected automatically."
9336
+ },
9337
+ "immutable": true,
9338
+ "locationInModule": {
9339
+ "filename": "lib/serverless-cache-base.ts",
9340
+ "line": 46
9207
9341
  },
9208
- "name": "VALKEY_8"
9342
+ "name": "REDIS_LATEST",
9343
+ "static": true,
9344
+ "type": {
9345
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9346
+ }
9209
9347
  },
9210
9348
  {
9349
+ "const": true,
9211
9350
  "docs": {
9212
9351
  "stability": "experimental",
9213
- "summary": "Redis engine, latest major version available, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9352
+ "summary": "Valkey engine, major version 7, minor version is selected automatically."
9214
9353
  },
9215
- "name": "REDIS_LATEST"
9354
+ "immutable": true,
9355
+ "locationInModule": {
9356
+ "filename": "lib/serverless-cache-base.ts",
9357
+ "line": 31
9358
+ },
9359
+ "name": "VALKEY_7",
9360
+ "static": true,
9361
+ "type": {
9362
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9363
+ }
9216
9364
  },
9217
9365
  {
9366
+ "const": true,
9218
9367
  "docs": {
9219
9368
  "stability": "experimental",
9220
- "summary": "Redis engine, major version 7, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9369
+ "summary": "Valkey engine, major version 8, minor version is selected automatically."
9370
+ },
9371
+ "immutable": true,
9372
+ "locationInModule": {
9373
+ "filename": "lib/serverless-cache-base.ts",
9374
+ "line": 36
9221
9375
  },
9222
- "name": "REDIS_7"
9376
+ "name": "VALKEY_8",
9377
+ "static": true,
9378
+ "type": {
9379
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9380
+ }
9223
9381
  },
9224
9382
  {
9383
+ "const": true,
9225
9384
  "docs": {
9226
9385
  "stability": "experimental",
9227
- "summary": "Memcached engine, latest major version available, minor version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9386
+ "summary": "Valkey engine, major version 9, minor version is selected automatically."
9228
9387
  },
9229
- "name": "MEMCACHED_LATEST"
9388
+ "immutable": true,
9389
+ "locationInModule": {
9390
+ "filename": "lib/serverless-cache-base.ts",
9391
+ "line": 41
9392
+ },
9393
+ "name": "VALKEY_9",
9394
+ "static": true,
9395
+ "type": {
9396
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9397
+ }
9398
+ },
9399
+ {
9400
+ "const": true,
9401
+ "docs": {
9402
+ "stability": "experimental",
9403
+ "summary": "Valkey engine, latest major version available, minor version is selected automatically."
9404
+ },
9405
+ "immutable": true,
9406
+ "locationInModule": {
9407
+ "filename": "lib/serverless-cache-base.ts",
9408
+ "line": 26
9409
+ },
9410
+ "name": "VALKEY_LATEST",
9411
+ "static": true,
9412
+ "type": {
9413
+ "fqn": "@aws-cdk/aws-elasticache-alpha.CacheEngine"
9414
+ }
9230
9415
  },
9231
9416
  {
9232
9417
  "docs": {
9418
+ "remarks": "Maps directly to the `Engine` property of `AWS::ElastiCache::ServerlessCache`.",
9233
9419
  "stability": "experimental",
9234
- "summary": "Memcached engine, minor version 1.6, patch version is selected automatically For more information about the features related to this version check: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/engine-versions.html."
9420
+ "summary": "The engine type, for example `'valkey'`, `'redis'`, or `'memcached'`."
9235
9421
  },
9236
- "name": "MEMCACHED_1_6"
9422
+ "immutable": true,
9423
+ "locationInModule": {
9424
+ "filename": "lib/serverless-cache-base.ts",
9425
+ "line": 81
9426
+ },
9427
+ "name": "engineType",
9428
+ "type": {
9429
+ "primitive": "string"
9430
+ }
9431
+ },
9432
+ {
9433
+ "docs": {
9434
+ "stability": "experimental",
9435
+ "summary": "The major engine version, for example `'9'` or `'1.6'`. Maps directly to the `MajorEngineVersion` property of `AWS::ElastiCache::ServerlessCache`. When `undefined`, the service selects the latest major version automatically."
9436
+ },
9437
+ "immutable": true,
9438
+ "locationInModule": {
9439
+ "filename": "lib/serverless-cache-base.ts",
9440
+ "line": 89
9441
+ },
9442
+ "name": "majorEngineVersion",
9443
+ "optional": true,
9444
+ "type": {
9445
+ "primitive": "string"
9446
+ }
9237
9447
  }
9238
9448
  ],
9239
- "name": "CacheEngine",
9240
9449
  "symbolId": "lib/serverless-cache-base:CacheEngine"
9241
9450
  },
9242
9451
  "@aws-cdk/aws-elasticache-alpha.CacheUsageLimitsProperty": {
@@ -9254,7 +9463,7 @@
9254
9463
  "kind": "interface",
9255
9464
  "locationInModule": {
9256
9465
  "filename": "lib/serverless-cache.ts",
9257
- "line": 49
9466
+ "line": 48
9258
9467
  },
9259
9468
  "name": "CacheUsageLimitsProperty",
9260
9469
  "properties": [
@@ -9268,7 +9477,7 @@
9268
9477
  "immutable": true,
9269
9478
  "locationInModule": {
9270
9479
  "filename": "lib/serverless-cache.ts",
9271
- "line": 61
9480
+ "line": 60
9272
9481
  },
9273
9482
  "name": "dataStorageMaximumSize",
9274
9483
  "optional": true,
@@ -9286,7 +9495,7 @@
9286
9495
  "immutable": true,
9287
9496
  "locationInModule": {
9288
9497
  "filename": "lib/serverless-cache.ts",
9289
- "line": 55
9498
+ "line": 54
9290
9499
  },
9291
9500
  "name": "dataStorageMinimumSize",
9292
9501
  "optional": true,
@@ -9304,7 +9513,7 @@
9304
9513
  "immutable": true,
9305
9514
  "locationInModule": {
9306
9515
  "filename": "lib/serverless-cache.ts",
9307
- "line": 73
9516
+ "line": 72
9308
9517
  },
9309
9518
  "name": "requestRateLimitMaximum",
9310
9519
  "optional": true,
@@ -9322,7 +9531,7 @@
9322
9531
  "immutable": true,
9323
9532
  "locationInModule": {
9324
9533
  "filename": "lib/serverless-cache.ts",
9325
- "line": 67
9534
+ "line": 66
9326
9535
  },
9327
9536
  "name": "requestRateLimitMinimum",
9328
9537
  "optional": true,
@@ -9348,7 +9557,7 @@
9348
9557
  "kind": "interface",
9349
9558
  "locationInModule": {
9350
9559
  "filename": "lib/serverless-cache-base.ts",
9351
- "line": 58
9560
+ "line": 110
9352
9561
  },
9353
9562
  "methods": [
9354
9563
  {
@@ -9359,7 +9568,7 @@
9359
9568
  },
9360
9569
  "locationInModule": {
9361
9570
  "filename": "lib/serverless-cache-base.ts",
9362
- "line": 107
9571
+ "line": 159
9363
9572
  },
9364
9573
  "name": "grant",
9365
9574
  "parameters": [
@@ -9392,7 +9601,7 @@
9392
9601
  },
9393
9602
  "locationInModule": {
9394
9603
  "filename": "lib/serverless-cache-base.ts",
9395
- "line": 103
9604
+ "line": 155
9396
9605
  },
9397
9606
  "name": "grantConnect",
9398
9607
  "parameters": [
@@ -9417,7 +9626,7 @@
9417
9626
  },
9418
9627
  "locationInModule": {
9419
9628
  "filename": "lib/serverless-cache-base.ts",
9420
- "line": 112
9629
+ "line": 164
9421
9630
  },
9422
9631
  "name": "metric",
9423
9632
  "parameters": [
@@ -9449,7 +9658,7 @@
9449
9658
  },
9450
9659
  "locationInModule": {
9451
9660
  "filename": "lib/serverless-cache-base.ts",
9452
- "line": 144
9661
+ "line": 196
9453
9662
  },
9454
9663
  "name": "metricActiveConnections",
9455
9664
  "parameters": [
@@ -9475,7 +9684,7 @@
9475
9684
  },
9476
9685
  "locationInModule": {
9477
9686
  "filename": "lib/serverless-cache-base.ts",
9478
- "line": 116
9687
+ "line": 168
9479
9688
  },
9480
9689
  "name": "metricCacheHitCount",
9481
9690
  "parameters": [
@@ -9501,7 +9710,7 @@
9501
9710
  },
9502
9711
  "locationInModule": {
9503
9712
  "filename": "lib/serverless-cache-base.ts",
9504
- "line": 124
9713
+ "line": 176
9505
9714
  },
9506
9715
  "name": "metricCacheHitRate",
9507
9716
  "parameters": [
@@ -9527,7 +9736,7 @@
9527
9736
  },
9528
9737
  "locationInModule": {
9529
9738
  "filename": "lib/serverless-cache-base.ts",
9530
- "line": 120
9739
+ "line": 172
9531
9740
  },
9532
9741
  "name": "metricCacheMissCount",
9533
9742
  "parameters": [
@@ -9553,7 +9762,7 @@
9553
9762
  },
9554
9763
  "locationInModule": {
9555
9764
  "filename": "lib/serverless-cache-base.ts",
9556
- "line": 128
9765
+ "line": 180
9557
9766
  },
9558
9767
  "name": "metricDataStored",
9559
9768
  "parameters": [
@@ -9579,7 +9788,7 @@
9579
9788
  },
9580
9789
  "locationInModule": {
9581
9790
  "filename": "lib/serverless-cache-base.ts",
9582
- "line": 136
9791
+ "line": 188
9583
9792
  },
9584
9793
  "name": "metricNetworkBytesIn",
9585
9794
  "parameters": [
@@ -9605,7 +9814,7 @@
9605
9814
  },
9606
9815
  "locationInModule": {
9607
9816
  "filename": "lib/serverless-cache-base.ts",
9608
- "line": 140
9817
+ "line": 192
9609
9818
  },
9610
9819
  "name": "metricNetworkBytesOut",
9611
9820
  "parameters": [
@@ -9631,7 +9840,7 @@
9631
9840
  },
9632
9841
  "locationInModule": {
9633
9842
  "filename": "lib/serverless-cache-base.ts",
9634
- "line": 132
9843
+ "line": 184
9635
9844
  },
9636
9845
  "name": "metricProcessingUnitsConsumed",
9637
9846
  "parameters": [
@@ -9657,7 +9866,7 @@
9657
9866
  },
9658
9867
  "locationInModule": {
9659
9868
  "filename": "lib/serverless-cache-base.ts",
9660
- "line": 152
9869
+ "line": 204
9661
9870
  },
9662
9871
  "name": "metricReadRequestLatency",
9663
9872
  "parameters": [
@@ -9683,7 +9892,7 @@
9683
9892
  },
9684
9893
  "locationInModule": {
9685
9894
  "filename": "lib/serverless-cache-base.ts",
9686
- "line": 148
9895
+ "line": 200
9687
9896
  },
9688
9897
  "name": "metricWriteRequestLatency",
9689
9898
  "parameters": [
@@ -9716,7 +9925,7 @@
9716
9925
  "immutable": true,
9717
9926
  "locationInModule": {
9718
9927
  "filename": "lib/serverless-cache-base.ts",
9719
- "line": 98
9928
+ "line": 150
9720
9929
  },
9721
9930
  "name": "serverlessCacheArn",
9722
9931
  "type": {
@@ -9735,7 +9944,7 @@
9735
9944
  "immutable": true,
9736
9945
  "locationInModule": {
9737
9946
  "filename": "lib/serverless-cache-base.ts",
9738
- "line": 68
9947
+ "line": 120
9739
9948
  },
9740
9949
  "name": "serverlessCacheName",
9741
9950
  "type": {
@@ -9751,7 +9960,7 @@
9751
9960
  "immutable": true,
9752
9961
  "locationInModule": {
9753
9962
  "filename": "lib/serverless-cache-base.ts",
9754
- "line": 72
9963
+ "line": 124
9755
9964
  },
9756
9965
  "name": "backupArnsToRestore",
9757
9966
  "optional": true,
@@ -9773,7 +9982,7 @@
9773
9982
  "immutable": true,
9774
9983
  "locationInModule": {
9775
9984
  "filename": "lib/serverless-cache-base.ts",
9776
- "line": 62
9985
+ "line": 114
9777
9986
  },
9778
9987
  "name": "engine",
9779
9988
  "optional": true,
@@ -9790,7 +9999,7 @@
9790
9999
  "immutable": true,
9791
10000
  "locationInModule": {
9792
10001
  "filename": "lib/serverless-cache-base.ts",
9793
- "line": 76
10002
+ "line": 128
9794
10003
  },
9795
10004
  "name": "kmsKey",
9796
10005
  "optional": true,
@@ -9807,7 +10016,7 @@
9807
10016
  "immutable": true,
9808
10017
  "locationInModule": {
9809
10018
  "filename": "lib/serverless-cache-base.ts",
9810
- "line": 88
10019
+ "line": 140
9811
10020
  },
9812
10021
  "name": "securityGroups",
9813
10022
  "optional": true,
@@ -9829,7 +10038,7 @@
9829
10038
  "immutable": true,
9830
10039
  "locationInModule": {
9831
10040
  "filename": "lib/serverless-cache-base.ts",
9832
- "line": 84
10041
+ "line": 136
9833
10042
  },
9834
10043
  "name": "subnets",
9835
10044
  "optional": true,
@@ -9851,7 +10060,7 @@
9851
10060
  "immutable": true,
9852
10061
  "locationInModule": {
9853
10062
  "filename": "lib/serverless-cache-base.ts",
9854
- "line": 92
10063
+ "line": 144
9855
10064
  },
9856
10065
  "name": "userGroup",
9857
10066
  "optional": true,
@@ -9868,7 +10077,7 @@
9868
10077
  "immutable": true,
9869
10078
  "locationInModule": {
9870
10079
  "filename": "lib/serverless-cache-base.ts",
9871
- "line": 80
10080
+ "line": 132
9872
10081
  },
9873
10082
  "name": "vpc",
9874
10083
  "optional": true,
@@ -10949,7 +11158,7 @@
10949
11158
  },
10950
11159
  "locationInModule": {
10951
11160
  "filename": "lib/serverless-cache.ts",
10952
- "line": 418
11161
+ "line": 413
10953
11162
  },
10954
11163
  "parameters": [
10955
11164
  {
@@ -10975,7 +11184,7 @@
10975
11184
  "kind": "class",
10976
11185
  "locationInModule": {
10977
11186
  "filename": "lib/serverless-cache.ts",
10978
- "line": 241
11187
+ "line": 240
10979
11188
  },
10980
11189
  "methods": [
10981
11190
  {
@@ -10985,7 +11194,7 @@
10985
11194
  },
10986
11195
  "locationInModule": {
10987
11196
  "filename": "lib/serverless-cache.ts",
10988
- "line": 273
11197
+ "line": 272
10989
11198
  },
10990
11199
  "name": "fromServerlessCacheArn",
10991
11200
  "parameters": [
@@ -11031,7 +11240,7 @@
11031
11240
  },
11032
11241
  "locationInModule": {
11033
11242
  "filename": "lib/serverless-cache.ts",
11034
- "line": 284
11243
+ "line": 283
11035
11244
  },
11036
11245
  "name": "fromServerlessCacheAttributes",
11037
11246
  "parameters": [
@@ -11077,7 +11286,7 @@
11077
11286
  },
11078
11287
  "locationInModule": {
11079
11288
  "filename": "lib/serverless-cache.ts",
11080
- "line": 262
11289
+ "line": 261
11081
11290
  },
11082
11291
  "name": "fromServerlessCacheName",
11083
11292
  "parameters": [
@@ -11123,7 +11332,7 @@
11123
11332
  },
11124
11333
  "locationInModule": {
11125
11334
  "filename": "lib/serverless-cache.ts",
11126
- "line": 251
11335
+ "line": 250
11127
11336
  },
11128
11337
  "name": "isServerlessCache",
11129
11338
  "parameters": [
@@ -11153,7 +11362,7 @@
11153
11362
  "immutable": true,
11154
11363
  "locationInModule": {
11155
11364
  "filename": "lib/serverless-cache.ts",
11156
- "line": 246
11365
+ "line": 245
11157
11366
  },
11158
11367
  "name": "PROPERTY_INJECTION_ID",
11159
11368
  "static": true,
@@ -11169,7 +11378,7 @@
11169
11378
  "immutable": true,
11170
11379
  "locationInModule": {
11171
11380
  "filename": "lib/serverless-cache.ts",
11172
- "line": 416
11381
+ "line": 411
11173
11382
  },
11174
11383
  "name": "connections",
11175
11384
  "overrides": "@aws-cdk/aws-elasticache-alpha.ServerlessCacheBase",
@@ -11188,7 +11397,7 @@
11188
11397
  "immutable": true,
11189
11398
  "locationInModule": {
11190
11399
  "filename": "lib/serverless-cache.ts",
11191
- "line": 380
11400
+ "line": 375
11192
11401
  },
11193
11402
  "name": "serverlessCacheArn",
11194
11403
  "overrides": "@aws-cdk/aws-elasticache-alpha.ServerlessCacheBase",
@@ -11207,7 +11416,7 @@
11207
11416
  "immutable": true,
11208
11417
  "locationInModule": {
11209
11418
  "filename": "lib/serverless-cache.ts",
11210
- "line": 386
11419
+ "line": 381
11211
11420
  },
11212
11421
  "name": "serverlessCacheEndpointAddress",
11213
11422
  "type": {
@@ -11225,7 +11434,7 @@
11225
11434
  "immutable": true,
11226
11435
  "locationInModule": {
11227
11436
  "filename": "lib/serverless-cache.ts",
11228
- "line": 392
11437
+ "line": 387
11229
11438
  },
11230
11439
  "name": "serverlessCacheEndpointPort",
11231
11440
  "type": {
@@ -11240,7 +11449,7 @@
11240
11449
  "immutable": true,
11241
11450
  "locationInModule": {
11242
11451
  "filename": "lib/serverless-cache.ts",
11243
- "line": 367
11452
+ "line": 362
11244
11453
  },
11245
11454
  "name": "serverlessCacheName",
11246
11455
  "overrides": "@aws-cdk/aws-elasticache-alpha.ServerlessCacheBase",
@@ -11259,7 +11468,7 @@
11259
11468
  "immutable": true,
11260
11469
  "locationInModule": {
11261
11470
  "filename": "lib/serverless-cache.ts",
11262
- "line": 398
11471
+ "line": 393
11263
11472
  },
11264
11473
  "name": "serverlessCacheReaderEndpointAddress",
11265
11474
  "type": {
@@ -11277,7 +11486,7 @@
11277
11486
  "immutable": true,
11278
11487
  "locationInModule": {
11279
11488
  "filename": "lib/serverless-cache.ts",
11280
- "line": 404
11489
+ "line": 399
11281
11490
  },
11282
11491
  "name": "serverlessCacheReaderEndpointPort",
11283
11492
  "type": {
@@ -11295,7 +11504,7 @@
11295
11504
  "immutable": true,
11296
11505
  "locationInModule": {
11297
11506
  "filename": "lib/serverless-cache.ts",
11298
- "line": 411
11507
+ "line": 406
11299
11508
  },
11300
11509
  "name": "serverlessCacheStatus",
11301
11510
  "type": {
@@ -11310,7 +11519,7 @@
11310
11519
  "immutable": true,
11311
11520
  "locationInModule": {
11312
11521
  "filename": "lib/serverless-cache.ts",
11313
- "line": 368
11522
+ "line": 363
11314
11523
  },
11315
11524
  "name": "backupArnsToRestore",
11316
11525
  "optional": true,
@@ -11332,7 +11541,7 @@
11332
11541
  "immutable": true,
11333
11542
  "locationInModule": {
11334
11543
  "filename": "lib/serverless-cache.ts",
11335
- "line": 366
11544
+ "line": 361
11336
11545
  },
11337
11546
  "name": "engine",
11338
11547
  "optional": true,
@@ -11349,7 +11558,7 @@
11349
11558
  "immutable": true,
11350
11559
  "locationInModule": {
11351
11560
  "filename": "lib/serverless-cache.ts",
11352
- "line": 369
11561
+ "line": 364
11353
11562
  },
11354
11563
  "name": "kmsKey",
11355
11564
  "optional": true,
@@ -11366,7 +11575,7 @@
11366
11575
  "immutable": true,
11367
11576
  "locationInModule": {
11368
11577
  "filename": "lib/serverless-cache.ts",
11369
- "line": 372
11578
+ "line": 367
11370
11579
  },
11371
11580
  "name": "securityGroups",
11372
11581
  "optional": true,
@@ -11388,7 +11597,7 @@
11388
11597
  "immutable": true,
11389
11598
  "locationInModule": {
11390
11599
  "filename": "lib/serverless-cache.ts",
11391
- "line": 371
11600
+ "line": 366
11392
11601
  },
11393
11602
  "name": "subnets",
11394
11603
  "optional": true,
@@ -11410,7 +11619,7 @@
11410
11619
  "immutable": true,
11411
11620
  "locationInModule": {
11412
11621
  "filename": "lib/serverless-cache.ts",
11413
- "line": 373
11622
+ "line": 368
11414
11623
  },
11415
11624
  "name": "userGroup",
11416
11625
  "optional": true,
@@ -11427,7 +11636,7 @@
11427
11636
  "immutable": true,
11428
11637
  "locationInModule": {
11429
11638
  "filename": "lib/serverless-cache.ts",
11430
- "line": 370
11639
+ "line": 365
11431
11640
  },
11432
11641
  "name": "vpc",
11433
11642
  "optional": true,
@@ -11454,7 +11663,7 @@
11454
11663
  "kind": "interface",
11455
11664
  "locationInModule": {
11456
11665
  "filename": "lib/serverless-cache.ts",
11457
- "line": 175
11666
+ "line": 174
11458
11667
  },
11459
11668
  "name": "ServerlessCacheAttributes",
11460
11669
  "properties": [
@@ -11468,7 +11677,7 @@
11468
11677
  "immutable": true,
11469
11678
  "locationInModule": {
11470
11679
  "filename": "lib/serverless-cache.ts",
11471
- "line": 203
11680
+ "line": 202
11472
11681
  },
11473
11682
  "name": "backupArnsToRestore",
11474
11683
  "optional": true,
@@ -11491,7 +11700,7 @@
11491
11700
  "immutable": true,
11492
11701
  "locationInModule": {
11493
11702
  "filename": "lib/serverless-cache.ts",
11494
- "line": 181
11703
+ "line": 180
11495
11704
  },
11496
11705
  "name": "engine",
11497
11706
  "optional": true,
@@ -11509,7 +11718,7 @@
11509
11718
  "immutable": true,
11510
11719
  "locationInModule": {
11511
11720
  "filename": "lib/serverless-cache.ts",
11512
- "line": 209
11721
+ "line": 208
11513
11722
  },
11514
11723
  "name": "kmsKey",
11515
11724
  "optional": true,
@@ -11527,7 +11736,7 @@
11527
11736
  "immutable": true,
11528
11737
  "locationInModule": {
11529
11738
  "filename": "lib/serverless-cache.ts",
11530
- "line": 227
11739
+ "line": 226
11531
11740
  },
11532
11741
  "name": "securityGroups",
11533
11742
  "optional": true,
@@ -11551,7 +11760,7 @@
11551
11760
  "immutable": true,
11552
11761
  "locationInModule": {
11553
11762
  "filename": "lib/serverless-cache.ts",
11554
- "line": 197
11763
+ "line": 196
11555
11764
  },
11556
11765
  "name": "serverlessCacheArn",
11557
11766
  "optional": true,
@@ -11570,7 +11779,7 @@
11570
11779
  "immutable": true,
11571
11780
  "locationInModule": {
11572
11781
  "filename": "lib/serverless-cache.ts",
11573
- "line": 189
11782
+ "line": 188
11574
11783
  },
11575
11784
  "name": "serverlessCacheName",
11576
11785
  "optional": true,
@@ -11588,7 +11797,7 @@
11588
11797
  "immutable": true,
11589
11798
  "locationInModule": {
11590
11799
  "filename": "lib/serverless-cache.ts",
11591
- "line": 221
11800
+ "line": 220
11592
11801
  },
11593
11802
  "name": "subnets",
11594
11803
  "optional": true,
@@ -11611,7 +11820,7 @@
11611
11820
  "immutable": true,
11612
11821
  "locationInModule": {
11613
11822
  "filename": "lib/serverless-cache.ts",
11614
- "line": 233
11823
+ "line": 232
11615
11824
  },
11616
11825
  "name": "userGroup",
11617
11826
  "optional": true,
@@ -11629,7 +11838,7 @@
11629
11838
  "immutable": true,
11630
11839
  "locationInModule": {
11631
11840
  "filename": "lib/serverless-cache.ts",
11632
- "line": 215
11841
+ "line": 214
11633
11842
  },
11634
11843
  "name": "vpc",
11635
11844
  "optional": true,
@@ -11655,7 +11864,7 @@
11655
11864
  },
11656
11865
  "locationInModule": {
11657
11866
  "filename": "core/lib/resource.ts",
11658
- "line": 123
11867
+ "line": 124
11659
11868
  },
11660
11869
  "parameters": [
11661
11870
  {
@@ -11685,7 +11894,7 @@
11685
11894
  "kind": "class",
11686
11895
  "locationInModule": {
11687
11896
  "filename": "lib/serverless-cache-base.ts",
11688
- "line": 158
11897
+ "line": 210
11689
11898
  },
11690
11899
  "methods": [
11691
11900
  {
@@ -11695,7 +11904,7 @@
11695
11904
  },
11696
11905
  "locationInModule": {
11697
11906
  "filename": "lib/serverless-cache-base.ts",
11698
- "line": 203
11907
+ "line": 255
11699
11908
  },
11700
11909
  "name": "grant",
11701
11910
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11734,7 +11943,7 @@
11734
11943
  },
11735
11944
  "locationInModule": {
11736
11945
  "filename": "lib/serverless-cache-base.ts",
11737
- "line": 193
11946
+ "line": 245
11738
11947
  },
11739
11948
  "name": "grantConnect",
11740
11949
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11763,7 +11972,7 @@
11763
11972
  },
11764
11973
  "locationInModule": {
11765
11974
  "filename": "lib/serverless-cache-base.ts",
11766
- "line": 218
11975
+ "line": 270
11767
11976
  },
11768
11977
  "name": "metric",
11769
11978
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11802,7 +12011,7 @@
11802
12011
  },
11803
12012
  "locationInModule": {
11804
12013
  "filename": "lib/serverless-cache-base.ts",
11805
- "line": 299
12014
+ "line": 351
11806
12015
  },
11807
12016
  "name": "metricActiveConnections",
11808
12017
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11832,7 +12041,7 @@
11832
12041
  },
11833
12042
  "locationInModule": {
11834
12043
  "filename": "lib/serverless-cache-base.ts",
11835
- "line": 236
12044
+ "line": 288
11836
12045
  },
11837
12046
  "name": "metricCacheHitCount",
11838
12047
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11862,7 +12071,7 @@
11862
12071
  },
11863
12072
  "locationInModule": {
11864
12073
  "filename": "lib/serverless-cache-base.ts",
11865
- "line": 254
12074
+ "line": 306
11866
12075
  },
11867
12076
  "name": "metricCacheHitRate",
11868
12077
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11892,7 +12101,7 @@
11892
12101
  },
11893
12102
  "locationInModule": {
11894
12103
  "filename": "lib/serverless-cache-base.ts",
11895
- "line": 245
12104
+ "line": 297
11896
12105
  },
11897
12106
  "name": "metricCacheMissCount",
11898
12107
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11922,7 +12131,7 @@
11922
12131
  },
11923
12132
  "locationInModule": {
11924
12133
  "filename": "lib/serverless-cache-base.ts",
11925
- "line": 263
12134
+ "line": 315
11926
12135
  },
11927
12136
  "name": "metricDataStored",
11928
12137
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11952,7 +12161,7 @@
11952
12161
  },
11953
12162
  "locationInModule": {
11954
12163
  "filename": "lib/serverless-cache-base.ts",
11955
- "line": 281
12164
+ "line": 333
11956
12165
  },
11957
12166
  "name": "metricNetworkBytesIn",
11958
12167
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -11982,7 +12191,7 @@
11982
12191
  },
11983
12192
  "locationInModule": {
11984
12193
  "filename": "lib/serverless-cache-base.ts",
11985
- "line": 290
12194
+ "line": 342
11986
12195
  },
11987
12196
  "name": "metricNetworkBytesOut",
11988
12197
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12012,7 +12221,7 @@
12012
12221
  },
12013
12222
  "locationInModule": {
12014
12223
  "filename": "lib/serverless-cache-base.ts",
12015
- "line": 272
12224
+ "line": 324
12016
12225
  },
12017
12226
  "name": "metricProcessingUnitsConsumed",
12018
12227
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12042,7 +12251,7 @@
12042
12251
  },
12043
12252
  "locationInModule": {
12044
12253
  "filename": "lib/serverless-cache-base.ts",
12045
- "line": 317
12254
+ "line": 369
12046
12255
  },
12047
12256
  "name": "metricReadRequestLatency",
12048
12257
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12072,7 +12281,7 @@
12072
12281
  },
12073
12282
  "locationInModule": {
12074
12283
  "filename": "lib/serverless-cache-base.ts",
12075
- "line": 308
12284
+ "line": 360
12076
12285
  },
12077
12286
  "name": "metricWriteRequestLatency",
12078
12287
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12106,7 +12315,7 @@
12106
12315
  "immutable": true,
12107
12316
  "locationInModule": {
12108
12317
  "filename": "lib/serverless-cache-base.ts",
12109
- "line": 173
12318
+ "line": 225
12110
12319
  },
12111
12320
  "name": "connections",
12112
12321
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -12122,7 +12331,7 @@
12122
12331
  "immutable": true,
12123
12332
  "locationInModule": {
12124
12333
  "filename": "lib/serverless-cache-base.ts",
12125
- "line": 178
12334
+ "line": 230
12126
12335
  },
12127
12336
  "name": "grants",
12128
12337
  "type": {
@@ -12138,7 +12347,7 @@
12138
12347
  "immutable": true,
12139
12348
  "locationInModule": {
12140
12349
  "filename": "lib/serverless-cache-base.ts",
12141
- "line": 168
12350
+ "line": 220
12142
12351
  },
12143
12352
  "name": "serverlessCacheArn",
12144
12353
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12155,7 +12364,7 @@
12155
12364
  "immutable": true,
12156
12365
  "locationInModule": {
12157
12366
  "filename": "lib/serverless-cache-base.ts",
12158
- "line": 160
12367
+ "line": 212
12159
12368
  },
12160
12369
  "name": "serverlessCacheName",
12161
12370
  "overrides": "@aws-cdk/aws-elasticache-alpha.IServerlessCache",
@@ -12171,7 +12380,7 @@
12171
12380
  "immutable": true,
12172
12381
  "locationInModule": {
12173
12382
  "filename": "lib/serverless-cache-base.ts",
12174
- "line": 180
12383
+ "line": 232
12175
12384
  },
12176
12385
  "name": "serverlessCacheRef",
12177
12386
  "overrides": "aws-cdk-lib.interfaces.aws_elasticache.IServerlessCacheRef",
@@ -12188,7 +12397,7 @@
12188
12397
  "immutable": true,
12189
12398
  "locationInModule": {
12190
12399
  "filename": "lib/serverless-cache-base.ts",
12191
- "line": 161
12400
+ "line": 213
12192
12401
  },
12193
12402
  "name": "backupArnsToRestore",
12194
12403
  "optional": true,
@@ -12211,7 +12420,7 @@
12211
12420
  "immutable": true,
12212
12421
  "locationInModule": {
12213
12422
  "filename": "lib/serverless-cache-base.ts",
12214
- "line": 159
12423
+ "line": 211
12215
12424
  },
12216
12425
  "name": "engine",
12217
12426
  "optional": true,
@@ -12229,7 +12438,7 @@
12229
12438
  "immutable": true,
12230
12439
  "locationInModule": {
12231
12440
  "filename": "lib/serverless-cache-base.ts",
12232
- "line": 162
12441
+ "line": 214
12233
12442
  },
12234
12443
  "name": "kmsKey",
12235
12444
  "optional": true,
@@ -12247,7 +12456,7 @@
12247
12456
  "immutable": true,
12248
12457
  "locationInModule": {
12249
12458
  "filename": "lib/serverless-cache-base.ts",
12250
- "line": 165
12459
+ "line": 217
12251
12460
  },
12252
12461
  "name": "securityGroups",
12253
12462
  "optional": true,
@@ -12270,7 +12479,7 @@
12270
12479
  "immutable": true,
12271
12480
  "locationInModule": {
12272
12481
  "filename": "lib/serverless-cache-base.ts",
12273
- "line": 164
12482
+ "line": 216
12274
12483
  },
12275
12484
  "name": "subnets",
12276
12485
  "optional": true,
@@ -12293,7 +12502,7 @@
12293
12502
  "immutable": true,
12294
12503
  "locationInModule": {
12295
12504
  "filename": "lib/serverless-cache-base.ts",
12296
- "line": 166
12505
+ "line": 218
12297
12506
  },
12298
12507
  "name": "userGroup",
12299
12508
  "optional": true,
@@ -12311,7 +12520,7 @@
12311
12520
  "immutable": true,
12312
12521
  "locationInModule": {
12313
12522
  "filename": "lib/serverless-cache-base.ts",
12314
- "line": 163
12523
+ "line": 215
12315
12524
  },
12316
12525
  "name": "vpc",
12317
12526
  "optional": true,
@@ -12467,7 +12676,7 @@
12467
12676
  "kind": "interface",
12468
12677
  "locationInModule": {
12469
12678
  "filename": "lib/serverless-cache.ts",
12470
- "line": 109
12679
+ "line": 108
12471
12680
  },
12472
12681
  "name": "ServerlessCacheProps",
12473
12682
  "properties": [
@@ -12480,7 +12689,7 @@
12480
12689
  "immutable": true,
12481
12690
  "locationInModule": {
12482
12691
  "filename": "lib/serverless-cache.ts",
12483
- "line": 151
12692
+ "line": 150
12484
12693
  },
12485
12694
  "name": "vpc",
12486
12695
  "type": {
@@ -12497,7 +12706,7 @@
12497
12706
  "immutable": true,
12498
12707
  "locationInModule": {
12499
12708
  "filename": "lib/serverless-cache.ts",
12500
- "line": 141
12709
+ "line": 140
12501
12710
  },
12502
12711
  "name": "backup",
12503
12712
  "optional": true,
@@ -12515,7 +12724,7 @@
12515
12724
  "immutable": true,
12516
12725
  "locationInModule": {
12517
12726
  "filename": "lib/serverless-cache.ts",
12518
- "line": 135
12727
+ "line": 134
12519
12728
  },
12520
12729
  "name": "cacheUsageLimits",
12521
12730
  "optional": true,
@@ -12533,7 +12742,7 @@
12533
12742
  "immutable": true,
12534
12743
  "locationInModule": {
12535
12744
  "filename": "lib/serverless-cache.ts",
12536
- "line": 129
12745
+ "line": 128
12537
12746
  },
12538
12747
  "name": "description",
12539
12748
  "optional": true,
@@ -12551,7 +12760,7 @@
12551
12760
  "immutable": true,
12552
12761
  "locationInModule": {
12553
12762
  "filename": "lib/serverless-cache.ts",
12554
- "line": 117
12763
+ "line": 116
12555
12764
  },
12556
12765
  "name": "engine",
12557
12766
  "optional": true,
@@ -12569,7 +12778,7 @@
12569
12778
  "immutable": true,
12570
12779
  "locationInModule": {
12571
12780
  "filename": "lib/serverless-cache.ts",
12572
- "line": 147
12781
+ "line": 146
12573
12782
  },
12574
12783
  "name": "kmsKey",
12575
12784
  "optional": true,
@@ -12587,7 +12796,7 @@
12587
12796
  "immutable": true,
12588
12797
  "locationInModule": {
12589
12798
  "filename": "lib/serverless-cache.ts",
12590
- "line": 163
12799
+ "line": 162
12591
12800
  },
12592
12801
  "name": "securityGroups",
12593
12802
  "optional": true,
@@ -12610,7 +12819,7 @@
12610
12819
  "immutable": true,
12611
12820
  "locationInModule": {
12612
12821
  "filename": "lib/serverless-cache.ts",
12613
- "line": 123
12822
+ "line": 122
12614
12823
  },
12615
12824
  "name": "serverlessCacheName",
12616
12825
  "optional": true,
@@ -12628,7 +12837,7 @@
12628
12837
  "immutable": true,
12629
12838
  "locationInModule": {
12630
12839
  "filename": "lib/serverless-cache.ts",
12631
- "line": 169
12840
+ "line": 168
12632
12841
  },
12633
12842
  "name": "userGroup",
12634
12843
  "optional": true,
@@ -12646,7 +12855,7 @@
12646
12855
  "immutable": true,
12647
12856
  "locationInModule": {
12648
12857
  "filename": "lib/serverless-cache.ts",
12649
- "line": 157
12858
+ "line": 156
12650
12859
  },
12651
12860
  "name": "vpcSubnets",
12652
12861
  "optional": true,
@@ -12676,7 +12885,7 @@
12676
12885
  },
12677
12886
  "locationInModule": {
12678
12887
  "filename": "core/lib/resource.ts",
12679
- "line": 123
12888
+ "line": 124
12680
12889
  },
12681
12890
  "parameters": [
12682
12891
  {
@@ -13034,7 +13243,7 @@
13034
13243
  "docs": {
13035
13244
  "stability": "experimental",
13036
13245
  "summary": "Properties for defining an ElastiCache base user.",
13037
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as elasticache_alpha from '@aws-cdk/aws-elasticache-alpha';\n\ndeclare const accessControl: elasticache_alpha.AccessControl;\nconst userBaseProps: elasticache_alpha.UserBaseProps = {\n accessControl: accessControl,\n userId: 'userId',\n\n // the properties below are optional\n engine: elasticache_alpha.UserEngine.VALKEY,\n};",
13246
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as elasticache_alpha from '@aws-cdk/aws-elasticache-alpha';\n\ndeclare const accessControl: elasticache_alpha.AccessControl;\ndeclare const userEngine: elasticache_alpha.UserEngine;\nconst userBaseProps: elasticache_alpha.UserBaseProps = {\n accessControl: accessControl,\n userId: 'userId',\n\n // the properties below are optional\n engine: userEngine,\n};",
13038
13247
  "custom": {
13039
13248
  "exampleMetadata": "fixture=_generated"
13040
13249
  }
@@ -13104,6 +13313,7 @@
13104
13313
  "@aws-cdk/aws-elasticache-alpha.UserEngine": {
13105
13314
  "assembly": "@aws-cdk/aws-elasticache-alpha",
13106
13315
  "docs": {
13316
+ "remarks": "Use the named static members for the engines currently supported by ElastiCache\nuser/user-group resources. To target an engine not yet represented by a named\ninstance, use `UserEngine.of(engineType)`.",
13107
13317
  "stability": "experimental",
13108
13318
  "summary": "Engine type for ElastiCache users and user groups.",
13109
13319
  "example": "const user = new elasticache.IamUser(this, 'User', {\n // set user engine\n engine: elasticache.UserEngine.REDIS,\n\n // set user id\n userId: 'my-user',\n\n // set username\n userName: 'my-user',\n\n // set access string\n accessControl: elasticache.AccessControl.fromAccessString(\"on ~* +@all\"),\n});",
@@ -13112,28 +13322,110 @@
13112
13322
  }
13113
13323
  },
13114
13324
  "fqn": "@aws-cdk/aws-elasticache-alpha.UserEngine",
13115
- "kind": "enum",
13325
+ "kind": "class",
13116
13326
  "locationInModule": {
13117
13327
  "filename": "lib/common.ts",
13118
- "line": 4
13328
+ "line": 8
13119
13329
  },
13120
- "members": [
13330
+ "methods": [
13121
13331
  {
13122
13332
  "docs": {
13123
13333
  "stability": "experimental",
13124
- "summary": "Valkey engine."
13334
+ "summary": "Create a new `UserEngine` with an arbitrary engine type."
13335
+ },
13336
+ "locationInModule": {
13337
+ "filename": "lib/common.ts",
13338
+ "line": 24
13125
13339
  },
13126
- "name": "VALKEY"
13340
+ "name": "of",
13341
+ "parameters": [
13342
+ {
13343
+ "docs": {
13344
+ "summary": "the engine type (for example, `'valkey'` or `'redis'`)."
13345
+ },
13346
+ "name": "engineType",
13347
+ "type": {
13348
+ "primitive": "string"
13349
+ }
13350
+ }
13351
+ ],
13352
+ "returns": {
13353
+ "type": {
13354
+ "fqn": "@aws-cdk/aws-elasticache-alpha.UserEngine"
13355
+ }
13356
+ },
13357
+ "static": true
13127
13358
  },
13128
13359
  {
13129
13360
  "docs": {
13130
13361
  "stability": "experimental",
13131
- "summary": "Redis engine."
13362
+ "summary": "Returns the engine type as a string (for example, `'valkey'`)."
13132
13363
  },
13133
- "name": "REDIS"
13364
+ "locationInModule": {
13365
+ "filename": "lib/common.ts",
13366
+ "line": 42
13367
+ },
13368
+ "name": "toString",
13369
+ "returns": {
13370
+ "type": {
13371
+ "primitive": "string"
13372
+ }
13373
+ }
13134
13374
  }
13135
13375
  ],
13136
13376
  "name": "UserEngine",
13377
+ "properties": [
13378
+ {
13379
+ "const": true,
13380
+ "docs": {
13381
+ "stability": "experimental",
13382
+ "summary": "Redis engine."
13383
+ },
13384
+ "immutable": true,
13385
+ "locationInModule": {
13386
+ "filename": "lib/common.ts",
13387
+ "line": 17
13388
+ },
13389
+ "name": "REDIS",
13390
+ "static": true,
13391
+ "type": {
13392
+ "fqn": "@aws-cdk/aws-elasticache-alpha.UserEngine"
13393
+ }
13394
+ },
13395
+ {
13396
+ "const": true,
13397
+ "docs": {
13398
+ "stability": "experimental",
13399
+ "summary": "Valkey engine."
13400
+ },
13401
+ "immutable": true,
13402
+ "locationInModule": {
13403
+ "filename": "lib/common.ts",
13404
+ "line": 12
13405
+ },
13406
+ "name": "VALKEY",
13407
+ "static": true,
13408
+ "type": {
13409
+ "fqn": "@aws-cdk/aws-elasticache-alpha.UserEngine"
13410
+ }
13411
+ },
13412
+ {
13413
+ "docs": {
13414
+ "remarks": "Maps directly to the `Engine` property of `AWS::ElastiCache::User` and\n`AWS::ElastiCache::UserGroup`.",
13415
+ "stability": "experimental",
13416
+ "summary": "The engine type, for example `'valkey'` or `'redis'`."
13417
+ },
13418
+ "immutable": true,
13419
+ "locationInModule": {
13420
+ "filename": "lib/common.ts",
13421
+ "line": 33
13422
+ },
13423
+ "name": "engineType",
13424
+ "type": {
13425
+ "primitive": "string"
13426
+ }
13427
+ }
13428
+ ],
13137
13429
  "symbolId": "lib/common:UserEngine"
13138
13430
  },
13139
13431
  "@aws-cdk/aws-elasticache-alpha.UserGroup": {
@@ -13603,7 +13895,7 @@
13603
13895
  },
13604
13896
  "locationInModule": {
13605
13897
  "filename": "core/lib/resource.ts",
13606
- "line": 123
13898
+ "line": 124
13607
13899
  },
13608
13900
  "parameters": [
13609
13901
  {
@@ -13828,6 +14120,6 @@
13828
14120
  "symbolId": "lib/user-group:UserGroupProps"
13829
14121
  }
13830
14122
  },
13831
- "version": "2.256.1-alpha.0",
14123
+ "version": "2.258.0-alpha.0",
13832
14124
  "fingerprint": "**********"
13833
14125
  }