@intentius/chant-lexicon-aws 0.18.15 → 0.18.17
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/dist/components/cloud-executor.d.ts +17 -0
- package/dist/components/cloud-executor.d.ts.map +1 -1
- package/dist/composites/agentcore-agent.d.ts.map +1 -1
- package/dist/generated/index.d.ts +13 -1
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/integrity.json +4 -4
- package/dist/intrinsics.d.ts +5 -4
- package/dist/intrinsics.d.ts.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/meta.json +123 -9
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/types/index.d.ts +139 -20
- package/package.json +2 -2
- package/src/components/cloud-executor.test.ts +21 -1
- package/src/components/cloud-executor.ts +21 -6
- package/src/composites/agentcore-agent.test.ts +12 -0
- package/src/composites/agentcore-agent.ts +5 -1
- package/src/generated/index.d.ts +139 -20
- package/src/generated/index.ts +14 -2
- package/src/generated/lexicon-aws.json +123 -9
- package/src/import/live-export-io.test.ts +14 -4
- package/src/intrinsics.test.ts +16 -0
- package/src/intrinsics.ts +20 -7
- package/src/plugin.test.ts +13 -1
- package/src/plugin.ts +20 -0
- package/src/serializer.test.ts +52 -1
- package/src/serializer.ts +51 -14
package/dist/integrity.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
5
|
-
"meta.json": "
|
|
6
|
-
"types/index.d.ts": "
|
|
4
|
+
"manifest.json": "217158f543f70284b4839d43754abbdbffa089322abc5274655c0fb6ef7ee584",
|
|
5
|
+
"meta.json": "956ce9e79ca7bc2b9f5169a2a4418207e8c58da478435116c25867d909209d3f",
|
|
6
|
+
"types/index.d.ts": "25b58838c3895ad9ba9e5f5e24af38c43df112703d5315ce0efea9bfc9aa40d5",
|
|
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": "
|
|
61
|
+
"composite": "fc4e487d0f9d9159f025788277385185cd9c4f9b13f6c2e2d037500e3a8dcd51"
|
|
62
62
|
}
|
package/dist/intrinsics.d.ts
CHANGED
|
@@ -80,15 +80,16 @@ export declare class JoinIntrinsic implements Intrinsic {
|
|
|
80
80
|
readonly [INTRINSIC_MARKER]: true;
|
|
81
81
|
private delimiter;
|
|
82
82
|
private values;
|
|
83
|
-
constructor(delimiter: string, values: unknown[]);
|
|
83
|
+
constructor(delimiter: string, values: unknown[] | Intrinsic);
|
|
84
84
|
toJSON(): {
|
|
85
|
-
"Fn::Join": [string, unknown
|
|
85
|
+
"Fn::Join": [string, unknown];
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
* Create a Join intrinsic
|
|
89
|
+
* Create a Join intrinsic. `values` is a literal array, or a single
|
|
90
|
+
* list-returning intrinsic (e.g. `Join(",", zone.NameServers)`).
|
|
90
91
|
*/
|
|
91
|
-
export declare function Join(delimiter: string, values: unknown[]): JoinIntrinsic;
|
|
92
|
+
export declare function Join(delimiter: string, values: unknown[] | Intrinsic): JoinIntrinsic;
|
|
92
93
|
/**
|
|
93
94
|
* Fn::Select intrinsic function
|
|
94
95
|
* Selects a value from a list by index
|
package/dist/intrinsics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../src/intrinsics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../src/intrinsics.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.json
CHANGED
package/dist/meta.json
CHANGED
|
@@ -5045,6 +5045,11 @@
|
|
|
5045
5045
|
"kind": "property",
|
|
5046
5046
|
"lexicon": "aws"
|
|
5047
5047
|
},
|
|
5048
|
+
"AppConfiguration": {
|
|
5049
|
+
"resourceType": "AWS::EMR::InstanceGroupConfig.AppConfiguration",
|
|
5050
|
+
"kind": "property",
|
|
5051
|
+
"lexicon": "aws"
|
|
5052
|
+
},
|
|
5048
5053
|
"AppCookieStickinessPolicy": {
|
|
5049
5054
|
"resourceType": "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy",
|
|
5050
5055
|
"kind": "property",
|
|
@@ -8347,8 +8352,7 @@
|
|
|
8347
8352
|
"KmsKeyArn": "KmsKeyArn"
|
|
8348
8353
|
},
|
|
8349
8354
|
"createOnly": [
|
|
8350
|
-
"KmsKeyId"
|
|
8351
|
-
"ForceDelete"
|
|
8355
|
+
"KmsKeyId"
|
|
8352
8356
|
],
|
|
8353
8357
|
"writeOnly": [
|
|
8354
8358
|
"KmsKeyId",
|
|
@@ -48825,7 +48829,7 @@
|
|
|
48825
48829
|
"kind": "resource",
|
|
48826
48830
|
"lexicon": "aws",
|
|
48827
48831
|
"attrs": {
|
|
48828
|
-
"
|
|
48832
|
+
"InstanceGroupId": "InstanceGroupId"
|
|
48829
48833
|
},
|
|
48830
48834
|
"createOnly": [
|
|
48831
48835
|
"InstanceRole",
|
|
@@ -48838,17 +48842,21 @@
|
|
|
48838
48842
|
"Market",
|
|
48839
48843
|
"BidPrice"
|
|
48840
48844
|
],
|
|
48845
|
+
"writeOnly": [
|
|
48846
|
+
"EbsConfiguration/EbsBlockDeviceConfigs/*/VolumesPerInstance"
|
|
48847
|
+
],
|
|
48841
48848
|
"primaryIdentifier": [
|
|
48842
|
-
"
|
|
48849
|
+
"InstanceGroupId",
|
|
48850
|
+
"JobFlowId"
|
|
48843
48851
|
]
|
|
48844
48852
|
},
|
|
48845
|
-
"
|
|
48846
|
-
"resourceType": "AWS::EMR::InstanceGroupConfig.
|
|
48853
|
+
"InstanceGroupConfig_AppConfiguration": {
|
|
48854
|
+
"resourceType": "AWS::EMR::InstanceGroupConfig.AppConfiguration",
|
|
48847
48855
|
"kind": "property",
|
|
48848
48856
|
"lexicon": "aws"
|
|
48849
48857
|
},
|
|
48850
|
-
"
|
|
48851
|
-
"resourceType": "AWS::EMR::InstanceGroupConfig.
|
|
48858
|
+
"InstanceGroupConfig_AutoScalingPolicy": {
|
|
48859
|
+
"resourceType": "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy",
|
|
48852
48860
|
"kind": "property",
|
|
48853
48861
|
"lexicon": "aws"
|
|
48854
48862
|
},
|
|
@@ -49451,6 +49459,92 @@
|
|
|
49451
49459
|
"kind": "property",
|
|
49452
49460
|
"lexicon": "aws"
|
|
49453
49461
|
},
|
|
49462
|
+
"IntermediateTable": {
|
|
49463
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable",
|
|
49464
|
+
"kind": "resource",
|
|
49465
|
+
"lexicon": "aws",
|
|
49466
|
+
"attrs": {
|
|
49467
|
+
"IntermediateTableIdentifier": "IntermediateTableIdentifier",
|
|
49468
|
+
"Arn": "Arn",
|
|
49469
|
+
"MembershipArn": "MembershipArn",
|
|
49470
|
+
"CollaborationIdentifier": "CollaborationIdentifier",
|
|
49471
|
+
"CollaborationArn": "CollaborationArn",
|
|
49472
|
+
"Status": "Status"
|
|
49473
|
+
},
|
|
49474
|
+
"propertyConstraints": {
|
|
49475
|
+
"Arn": {
|
|
49476
|
+
"maxLength": 256
|
|
49477
|
+
},
|
|
49478
|
+
"MembershipArn": {
|
|
49479
|
+
"maxLength": 100
|
|
49480
|
+
},
|
|
49481
|
+
"CollaborationArn": {
|
|
49482
|
+
"maxLength": 100
|
|
49483
|
+
},
|
|
49484
|
+
"Name": {
|
|
49485
|
+
"pattern": "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$",
|
|
49486
|
+
"minLength": 1,
|
|
49487
|
+
"maxLength": 100
|
|
49488
|
+
},
|
|
49489
|
+
"Description": {
|
|
49490
|
+
"pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$",
|
|
49491
|
+
"maxLength": 255
|
|
49492
|
+
},
|
|
49493
|
+
"KmsKeyArn": {
|
|
49494
|
+
"minLength": 4,
|
|
49495
|
+
"maxLength": 2048
|
|
49496
|
+
}
|
|
49497
|
+
},
|
|
49498
|
+
"createOnly": [
|
|
49499
|
+
"MembershipIdentifier",
|
|
49500
|
+
"Name",
|
|
49501
|
+
"PopulationAnalysisConfiguration"
|
|
49502
|
+
],
|
|
49503
|
+
"primaryIdentifier": [
|
|
49504
|
+
"IntermediateTableIdentifier",
|
|
49505
|
+
"MembershipIdentifier"
|
|
49506
|
+
],
|
|
49507
|
+
"tagging": {
|
|
49508
|
+
"taggable": true,
|
|
49509
|
+
"tagOnCreate": true,
|
|
49510
|
+
"tagUpdatable": true
|
|
49511
|
+
}
|
|
49512
|
+
},
|
|
49513
|
+
"IntermediateTableAnalysisRule": {
|
|
49514
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule",
|
|
49515
|
+
"kind": "property",
|
|
49516
|
+
"lexicon": "aws"
|
|
49517
|
+
},
|
|
49518
|
+
"IntermediateTableAnalysisRulePolicy": {
|
|
49519
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy",
|
|
49520
|
+
"kind": "property",
|
|
49521
|
+
"lexicon": "aws"
|
|
49522
|
+
},
|
|
49523
|
+
"IntermediateTable_IntermediateTableAnalysisRule": {
|
|
49524
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule",
|
|
49525
|
+
"kind": "property",
|
|
49526
|
+
"lexicon": "aws"
|
|
49527
|
+
},
|
|
49528
|
+
"IntermediateTable_IntermediateTableAnalysisRulePolicy": {
|
|
49529
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy",
|
|
49530
|
+
"kind": "property",
|
|
49531
|
+
"lexicon": "aws"
|
|
49532
|
+
},
|
|
49533
|
+
"IntermediateTable_PopulationAnalysisConfiguration": {
|
|
49534
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration",
|
|
49535
|
+
"kind": "property",
|
|
49536
|
+
"lexicon": "aws"
|
|
49537
|
+
},
|
|
49538
|
+
"IntermediateTable_PopulationAnalysisSqlParameters": {
|
|
49539
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters",
|
|
49540
|
+
"kind": "property",
|
|
49541
|
+
"lexicon": "aws"
|
|
49542
|
+
},
|
|
49543
|
+
"IntermediateTable_Tag": {
|
|
49544
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.Tag",
|
|
49545
|
+
"kind": "property",
|
|
49546
|
+
"lexicon": "aws"
|
|
49547
|
+
},
|
|
49454
49548
|
"InternetGateway": {
|
|
49455
49549
|
"resourceType": "AWS::EC2::InternetGateway",
|
|
49456
49550
|
"kind": "resource",
|
|
@@ -54791,7 +54885,12 @@
|
|
|
54791
54885
|
],
|
|
54792
54886
|
"primaryIdentifier": [
|
|
54793
54887
|
"ListenerArn"
|
|
54794
|
-
]
|
|
54888
|
+
],
|
|
54889
|
+
"tagging": {
|
|
54890
|
+
"taggable": true,
|
|
54891
|
+
"tagOnCreate": true,
|
|
54892
|
+
"tagUpdatable": true
|
|
54893
|
+
}
|
|
54795
54894
|
},
|
|
54796
54895
|
"ListenerAttribute": {
|
|
54797
54896
|
"resourceType": "AWS::ElasticLoadBalancingV2::Listener.ListenerAttribute",
|
|
@@ -55022,6 +55121,11 @@
|
|
|
55022
55121
|
"kind": "property",
|
|
55023
55122
|
"lexicon": "aws"
|
|
55024
55123
|
},
|
|
55124
|
+
"Listener_Tag": {
|
|
55125
|
+
"resourceType": "AWS::ElasticLoadBalancingV2::Listener.Tag",
|
|
55126
|
+
"kind": "property",
|
|
55127
|
+
"lexicon": "aws"
|
|
55128
|
+
},
|
|
55025
55129
|
"Listener_TargetGroupStickinessConfig": {
|
|
55026
55130
|
"resourceType": "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig",
|
|
55027
55131
|
"kind": "property",
|
|
@@ -71684,6 +71788,16 @@
|
|
|
71684
71788
|
"kind": "property",
|
|
71685
71789
|
"lexicon": "aws"
|
|
71686
71790
|
},
|
|
71791
|
+
"PopulationAnalysisConfiguration": {
|
|
71792
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.PopulationAnalysisConfiguration",
|
|
71793
|
+
"kind": "property",
|
|
71794
|
+
"lexicon": "aws"
|
|
71795
|
+
},
|
|
71796
|
+
"PopulationAnalysisSqlParameters": {
|
|
71797
|
+
"resourceType": "AWS::CleanRooms::IntermediateTable.PopulationAnalysisSqlParameters",
|
|
71798
|
+
"kind": "property",
|
|
71799
|
+
"lexicon": "aws"
|
|
71800
|
+
},
|
|
71687
71801
|
"Port": {
|
|
71688
71802
|
"resourceType": "AWS::Lightsail::Instance.Port",
|
|
71689
71803
|
"kind": "property",
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { LexiconPlugin } from "@intentius/chant/lexicon";
|
|
2
|
+
/** True when a CloudFormation CLI error means the stack simply isn't there yet
|
|
3
|
+
* (`ValidationError … does not exist`) — the pre-first-apply state, which live
|
|
4
|
+
* queries should treat as "nothing deployed", not a failure. Exported for testing. */
|
|
5
|
+
export declare function stackDoesNotExist(stderr: string): boolean;
|
|
2
6
|
/**
|
|
3
7
|
* AWS CloudFormation lexicon plugin.
|
|
4
8
|
*
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAuF,MAAM,0BAA0B,CAAC;AAwBnJ;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAuF,MAAM,0BAA0B,CAAC;AAwBnJ;;sFAEsF;AACtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,aAyrBvB,CAAC"}
|
package/dist/serializer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;AA2WlG;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAoE3B,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3071,7 +3071,7 @@ export declare class AutoScalingGroup {
|
|
|
3071
3071
|
TrafficSources?: AutoScalingGroup_TrafficSourceIdentifier[];
|
|
3072
3072
|
/** A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created.
|
|
3073
3073
|
If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html).
|
|
3074
|
-
When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets.
|
|
3074
|
+
When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. To control how CloudFormation replaces the instances, add an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html) to your stack. Set the update policy to ``AutoScalingInstanceRefresh``. For more information, see the [AutoScalingInstanceRefresh policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-instancerefresh).
|
|
3075
3075
|
Required to launch instances into a nondefault VPC. If you specify ``VPCZoneIdentifier`` with ``AvailabilityZones``, the subnets that you specify for this property must reside in those Availability Zones. */
|
|
3076
3076
|
VPCZoneIdentifier?: string[];
|
|
3077
3077
|
}, attributes?: CFResourceAttributes);
|
|
@@ -17601,14 +17601,14 @@ export declare class InstanceGroupConfig {
|
|
|
17601
17601
|
JobFlowId: string;
|
|
17602
17602
|
AutoScalingPolicy?: InstanceGroupConfig_AutoScalingPolicy;
|
|
17603
17603
|
BidPrice?: string;
|
|
17604
|
-
Configurations?:
|
|
17604
|
+
Configurations?: InstanceGroupConfig_AppConfiguration[];
|
|
17605
17605
|
CustomAmiId?: string;
|
|
17606
17606
|
EbsConfiguration?: InstanceGroupConfig_EbsConfiguration;
|
|
17607
|
-
|
|
17607
|
+
InstanceGroupId?: string;
|
|
17608
17608
|
Market?: string;
|
|
17609
17609
|
Name?: string;
|
|
17610
17610
|
}, attributes?: CFResourceAttributes);
|
|
17611
|
-
readonly
|
|
17611
|
+
readonly InstanceGroupId: string;
|
|
17612
17612
|
}
|
|
17613
17613
|
|
|
17614
17614
|
export declare class InstanceProfile {
|
|
@@ -17804,6 +17804,30 @@ export declare class InterconnectConnection {
|
|
|
17804
17804
|
readonly Type: string;
|
|
17805
17805
|
}
|
|
17806
17806
|
|
|
17807
|
+
export declare class IntermediateTable {
|
|
17808
|
+
constructor(props: {
|
|
17809
|
+
MembershipIdentifier: string;
|
|
17810
|
+
Name: string;
|
|
17811
|
+
PopulationAnalysisConfiguration: IntermediateTable_PopulationAnalysisConfiguration;
|
|
17812
|
+
AnalysisRules?: IntermediateTable_IntermediateTableAnalysisRule[];
|
|
17813
|
+
Arn?: string;
|
|
17814
|
+
CollaborationArn?: string;
|
|
17815
|
+
CollaborationIdentifier?: string;
|
|
17816
|
+
Description?: string;
|
|
17817
|
+
IntermediateTableIdentifier?: string;
|
|
17818
|
+
KmsKeyArn?: string;
|
|
17819
|
+
MembershipArn?: string;
|
|
17820
|
+
Status?: IntermediateTable_IntermediateTableStatus;
|
|
17821
|
+
Tags?: IntermediateTable_Tag[];
|
|
17822
|
+
}, attributes?: CFResourceAttributes);
|
|
17823
|
+
readonly Arn: string;
|
|
17824
|
+
readonly CollaborationArn: string;
|
|
17825
|
+
readonly CollaborationIdentifier: string;
|
|
17826
|
+
readonly IntermediateTableIdentifier: string;
|
|
17827
|
+
readonly MembershipArn: string;
|
|
17828
|
+
readonly Status: IntermediateTable_IntermediateTableStatus;
|
|
17829
|
+
}
|
|
17830
|
+
|
|
17807
17831
|
export declare class InternetGateway {
|
|
17808
17832
|
constructor(props: {
|
|
17809
17833
|
InternetGatewayId?: string;
|
|
@@ -20051,6 +20075,7 @@ export declare class Listener {
|
|
|
20051
20075
|
/** [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html) in the *Network Load Balancers Guide*.
|
|
20052
20076
|
[HTTPS listeners] Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation. */
|
|
20053
20077
|
SslPolicy?: string;
|
|
20078
|
+
Tags?: Listener_Tag[];
|
|
20054
20079
|
}, attributes?: CFResourceAttributes);
|
|
20055
20080
|
readonly ListenerArn: string;
|
|
20056
20081
|
}
|
|
@@ -41378,6 +41403,14 @@ export declare class AppConfigResourceObject {
|
|
|
41378
41403
|
});
|
|
41379
41404
|
}
|
|
41380
41405
|
|
|
41406
|
+
export declare class AppConfiguration {
|
|
41407
|
+
constructor(props: {
|
|
41408
|
+
Classification?: string;
|
|
41409
|
+
ConfigurationProperties?: Record<string, unknown>;
|
|
41410
|
+
Configurations?: InstanceGroupConfig_AppConfiguration[];
|
|
41411
|
+
});
|
|
41412
|
+
}
|
|
41413
|
+
|
|
41381
41414
|
export declare class AppCookieStickinessPolicy {
|
|
41382
41415
|
constructor(props: {
|
|
41383
41416
|
/** The name of the application cookie used for stickiness. */
|
|
@@ -44843,7 +44876,8 @@ export declare class AutoScalingGroup_AvailabilityZoneDistribution {
|
|
|
44843
44876
|
constructor(props: {
|
|
44844
44877
|
/** If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort``.
|
|
44845
44878
|
+ ``balanced-only`` - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.
|
|
44846
|
-
+ ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
|
|
44879
|
+
+ ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
|
|
44880
|
+
+ ``reservations-then-balanced`` - Auto Scaling will first attempt to launch into your Capacity Reservations, and then balance any remaining capacity across healthy Availability Zones. */
|
|
44847
44881
|
CapacityDistributionStrategy?: "balanced-best-effort" | "balanced-only" | "reservations-then-balanced";
|
|
44848
44882
|
});
|
|
44849
44883
|
}
|
|
@@ -45290,7 +45324,8 @@ export declare class AvailabilityZoneDistribution {
|
|
|
45290
45324
|
constructor(props: {
|
|
45291
45325
|
/** If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort``.
|
|
45292
45326
|
+ ``balanced-only`` - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.
|
|
45293
|
-
+ ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
|
|
45327
|
+
+ ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
|
|
45328
|
+
+ ``reservations-then-balanced`` - Auto Scaling will first attempt to launch into your Capacity Reservations, and then balance any remaining capacity across healthy Availability Zones. */
|
|
45294
45329
|
CapacityDistributionStrategy?: "balanced-best-effort" | "balanced-only" | "reservations-then-balanced";
|
|
45295
45330
|
});
|
|
45296
45331
|
}
|
|
@@ -78908,24 +78943,26 @@ export declare class InstanceFleetConfig_SpotResizingSpecification {
|
|
|
78908
78943
|
});
|
|
78909
78944
|
}
|
|
78910
78945
|
|
|
78911
|
-
export declare class
|
|
78946
|
+
export declare class InstanceGroupConfig_AppConfiguration {
|
|
78912
78947
|
constructor(props: {
|
|
78913
|
-
|
|
78914
|
-
|
|
78948
|
+
Classification?: string;
|
|
78949
|
+
ConfigurationProperties?: Record<string, unknown>;
|
|
78950
|
+
Configurations?: InstanceGroupConfig_AppConfiguration[];
|
|
78915
78951
|
});
|
|
78916
78952
|
}
|
|
78917
78953
|
|
|
78918
|
-
export declare class
|
|
78954
|
+
export declare class InstanceGroupConfig_AutoScalingPolicy {
|
|
78919
78955
|
constructor(props: {
|
|
78920
|
-
|
|
78921
|
-
|
|
78922
|
-
Configurations?: InstanceGroupConfig_Configuration[];
|
|
78956
|
+
Constraints: InstanceGroupConfig_ScalingConstraints;
|
|
78957
|
+
Rules: InstanceGroupConfig_ScalingRule[];
|
|
78923
78958
|
});
|
|
78924
78959
|
}
|
|
78925
78960
|
|
|
78926
78961
|
export declare class InstanceGroupConfig_EbsBlockDeviceConfig {
|
|
78927
78962
|
constructor(props: {
|
|
78928
78963
|
VolumeSpecification: InstanceGroupConfig_VolumeSpecification;
|
|
78964
|
+
/** Use of this property can confuse CloudFormation drift detection. The EbsBlockDeviceConfigs read from the system may return a list with one entry per volume, replacing any entry specified in the template with a VolumesPerInstance greater than one by that many entries containing only the VolumeSpecification. Thus to avoid false drift detection, it is recommended to supply repeated entries in EbsBlockDeviceConfigs for any VolumeSpecification which is intended to be repeated and not to use this property.
|
|
78965
|
+
*/
|
|
78929
78966
|
VolumesPerInstance?: number;
|
|
78930
78967
|
});
|
|
78931
78968
|
}
|
|
@@ -79394,6 +79431,52 @@ export declare class IntermediateStorage {
|
|
|
79394
79431
|
});
|
|
79395
79432
|
}
|
|
79396
79433
|
|
|
79434
|
+
export declare class IntermediateTable_IntermediateTableAnalysisRule {
|
|
79435
|
+
constructor(props: {
|
|
79436
|
+
Policy: IntermediateTable_IntermediateTableAnalysisRulePolicy;
|
|
79437
|
+
Type: IntermediateTable_IntermediateTableAnalysisRuleType;
|
|
79438
|
+
});
|
|
79439
|
+
}
|
|
79440
|
+
|
|
79441
|
+
export declare class IntermediateTable_IntermediateTableAnalysisRulePolicy {
|
|
79442
|
+
constructor(props: {
|
|
79443
|
+
V1: any;
|
|
79444
|
+
});
|
|
79445
|
+
}
|
|
79446
|
+
|
|
79447
|
+
export declare class IntermediateTable_PopulationAnalysisConfiguration {
|
|
79448
|
+
constructor(props: {
|
|
79449
|
+
SqlParameters?: IntermediateTable_PopulationAnalysisSqlParameters;
|
|
79450
|
+
});
|
|
79451
|
+
}
|
|
79452
|
+
|
|
79453
|
+
export declare class IntermediateTable_PopulationAnalysisSqlParameters {
|
|
79454
|
+
constructor(props: {
|
|
79455
|
+
AnalysisTemplateArn?: string;
|
|
79456
|
+
QueryString?: string;
|
|
79457
|
+
});
|
|
79458
|
+
}
|
|
79459
|
+
|
|
79460
|
+
export declare class IntermediateTable_Tag {
|
|
79461
|
+
constructor(props: {
|
|
79462
|
+
Key: string;
|
|
79463
|
+
Value: string;
|
|
79464
|
+
});
|
|
79465
|
+
}
|
|
79466
|
+
|
|
79467
|
+
export declare class IntermediateTableAnalysisRule {
|
|
79468
|
+
constructor(props: {
|
|
79469
|
+
Policy: IntermediateTable_IntermediateTableAnalysisRulePolicy;
|
|
79470
|
+
Type: IntermediateTable_IntermediateTableAnalysisRuleType;
|
|
79471
|
+
});
|
|
79472
|
+
}
|
|
79473
|
+
|
|
79474
|
+
export declare class IntermediateTableAnalysisRulePolicy {
|
|
79475
|
+
constructor(props: {
|
|
79476
|
+
V1: any;
|
|
79477
|
+
});
|
|
79478
|
+
}
|
|
79479
|
+
|
|
79397
79480
|
export declare class InternetGateway_Tag {
|
|
79398
79481
|
constructor(props: {
|
|
79399
79482
|
/** The tag key. */
|
|
@@ -84843,6 +84926,13 @@ export declare class Listener_RedirectConfig {
|
|
|
84843
84926
|
});
|
|
84844
84927
|
}
|
|
84845
84928
|
|
|
84929
|
+
export declare class Listener_Tag {
|
|
84930
|
+
constructor(props: {
|
|
84931
|
+
Key: string;
|
|
84932
|
+
Value: string;
|
|
84933
|
+
});
|
|
84934
|
+
}
|
|
84935
|
+
|
|
84846
84936
|
export declare class Listener_TargetGroupStickinessConfig {
|
|
84847
84937
|
constructor(props: {
|
|
84848
84938
|
/** [Application Load Balancers] The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days). You must specify this value when enabling target group stickiness. */
|
|
@@ -85869,10 +85959,10 @@ export declare class LogAlarm_ScheduleConfiguration {
|
|
|
85869
85959
|
constructor(props: {
|
|
85870
85960
|
/** The expression that defines when the scheduled query runs, e.g. rate(1 minute). */
|
|
85871
85961
|
ScheduleExpression: string;
|
|
85872
|
-
/** The number of seconds into the past to
|
|
85962
|
+
/** The number of seconds into the past to start the query window. Must be a positive value and cannot exceed 2592000 seconds (30 days). */
|
|
85963
|
+
StartTimeOffset: number;
|
|
85964
|
+
/** The number of seconds into the past to end the query window. Must be a non-negative value and cannot exceed 2592000 seconds (30 days). */
|
|
85873
85965
|
EndTimeOffset?: number;
|
|
85874
|
-
/** The number of seconds into the past to start the query window. */
|
|
85875
|
-
StartTimeOffset?: number;
|
|
85876
85966
|
});
|
|
85877
85967
|
}
|
|
85878
85968
|
|
|
@@ -85880,14 +85970,16 @@ export declare class LogAlarm_ScheduledQueryConfiguration {
|
|
|
85880
85970
|
constructor(props: {
|
|
85881
85971
|
/** The aggregation expression for the scheduled query, e.g. count(*) or avg(latency) by host. */
|
|
85882
85972
|
AggregationExpression: string;
|
|
85883
|
-
/** The log groups to query. */
|
|
85884
|
-
LogGroupIdentifiers: string[];
|
|
85885
85973
|
/** The query string to execute against the specified log groups. */
|
|
85886
85974
|
QueryString: string;
|
|
85887
85975
|
/** The schedule configuration. */
|
|
85888
85976
|
ScheduleConfiguration: LogAlarm_ScheduleConfiguration;
|
|
85889
85977
|
/** The ARN of the IAM role that grants permissions to execute the scheduled query. */
|
|
85890
85978
|
ScheduledQueryRoleARN: string;
|
|
85979
|
+
/** The log groups to query. */
|
|
85980
|
+
LogGroupIdentifiers?: string[];
|
|
85981
|
+
/** A list of key-value pairs to associate with the scheduled query that backs the log alarm. */
|
|
85982
|
+
Tags?: LogAlarm_Tag[];
|
|
85891
85983
|
});
|
|
85892
85984
|
}
|
|
85893
85985
|
|
|
@@ -98971,6 +99063,19 @@ export declare class Pool_Tag {
|
|
|
98971
99063
|
});
|
|
98972
99064
|
}
|
|
98973
99065
|
|
|
99066
|
+
export declare class PopulationAnalysisConfiguration {
|
|
99067
|
+
constructor(props: {
|
|
99068
|
+
SqlParameters?: IntermediateTable_PopulationAnalysisSqlParameters;
|
|
99069
|
+
});
|
|
99070
|
+
}
|
|
99071
|
+
|
|
99072
|
+
export declare class PopulationAnalysisSqlParameters {
|
|
99073
|
+
constructor(props: {
|
|
99074
|
+
AnalysisTemplateArn?: string;
|
|
99075
|
+
QueryString?: string;
|
|
99076
|
+
});
|
|
99077
|
+
}
|
|
99078
|
+
|
|
98974
99079
|
export declare class Port {
|
|
98975
99080
|
constructor(props: {
|
|
98976
99081
|
/** Access Direction for Protocol of the Instance(inbound/outbound). */
|
|
@@ -109362,14 +109467,16 @@ export declare class ScheduledQueryConfiguration {
|
|
|
109362
109467
|
constructor(props: {
|
|
109363
109468
|
/** The aggregation expression for the scheduled query, e.g. count(*) or avg(latency) by host. */
|
|
109364
109469
|
AggregationExpression: string;
|
|
109365
|
-
/** The log groups to query. */
|
|
109366
|
-
LogGroupIdentifiers: string[];
|
|
109367
109470
|
/** The query string to execute against the specified log groups. */
|
|
109368
109471
|
QueryString: string;
|
|
109369
109472
|
/** The schedule configuration. */
|
|
109370
109473
|
ScheduleConfiguration: LogAlarm_ScheduleConfiguration;
|
|
109371
109474
|
/** The ARN of the IAM role that grants permissions to execute the scheduled query. */
|
|
109372
109475
|
ScheduledQueryRoleARN: string;
|
|
109476
|
+
/** The log groups to query. */
|
|
109477
|
+
LogGroupIdentifiers?: string[];
|
|
109478
|
+
/** A list of key-value pairs to associate with the scheduled query that backs the log alarm. */
|
|
109479
|
+
Tags?: LogAlarm_Tag[];
|
|
109373
109480
|
});
|
|
109374
109481
|
}
|
|
109375
109482
|
|
|
@@ -127874,6 +127981,18 @@ export type IntelligentPromptRouter_PromptRouterStatus = "AVAILABLE";
|
|
|
127874
127981
|
|
|
127875
127982
|
export type IntelligentPromptRouter_PromptRouterType = "custom" | "default";
|
|
127876
127983
|
|
|
127984
|
+
export type IntermediateTable_AdditionalAnalyses = "ALLOWED" | "NOT_ALLOWED" | "REQUIRED";
|
|
127985
|
+
|
|
127986
|
+
export type IntermediateTable_IntermediateTableAnalysisRuleType = "CUSTOM";
|
|
127987
|
+
|
|
127988
|
+
export type IntermediateTable_IntermediateTableStatus =
|
|
127989
|
+
| "BASE_TABLE_REMOVED"
|
|
127990
|
+
| "CREATED"
|
|
127991
|
+
| "DISALLOWED_BY_DATA_PROVIDER"
|
|
127992
|
+
| "POPULATE_FAILED"
|
|
127993
|
+
| "POPULATE_STARTED"
|
|
127994
|
+
| "POPULATE_SUCCESS";
|
|
127995
|
+
|
|
127877
127996
|
export type InternetMonitorMonitor_MonitorConfigState =
|
|
127878
127997
|
| "ACTIVE"
|
|
127879
127998
|
| "ERROR"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-aws",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.17",
|
|
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.
|
|
83
|
+
"@intentius/chant": "^0.18.17",
|
|
84
84
|
"typescript": "^5.9.3"
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { describe, test, expect } from "vitest";
|
|
2
|
-
import { applyAwsEndpoint, applyAwsEndpointArgv } from "./cloud-executor";
|
|
2
|
+
import { applyAwsEndpoint, applyAwsEndpointArgv, ecsDeploymentId, ecsServiceStable } from "./cloud-executor";
|
|
3
|
+
|
|
4
|
+
describe("ecsDeploymentId / ecsServiceStable — tolerate Floci's missing deployments (#937)", () => {
|
|
5
|
+
test("deployment id: real AWS shape", () => {
|
|
6
|
+
expect(ecsDeploymentId({ service: { deployments: [{ id: "ecs-svc/123" }] } })).toBe("ecs-svc/123");
|
|
7
|
+
});
|
|
8
|
+
test("deployment id: Floci omits `deployments` entirely → '' (no crash)", () => {
|
|
9
|
+
expect(ecsDeploymentId({ service: {} })).toBe("");
|
|
10
|
+
expect(ecsDeploymentId({ service: { deployments: [] } })).toBe("");
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
test("stable: running==desired with ≤1 deployment", () => {
|
|
14
|
+
expect(ecsServiceStable({ runningCount: 2, desiredCount: 2, deployments: [{}] })).toBe(true);
|
|
15
|
+
expect(ecsServiceStable({ runningCount: 1, desiredCount: 2, deployments: [{}] })).toBe(false);
|
|
16
|
+
expect(ecsServiceStable({ runningCount: 2, desiredCount: 2, deployments: [{}, {}] })).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
test("stable: Floci omits `deployments` → treated as 0, no crash", () => {
|
|
19
|
+
expect(ecsServiceStable({ runningCount: 2, desiredCount: 2 })).toBe(true);
|
|
20
|
+
expect(ecsServiceStable(undefined)).toBe(true); // 0 == 0
|
|
21
|
+
});
|
|
22
|
+
});
|
|
3
23
|
|
|
4
24
|
describe("applyAwsEndpoint", () => {
|
|
5
25
|
const url = "http://localhost:4566";
|