@intentius/chant-lexicon-aws 0.0.2 → 0.0.4

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/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-aws",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
+ "license": "Apache-2.0",
4
5
  "type": "module",
5
6
  "files": ["src/", "dist/"],
6
7
  "publishConfig": {
@@ -15,9 +16,10 @@
15
16
  },
16
17
  "scripts": {
17
18
  "generate": "bun run src/codegen/generate-cli.ts",
19
+ "bundle": "bun run src/package-cli.ts",
18
20
  "validate": "bun run src/validate-cli.ts",
19
21
  "docs": "bun src/codegen/docs-cli.ts",
20
- "prepack": "bun run generate && bun run validate"
22
+ "prepack": "bun run bundle && bun run validate"
21
23
  },
22
24
  "dependencies": {
23
25
  "@intentius/chant": "0.0.1",
@@ -115,7 +115,7 @@ export async function generateDocs(options?: { verbose?: boolean }): Promise<voi
115
115
 
116
116
  const config: DocsConfig = {
117
117
  name: "aws",
118
- basePath: process.env.DOCS_BASE_PATH ?? "/lexicons/aws/",
118
+ basePath: process.env.DOCS_BASE_PATH ?? "/chant/lexicons/aws/",
119
119
  displayName: "AWS CloudFormation",
120
120
  description: "AWS CloudFormation lexicon for chant — resource types, intrinsics, and lint rules",
121
121
  distDir,
@@ -13592,6 +13592,7 @@ export declare class Function {
13592
13592
  /** The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``. */
13593
13593
  architectures?: "arm64" | "x86_64"[];
13594
13594
  arn?: string;
13595
+ /** Configuration for the capacity provider that manages compute resources for Lambda functions. */
13595
13596
  capacityProviderConfig?: Function_CapacityProviderConfig;
13596
13597
  /** To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function. */
13597
13598
  codeSigningConfigArn?: string;
@@ -13599,6 +13600,7 @@ export declare class Function {
13599
13600
  deadLetterConfig?: Function_DeadLetterConfig;
13600
13601
  /** A description of the function. */
13601
13602
  description?: string;
13603
+ /** Configuration settings for [durable functions](https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html), including execution timeout and retention period for execution history. */
13602
13604
  durableConfig?: Function_DurableConfig;
13603
13605
  /** Environment variables that are accessible from function code during execution. */
13604
13606
  environment?: Function_Environment;
@@ -13610,6 +13612,7 @@ export declare class Function {
13610
13612
  /** The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one.
13611
13613
  If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. */
13612
13614
  functionName?: string;
13615
+ /** Configuration that defines the scaling behavior for a Lambda Managed Instances function, including the minimum and maximum number of execution environments that can be provisioned. */
13613
13616
  functionScalingConfig?: Function_FunctionScalingConfig;
13614
13617
  /** The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see [Lambda programming model](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). */
13615
13618
  handler?: string;
@@ -13650,6 +13653,7 @@ export declare class Function {
13650
13653
  /** A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
13651
13654
  You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. */
13652
13655
  tags?: Function_Tag[];
13656
+ /** The function's tenant isolation configuration settings. Determines whether the Lambda function runs on a shared or dedicated infrastructure per unique tenant. */
13653
13657
  tenancyConfig?: Function_TenancyConfig;
13654
13658
  /** The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see [Lambda execution environment](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). */
13655
13659
  timeout?: number;
@@ -14738,13 +14742,13 @@ export declare class Host {
14738
14742
  /** The ID of the Outpost hardware asset. */
14739
14743
  assetId?: string;
14740
14744
  /** Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. */
14741
- autoPlacement?: string;
14745
+ autoPlacement?: "off" | "on";
14742
14746
  /** ID of the host created. */
14743
14747
  hostId?: string;
14744
14748
  /** Automatically allocates a new dedicated host and moves your instances on to it if a degradation is detected on your current host. */
14745
- hostMaintenance?: string;
14749
+ hostMaintenance?: "off" | "on";
14746
14750
  /** Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. */
14747
- hostRecovery?: string;
14751
+ hostRecovery?: "off" | "on";
14748
14752
  /** Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family. */
14749
14753
  instanceFamily?: string;
14750
14754
  /** Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only. */
@@ -25829,57 +25833,96 @@ export declare class ReplicationConfiguration {
25829
25833
 
25830
25834
  export declare class ReplicationGroup {
25831
25835
  constructor(props: {
25836
+ /** A user-created description for the replication group. */
25832
25837
  replicationGroupDescription: string;
25838
+ /** A flag that enables encryption at rest when set to true.AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group. */
25833
25839
  atRestEncryptionEnabled?: boolean;
25840
+ /** Reserved parameter. The password used to access a password protected server.AuthToken can be specified only on replication groups where TransitEncryptionEnabled is true. For more information. */
25834
25841
  authToken?: string;
25842
+ /** Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails. AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups. */
25835
25843
  automaticFailoverEnabled?: boolean;
25844
+ /** This parameter is currently disabled. */
25836
25845
  autoMinorVersionUpgrade?: boolean;
25846
+ /** The compute and memory capacity of the nodes in the node group (shard). */
25837
25847
  cacheNodeType?: string;
25848
+ /** The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. */
25838
25849
  cacheParameterGroupName?: string;
25850
+ /** A list of cache security group names to associate with this replication group. */
25839
25851
  cacheSecurityGroupNames?: string[];
25852
+ /** The name of the cache subnet group to be used for the replication group. */
25840
25853
  cacheSubnetGroupName?: string;
25854
+ /** Enabled or Disabled. To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled. For more information, see Modify cluster mode. */
25841
25855
  clusterMode?: string;
25842
- configurationEndPointAddress?: string;
25843
- configurationEndPointPort?: string;
25856
+ /** The configuration details of the replication group. */
25857
+ configurationEndPoint?: ReplicationGroup_Endpoint;
25858
+ /** Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. */
25844
25859
  dataTieringEnabled?: boolean;
25860
+ /** The name of the cache engine to be used for the clusters in this replication group. */
25845
25861
  engine?: string;
25862
+ /** The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation. */
25846
25863
  engineVersion?: string;
25864
+ /** The name of the Global datastore */
25847
25865
  globalReplicationGroupId?: string;
25866
+ /** The network type you choose when creating a replication group, either ipv4 | ipv6. IPv6 is supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system. */
25848
25867
  ipDiscovery?: string;
25868
+ /** The ID of the KMS key used to encrypt the disk on the cluster. */
25849
25869
  kmsKeyId?: string;
25870
+ /** Specifies the destination, format and type of the logs. */
25850
25871
  logDeliveryConfigurations?: ReplicationGroup_LogDeliveryConfigurationRequest[];
25872
+ /** A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ. */
25851
25873
  multiAZEnabled?: boolean;
25874
+ /** Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis OSS engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system */
25852
25875
  networkType?: string;
25876
+ /** NodeGroupConfiguration is a property of the AWS::ElastiCache::ReplicationGroup resource that configures an Amazon ElastiCache (ElastiCache) Redis cluster node group. */
25853
25877
  nodeGroupConfiguration?: ReplicationGroup_NodeGroupConfiguration[];
25878
+ /** The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent. */
25854
25879
  notificationTopicArn?: string;
25880
+ /** The number of clusters this replication group initially has.This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead. */
25855
25881
  numCacheClusters?: number;
25882
+ /** An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. For Redis (cluster mode disabled) either omit this parameter or set it to 1. */
25856
25883
  numNodeGroups?: number;
25884
+ /** The port number on which each member of the replication group accepts connections. */
25857
25885
  port?: number;
25886
+ /** A list of EC2 Availability Zones in which the replication group's clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list. This parameter is not used if there is more than one node group (shard). You should use NodeGroupConfiguration instead. */
25858
25887
  preferredCacheClusterAZs?: string[];
25888
+ /** Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. */
25859
25889
  preferredMaintenanceWindow?: string;
25890
+ /** The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of available. */
25860
25891
  primaryClusterId?: string;
25861
- primaryEndPointAddress?: string;
25862
- primaryEndPointPort?: string;
25863
- readEndPointAddresses?: string;
25864
- readEndPointAddressesList?: string[];
25865
- readEndPointPorts?: string;
25866
- readEndPointPortsList?: string[];
25867
- readerEndPointAddress?: string;
25868
- readerEndPointPort?: string;
25892
+ /** The primary endpoint configuration */
25893
+ primaryEndPoint?: ReplicationGroup_Endpoint;
25894
+ readEndPoint?: Record<string, unknown>;
25895
+ /** The endpoint of the reader node in the replication group. */
25896
+ readerEndPoint?: ReplicationGroup_Endpoint;
25897
+ /** An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5. */
25869
25898
  replicasPerNodeGroup?: number;
25899
+ /** The replication group identifier. This parameter is stored as a lowercase string. */
25870
25900
  replicationGroupId?: string;
25901
+ /** One or more Amazon VPC security groups associated with this replication group. */
25871
25902
  securityGroupIds?: string[];
25903
+ /** A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB snapshot files stored in Amazon S3. */
25872
25904
  snapshotArns?: string[];
25905
+ /** The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to restoring while the new replication group is being created. */
25873
25906
  snapshotName?: string;
25907
+ /** The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted. */
25874
25908
  snapshotRetentionLimit?: number;
25909
+ /** The cluster ID that is used as the daily snapshot source for the replication group. This parameter cannot be set for Redis (cluster mode enabled) replication groups. */
25875
25910
  snapshottingClusterId?: string;
25911
+ /** The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). */
25876
25912
  snapshotWindow?: string;
25913
+ /** A list of cost allocation tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. */
25877
25914
  tags?: ReplicationGroup_Tag[];
25915
+ /** A flag that enables in-transit encryption when set to true. */
25878
25916
  transitEncryptionEnabled?: boolean;
25917
+ /** A setting that allows you to migrate your clients to use in-transit encryption, with no downtime. When setting TransitEncryptionEnabled to true, you can set your TransitEncryptionMode to preferred in the same request, to allow both encrypted and unencrypted connections at the same time. Once you migrate all your Redis OSS clients to use encrypted connections you can modify the value to required to allow encrypted connections only. Setting TransitEncryptionMode to required is a two-step process that requires you to first set the TransitEncryptionMode to preferred, after that you can set TransitEncryptionMode to required. This process will not trigger the replacement of the replication group. */
25879
25918
  transitEncryptionMode?: string;
25919
+ /** The ID of user group to associate with the replication group. */
25880
25920
  userGroupIds?: string[];
25881
25921
  });
25882
- readonly replicationGroupId: string;
25922
+ readonly configurationEndPoint: ReplicationGroup_Endpoint;
25923
+ readonly primaryEndPoint: ReplicationGroup_Endpoint;
25924
+ readonly readEndPoint: Record<string, unknown>;
25925
+ readonly readerEndPoint: ReplicationGroup_Endpoint;
25883
25926
  }
25884
25927
 
25885
25928
  export declare class ReplicationInstance {
@@ -54445,6 +54488,7 @@ export declare class CapacityManagerDataExport_Tag {
54445
54488
 
54446
54489
  export declare class CapacityProviderConfig {
54447
54490
  constructor(props: {
54491
+ /** Configuration for Lambda-managed instances used by the capacity provider. */
54448
54492
  lambdaManagedInstancesCapacityProviderConfig: Function_LambdaManagedInstancesCapacityProviderConfig;
54449
54493
  });
54450
54494
  }
@@ -57161,7 +57205,8 @@ export declare class Code {
57161
57205
  /** The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's .zip deployment package. If you don't provide a customer managed key, Lambda uses an [owned key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). */
57162
57206
  sourceKMSKeyArn?: string;
57163
57207
  /** (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named ``index`` and zips it to create a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html). This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index``. For example, ``index.handler``.
57164
- When you specify source code inline for a Node.js function, the ``index`` file that CFN creates uses the extension ``.js``. This means that LAM treats the file as a CommonJS module. ES modules aren't supported for inline functions.
57208
+ When you specify source code inline for a Node.js function, the ``index`` file that CFN creates uses the extension ``.js``. This means that Node.js treats the file as a CommonJS module.
57209
+ When using Node.js 24 or later, Node.js can automatically detect if a ``.js`` file should be treated as CommonJS or as an ES module. To enable auto-detection, add the ``--experimental-detect-module`` flag to the ``NODE_OPTIONS`` environment variable. For more information, see [Experimental Node.js features](https://docs.aws.amazon.com//lambda/latest/dg/lambda-nodejs.html#nodejs-experimental-features).
57165
57210
  For JSON, you must escape quotes and special characters such as newline (``\n``) with a backslash.
57166
57211
  If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ([cfn-response](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html)) that simplifies sending responses. See [Using Lambda with CloudFormation](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html) for details. */
57167
57212
  zipFile?: string;
@@ -73116,9 +73161,9 @@ export declare class DTMFSpecification {
73116
73161
 
73117
73162
  export declare class DurableConfig {
73118
73163
  constructor(props: {
73119
- /** The amount of time (in seconds) that Lambda allows a durable function to run before stopping it. The maximum is one 366-day year or 31,622,400 seconds. */
73164
+ /** The maximum time (in seconds) that a durable execution can run before timing out. This timeout applies to the entire durable execution, not individual function invocations. */
73120
73165
  executionTimeout: number;
73121
- /** The number of days after a durable execution is closed that Lambda retains its history, from one to 90 days. The default is 14 days. */
73166
+ /** The number of days to retain execution history after a durable execution completes. After this period, execution history is no longer available through the GetDurableExecutionHistory API. */
73122
73167
  retentionPeriodInDays?: number;
73123
73168
  });
73124
73169
  }
@@ -82781,6 +82826,7 @@ export declare class FulfillmentUpdatesSpecification {
82781
82826
 
82782
82827
  export declare class Function_CapacityProviderConfig {
82783
82828
  constructor(props: {
82829
+ /** Configuration for Lambda-managed instances used by the capacity provider. */
82784
82830
  lambdaManagedInstancesCapacityProviderConfig: Function_LambdaManagedInstancesCapacityProviderConfig;
82785
82831
  });
82786
82832
  }
@@ -82798,7 +82844,8 @@ export declare class Function_Code {
82798
82844
  /** The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's .zip deployment package. If you don't provide a customer managed key, Lambda uses an [owned key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). */
82799
82845
  sourceKMSKeyArn?: string;
82800
82846
  /** (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named ``index`` and zips it to create a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html). This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index``. For example, ``index.handler``.
82801
- When you specify source code inline for a Node.js function, the ``index`` file that CFN creates uses the extension ``.js``. This means that LAM treats the file as a CommonJS module. ES modules aren't supported for inline functions.
82847
+ When you specify source code inline for a Node.js function, the ``index`` file that CFN creates uses the extension ``.js``. This means that Node.js treats the file as a CommonJS module.
82848
+ When using Node.js 24 or later, Node.js can automatically detect if a ``.js`` file should be treated as CommonJS or as an ES module. To enable auto-detection, add the ``--experimental-detect-module`` flag to the ``NODE_OPTIONS`` environment variable. For more information, see [Experimental Node.js features](https://docs.aws.amazon.com//lambda/latest/dg/lambda-nodejs.html#nodejs-experimental-features).
82802
82849
  For JSON, you must escape quotes and special characters such as newline (``\n``) with a backslash.
82803
82850
  If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ([cfn-response](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html)) that simplifies sending responses. See [Using Lambda with CloudFormation](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html) for details. */
82804
82851
  zipFile?: string;
@@ -82814,9 +82861,9 @@ export declare class Function_DeadLetterConfig {
82814
82861
 
82815
82862
  export declare class Function_DurableConfig {
82816
82863
  constructor(props: {
82817
- /** The amount of time (in seconds) that Lambda allows a durable function to run before stopping it. The maximum is one 366-day year or 31,622,400 seconds. */
82864
+ /** The maximum time (in seconds) that a durable execution can run before timing out. This timeout applies to the entire durable execution, not individual function invocations. */
82818
82865
  executionTimeout: number;
82819
- /** The number of days after a durable execution is closed that Lambda retains its history, from one to 90 days. The default is 14 days. */
82866
+ /** The number of days to retain execution history after a durable execution completes. After this period, execution history is no longer available through the GetDurableExecutionHistory API. */
82820
82867
  retentionPeriodInDays?: number;
82821
82868
  });
82822
82869
  }
@@ -82871,7 +82918,7 @@ export declare class Function_LambdaManagedInstancesCapacityProviderConfig {
82871
82918
  capacityProviderArn: string;
82872
82919
  /** The amount of memory in GiB allocated per vCPU for execution environments. */
82873
82920
  executionEnvironmentMemoryGiBPerVCpu?: number;
82874
- /** The maximum number of concurrent execution environments that can run on each compute instance. */
82921
+ /** The maximum number of concurrent executions that can run on each execution environment. */
82875
82922
  perExecutionEnvironmentMaxConcurrency?: number;
82876
82923
  });
82877
82924
  }
@@ -82931,7 +82978,7 @@ export declare class Function_Tag {
82931
82978
 
82932
82979
  export declare class Function_TenancyConfig {
82933
82980
  constructor(props: {
82934
- /** Determines how your Lambda function isolates execution environments between tenants. */
82981
+ /** Tenant isolation mode allows for invocation to be sent to a corresponding execution environment dedicated to a specific tenant ID. */
82935
82982
  tenantIsolationMode: "PER_TENANT";
82936
82983
  });
82937
82984
  }
@@ -94752,7 +94799,7 @@ export declare class LambdaManagedInstancesCapacityProviderConfig {
94752
94799
  capacityProviderArn: string;
94753
94800
  /** The amount of memory in GiB allocated per vCPU for execution environments. */
94754
94801
  executionEnvironmentMemoryGiBPerVCpu?: number;
94755
- /** The maximum number of concurrent execution environments that can run on each compute instance. */
94802
+ /** The maximum number of concurrent executions that can run on each execution environment. */
94756
94803
  perExecutionEnvironmentMaxConcurrency?: number;
94757
94804
  });
94758
94805
  }
@@ -108452,10 +108499,15 @@ export declare class Nodegroup_UpdateConfig {
108452
108499
 
108453
108500
  export declare class NodeGroupConfiguration {
108454
108501
  constructor(props: {
108502
+ /** Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to. */
108455
108503
  nodeGroupId?: string;
108504
+ /** The Availability Zone where the primary node of this node group (shard) is launched. */
108456
108505
  primaryAvailabilityZone?: string;
108506
+ /** A list of Availability Zones to be used for the read replicas. The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified. */
108457
108507
  replicaAvailabilityZones?: string[];
108508
+ /** The number of read replica nodes in this node group (shard). */
108458
108509
  replicaCount?: number;
108510
+ /** A string of comma-separated values where the first set of values are the slot numbers (zero based), and the second set of values are the keyspaces for each slot. The following example specifies three slots (numbered 0, 1, and 2): 0,1,2,0-4999,5000-9999,10000-16,383. */
108459
108511
  slots?: string;
108460
108512
  });
108461
108513
  }
@@ -129267,6 +129319,7 @@ export declare class ReplicationConfiguration_RepositoryFilter {
129267
129319
 
129268
129320
  export declare class ReplicationGroup_CloudWatchLogsDestinationDetails {
129269
129321
  constructor(props: {
129322
+ /** The name of the CloudWatch Logs log group. */
129270
129323
  logGroup: string;
129271
129324
  });
129272
129325
  }
@@ -129278,8 +129331,18 @@ export declare class ReplicationGroup_DestinationDetails {
129278
129331
  });
129279
129332
  }
129280
129333
 
129334
+ export declare class ReplicationGroup_Endpoint {
129335
+ constructor(props: {
129336
+ /** The DNS hostname of the cache node. */
129337
+ address?: string;
129338
+ /** The port number that the cache engine is listening on. */
129339
+ port?: string;
129340
+ });
129341
+ }
129342
+
129281
129343
  export declare class ReplicationGroup_KinesisFirehoseDestinationDetails {
129282
129344
  constructor(props: {
129345
+ /** The name of the Kinesis Data Firehose delivery stream. */
129283
129346
  deliveryStream: string;
129284
129347
  });
129285
129348
  }
@@ -129287,25 +129350,35 @@ export declare class ReplicationGroup_KinesisFirehoseDestinationDetails {
129287
129350
  export declare class ReplicationGroup_LogDeliveryConfigurationRequest {
129288
129351
  constructor(props: {
129289
129352
  destinationDetails: ReplicationGroup_DestinationDetails;
129353
+ /** Specify either CloudWatch Logs or Kinesis Data Firehose as the destination type. Valid values are either cloudwatch-logs or kinesis-firehose. */
129290
129354
  destinationType: string;
129355
+ /** Valid values are either json or text. */
129291
129356
  logFormat: string;
129357
+ /** Valid value is either slow-log, which refers to slow-log or engine-log. */
129292
129358
  logType: string;
129293
129359
  });
129294
129360
  }
129295
129361
 
129296
129362
  export declare class ReplicationGroup_NodeGroupConfiguration {
129297
129363
  constructor(props: {
129364
+ /** Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to. */
129298
129365
  nodeGroupId?: string;
129366
+ /** The Availability Zone where the primary node of this node group (shard) is launched. */
129299
129367
  primaryAvailabilityZone?: string;
129368
+ /** A list of Availability Zones to be used for the read replicas. The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified. */
129300
129369
  replicaAvailabilityZones?: string[];
129370
+ /** The number of read replica nodes in this node group (shard). */
129301
129371
  replicaCount?: number;
129372
+ /** A string of comma-separated values where the first set of values are the slot numbers (zero based), and the second set of values are the keyspaces for each slot. The following example specifies three slots (numbered 0, 1, and 2): 0,1,2,0-4999,5000-9999,10000-16,383. */
129302
129373
  slots?: string;
129303
129374
  });
129304
129375
  }
129305
129376
 
129306
129377
  export declare class ReplicationGroup_Tag {
129307
129378
  constructor(props: {
129379
+ /** The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */
129308
129380
  key: string;
129381
+ /** The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */
129309
129382
  value: string;
129310
129383
  });
129311
129384
  }
@@ -144181,7 +144254,7 @@ export declare class TemporalFilterSettings {
144181
144254
 
144182
144255
  export declare class TenancyConfig {
144183
144256
  constructor(props: {
144184
- /** Determines how your Lambda function isolates execution environments between tenants. */
144257
+ /** Tenant isolation mode allows for invocation to be sent to a corresponding execution environment dedicated to a specific tenant ID. */
144185
144258
  tenantIsolationMode: "PER_TENANT";
144186
144259
  });
144187
144260
  }
@@ -1087,7 +1087,7 @@ export const RemediationConfiguration = createResource("AWS::Config::Remediation
1087
1087
  export const ReplicaKey = createResource("AWS::KMS::ReplicaKey", "aws", {"arn":"Arn","keyId":"KeyId"});
1088
1088
  export const ReplicationConfig = createResource("AWS::DMS::ReplicationConfig", "aws", {"replicationConfigArn":"ReplicationConfigArn"});
1089
1089
  export const ReplicationConfiguration = createResource("AWS::ECR::ReplicationConfiguration", "aws", {"registryId":"RegistryId"});
1090
- export const ReplicationGroup = createResource("AWS::ElastiCache::ReplicationGroup", "aws", {"replicationGroupId":"ReplicationGroupId"});
1090
+ export const ReplicationGroup = createResource("AWS::ElastiCache::ReplicationGroup", "aws", {"configurationEndPoint":"ConfigurationEndPoint","primaryEndPoint":"PrimaryEndPoint","readEndPoint":"ReadEndPoint","readerEndPoint":"ReaderEndPoint"});
1091
1091
  export const ReplicationInstance = createResource("AWS::DMS::ReplicationInstance", "aws", {"replicationInstancePublicIpAddresses":"ReplicationInstancePublicIpAddresses","id":"Id","replicationInstancePrivateIpAddresses":"ReplicationInstancePrivateIpAddresses"});
1092
1092
  export const ReplicationSet = createResource("AWS::SSMIncidents::ReplicationSet", "aws", {"arn":"Arn"});
1093
1093
  export const ReplicationSubnetGroup = createResource("AWS::DMS::ReplicationSubnetGroup", "aws", {"id":"Id"});
@@ -11717,6 +11717,7 @@ export const ReplicationConfiguration_ReplicationRule = createProperty("AWS::ECR
11717
11717
  export const ReplicationConfiguration_RepositoryFilter = createProperty("AWS::ECR::ReplicationConfiguration.RepositoryFilter", "aws");
11718
11718
  export const ReplicationGroup_CloudWatchLogsDestinationDetails = createProperty("AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails", "aws");
11719
11719
  export const ReplicationGroup_DestinationDetails = createProperty("AWS::ElastiCache::ReplicationGroup.DestinationDetails", "aws");
11720
+ export const ReplicationGroup_Endpoint = createProperty("AWS::ElastiCache::ReplicationGroup.Endpoint", "aws");
11720
11721
  export const ReplicationGroup_KinesisFirehoseDestinationDetails = createProperty("AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails", "aws");
11721
11722
  export const ReplicationGroup_LogDeliveryConfigurationRequest = createProperty("AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest", "aws");
11722
11723
  export const ReplicationGroup_NodeGroupConfiguration = createProperty("AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration", "aws");
@@ -48382,6 +48382,29 @@
48382
48382
  "attrs": {
48383
48383
  "hostId": "HostId"
48384
48384
  },
48385
+ "propertyConstraints": {
48386
+ "AutoPlacement": {
48387
+ "default": "on",
48388
+ "enum": [
48389
+ "on",
48390
+ "off"
48391
+ ]
48392
+ },
48393
+ "HostRecovery": {
48394
+ "default": "off",
48395
+ "enum": [
48396
+ "on",
48397
+ "off"
48398
+ ]
48399
+ },
48400
+ "HostMaintenance": {
48401
+ "default": "off",
48402
+ "enum": [
48403
+ "on",
48404
+ "off"
48405
+ ]
48406
+ }
48407
+ },
48385
48408
  "createOnly": [
48386
48409
  "AvailabilityZone",
48387
48410
  "InstanceType",
@@ -87598,33 +87621,69 @@
87598
87621
  "kind": "resource",
87599
87622
  "lexicon": "aws",
87600
87623
  "attrs": {
87601
- "replicationGroupId": "ReplicationGroupId"
87624
+ "configurationEndPoint": "ConfigurationEndPoint",
87625
+ "primaryEndPoint": "PrimaryEndPoint",
87626
+ "readEndPoint": "ReadEndPoint",
87627
+ "readerEndPoint": "ReaderEndPoint"
87602
87628
  },
87603
87629
  "propertyConstraints": {
87630
+ "NumNodeGroups": {
87631
+ "default": 1
87632
+ },
87633
+ "AutomaticFailoverEnabled": {
87634
+ "default": false
87635
+ },
87604
87636
  "ReplicasPerNodeGroup": {
87605
87637
  "minimum": 0,
87606
87638
  "maximum": 5
87607
87639
  },
87608
- "SecurityGroupIds": {
87609
- "format": "AWS::EC2::SecurityGroup.Ids"
87640
+ "TransitEncryptionEnabled": {
87641
+ "default": false
87610
87642
  },
87611
87643
  "NumCacheClusters": {
87612
87644
  "minimum": 1,
87613
87645
  "maximum": 6
87646
+ },
87647
+ "AtRestEncryptionEnabled": {
87648
+ "default": false
87649
+ },
87650
+ "SecurityGroupIds": {
87651
+ "format": "AWS::EC2::SecurityGroup.Ids"
87652
+ },
87653
+ "SnapshotRetentionLimit": {
87654
+ "default": 0
87614
87655
  }
87615
87656
  },
87616
87657
  "createOnly": [
87658
+ "AtRestEncryptionEnabled",
87659
+ "CacheSubnetGroupName",
87660
+ "DataTieringEnabled",
87661
+ "GlobalReplicationGroupId",
87617
87662
  "KmsKeyId",
87663
+ "NetworkType",
87618
87664
  "Port",
87665
+ "PreferredCacheClusterAZs",
87666
+ "ReplicasPerNodeGroup",
87667
+ "ReplicationGroupId",
87619
87668
  "SnapshotArns",
87620
- "SnapshotName",
87669
+ "SnapshotName"
87670
+ ],
87671
+ "writeOnly": [
87672
+ "AuthToken",
87673
+ "CacheParameterGroupName",
87674
+ "CacheSecurityGroupNames",
87621
87675
  "CacheSubnetGroupName",
87622
- "NetworkType",
87623
- "DataTieringEnabled",
87624
- "AtRestEncryptionEnabled",
87625
- "ReplicationGroupId",
87626
- "GlobalReplicationGroupId",
87676
+ "EngineVersion",
87677
+ "NotificationTopicArn",
87678
+ "PreferredMaintenanceWindow",
87679
+ "SecurityGroupIds",
87680
+ "SnapshotArns",
87681
+ "SnapshotName",
87682
+ "NodeGroupConfiguration",
87683
+ "NumNodeGroups",
87627
87684
  "ReplicasPerNodeGroup",
87685
+ "KmsKeyId",
87686
+ "PrimaryClusterId",
87628
87687
  "PreferredCacheClusterAZs"
87629
87688
  ],
87630
87689
  "primaryIdentifier": [
@@ -87641,6 +87700,11 @@
87641
87700
  "kind": "property",
87642
87701
  "lexicon": "aws"
87643
87702
  },
87703
+ "ReplicationGroup_Endpoint": {
87704
+ "resourceType": "AWS::ElastiCache::ReplicationGroup.Endpoint",
87705
+ "kind": "property",
87706
+ "lexicon": "aws"
87707
+ },
87644
87708
  "ReplicationGroup_KinesisFirehoseDestinationDetails": {
87645
87709
  "resourceType": "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails",
87646
87710
  "kind": "property",
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Thin entry point for `bun run bundle` in lexicon-aws.
4
+ * Generates src/generated/ files and writes dist/ bundle.
5
+ *
6
+ * NOTE: Does NOT call plugin.package() because that internally spawns
7
+ * `bun pm pack`, which would cause infinite recursion when invoked
8
+ * from a prepack lifecycle script.
9
+ */
10
+ import { generate, writeGeneratedFiles } from "./codegen/generate";
11
+ import { packageLexicon } from "./codegen/package";
12
+ import { writeFileSync, mkdirSync } from "fs";
13
+ import { join, dirname } from "path";
14
+ import { fileURLToPath } from "url";
15
+
16
+ const pkgDir = dirname(dirname(fileURLToPath(import.meta.url)));
17
+
18
+ // 1. Generate src/generated/ files
19
+ const genResult = await generate({ verbose: true });
20
+ writeGeneratedFiles(genResult, pkgDir);
21
+ console.error(`Generated ${genResult.resources} resources, ${genResult.properties} property types, ${genResult.enums} enums`);
22
+
23
+ // 2. Run package pipeline and write dist/
24
+ const { spec, stats } = await packageLexicon({ verbose: true });
25
+
26
+ const distDir = join(pkgDir, "dist");
27
+ mkdirSync(join(distDir, "types"), { recursive: true });
28
+ mkdirSync(join(distDir, "rules"), { recursive: true });
29
+ mkdirSync(join(distDir, "skills"), { recursive: true });
30
+
31
+ writeFileSync(join(distDir, "manifest.json"), JSON.stringify(spec.manifest, null, 2));
32
+ writeFileSync(join(distDir, "meta.json"), spec.registry);
33
+ writeFileSync(join(distDir, "types", "index.d.ts"), spec.typesDTS);
34
+
35
+ for (const [name, content] of spec.rules) {
36
+ writeFileSync(join(distDir, "rules", name), content);
37
+ }
38
+ for (const [name, content] of spec.skills) {
39
+ writeFileSync(join(distDir, "skills", name), content);
40
+ }
41
+
42
+ if (spec.integrity) {
43
+ writeFileSync(join(distDir, "integrity.json"), JSON.stringify(spec.integrity, null, 2));
44
+ }
45
+
46
+ console.error(`Packaged ${stats.resources} resources, ${stats.ruleCount} rules, ${stats.skillCount} skills`);
47
+ console.error(`dist/ written to ${distDir}`);