@intentius/chant-lexicon-aws 0.18.37 → 0.19.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.
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "86b62ac993900475413852b8d72bd2191df18c78506c3d0e21d7dd2c49c68cb1",
5
- "meta.json": "dcddef61188a10733c993daaca4c209c7f0948ee95a63c20477875cf794f596e",
6
- "types/index.d.ts": "5444b8212f0ab3c649e0dd8b1e8d4824eeb5c33d58b0ec053c5ee3fb97da0413",
4
+ "manifest.json": "c4fcc55981ac6878554f4afdc25a9b52e36abb57119e5dbc44486a8f70d2f178",
5
+ "meta.json": "34f746d3e7e7ee7bb2578ac0ec3aa20b67567506620df877191f0f2393f2f98a",
6
+ "types/index.d.ts": "57e7010c803978f9f16fa9fd9198095d00a86e6a2a87c0dd866f578e3439e41c",
7
7
  "rules/hardcoded-region.ts": "5a0eaf7ab391231fe6cd51426ece29539cb4b36f31c8dd060956638fed55722a",
8
8
  "rules/iam-wildcard.ts": "135d7217d278fef50939e605c5da32603ba35674b8c4b5c4d66a06c77903e945",
9
9
  "rules/s3-encryption.ts": "c4f9f8aa8dc382ed98c7b04e820a600590cc75335a8db2e087cbfbfe4003d09e",
@@ -56,7 +56,8 @@
56
56
  "rules/waw054.ts": "a1a9c1d1d04aebd72e14c01340f6203231d9513add64958edd42366aaa419d42",
57
57
  "rules/waw055.ts": "f924e6bca957da1860c7d56dd385d28d91ab57bfd0f1499077d63a9cfc5b81e5",
58
58
  "skills/chant-aws.md": "4d65eb160e001f2af42eb7c622a5b498c2fd1f5afbd6c8155615c010fb265c63",
59
- "skills/chant-aws-eks.md": "8789255709ff004ad0a875fd5999edcdc66fc6e33d710db058d9f42703bcfdfe"
59
+ "skills/chant-aws-eks.md": "8789255709ff004ad0a875fd5999edcdc66fc6e33d710db058d9f42703bcfdfe",
60
+ "skills/chant-aws-carve-terraform.md": "f4c6fe1c702250665f90d82b3bdaba5ea50ae75e380a8ae321dad6eb1c39683e"
60
61
  },
61
- "composite": "b4333dc803950e8e7a3b92f4b51f7b97769d387f27c560a1bd2b1d8a2648f54d"
62
+ "composite": "0cf3e823720dc0c6add6a0781d3e62d00f3cbd265c8656135d41bec3ad4b18a2"
62
63
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws",
3
- "version": "0.18.37",
3
+ "version": "0.19.0",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "AWS",
6
6
  "intrinsics": [
package/dist/meta.json CHANGED
@@ -17336,6 +17336,21 @@
17336
17336
  "kind": "property",
17337
17337
  "lexicon": "aws"
17338
17338
  },
17339
+ "ComputeNodeGroup_NodeLifecycleActions": {
17340
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleActions",
17341
+ "kind": "property",
17342
+ "lexicon": "aws"
17343
+ },
17344
+ "ComputeNodeGroup_NodeLifecycleScript": {
17345
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleScript",
17346
+ "kind": "property",
17347
+ "lexicon": "aws"
17348
+ },
17349
+ "ComputeNodeGroup_NodeLifecycleStages": {
17350
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleStages",
17351
+ "kind": "property",
17352
+ "lexicon": "aws"
17353
+ },
17339
17354
  "ComputeOptimizerAutomationRule": {
17340
17355
  "resourceType": "AWS::ComputeOptimizer::AutomationRule",
17341
17356
  "kind": "resource",
@@ -30411,13 +30426,10 @@
30411
30426
  "createOnly": [
30412
30427
  "ServiceType",
30413
30428
  "ServiceDetails/Dynatrace",
30414
- "ServiceDetails/MCPServer",
30415
30429
  "ServiceDetails/MCPServerSplunk",
30416
- "ServiceDetails/MCPServerNewRelic",
30417
30430
  "ServiceDetails/ServiceNow",
30418
30431
  "ServiceDetails/PagerDuty",
30419
30432
  "ServiceDetails/AzureIdentity",
30420
- "ServiceDetails/MCPServerGrafana",
30421
30433
  "KmsKeyArn"
30422
30434
  ],
30423
30435
  "writeOnly": [
@@ -65631,6 +65643,21 @@
65631
65643
  "kind": "property",
65632
65644
  "lexicon": "aws"
65633
65645
  },
65646
+ "NodeLifecycleActions": {
65647
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleActions",
65648
+ "kind": "property",
65649
+ "lexicon": "aws"
65650
+ },
65651
+ "NodeLifecycleScript": {
65652
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleScript",
65653
+ "kind": "property",
65654
+ "lexicon": "aws"
65655
+ },
65656
+ "NodeLifecycleStages": {
65657
+ "resourceType": "AWS::PCS::ComputeNodeGroup.NodeLifecycleStages",
65658
+ "kind": "property",
65659
+ "lexicon": "aws"
65660
+ },
65634
65661
  "NodeOption": {
65635
65662
  "resourceType": "AWS::OpenSearchService::Domain.NodeOption",
65636
65663
  "kind": "property",
@@ -71810,7 +71837,8 @@
71810
71837
  "kind": "resource",
71811
71838
  "lexicon": "aws",
71812
71839
  "attrs": {
71813
- "GroupName": "GroupName"
71840
+ "GroupName": "GroupName",
71841
+ "GroupId": "GroupId"
71814
71842
  },
71815
71843
  "createOnly": [
71816
71844
  "Tags",
@@ -77039,6 +77067,9 @@
77039
77067
  "resourceType": "AWS::RDS::DBSubnetGroup",
77040
77068
  "kind": "resource",
77041
77069
  "lexicon": "aws",
77070
+ "attrs": {
77071
+ "DBSubnetGroupArn": "DBSubnetGroupArn"
77072
+ },
77042
77073
  "createOnly": [
77043
77074
  "DBSubnetGroupName"
77044
77075
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAA+G,MAAM,0BAA0B,CAAC;AAwB3K;;sFAEsF;AACtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,aAytBvB,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAA+G,MAAM,0BAA0B,CAAC;AAwB3K;;sFAEsF;AACtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,aA+vBvB,CAAC"}
@@ -0,0 +1,102 @@
1
+ ---
2
+ skill: chant-aws-carve-terraform
3
+ description: Demo carving a resource out of Terraform into native chant — advise, emit, bridge, apply — fully offline
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Carve a resource out of Terraform (demo)
8
+
9
+ Use this skill to cleanly demonstrate chant's Terraform carve-out flow for
10
+ someone. The whole demo runs **offline** — no cloud account, no Terraform
11
+ binary, no state backend. It carves an AWS S3 bucket out of a small Terraform
12
+ estate into native chant source, patches the survivors, and plans the
13
+ graduation.
14
+
15
+ ## When to use
16
+
17
+ - Someone asks "how does chant move things off Terraform?"
18
+ - You want to show the advise → emit → bridge → apply loop end to end.
19
+ - You are evaluating whether a Terraform estate is worth carving.
20
+
21
+ ## Preconditions
22
+
23
+ - `chant --version` succeeds.
24
+ - `@cdktf/hcl2json` is installed (the HCL parser). If a command reports it is
25
+ missing, run `npm install -D @cdktf/hcl2json` once.
26
+
27
+ ## The fastest path: run the bundled demo
28
+
29
+ The `examples/terraform-carve-out` example ships a runnable estate + state and a
30
+ script that runs all four steps with commentary:
31
+
32
+ ```bash
33
+ cd examples/terraform-carve-out
34
+ ./demo.sh
35
+ ```
36
+
37
+ Walk the person through the output. That is the whole demo.
38
+
39
+ ## Driving it step by step (to explain each stage)
40
+
41
+ From `examples/terraform-carve-out`, with `TF=./terraform`:
42
+
43
+ 1. **Advise — what is cheap to carve.**
44
+ ```bash
45
+ chant carve advise --from ./terraform
46
+ ```
47
+ Point out the three bands: clean leaves (carve now), carvable with edits,
48
+ and leave-in-Terraform. `aws_s3_bucket.assets` is a clean leaf held back one
49
+ notch by the Lambda that reads it; `random_pet` has no native mapping.
50
+
51
+ 2. **Emit — adopt the bucket into chant source, offline, from state.**
52
+ ```bash
53
+ chant carve emit --from ./terraform --select aws_s3_bucket.assets \
54
+ --state ./terraform/terraform.tfstate --output ./carveout
55
+ ```
56
+ Show `./carveout/assets.ts` — a real `new Bucket({ BucketName, Tags })` with
57
+ CloudFormation-style properties mapped from the Terraform state attributes.
58
+ Explain: a Terraform-managed resource is not in any CloudFormation stack, so
59
+ the correct source of its live shape is the state file, not a cloud read.
60
+
61
+ 3. **Lint the inherited resource — optional, offer it.**
62
+ ```bash
63
+ chant lint ./carveout --lexicon aws
64
+ ```
65
+ After emit, offer to lint the carved source. chant audits the resource you
66
+ inherited from Terraform against the AWS lexicon's rules. Findings have a
67
+ severity: `error` (must fix before `chant build` will emit — e.g. an S3
68
+ bucket with no public-access block) and `warning`/`info` (advisory — e.g.
69
+ DynamoDB point-in-time recovery). This is a feature of carving: chant
70
+ immediately tells the person what is wrong with what they adopted. Whether to
71
+ fix an advisory finding is their call; errors block the build until resolved.
72
+
73
+ 4. **Bridge — patch the surviving Terraform.**
74
+ ```bash
75
+ chant carve bridge --from ./terraform --select aws_s3_bucket.assets --output ./carveout
76
+ ```
77
+ Show the generated `data "aws_s3_bucket" "assets"` and the rewired survivor.
78
+ Emphasize it is dry-run: nothing in `./terraform` changed. `--apply-rewrites`
79
+ would edit it in place.
80
+
81
+ 5. **Apply — graduation plan.**
82
+ ```bash
83
+ chant carve apply --from ./terraform --select aws_s3_bucket.assets --env prod --stack assets
84
+ ```
85
+ Show the ownership marker (`chant:managed-by/stack/env`) and the finalized
86
+ runbook. Stress this makes no cloud call — the apply is the person's own
87
+ lifecycle; chant just plans it.
88
+
89
+ ## Key points to land
90
+
91
+ - Nothing is destroyed or applied; every step before graduation is reversible
92
+ with `terraform import`.
93
+ - You carve one resource at a time. The gnarly long tail stays in Terraform.
94
+ - `advise` and `bridge` work against **any** Terraform tree — offer to point
95
+ them at the person's own estate.
96
+
97
+ ## Going live (only if asked)
98
+
99
+ The real handoff adds three Terraform commands between bridge and apply:
100
+ `terraform state rm <addr>` (stops managing it, does not destroy), then
101
+ `terraform plan && terraform apply` to land the survivor patch. See the
102
+ generated runbook in `./carveout/<addr>-runbook.md`.
@@ -6187,6 +6187,7 @@ export declare class ComputeNodeGroup {
6187
6187
  Id?: string;
6188
6188
  /** The name that identifies the compute node group. */
6189
6189
  Name?: string;
6190
+ NodeLifecycleActions?: ComputeNodeGroup_NodeLifecycleActions;
6190
6191
  /** Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand, Spot, Capacity Block, and Interruptible Capacity Reservation instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. */
6191
6192
  PurchaseOption?: "CAPACITY_BLOCK" | "INTERRUPTIBLE_CAPACITY_RESERVATION" | "ONDEMAND" | "SPOT";
6192
6193
  /** Additional options related to the Slurm scheduler. */
@@ -7753,7 +7754,10 @@ export declare class CustomDBEngineVersion {
7753
7754
  /** The database engine to use for your custom engine version (CEV).
7754
7755
  Valid values:
7755
7756
  + ``custom-oracle-ee``
7756
- + ``custom-oracle-ee-cdb`` */
7757
+ + ``custom-oracle-ee-cdb``
7758
+ + ``sqlserver-dev-ee``
7759
+ + ``sqlserver-ee``
7760
+ + ``sqlserver-se`` */
7757
7761
  Engine: string;
7758
7762
  /** The name of your CEV. The name format is ``major version.customized_string``. For example, a valid CEV name is ``19.my_cev1``. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of ``Engine`` and ``EngineVersion`` is unique per customer per Region.
7759
7763
  *Constraints:* Minimum length is 1. Maximum length is 60.
@@ -9753,7 +9757,7 @@ export declare class DbInstance {
9753
9757
  /** The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.
9754
9758
  By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.
9755
9759
  Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties, and the point-in-time recovery properties ``RestoreTime`` and ``UseLatestRestorableTime``. For information about the properties that you can specify, see the [RestoreDBInstanceFromDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference*.
9756
- After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.
9760
+ When you specify the same ``DBSnapshotIdentifier`` property value for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. If you specify a different ``DBSnapshotIdentifier`` value, a new DB instance is restored from the specified snapshot, and the original DB instance is deleted.
9757
9761
  If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:
9758
9762
  + ``CharacterSetName``
9759
9763
  + ``DBClusterIdentifier``
@@ -9916,7 +9920,7 @@ export declare class DbInstance {
9916
9920
  + Aurora PostgreSQL - ``postgresql-license``
9917
9921
  + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*
9918
9922
  + RDS for MariaDB - ``general-public-license``
9919
- + RDS for Microsoft SQL Server - ``license-included``
9923
+ + RDS for Microsoft SQL Server - ``license-included`` or ``bring-your-own-media``
9920
9924
  + RDS for MySQL - ``general-public-license``
9921
9925
  + RDS for Oracle - ``bring-your-own-license`` or ``license-included``
9922
9926
  + RDS for PostgreSQL - ``postgresql-license``
@@ -12430,7 +12434,6 @@ export declare class EgressOnlyInternetGateway {
12430
12434
 
12431
12435
  export declare class EIP {
12432
12436
  constructor(props: {
12433
- /** An Elastic IP address or a carrier IP address in a Wavelength Zone. */
12434
12437
  Address?: string;
12435
12438
  AllocationId?: string;
12436
12439
  /** The network (``vpc``).
@@ -12439,7 +12442,6 @@ export declare class EIP {
12439
12442
  /** The ID of the instance.
12440
12443
  Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. */
12441
12444
  InstanceId?: string;
12442
- /** The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide*. */
12443
12445
  IpamPoolId?: string;
12444
12446
  /** A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.
12445
12447
  Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. */
@@ -26047,6 +26049,8 @@ export declare class PlaceIndex {
26047
26049
 
26048
26050
  export declare class PlacementGroup {
26049
26051
  constructor(props: {
26052
+ /** The ID of the placement group. */
26053
+ GroupId?: string;
26050
26054
  /** The Group Name of Placement Group. */
26051
26055
  GroupName?: string;
26052
26056
  /** The number of partitions. Valid only when **Strategy** is set to `partition` */
@@ -26058,6 +26062,7 @@ export declare class PlacementGroup {
26058
26062
  /** An array of key-value pairs to apply to this resource. */
26059
26063
  Tags?: PlacementGroup_Tag[];
26060
26064
  }, attributes?: CFResourceAttributes);
26065
+ readonly GroupId: string;
26061
26066
  readonly GroupName: string;
26062
26067
  }
26063
26068
 
@@ -27827,6 +27832,7 @@ export declare class RDSDBParameterGroup {
27827
27832
  + ``aurora-mysql``
27828
27833
  + ``aurora-postgresql``
27829
27834
  + ``db2-ae``
27835
+ + ``db2-ce``
27830
27836
  + ``db2-se``
27831
27837
  + ``mysql``
27832
27838
  + ``oracle-ee``
@@ -27863,6 +27869,7 @@ export declare class RDSDBSubnetGroup {
27863
27869
  DBSubnetGroupDescription: string;
27864
27870
  /** The EC2 Subnet IDs for the DB subnet group. */
27865
27871
  SubnetIds: string[];
27872
+ DBSubnetGroupArn?: string;
27866
27873
  /** The name for the DB subnet group. This value is stored as a lowercase string.
27867
27874
  Constraints:
27868
27875
  + Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.
@@ -27874,6 +27881,7 @@ export declare class RDSDBSubnetGroup {
27874
27881
  /** Tags to assign to the DB subnet group. */
27875
27882
  Tags?: RDSDBSubnetGroup_Tag[];
27876
27883
  }, attributes?: CFResourceAttributes);
27884
+ readonly DBSubnetGroupArn: string;
27877
27885
  }
27878
27886
 
27879
27887
  export declare class RDSEventSubscription {
@@ -53906,6 +53914,37 @@ export declare class ComputeNodeGroup_InstanceConfig {
53906
53914
  });
53907
53915
  }
53908
53916
 
53917
+ export declare class ComputeNodeGroup_NodeLifecycleActions {
53918
+ constructor(props: {
53919
+ Stages: ComputeNodeGroup_NodeLifecycleStages;
53920
+ /** Controls whether lifecycle scripts are downloaded once at first boot (CACHE_ONCE) or re-downloaded on every reboot (REFRESH_ON_REBOOT). Defaults to CACHE_ONCE. */
53921
+ ScriptCachingPolicy?: "CACHE_ONCE" | "REFRESH_ON_REBOOT";
53922
+ });
53923
+ }
53924
+
53925
+ export declare class ComputeNodeGroup_NodeLifecycleScript {
53926
+ constructor(props: {
53927
+ /** A human-readable name that identifies the script. */
53928
+ Name: string;
53929
+ ScriptSource: Record<string, unknown>;
53930
+ /** An ordered list of arguments passed to the script. */
53931
+ Arguments?: string[];
53932
+ /** Whether the script runs only on the node's first boot (FIRST_BOOT_ONLY) or on every boot including reboots (EVERY_BOOT). Defaults to FIRST_BOOT_ONLY. */
53933
+ ExecutionPolicy?: "EVERY_BOOT" | "FIRST_BOOT_ONLY";
53934
+ /** The behavior when the script exits with an error. Defaults to TERMINATE. */
53935
+ OnError?: "CONTINUE" | "STOP_SEQUENCE" | "TERMINATE";
53936
+ });
53937
+ }
53938
+
53939
+ export declare class ComputeNodeGroup_NodeLifecycleStages {
53940
+ constructor(props: {
53941
+ /** Scripts to run after the node is bootstrapped, once the PCS configuration phase completes and before slurmd starts. */
53942
+ NodeBootstrapped?: ComputeNodeGroup_NodeLifecycleScript[];
53943
+ /** Scripts to execute when the node becomes ready (every boot). */
53944
+ NodeReady?: ComputeNodeGroup_NodeLifecycleScript[];
53945
+ });
53946
+ }
53947
+
53909
53948
  export declare class ComputeNodeGroupConfiguration {
53910
53949
  constructor(props: {
53911
53950
  /** The compute node group ID for the compute node group configuration. */
@@ -55924,9 +55963,9 @@ export declare class ConnectRule_Tag {
55924
55963
  export declare class ConnectSecurityProfile_Application {
55925
55964
  constructor(props: {
55926
55965
  /** The permissions that the agent is granted on the application */
55927
- ApplicationPermissions: string[];
55966
+ ApplicationPermissions?: string[];
55928
55967
  /** Namespace of the application that you want to give access to. */
55929
- Namespace: string;
55968
+ Namespace?: string;
55930
55969
  /** The type of the application. */
55931
55970
  Type?: "MCP" | "THIRD_PARTY_APPLICATION";
55932
55971
  });
@@ -55935,9 +55974,9 @@ export declare class ConnectSecurityProfile_Application {
55935
55974
  export declare class ConnectSecurityProfile_FlowModule {
55936
55975
  constructor(props: {
55937
55976
  /** The identifier of the application that you want to give access to. */
55938
- FlowModuleId: string;
55977
+ FlowModuleId?: string;
55939
55978
  /** The type of the first-party application */
55940
- Type: string;
55979
+ Type?: string;
55941
55980
  });
55942
55981
  }
55943
55982
 
@@ -72139,9 +72178,9 @@ export declare class FlowLog_TagFieldSpecification {
72139
72178
  export declare class FlowModule {
72140
72179
  constructor(props: {
72141
72180
  /** The identifier of the application that you want to give access to. */
72142
- FlowModuleId: string;
72181
+ FlowModuleId?: string;
72143
72182
  /** The type of the first-party application */
72144
- Type: string;
72183
+ Type?: string;
72145
72184
  });
72146
72185
  }
72147
72186
 
@@ -94527,6 +94566,37 @@ export declare class NodeInterfaceMapping {
94527
94566
  });
94528
94567
  }
94529
94568
 
94569
+ export declare class NodeLifecycleActions {
94570
+ constructor(props: {
94571
+ Stages: ComputeNodeGroup_NodeLifecycleStages;
94572
+ /** Controls whether lifecycle scripts are downloaded once at first boot (CACHE_ONCE) or re-downloaded on every reboot (REFRESH_ON_REBOOT). Defaults to CACHE_ONCE. */
94573
+ ScriptCachingPolicy?: "CACHE_ONCE" | "REFRESH_ON_REBOOT";
94574
+ });
94575
+ }
94576
+
94577
+ export declare class NodeLifecycleScript {
94578
+ constructor(props: {
94579
+ /** A human-readable name that identifies the script. */
94580
+ Name: string;
94581
+ ScriptSource: Record<string, unknown>;
94582
+ /** An ordered list of arguments passed to the script. */
94583
+ Arguments?: string[];
94584
+ /** Whether the script runs only on the node's first boot (FIRST_BOOT_ONLY) or on every boot including reboots (EVERY_BOOT). Defaults to FIRST_BOOT_ONLY. */
94585
+ ExecutionPolicy?: "EVERY_BOOT" | "FIRST_BOOT_ONLY";
94586
+ /** The behavior when the script exits with an error. Defaults to TERMINATE. */
94587
+ OnError?: "CONTINUE" | "STOP_SEQUENCE" | "TERMINATE";
94588
+ });
94589
+ }
94590
+
94591
+ export declare class NodeLifecycleStages {
94592
+ constructor(props: {
94593
+ /** Scripts to run after the node is bootstrapped, once the PCS configuration phase completes and before slurmd starts. */
94594
+ NodeBootstrapped?: ComputeNodeGroup_NodeLifecycleScript[];
94595
+ /** Scripts to execute when the node becomes ready (every boot). */
94596
+ NodeReady?: ComputeNodeGroup_NodeLifecycleScript[];
94597
+ });
94598
+ }
94599
+
94530
94600
  export declare class NodeOption {
94531
94601
  constructor(props: {
94532
94602
  NodeConfig?: OpenSearchServiceDomain_NodeConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-aws",
3
- "version": "0.18.37",
3
+ "version": "0.19.0",
4
4
  "description": "AWS CloudFormation lexicon for chant — declarative IaC in TypeScript",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -80,7 +80,7 @@
80
80
  "typescript": "^5.9.3"
81
81
  },
82
82
  "peerDependencies": {
83
- "@intentius/chant": "^0.18.37",
83
+ "@intentius/chant": "^0.19.0",
84
84
  "typescript": "^5.9.3"
85
85
  }
86
86
  }
@@ -6187,6 +6187,7 @@ export declare class ComputeNodeGroup {
6187
6187
  Id?: string;
6188
6188
  /** The name that identifies the compute node group. */
6189
6189
  Name?: string;
6190
+ NodeLifecycleActions?: ComputeNodeGroup_NodeLifecycleActions;
6190
6191
  /** Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand, Spot, Capacity Block, and Interruptible Capacity Reservation instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. */
6191
6192
  PurchaseOption?: "CAPACITY_BLOCK" | "INTERRUPTIBLE_CAPACITY_RESERVATION" | "ONDEMAND" | "SPOT";
6192
6193
  /** Additional options related to the Slurm scheduler. */
@@ -7753,7 +7754,10 @@ export declare class CustomDBEngineVersion {
7753
7754
  /** The database engine to use for your custom engine version (CEV).
7754
7755
  Valid values:
7755
7756
  + ``custom-oracle-ee``
7756
- + ``custom-oracle-ee-cdb`` */
7757
+ + ``custom-oracle-ee-cdb``
7758
+ + ``sqlserver-dev-ee``
7759
+ + ``sqlserver-ee``
7760
+ + ``sqlserver-se`` */
7757
7761
  Engine: string;
7758
7762
  /** The name of your CEV. The name format is ``major version.customized_string``. For example, a valid CEV name is ``19.my_cev1``. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of ``Engine`` and ``EngineVersion`` is unique per customer per Region.
7759
7763
  *Constraints:* Minimum length is 1. Maximum length is 60.
@@ -9753,7 +9757,7 @@ export declare class DbInstance {
9753
9757
  /** The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.
9754
9758
  By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.
9755
9759
  Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties, and the point-in-time recovery properties ``RestoreTime`` and ``UseLatestRestorableTime``. For information about the properties that you can specify, see the [RestoreDBInstanceFromDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference*.
9756
- After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.
9760
+ When you specify the same ``DBSnapshotIdentifier`` property value for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. If you specify a different ``DBSnapshotIdentifier`` value, a new DB instance is restored from the specified snapshot, and the original DB instance is deleted.
9757
9761
  If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:
9758
9762
  + ``CharacterSetName``
9759
9763
  + ``DBClusterIdentifier``
@@ -9916,7 +9920,7 @@ export declare class DbInstance {
9916
9920
  + Aurora PostgreSQL - ``postgresql-license``
9917
9921
  + RDS for Db2 - ``bring-your-own-license``. For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*
9918
9922
  + RDS for MariaDB - ``general-public-license``
9919
- + RDS for Microsoft SQL Server - ``license-included``
9923
+ + RDS for Microsoft SQL Server - ``license-included`` or ``bring-your-own-media``
9920
9924
  + RDS for MySQL - ``general-public-license``
9921
9925
  + RDS for Oracle - ``bring-your-own-license`` or ``license-included``
9922
9926
  + RDS for PostgreSQL - ``postgresql-license``
@@ -12430,7 +12434,6 @@ export declare class EgressOnlyInternetGateway {
12430
12434
 
12431
12435
  export declare class EIP {
12432
12436
  constructor(props: {
12433
- /** An Elastic IP address or a carrier IP address in a Wavelength Zone. */
12434
12437
  Address?: string;
12435
12438
  AllocationId?: string;
12436
12439
  /** The network (``vpc``).
@@ -12439,7 +12442,6 @@ export declare class EIP {
12439
12442
  /** The ID of the instance.
12440
12443
  Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. */
12441
12444
  InstanceId?: string;
12442
- /** The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide*. */
12443
12445
  IpamPoolId?: string;
12444
12446
  /** A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.
12445
12447
  Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. */
@@ -26047,6 +26049,8 @@ export declare class PlaceIndex {
26047
26049
 
26048
26050
  export declare class PlacementGroup {
26049
26051
  constructor(props: {
26052
+ /** The ID of the placement group. */
26053
+ GroupId?: string;
26050
26054
  /** The Group Name of Placement Group. */
26051
26055
  GroupName?: string;
26052
26056
  /** The number of partitions. Valid only when **Strategy** is set to `partition` */
@@ -26058,6 +26062,7 @@ export declare class PlacementGroup {
26058
26062
  /** An array of key-value pairs to apply to this resource. */
26059
26063
  Tags?: PlacementGroup_Tag[];
26060
26064
  }, attributes?: CFResourceAttributes);
26065
+ readonly GroupId: string;
26061
26066
  readonly GroupName: string;
26062
26067
  }
26063
26068
 
@@ -27827,6 +27832,7 @@ export declare class RDSDBParameterGroup {
27827
27832
  + ``aurora-mysql``
27828
27833
  + ``aurora-postgresql``
27829
27834
  + ``db2-ae``
27835
+ + ``db2-ce``
27830
27836
  + ``db2-se``
27831
27837
  + ``mysql``
27832
27838
  + ``oracle-ee``
@@ -27863,6 +27869,7 @@ export declare class RDSDBSubnetGroup {
27863
27869
  DBSubnetGroupDescription: string;
27864
27870
  /** The EC2 Subnet IDs for the DB subnet group. */
27865
27871
  SubnetIds: string[];
27872
+ DBSubnetGroupArn?: string;
27866
27873
  /** The name for the DB subnet group. This value is stored as a lowercase string.
27867
27874
  Constraints:
27868
27875
  + Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.
@@ -27874,6 +27881,7 @@ export declare class RDSDBSubnetGroup {
27874
27881
  /** Tags to assign to the DB subnet group. */
27875
27882
  Tags?: RDSDBSubnetGroup_Tag[];
27876
27883
  }, attributes?: CFResourceAttributes);
27884
+ readonly DBSubnetGroupArn: string;
27877
27885
  }
27878
27886
 
27879
27887
  export declare class RDSEventSubscription {
@@ -53906,6 +53914,37 @@ export declare class ComputeNodeGroup_InstanceConfig {
53906
53914
  });
53907
53915
  }
53908
53916
 
53917
+ export declare class ComputeNodeGroup_NodeLifecycleActions {
53918
+ constructor(props: {
53919
+ Stages: ComputeNodeGroup_NodeLifecycleStages;
53920
+ /** Controls whether lifecycle scripts are downloaded once at first boot (CACHE_ONCE) or re-downloaded on every reboot (REFRESH_ON_REBOOT). Defaults to CACHE_ONCE. */
53921
+ ScriptCachingPolicy?: "CACHE_ONCE" | "REFRESH_ON_REBOOT";
53922
+ });
53923
+ }
53924
+
53925
+ export declare class ComputeNodeGroup_NodeLifecycleScript {
53926
+ constructor(props: {
53927
+ /** A human-readable name that identifies the script. */
53928
+ Name: string;
53929
+ ScriptSource: Record<string, unknown>;
53930
+ /** An ordered list of arguments passed to the script. */
53931
+ Arguments?: string[];
53932
+ /** Whether the script runs only on the node's first boot (FIRST_BOOT_ONLY) or on every boot including reboots (EVERY_BOOT). Defaults to FIRST_BOOT_ONLY. */
53933
+ ExecutionPolicy?: "EVERY_BOOT" | "FIRST_BOOT_ONLY";
53934
+ /** The behavior when the script exits with an error. Defaults to TERMINATE. */
53935
+ OnError?: "CONTINUE" | "STOP_SEQUENCE" | "TERMINATE";
53936
+ });
53937
+ }
53938
+
53939
+ export declare class ComputeNodeGroup_NodeLifecycleStages {
53940
+ constructor(props: {
53941
+ /** Scripts to run after the node is bootstrapped, once the PCS configuration phase completes and before slurmd starts. */
53942
+ NodeBootstrapped?: ComputeNodeGroup_NodeLifecycleScript[];
53943
+ /** Scripts to execute when the node becomes ready (every boot). */
53944
+ NodeReady?: ComputeNodeGroup_NodeLifecycleScript[];
53945
+ });
53946
+ }
53947
+
53909
53948
  export declare class ComputeNodeGroupConfiguration {
53910
53949
  constructor(props: {
53911
53950
  /** The compute node group ID for the compute node group configuration. */
@@ -55924,9 +55963,9 @@ export declare class ConnectRule_Tag {
55924
55963
  export declare class ConnectSecurityProfile_Application {
55925
55964
  constructor(props: {
55926
55965
  /** The permissions that the agent is granted on the application */
55927
- ApplicationPermissions: string[];
55966
+ ApplicationPermissions?: string[];
55928
55967
  /** Namespace of the application that you want to give access to. */
55929
- Namespace: string;
55968
+ Namespace?: string;
55930
55969
  /** The type of the application. */
55931
55970
  Type?: "MCP" | "THIRD_PARTY_APPLICATION";
55932
55971
  });
@@ -55935,9 +55974,9 @@ export declare class ConnectSecurityProfile_Application {
55935
55974
  export declare class ConnectSecurityProfile_FlowModule {
55936
55975
  constructor(props: {
55937
55976
  /** The identifier of the application that you want to give access to. */
55938
- FlowModuleId: string;
55977
+ FlowModuleId?: string;
55939
55978
  /** The type of the first-party application */
55940
- Type: string;
55979
+ Type?: string;
55941
55980
  });
55942
55981
  }
55943
55982
 
@@ -72139,9 +72178,9 @@ export declare class FlowLog_TagFieldSpecification {
72139
72178
  export declare class FlowModule {
72140
72179
  constructor(props: {
72141
72180
  /** The identifier of the application that you want to give access to. */
72142
- FlowModuleId: string;
72181
+ FlowModuleId?: string;
72143
72182
  /** The type of the first-party application */
72144
- Type: string;
72183
+ Type?: string;
72145
72184
  });
72146
72185
  }
72147
72186
 
@@ -94527,6 +94566,37 @@ export declare class NodeInterfaceMapping {
94527
94566
  });
94528
94567
  }
94529
94568
 
94569
+ export declare class NodeLifecycleActions {
94570
+ constructor(props: {
94571
+ Stages: ComputeNodeGroup_NodeLifecycleStages;
94572
+ /** Controls whether lifecycle scripts are downloaded once at first boot (CACHE_ONCE) or re-downloaded on every reboot (REFRESH_ON_REBOOT). Defaults to CACHE_ONCE. */
94573
+ ScriptCachingPolicy?: "CACHE_ONCE" | "REFRESH_ON_REBOOT";
94574
+ });
94575
+ }
94576
+
94577
+ export declare class NodeLifecycleScript {
94578
+ constructor(props: {
94579
+ /** A human-readable name that identifies the script. */
94580
+ Name: string;
94581
+ ScriptSource: Record<string, unknown>;
94582
+ /** An ordered list of arguments passed to the script. */
94583
+ Arguments?: string[];
94584
+ /** Whether the script runs only on the node's first boot (FIRST_BOOT_ONLY) or on every boot including reboots (EVERY_BOOT). Defaults to FIRST_BOOT_ONLY. */
94585
+ ExecutionPolicy?: "EVERY_BOOT" | "FIRST_BOOT_ONLY";
94586
+ /** The behavior when the script exits with an error. Defaults to TERMINATE. */
94587
+ OnError?: "CONTINUE" | "STOP_SEQUENCE" | "TERMINATE";
94588
+ });
94589
+ }
94590
+
94591
+ export declare class NodeLifecycleStages {
94592
+ constructor(props: {
94593
+ /** Scripts to run after the node is bootstrapped, once the PCS configuration phase completes and before slurmd starts. */
94594
+ NodeBootstrapped?: ComputeNodeGroup_NodeLifecycleScript[];
94595
+ /** Scripts to execute when the node becomes ready (every boot). */
94596
+ NodeReady?: ComputeNodeGroup_NodeLifecycleScript[];
94597
+ });
94598
+ }
94599
+
94530
94600
  export declare class NodeOption {
94531
94601
  constructor(props: {
94532
94602
  NodeConfig?: OpenSearchServiceDomain_NodeConfig;