@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/README.md +1 -1
- package/dist/integrity.json +21 -0
- package/dist/manifest.json +66 -0
- package/dist/meta.json +114627 -0
- package/dist/rules/cf-refs.ts +91 -0
- package/dist/rules/cor020.ts +72 -0
- package/dist/rules/ext001.ts +222 -0
- package/dist/rules/hardcoded-region.ts +43 -0
- package/dist/rules/iam-wildcard.ts +66 -0
- package/dist/rules/s3-encryption.ts +69 -0
- package/dist/rules/waw010.ts +49 -0
- package/dist/rules/waw011.ts +49 -0
- package/dist/rules/waw013.ts +45 -0
- package/dist/rules/waw014.ts +50 -0
- package/dist/rules/waw015.ts +100 -0
- package/dist/skills/aws-cloudformation.md +41 -0
- package/dist/types/index.d.ts +160826 -0
- package/package.json +4 -2
- package/src/codegen/docs.ts +1 -1
- package/src/generated/index.d.ts +97 -24
- package/src/generated/index.ts +2 -1
- package/src/generated/lexicon-aws.json +73 -9
- package/src/package-cli.ts +47 -0
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-aws",
|
|
3
|
-
"version": "0.0.
|
|
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
|
|
22
|
+
"prepack": "bun run bundle && bun run validate"
|
|
21
23
|
},
|
|
22
24
|
"dependencies": {
|
|
23
25
|
"@intentius/chant": "0.0.1",
|
package/src/codegen/docs.ts
CHANGED
|
@@ -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,
|
package/src/generated/index.d.ts
CHANGED
|
@@ -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?:
|
|
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?:
|
|
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?:
|
|
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
|
-
|
|
25843
|
-
|
|
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
|
-
|
|
25862
|
-
|
|
25863
|
-
|
|
25864
|
-
|
|
25865
|
-
|
|
25866
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
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
|
-
/**
|
|
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
|
}
|
package/src/generated/index.ts
CHANGED
|
@@ -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", {"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
87609
|
-
"
|
|
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
|
-
"
|
|
87623
|
-
"
|
|
87624
|
-
"
|
|
87625
|
-
"
|
|
87626
|
-
"
|
|
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}`);
|