@intentius/chant-lexicon-aws 0.18.24 → 0.18.26

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": "52ae6e9623bc2eb09530f0d3a0cb05da75fb609e718222c532d2fa3883801475",
5
- "meta.json": "cfe8a6d95016522d834ea5c50a48f2adbdb95996267985a69a95faeba68f32fa",
6
- "types/index.d.ts": "f0255702fde8c1d1a369d4d1d2e164829fcd7155f3d111164414f715df9d6f3e",
4
+ "manifest.json": "e2dc8ba0e70426d435dcc95b5bf651d1166d5c2cfadee725cc65ffe226f248ea",
5
+ "meta.json": "08ec32bbf13829bcb558b1dfa4619af934baa0b489d65a7c41854c4659299429",
6
+ "types/index.d.ts": "b1982c427639aceee20e55ddb5c4ce8a4bec8a07656379ca9957dfd0852d6c35",
7
7
  "rules/hardcoded-region.ts": "5a0eaf7ab391231fe6cd51426ece29539cb4b36f31c8dd060956638fed55722a",
8
8
  "rules/iam-wildcard.ts": "135d7217d278fef50939e605c5da32603ba35674b8c4b5c4d66a06c77903e945",
9
9
  "rules/s3-encryption.ts": "c4f9f8aa8dc382ed98c7b04e820a600590cc75335a8db2e087cbfbfe4003d09e",
@@ -58,5 +58,5 @@
58
58
  "skills/chant-aws.md": "4d65eb160e001f2af42eb7c622a5b498c2fd1f5afbd6c8155615c010fb265c63",
59
59
  "skills/chant-aws-eks.md": "8789255709ff004ad0a875fd5999edcdc66fc6e33d710db058d9f42703bcfdfe"
60
60
  },
61
- "composite": "5b37014e10761043f71edeeb8bac9371b76b1eadb746a21f2d2375e861a26bfa"
61
+ "composite": "711c9aba15f177414e01e93e8c64abb8391795796d1f919a1b6490d2b6195885"
62
62
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws",
3
- "version": "0.18.24",
3
+ "version": "0.18.26",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "AWS",
6
6
  "intrinsics": [
package/dist/meta.json CHANGED
@@ -1887,6 +1887,63 @@
1887
1887
  "kind": "property",
1888
1888
  "lexicon": "aws"
1889
1889
  },
1890
+ "Action": {
1891
+ "resourceType": "AWS::SageMaker::Action",
1892
+ "kind": "resource",
1893
+ "lexicon": "aws",
1894
+ "attrs": {
1895
+ "Arn": "Arn",
1896
+ "CreationTime": "CreationTime",
1897
+ "LastModifiedTime": "LastModifiedTime"
1898
+ },
1899
+ "propertyConstraints": {
1900
+ "ActionName": {
1901
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}$",
1902
+ "minLength": 1,
1903
+ "maxLength": 120
1904
+ },
1905
+ "ActionType": {
1906
+ "maxLength": 256
1907
+ },
1908
+ "Description": {
1909
+ "maxLength": 3072
1910
+ },
1911
+ "Status": {
1912
+ "enum": [
1913
+ "Unknown",
1914
+ "InProgress",
1915
+ "Completed",
1916
+ "Failed",
1917
+ "Stopping",
1918
+ "Stopped"
1919
+ ]
1920
+ },
1921
+ "Arn": {
1922
+ "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:action/",
1923
+ "maxLength": 256
1924
+ },
1925
+ "CreationTime": {
1926
+ "format": "date-time"
1927
+ },
1928
+ "LastModifiedTime": {
1929
+ "format": "date-time"
1930
+ }
1931
+ },
1932
+ "createOnly": [
1933
+ "ActionName",
1934
+ "ActionType",
1935
+ "Source",
1936
+ "MetadataProperties"
1937
+ ],
1938
+ "primaryIdentifier": [
1939
+ "Arn"
1940
+ ],
1941
+ "tagging": {
1942
+ "taggable": true,
1943
+ "tagOnCreate": true,
1944
+ "tagUpdatable": true
1945
+ }
1946
+ },
1890
1947
  "ActionConfiguration": {
1891
1948
  "resourceType": "AWS::QBusiness::DataAccessor.ActionConfiguration",
1892
1949
  "kind": "property",
@@ -1990,6 +2047,11 @@
1990
2047
  "kind": "property",
1991
2048
  "lexicon": "aws"
1992
2049
  },
2050
+ "ActionSource": {
2051
+ "resourceType": "AWS::SageMaker::Action.ActionSource",
2052
+ "kind": "property",
2053
+ "lexicon": "aws"
2054
+ },
1993
2055
  "ActionThreshold": {
1994
2056
  "resourceType": "AWS::Budgets::BudgetsAction.ActionThreshold",
1995
2057
  "kind": "property",
@@ -2000,6 +2062,21 @@
2000
2062
  "kind": "property",
2001
2063
  "lexicon": "aws"
2002
2064
  },
2065
+ "Action_ActionSource": {
2066
+ "resourceType": "AWS::SageMaker::Action.ActionSource",
2067
+ "kind": "property",
2068
+ "lexicon": "aws"
2069
+ },
2070
+ "Action_MetadataProperties": {
2071
+ "resourceType": "AWS::SageMaker::Action.MetadataProperties",
2072
+ "kind": "property",
2073
+ "lexicon": "aws"
2074
+ },
2075
+ "Action_Tag": {
2076
+ "resourceType": "AWS::SageMaker::Action.Tag",
2077
+ "kind": "property",
2078
+ "lexicon": "aws"
2079
+ },
2003
2080
  "Actions": {
2004
2081
  "resourceType": "AWS::Connect::Rule.Actions",
2005
2082
  "kind": "property",
@@ -16798,6 +16875,11 @@
16798
16875
  "kind": "property",
16799
16876
  "lexicon": "aws"
16800
16877
  },
16878
+ "CompactionConfiguration": {
16879
+ "resourceType": "AWS::Glue::TableOptimizer.CompactionConfiguration",
16880
+ "kind": "property",
16881
+ "lexicon": "aws"
16882
+ },
16801
16883
  "ComparativeOrder": {
16802
16884
  "resourceType": "AWS::QuickSight::Topic.ComparativeOrder",
16803
16885
  "kind": "property",
@@ -20908,6 +20990,54 @@
20908
20990
  "kind": "property",
20909
20991
  "lexicon": "aws"
20910
20992
  },
20993
+ "Context": {
20994
+ "resourceType": "AWS::SageMaker::Context",
20995
+ "kind": "resource",
20996
+ "lexicon": "aws",
20997
+ "attrs": {
20998
+ "Arn": "Arn",
20999
+ "CreationTime": "CreationTime",
21000
+ "LastModifiedTime": "LastModifiedTime"
21001
+ },
21002
+ "propertyConstraints": {
21003
+ "Arn": {
21004
+ "pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:context/",
21005
+ "maxLength": 256
21006
+ },
21007
+ "ContextName": {
21008
+ "pattern": "^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,119}$",
21009
+ "minLength": 1,
21010
+ "maxLength": 120
21011
+ },
21012
+ "ContextType": {
21013
+ "minLength": 0,
21014
+ "maxLength": 256
21015
+ },
21016
+ "Description": {
21017
+ "minLength": 0,
21018
+ "maxLength": 3072
21019
+ },
21020
+ "CreationTime": {
21021
+ "format": "date-time"
21022
+ },
21023
+ "LastModifiedTime": {
21024
+ "format": "date-time"
21025
+ }
21026
+ },
21027
+ "createOnly": [
21028
+ "ContextName",
21029
+ "ContextType",
21030
+ "Source"
21031
+ ],
21032
+ "primaryIdentifier": [
21033
+ "Arn"
21034
+ ],
21035
+ "tagging": {
21036
+ "taggable": true,
21037
+ "tagOnCreate": true,
21038
+ "tagUpdatable": true
21039
+ }
21040
+ },
20911
21041
  "ContextEnrichmentConfiguration": {
20912
21042
  "resourceType": "AWS::Bedrock::DataSource.ContextEnrichmentConfiguration",
20913
21043
  "kind": "property",
@@ -46045,6 +46175,11 @@
46045
46175
  "kind": "property",
46046
46176
  "lexicon": "aws"
46047
46177
  },
46178
+ "IcebergCompactionConfiguration": {
46179
+ "resourceType": "AWS::Glue::TableOptimizer.IcebergCompactionConfiguration",
46180
+ "kind": "property",
46181
+ "lexicon": "aws"
46182
+ },
46048
46183
  "IcebergConfiguration": {
46049
46184
  "resourceType": "AWS::Glue::TableOptimizer.IcebergConfiguration",
46050
46185
  "kind": "property",
@@ -94469,6 +94604,16 @@
94469
94604
  "kind": "property",
94470
94605
  "lexicon": "aws"
94471
94606
  },
94607
+ "TableOptimizer_CompactionConfiguration": {
94608
+ "resourceType": "AWS::Glue::TableOptimizer.CompactionConfiguration",
94609
+ "kind": "property",
94610
+ "lexicon": "aws"
94611
+ },
94612
+ "TableOptimizer_IcebergCompactionConfiguration": {
94613
+ "resourceType": "AWS::Glue::TableOptimizer.IcebergCompactionConfiguration",
94614
+ "kind": "property",
94615
+ "lexicon": "aws"
94616
+ },
94472
94617
  "TableOptimizer_IcebergConfiguration": {
94473
94618
  "resourceType": "AWS::Glue::TableOptimizer.IcebergConfiguration",
94474
94619
  "kind": "property",
@@ -419,6 +419,36 @@ export declare class ACMPCAPermission {
419
419
  }, attributes?: CFResourceAttributes);
420
420
  }
421
421
 
422
+ export declare class Action {
423
+ constructor(props: {
424
+ /** The name of the action. Must be unique to your account in an AWS Region. */
425
+ ActionName: string;
426
+ /** The action type. */
427
+ ActionType: string;
428
+ /** The source type, ID, and URI. */
429
+ Source: Action_ActionSource;
430
+ /** The Amazon Resource Name (ARN) of the action. */
431
+ Arn?: string;
432
+ /** When the action was created. */
433
+ CreationTime?: string;
434
+ /** The description of the action. */
435
+ Description?: string;
436
+ /** When the action was last modified. */
437
+ LastModifiedTime?: string;
438
+ /** Metadata properties of the tracking entity, trial, or trial component. */
439
+ MetadataProperties?: Action_MetadataProperties;
440
+ /** A list of properties to add to the action. */
441
+ Properties?: Record<string, unknown>;
442
+ /** The status of the action. */
443
+ Status?: "Completed" | "Failed" | "InProgress" | "Stopped" | "Stopping" | "Unknown";
444
+ /** A list of tags to apply to the action. */
445
+ Tags?: Action_Tag[];
446
+ }, attributes?: CFResourceAttributes);
447
+ readonly Arn: string;
448
+ readonly CreationTime: string;
449
+ readonly LastModifiedTime: string;
450
+ }
451
+
422
452
  export declare class ActionConnector {
423
453
  constructor(props: {
424
454
  ActionConnectorId: string;
@@ -7452,6 +7482,32 @@ export declare class ContainerRecipe {
7452
7482
  readonly LatestVersion_Patch: string;
7453
7483
  }
7454
7484
 
7485
+ export declare class Context {
7486
+ constructor(props: {
7487
+ /** The name of the context. Must be unique to your account in an AWS Region. */
7488
+ ContextName: string;
7489
+ /** The context type. */
7490
+ ContextType: string;
7491
+ /** The source type, ID, and URI. */
7492
+ Source: Record<string, unknown>;
7493
+ /** The Amazon Resource Name (ARN) of the context. */
7494
+ Arn?: string;
7495
+ /** When the context was created. */
7496
+ CreationTime?: string;
7497
+ /** The description of the context. */
7498
+ Description?: string;
7499
+ /** When the context was last modified. */
7500
+ LastModifiedTime?: string;
7501
+ /** A list of properties to add to the context. */
7502
+ Properties?: Record<string, unknown>;
7503
+ /** A list of tags to apply to the context. */
7504
+ Tags?: Record<string, unknown>[];
7505
+ }, attributes?: CFResourceAttributes);
7506
+ readonly Arn: string;
7507
+ readonly CreationTime: string;
7508
+ readonly LastModifiedTime: string;
7509
+ }
7510
+
7455
7511
  export declare class ContinuousDeploymentPolicy {
7456
7512
  constructor(props: {
7457
7513
  /** Contains the configuration for a continuous deployment policy. */
@@ -8659,30 +8715,30 @@ export declare class DataSyncAgent {
8659
8715
 
8660
8716
  export declare class DataTable {
8661
8717
  constructor(props: {
8718
+ /** The identifier of the Amazon Connect instance. */
8719
+ InstanceArn: string;
8720
+ /** The name of the Data Table */
8721
+ Name: string;
8722
+ /** The status of the Data Table */
8723
+ Status: "PUBLISHED";
8724
+ /** The time zone of the Data Table */
8725
+ TimeZone: string;
8726
+ /** The value lock level of the Data Table */
8727
+ ValueLockLevel: "ATTRIBUTE" | "DATA_TABLE" | "NONE" | "PRIMARY_VALUE" | "VALUE";
8662
8728
  /** The arn of the Data Table */
8663
8729
  Arn?: string;
8664
8730
  /** The creation time of the Data Table */
8665
8731
  CreatedTime?: number;
8666
8732
  /** The description of the Data Table. */
8667
8733
  Description?: string;
8668
- /** The identifier of the Amazon Connect instance. */
8669
- InstanceArn?: string;
8670
8734
  /** Last modified region. */
8671
8735
  LastModifiedRegion?: string;
8672
8736
  /** Last modified time. */
8673
8737
  LastModifiedTime?: number;
8674
8738
  /** The lock version of the Data Table */
8675
8739
  LockVersion?: Record<string, unknown>;
8676
- /** The name of the Data Table */
8677
- Name?: string;
8678
- /** The status of the Data Table */
8679
- Status?: "PUBLISHED";
8680
8740
  /** One or more tags. */
8681
8741
  Tags?: DataTable_Tag[];
8682
- /** The time zone of the Data Table */
8683
- TimeZone?: string;
8684
- /** The value lock level of the Data Table */
8685
- ValueLockLevel?: "ATTRIBUTE" | "DATA_TABLE" | "NONE" | "PRIMARY_VALUE" | "VALUE";
8686
8742
  }, attributes?: CFResourceAttributes);
8687
8743
  readonly Arn: string;
8688
8744
  readonly CreatedTime: number;
@@ -8693,17 +8749,17 @@ export declare class DataTable {
8693
8749
 
8694
8750
  export declare class DataTableAttribute {
8695
8751
  constructor(props: {
8752
+ DataTableArn: string;
8753
+ InstanceArn: string;
8754
+ Name: string;
8755
+ ValueType: "BOOLEAN" | "NUMBER" | "NUMBER_LIST" | "TEXT" | "TEXT_LIST";
8696
8756
  AttributeId?: string;
8697
- DataTableArn?: string;
8698
8757
  Description?: string;
8699
- InstanceArn?: string;
8700
8758
  LastModifiedRegion?: string;
8701
8759
  LastModifiedTime?: number;
8702
8760
  LockVersion?: Record<string, unknown>;
8703
- Name?: string;
8704
8761
  Primary?: boolean;
8705
8762
  Validation?: Record<string, unknown>;
8706
- ValueType?: "BOOLEAN" | "NUMBER" | "NUMBER_LIST" | "TEXT" | "TEXT_LIST";
8707
8763
  }, attributes?: CFResourceAttributes);
8708
8764
  readonly AttributeId: string;
8709
8765
  readonly LastModifiedRegion: string;
@@ -8713,9 +8769,9 @@ export declare class DataTableAttribute {
8713
8769
 
8714
8770
  export declare class DataTableRecord {
8715
8771
  constructor(props: {
8716
- DataTableArn?: string;
8717
- DataTableRecord?: Record<string, unknown>;
8718
- InstanceArn?: string;
8772
+ DataTableArn: string;
8773
+ DataTableRecord: Record<string, unknown>;
8774
+ InstanceArn: string;
8719
8775
  RecordId?: string;
8720
8776
  }, attributes?: CFResourceAttributes);
8721
8777
  readonly RecordId: string;
@@ -39051,6 +39107,39 @@ export declare class ACMPCACertificate_Validity {
39051
39107
  });
39052
39108
  }
39053
39109
 
39110
+ export declare class Action_ActionSource {
39111
+ constructor(props: {
39112
+ /** The URI of the source. */
39113
+ SourceUri: string;
39114
+ /** The ID of the source. */
39115
+ SourceId?: string;
39116
+ /** The type of the source. */
39117
+ SourceType?: string;
39118
+ });
39119
+ }
39120
+
39121
+ export declare class Action_MetadataProperties {
39122
+ constructor(props: {
39123
+ /** The commit ID. */
39124
+ CommitId?: string;
39125
+ /** The entity this entity was generated by. */
39126
+ GeneratedBy?: string;
39127
+ /** The project ID. */
39128
+ ProjectId?: string;
39129
+ /** The repository. */
39130
+ Repository?: string;
39131
+ });
39132
+ }
39133
+
39134
+ export declare class Action_Tag {
39135
+ constructor(props: {
39136
+ /** The tag key. */
39137
+ Key: string;
39138
+ /** The tag value. */
39139
+ Value: string;
39140
+ });
39141
+ }
39142
+
39054
39143
  export declare class ActionConfiguration {
39055
39144
  constructor(props: {
39056
39145
  Action: string;
@@ -39177,6 +39266,17 @@ export declare class Actions {
39177
39266
  });
39178
39267
  }
39179
39268
 
39269
+ export declare class ActionSource {
39270
+ constructor(props: {
39271
+ /** The URI of the source. */
39272
+ SourceUri: string;
39273
+ /** The ID of the source. */
39274
+ SourceId?: string;
39275
+ /** The type of the source. */
39276
+ SourceType?: string;
39277
+ });
39278
+ }
39279
+
39180
39280
  export declare class ActionThreshold {
39181
39281
  constructor(props: {
39182
39282
  Type: "ABSOLUTE_VALUE" | "PERCENTAGE";
@@ -52447,6 +52547,7 @@ export declare class CodeBuildProject_Environment {
52447
52547
  DockerServer?: CodeBuildProject_DockerServer;
52448
52548
  EnvironmentVariables?: CodeBuildProject_EnvironmentVariable[];
52449
52549
  Fleet?: CodeBuildProject_ProjectFleet;
52550
+ HostKernel?: string;
52450
52551
  ImagePullCredentialsType?: string;
52451
52552
  PrivilegedMode?: boolean;
52452
52553
  RegistryCredential?: CodeBuildProject_RegistryCredential;
@@ -53307,6 +53408,12 @@ export declare class Compaction {
53307
53408
  });
53308
53409
  }
53309
53410
 
53411
+ export declare class CompactionConfiguration {
53412
+ constructor(props: {
53413
+ IcebergConfiguration?: TableOptimizer_IcebergCompactionConfiguration;
53414
+ });
53415
+ }
53416
+
53310
53417
  export declare class ComparativeOrder {
53311
53418
  constructor(props: {
53312
53419
  SpecifedOrder?: string[];
@@ -62908,7 +63015,9 @@ export declare class DeploymentCircuitBreaker {
62908
63015
  Enable: boolean;
62909
63016
  /** Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. */
62910
63017
  Rollback: boolean;
63018
+ /** Specifies whether the deployment circuit breaker resets its failure count when a task reaches a healthy state. When set to ``true``, a task that reaches a healthy state resets the failure count to ``0``. When set to ``false``, Amazon ECS does not reset the failure count. The default is ``true``. */
62911
63019
  ResetOnHealthyTask?: boolean;
63020
+ /** The threshold configuration that controls when the deployment circuit breaker triggers. The ``type`` and ``value`` together determine how many task failures are tolerated before the circuit breaker activates. */
62912
63021
  ThresholdConfiguration?: EcsService_ThresholdConfiguration;
62913
63022
  });
62914
63023
  }
@@ -66284,7 +66393,9 @@ export declare class EcsService_DeploymentCircuitBreaker {
66284
66393
  Enable: boolean;
66285
66394
  /** Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. */
66286
66395
  Rollback: boolean;
66396
+ /** Specifies whether the deployment circuit breaker resets its failure count when a task reaches a healthy state. When set to ``true``, a task that reaches a healthy state resets the failure count to ``0``. When set to ``false``, Amazon ECS does not reset the failure count. The default is ``true``. */
66287
66397
  ResetOnHealthyTask?: boolean;
66398
+ /** The threshold configuration that controls when the deployment circuit breaker triggers. The ``type`` and ``value`` together determine how many task failures are tolerated before the circuit breaker activates. */
66288
66399
  ThresholdConfiguration?: EcsService_ThresholdConfiguration;
66289
66400
  });
66290
66401
  }
@@ -66737,7 +66848,9 @@ export declare class EcsService_Tag {
66737
66848
 
66738
66849
  export declare class EcsService_ThresholdConfiguration {
66739
66850
  constructor(props: {
66851
+ /** Determines how Amazon ECS uses ``value`` to calculate the failure threshold. For the percentage types (``BOUNDED_PERCENT`` and ``UNBOUNDED_PERCENT``), Amazon ECS multiplies ``value`` by the latest service desired count. For ``COUNT``, Amazon ECS uses ``value`` directly as the threshold. The default is ``BOUNDED_PERCENT``. */
66740
66852
  Type: "BOUNDED_PERCENT" | "COUNT" | "UNBOUNDED_PERCENT";
66853
+ /** Specifies the integer that Amazon ECS uses to calculate the failure threshold. When ``type`` is ``COUNT``, this value is the failure threshold itself. When ``type`` is a percentage type, Amazon ECS multiplies this value by the latest service desired count to produce the failure threshold. The default is ``50``. */
66741
66854
  Value: number;
66742
66855
  });
66743
66856
  }
@@ -76585,6 +76698,14 @@ export declare class IbmDb2Settings {
76585
76698
  });
76586
76699
  }
76587
76700
 
76701
+ export declare class IcebergCompactionConfiguration {
76702
+ constructor(props: {
76703
+ DeleteFileThreshold?: number;
76704
+ MinInputFiles?: number;
76705
+ Strategy?: string;
76706
+ });
76707
+ }
76708
+
76588
76709
  export declare class IcebergConfiguration {
76589
76710
  constructor(props: {
76590
76711
  Location?: string;
@@ -116260,6 +116381,20 @@ export declare class TableInput {
116260
116381
  });
116261
116382
  }
116262
116383
 
116384
+ export declare class TableOptimizer_CompactionConfiguration {
116385
+ constructor(props: {
116386
+ IcebergConfiguration?: TableOptimizer_IcebergCompactionConfiguration;
116387
+ });
116388
+ }
116389
+
116390
+ export declare class TableOptimizer_IcebergCompactionConfiguration {
116391
+ constructor(props: {
116392
+ DeleteFileThreshold?: number;
116393
+ MinInputFiles?: number;
116394
+ Strategy?: string;
116395
+ });
116396
+ }
116397
+
116263
116398
  export declare class TableOptimizer_IcebergConfiguration {
116264
116399
  constructor(props: {
116265
116400
  Location?: string;
@@ -116291,6 +116426,7 @@ export declare class TableOptimizer_TableOptimizerConfiguration {
116291
116426
  constructor(props: {
116292
116427
  Enabled: boolean;
116293
116428
  RoleArn: string;
116429
+ CompactionConfiguration?: TableOptimizer_CompactionConfiguration;
116294
116430
  OrphanFileDeletionConfiguration?: TableOptimizer_OrphanFileDeletionConfiguration;
116295
116431
  RetentionConfiguration?: TableOptimizer_RetentionConfiguration;
116296
116432
  VpcConfiguration?: TableOptimizer_VpcConfiguration;
@@ -116307,6 +116443,7 @@ export declare class TableOptimizerConfiguration {
116307
116443
  constructor(props: {
116308
116444
  Enabled: boolean;
116309
116445
  RoleArn: string;
116446
+ CompactionConfiguration?: TableOptimizer_CompactionConfiguration;
116310
116447
  OrphanFileDeletionConfiguration?: TableOptimizer_OrphanFileDeletionConfiguration;
116311
116448
  RetentionConfiguration?: TableOptimizer_RetentionConfiguration;
116312
116449
  VpcConfiguration?: TableOptimizer_VpcConfiguration;
@@ -117964,7 +118101,9 @@ export declare class ThreatIntelSet_TagItem {
117964
118101
 
117965
118102
  export declare class ThresholdConfiguration {
117966
118103
  constructor(props: {
118104
+ /** Determines how Amazon ECS uses ``value`` to calculate the failure threshold. For the percentage types (``BOUNDED_PERCENT`` and ``UNBOUNDED_PERCENT``), Amazon ECS multiplies ``value`` by the latest service desired count. For ``COUNT``, Amazon ECS uses ``value`` directly as the threshold. The default is ``BOUNDED_PERCENT``. */
117967
118105
  Type: "BOUNDED_PERCENT" | "COUNT" | "UNBOUNDED_PERCENT";
118106
+ /** Specifies the integer that Amazon ECS uses to calculate the failure threshold. When ``type`` is ``COUNT``, this value is the failure threshold itself. When ``type`` is a percentage type, Amazon ECS multiplies this value by the latest service desired count to produce the failure threshold. The default is ``50``. */
117968
118107
  Value: number;
117969
118108
  });
117970
118109
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-aws",
3
- "version": "0.18.24",
3
+ "version": "0.18.26",
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.24",
83
+ "@intentius/chant": "^0.18.26",
84
84
  "typescript": "^5.9.3"
85
85
  }
86
86
  }
@@ -1,5 +1,5 @@
1
1
  import { describe, test, expect } from "vitest";
2
- import { applyAwsEndpoint, applyAwsEndpointArgv, ecsDeploymentId, ecsServiceStable } from "./cloud-executor";
2
+ import { applyAwsEndpoint, applyAwsEndpointArgv, awsDeployCapabilities, ecsDeploymentId, ecsServiceStable } from "./cloud-executor";
3
3
 
4
4
  describe("ecsDeploymentId / ecsServiceStable — tolerate Floci's missing deployments (#937)", () => {
5
5
  test("deployment id: real AWS shape", () => {
@@ -62,3 +62,16 @@ describe("applyAwsEndpointArgv (#926)", () => {
62
62
  expect(applyAwsEndpointArgv(["docker", "ps"], url)).toEqual(["docker", "ps"]);
63
63
  });
64
64
  });
65
+
66
+ describe("awsDeployCapabilities — CAPABILITY_AUTO_EXPAND for Transform macros", () => {
67
+ test("plain template → CAPABILITY_NAMED_IAM only", () => {
68
+ expect(awsDeployCapabilities({})).toBe("CAPABILITY_NAMED_IAM");
69
+ expect(awsDeployCapabilities({ Transform: undefined })).toBe("CAPABILITY_NAMED_IAM");
70
+ });
71
+ test("a top-level Transform → adds CAPABILITY_AUTO_EXPAND", () => {
72
+ expect(awsDeployCapabilities({ Transform: "AWS::SecretsManager-2020-07-23" })).toBe(
73
+ "CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND",
74
+ );
75
+ expect(awsDeployCapabilities({ Transform: ["AWS::LanguageExtensions"] })).toContain("CAPABILITY_AUTO_EXPAND");
76
+ });
77
+ });
@@ -384,6 +384,20 @@ async function cfnChangeSetType(stackName: string): Promise<"CREATE" | "UPDATE">
384
384
  }
385
385
  }
386
386
 
387
+ /**
388
+ * The `--capabilities` a deploy needs for a template. `CAPABILITY_NAMED_IAM` is
389
+ * always required (chant emits named IAM roles); `CAPABILITY_AUTO_EXPAND` is added
390
+ * whenever the template declares a top-level `Transform` macro (e.g.
391
+ * `AWS::SecretsManager-2020-07-23` for a HostedRotationLambda rotation, or SAM) —
392
+ * the macro expands into nested stacks/resources during change-set creation, and
393
+ * CloudFormation refuses without the acknowledgement.
394
+ */
395
+ export function awsDeployCapabilities(template: { Transform?: unknown }): string {
396
+ return template.Transform !== undefined
397
+ ? "CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND"
398
+ : "CAPABILITY_NAMED_IAM";
399
+ }
400
+
387
401
  const realCloudFormation: CloudFormationClient = {
388
402
  async createChangeSet(args) {
389
403
  const changeSetName = `cs-${Date.now()}`;
@@ -396,10 +410,14 @@ const realCloudFormation: CloudFormationClient = {
396
410
  // for one still in REVIEW_IN_PROGRESS (a prior CREATE change set never
397
411
  // executed), mirroring what `aws cloudformation deploy` does under the hood.
398
412
  const changeSetType = await cfnChangeSetType(args.stackName);
413
+ let capabilities = "CAPABILITY_NAMED_IAM";
414
+ try {
415
+ capabilities = awsDeployCapabilities(JSON.parse(readFileSync(args.templatePath, "utf8")) as { Transform?: unknown });
416
+ } catch { /* unreadable/non-JSON template — keep the default capability */ }
399
417
  await run(
400
418
  `aws cloudformation create-change-set --stack-name ${q(args.stackName)} --change-set-name ${q(changeSetName)} ` +
401
419
  `--change-set-type ${changeSetType} ` +
402
- `--template-body file://${args.templatePath} --capabilities CAPABILITY_NAMED_IAM${paramFlag}`,
420
+ `--template-body file://${args.templatePath} --capabilities ${capabilities}${paramFlag}`,
403
421
  );
404
422
  await run(
405
423
  `aws cloudformation wait change-set-create-complete --stack-name ${q(args.stackName)} --change-set-name ${q(changeSetName)}`,