@intentius/chant-lexicon-aws 0.18.22 → 0.18.24

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.
@@ -11190,12 +11190,16 @@ export declare class DLMLifecyclePolicy {
11190
11190
 
11191
11191
  export declare class DMSCertificate {
11192
11192
  constructor(props: {
11193
+ /** The certificate Arn */
11194
+ CertificateArn?: string;
11195
+ /** The certificate Identifier */
11193
11196
  CertificateIdentifier?: string;
11197
+ /** The certificate Pem */
11194
11198
  CertificatePem?: string;
11199
+ /** The certificate Wallet */
11195
11200
  CertificateWallet?: string;
11196
- Id?: string;
11197
11201
  }, attributes?: CFResourceAttributes);
11198
- readonly Id: string;
11202
+ readonly CertificateArn: string;
11199
11203
  }
11200
11204
 
11201
11205
  export declare class DMSEndpoint {
@@ -13923,6 +13927,37 @@ export declare class ExperimentTemplate {
13923
13927
  readonly Id: string;
13924
13928
  }
13925
13929
 
13930
+ export declare class ExperimentTrialComponent {
13931
+ constructor(props: {
13932
+ /** The name of the trial component. The name must be unique in your AWS account and is not case-sensitive. */
13933
+ TrialComponentName: string;
13934
+ /** The Amazon Resource Name (ARN) of the trial component. */
13935
+ Arn?: string;
13936
+ /** When the component was created. */
13937
+ CreationTime?: string;
13938
+ /** The name of the component as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialComponentName is displayed. */
13939
+ DisplayName?: string;
13940
+ /** When the component ended. */
13941
+ EndTime?: string;
13942
+ /** When the component was last modified. */
13943
+ LastModifiedTime?: string;
13944
+ /** The Amazon Resource Name (ARN) of the lineage group. */
13945
+ LineageGroupArn?: string;
13946
+ /** Metadata properties of the tracking entity, trial, or trial component. */
13947
+ MetadataProperties?: Record<string, unknown>;
13948
+ /** When the component started. */
13949
+ StartTime?: string;
13950
+ /** The status of the trial component. */
13951
+ Status?: Record<string, unknown>;
13952
+ /** A list of tags to associate with the component. */
13953
+ Tags?: Record<string, unknown>[];
13954
+ }, attributes?: CFResourceAttributes);
13955
+ readonly Arn: string;
13956
+ readonly CreationTime: string;
13957
+ readonly LastModifiedTime: string;
13958
+ readonly LineageGroupArn: string;
13959
+ }
13960
+
13926
13961
  export declare class Export {
13927
13962
  constructor(props: {
13928
13963
  Export: Export_Export;
@@ -17659,14 +17694,14 @@ export declare class InstanceGroupConfig {
17659
17694
  JobFlowId: string;
17660
17695
  AutoScalingPolicy?: InstanceGroupConfig_AutoScalingPolicy;
17661
17696
  BidPrice?: string;
17662
- Configurations?: InstanceGroupConfig_AppConfiguration[];
17697
+ Configurations?: InstanceGroupConfig_Configuration[];
17663
17698
  CustomAmiId?: string;
17664
17699
  EbsConfiguration?: InstanceGroupConfig_EbsConfiguration;
17665
- InstanceGroupId?: string;
17700
+ Id?: string;
17666
17701
  Market?: string;
17667
17702
  Name?: string;
17668
17703
  }, attributes?: CFResourceAttributes);
17669
- readonly InstanceGroupId: string;
17704
+ readonly Id: string;
17670
17705
  }
17671
17706
 
17672
17707
  export declare class InstanceProfile {
@@ -19275,6 +19310,18 @@ export declare class KmsKey {
19275
19310
  readonly KeyId: string;
19276
19311
  }
19277
19312
 
19313
+ export declare class KnowledgeBasePolicy {
19314
+ constructor(props: {
19315
+ /** The unique identifier of the knowledge base */
19316
+ KnowledgeBaseId: string;
19317
+ /** The IAM policy document defining access permissions for the knowledge base */
19318
+ PolicyDocument: PolicyDocument;
19319
+ /** The revision identifier for the policy, used for optimistic concurrency control */
19320
+ RevisionId?: string;
19321
+ }, attributes?: CFResourceAttributes);
19322
+ readonly RevisionId: string;
19323
+ }
19324
+
19278
19325
  export declare class Label {
19279
19326
  constructor(props: {
19280
19327
  /** The name of the label. */
@@ -22905,6 +22952,34 @@ export declare class MonitoringSchedule {
22905
22952
  readonly MonitoringScheduleArn: string;
22906
22953
  }
22907
22954
 
22955
+ export declare class MonitoringScheduleAlert {
22956
+ constructor(props: {
22957
+ /** Within EvaluationPeriod, how many execution failures will raise an alert. */
22958
+ DatapointsToAlert: number;
22959
+ /** The number of most recent monitoring executions to consider when evaluating alert status. */
22960
+ EvaluationPeriod: number;
22961
+ /** The name of the monitoring alert. */
22962
+ MonitoringAlertName: string;
22963
+ /** The name of the monitoring schedule. */
22964
+ MonitoringScheduleName: string;
22965
+ /** A list of alert actions taken in response to an alert going into InAlert status. */
22966
+ Actions?: MonitoringScheduleAlert_MonitoringAlertActions;
22967
+ /** The current status of the alert. */
22968
+ AlertStatus?: "InAlert" | "OK";
22969
+ /** The Amazon Resource Name (ARN) of the monitoring schedule alert. */
22970
+ Arn?: string;
22971
+ /** A timestamp that indicates when the alert was created. */
22972
+ CreationTime?: string;
22973
+ /** A timestamp that indicates when the alert was last updated. */
22974
+ LastModifiedTime?: string;
22975
+ }, attributes?: CFResourceAttributes);
22976
+ readonly Actions: MonitoringScheduleAlert_MonitoringAlertActions;
22977
+ readonly AlertStatus: "InAlert" | "OK";
22978
+ readonly Arn: string;
22979
+ readonly CreationTime: string;
22980
+ readonly LastModifiedTime: string;
22981
+ }
22982
+
22908
22983
  export declare class MonitoringSubscription {
22909
22984
  constructor(props: {
22910
22985
  /** The ID of the distribution that you are enabling metrics for. */
@@ -34776,6 +34851,23 @@ export declare class TLSInspectionConfiguration {
34776
34851
  readonly TLSInspectionConfigurationId: string;
34777
34852
  }
34778
34853
 
34854
+ export declare class TokenVault {
34855
+ constructor(props: {
34856
+ /** The ARN of the token vault. */
34857
+ Arn?: string;
34858
+ /** The KMS configuration for the token vault. */
34859
+ KmsConfiguration?: TokenVault_KmsConfiguration;
34860
+ /** The timestamp when the token vault was last modified. */
34861
+ LastModifiedDate?: string;
34862
+ /** The unique identifier of the token vault. */
34863
+ TokenVaultId?: string;
34864
+ }, attributes?: CFResourceAttributes);
34865
+ readonly Arn: string;
34866
+ readonly KmsConfiguration: TokenVault_KmsConfiguration;
34867
+ readonly LastModifiedDate: string;
34868
+ readonly TokenVaultId: string;
34869
+ }
34870
+
34779
34871
  export declare class Topic {
34780
34872
  constructor(props: {
34781
34873
  /** The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days. */
@@ -35546,6 +35638,18 @@ export declare class TransitGatewayPolicyTable {
35546
35638
  readonly TransitGatewayPolicyTableId: string;
35547
35639
  }
35548
35640
 
35641
+ export declare class TransitGatewayPolicyTableAssociation {
35642
+ constructor(props: {
35643
+ /** The ID of transit gateway attachment. */
35644
+ TransitGatewayAttachmentId: string;
35645
+ /** The ID of transit gateway policy table. */
35646
+ TransitGatewayPolicyTableId: string;
35647
+ /** The state of the transit gateway policy table association. */
35648
+ State?: string;
35649
+ }, attributes?: CFResourceAttributes);
35650
+ readonly State: string;
35651
+ }
35652
+
35549
35653
  export declare class TransitGatewayRegistration {
35550
35654
  constructor(props: {
35551
35655
  /** The ID of the global network. */
@@ -36747,12 +36851,42 @@ export declare class Vpc {
36747
36851
  Ipv6CidrBlocks?: string[];
36748
36852
  /** The tags for the VPC. */
36749
36853
  Tags?: Vpc_Tag[];
36854
+ VpcEncryptionControl?: Vpc_VpcEncryptionControl;
36750
36855
  VpcId?: string;
36751
36856
  }, attributes?: CFResourceAttributes);
36752
36857
  readonly CidrBlockAssociations: string[];
36753
36858
  readonly DefaultNetworkAcl: string;
36754
36859
  readonly DefaultSecurityGroup: string;
36755
36860
  readonly Ipv6CidrBlocks: string[];
36861
+ readonly VpcEncryptionControl_ResourceExclusions: string;
36862
+ readonly VpcEncryptionControl_ResourceExclusions_EgressOnlyInternetGateway: string;
36863
+ readonly VpcEncryptionControl_ResourceExclusions_EgressOnlyInternetGateway_State: string;
36864
+ readonly VpcEncryptionControl_ResourceExclusions_EgressOnlyInternetGateway_StateMessage: string;
36865
+ readonly VpcEncryptionControl_ResourceExclusions_ElasticFileSystem: string;
36866
+ readonly VpcEncryptionControl_ResourceExclusions_ElasticFileSystem_State: string;
36867
+ readonly VpcEncryptionControl_ResourceExclusions_ElasticFileSystem_StateMessage: string;
36868
+ readonly VpcEncryptionControl_ResourceExclusions_InternetGateway: string;
36869
+ readonly VpcEncryptionControl_ResourceExclusions_InternetGateway_State: string;
36870
+ readonly VpcEncryptionControl_ResourceExclusions_InternetGateway_StateMessage: string;
36871
+ readonly VpcEncryptionControl_ResourceExclusions_Lambda: string;
36872
+ readonly VpcEncryptionControl_ResourceExclusions_Lambda_State: string;
36873
+ readonly VpcEncryptionControl_ResourceExclusions_Lambda_StateMessage: string;
36874
+ readonly VpcEncryptionControl_ResourceExclusions_NatGateway: string;
36875
+ readonly VpcEncryptionControl_ResourceExclusions_NatGateway_State: string;
36876
+ readonly VpcEncryptionControl_ResourceExclusions_NatGateway_StateMessage: string;
36877
+ readonly VpcEncryptionControl_ResourceExclusions_VirtualPrivateGateway: string;
36878
+ readonly VpcEncryptionControl_ResourceExclusions_VirtualPrivateGateway_State: string;
36879
+ readonly VpcEncryptionControl_ResourceExclusions_VirtualPrivateGateway_StateMessage: string;
36880
+ readonly VpcEncryptionControl_ResourceExclusions_VpcLattice: string;
36881
+ readonly VpcEncryptionControl_ResourceExclusions_VpcLattice_State: string;
36882
+ readonly VpcEncryptionControl_ResourceExclusions_VpcLattice_StateMessage: string;
36883
+ readonly VpcEncryptionControl_ResourceExclusions_VpcPeering: string;
36884
+ readonly VpcEncryptionControl_ResourceExclusions_VpcPeering_State: string;
36885
+ readonly VpcEncryptionControl_ResourceExclusions_VpcPeering_StateMessage: string;
36886
+ readonly VpcEncryptionControl_State: string;
36887
+ readonly VpcEncryptionControl_StateMessage: string;
36888
+ readonly VpcEncryptionControl_VpcEncryptionControlId: string;
36889
+ readonly VpcEncryptionControl_VpcId: string;
36756
36890
  readonly VpcId: string;
36757
36891
  }
36758
36892
 
@@ -41557,14 +41691,6 @@ export declare class AppConfigResourceObject {
41557
41691
  });
41558
41692
  }
41559
41693
 
41560
- export declare class AppConfiguration {
41561
- constructor(props: {
41562
- Classification?: string;
41563
- ConfigurationProperties?: Record<string, unknown>;
41564
- Configurations?: InstanceGroupConfig_AppConfiguration[];
41565
- });
41566
- }
41567
-
41568
41694
  export declare class AppCookieStickinessPolicy {
41569
41695
  constructor(props: {
41570
41696
  /** The name of the application cookie used for stickiness. */
@@ -79140,26 +79266,24 @@ export declare class InstanceFleetConfig_SpotResizingSpecification {
79140
79266
  });
79141
79267
  }
79142
79268
 
79143
- export declare class InstanceGroupConfig_AppConfiguration {
79269
+ export declare class InstanceGroupConfig_AutoScalingPolicy {
79144
79270
  constructor(props: {
79145
- Classification?: string;
79146
- ConfigurationProperties?: Record<string, unknown>;
79147
- Configurations?: InstanceGroupConfig_AppConfiguration[];
79271
+ Constraints: InstanceGroupConfig_ScalingConstraints;
79272
+ Rules: InstanceGroupConfig_ScalingRule[];
79148
79273
  });
79149
79274
  }
79150
79275
 
79151
- export declare class InstanceGroupConfig_AutoScalingPolicy {
79276
+ export declare class InstanceGroupConfig_Configuration {
79152
79277
  constructor(props: {
79153
- Constraints: InstanceGroupConfig_ScalingConstraints;
79154
- Rules: InstanceGroupConfig_ScalingRule[];
79278
+ Classification?: string;
79279
+ ConfigurationProperties?: Record<string, unknown>;
79280
+ Configurations?: InstanceGroupConfig_Configuration[];
79155
79281
  });
79156
79282
  }
79157
79283
 
79158
79284
  export declare class InstanceGroupConfig_EbsBlockDeviceConfig {
79159
79285
  constructor(props: {
79160
79286
  VolumeSpecification: InstanceGroupConfig_VolumeSpecification;
79161
- /** 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.
79162
- */
79163
79287
  VolumesPerInstance?: number;
79164
79288
  });
79165
79289
  }
@@ -82945,6 +83069,15 @@ export declare class KinesisVideoStreamConfig {
82945
83069
  });
82946
83070
  }
82947
83071
 
83072
+ export declare class KmsConfiguration {
83073
+ constructor(props: {
83074
+ /** The type of KMS key (CustomerManagedKey or ServiceManagedKey). */
83075
+ KeyType: "CustomerManagedKey" | "ServiceManagedKey";
83076
+ /** The Amazon Resource Name (ARN) of the KMS key. */
83077
+ KmsKeyArn?: string;
83078
+ });
83079
+ }
83080
+
82948
83081
  export declare class KmsEncryptionConfig {
82949
83082
  constructor(props: {
82950
83083
  /** The type of customer-managed-key (CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and AWS owned CMKs. */
@@ -85435,6 +85568,7 @@ export declare class ListenerRule_RuleCondition {
85435
85568
 
85436
85569
  export declare class ListenerRule_SourceIpConfig {
85437
85570
  constructor(props: {
85571
+ IpAddressType?: string;
85438
85572
  /** The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.
85439
85573
  If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. */
85440
85574
  Values?: string[];
@@ -91054,6 +91188,13 @@ export declare class ModelCardExportOutputConfig {
91054
91188
  });
91055
91189
  }
91056
91190
 
91191
+ export declare class ModelDashboardIndicatorAction {
91192
+ constructor(props: {
91193
+ /** Indicates whether the alert action is turned on. */
91194
+ Enabled?: boolean;
91195
+ });
91196
+ }
91197
+
91057
91198
  export declare class ModelDataQuality {
91058
91199
  constructor(props: {
91059
91200
  Constraints?: ModelPackage_MetricsSource;
@@ -92044,6 +92185,12 @@ export declare class Monitoring {
92044
92185
  });
92045
92186
  }
92046
92187
 
92188
+ export declare class MonitoringAlertActions {
92189
+ constructor(props: {
92190
+ ModelDashboardIndicator?: MonitoringScheduleAlert_ModelDashboardIndicatorAction;
92191
+ });
92192
+ }
92193
+
92047
92194
  export declare class MonitoringAppSpecification {
92048
92195
  constructor(props: {
92049
92196
  /** The container image to be run by the monitoring job. */
@@ -92213,6 +92360,19 @@ export declare class MonitoringSchedule_Tag {
92213
92360
  });
92214
92361
  }
92215
92362
 
92363
+ export declare class MonitoringScheduleAlert_ModelDashboardIndicatorAction {
92364
+ constructor(props: {
92365
+ /** Indicates whether the alert action is turned on. */
92366
+ Enabled?: boolean;
92367
+ });
92368
+ }
92369
+
92370
+ export declare class MonitoringScheduleAlert_MonitoringAlertActions {
92371
+ constructor(props: {
92372
+ ModelDashboardIndicator?: MonitoringScheduleAlert_ModelDashboardIndicatorAction;
92373
+ });
92374
+ }
92375
+
92216
92376
  export declare class MonitoringScheduleConfig {
92217
92377
  constructor(props: {
92218
92378
  MonitoringJobDefinition?: MonitoringSchedule_MonitoringJobDefinition;
@@ -113399,6 +113559,7 @@ export declare class SourceDataSettings {
113399
113559
 
113400
113560
  export declare class SourceIpConfig {
113401
113561
  constructor(props: {
113562
+ IpAddressType?: string;
113402
113563
  /** The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.
113403
113564
  If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. */
113404
113565
  Values?: string[];
@@ -118111,6 +118272,15 @@ export declare class TokenValidityUnits {
118111
118272
  });
118112
118273
  }
118113
118274
 
118275
+ export declare class TokenVault_KmsConfiguration {
118276
+ constructor(props: {
118277
+ /** The type of KMS key (CustomerManagedKey or ServiceManagedKey). */
118278
+ KeyType: "CustomerManagedKey" | "ServiceManagedKey";
118279
+ /** The Amazon Resource Name (ARN) of the KMS key. */
118280
+ KmsKeyArn?: string;
118281
+ });
118282
+ }
118283
+
118114
118284
  export declare class ToolbarConfiguration {
118115
118285
  constructor(props: {
118116
118286
  HiddenToolbarItems?: UserSettings_ToolbarItem[];
@@ -121646,6 +121816,60 @@ export declare class Vpc_Tag {
121646
121816
  });
121647
121817
  }
121648
121818
 
121819
+ export declare class Vpc_VpcEncryptionControl {
121820
+ constructor(props: {
121821
+ /** The desired exclusion mode for Egress-Only Internet Gateways. */
121822
+ EgressOnlyInternetGatewayExclusion?: "disable" | "enable";
121823
+ /** The desired exclusion mode for Elastic File System. */
121824
+ ElasticFileSystemExclusion?: "disable" | "enable";
121825
+ /** The desired exclusion mode for Internet Gateways. */
121826
+ InternetGatewayExclusion?: "disable" | "enable";
121827
+ /** The desired exclusion mode for Lambda. */
121828
+ LambdaExclusion?: "disable" | "enable";
121829
+ /** The mode of the VPC encryption control. */
121830
+ Mode?: "enforce" | "monitor";
121831
+ /** The desired exclusion mode for NAT Gateways. */
121832
+ NatGatewayExclusion?: "disable" | "enable";
121833
+ ResourceExclusions?: Vpc_VpcEncryptionControlExclusions;
121834
+ /** The state of the VPC encryption control. */
121835
+ State?: string;
121836
+ /** A message describing the state of the VPC encryption control. */
121837
+ StateMessage?: string;
121838
+ /** The desired exclusion mode for Virtual Private Gateways. */
121839
+ VirtualPrivateGatewayExclusion?: "disable" | "enable";
121840
+ /** The ID of the VPC encryption control. */
121841
+ VpcEncryptionControlId?: string;
121842
+ /** The ID of the VPC. */
121843
+ VpcId?: string;
121844
+ /** The desired exclusion mode for VPC Lattice. */
121845
+ VpcLatticeExclusion?: "disable" | "enable";
121846
+ /** The desired exclusion mode for VPC Peering. */
121847
+ VpcPeeringExclusion?: "disable" | "enable";
121848
+ });
121849
+ }
121850
+
121851
+ export declare class Vpc_VpcEncryptionControlExclusion {
121852
+ constructor(props: {
121853
+ /** The exclusion state of the resource type. */
121854
+ State?: string;
121855
+ /** A message describing the exclusion state of the resource type. */
121856
+ StateMessage?: string;
121857
+ });
121858
+ }
121859
+
121860
+ export declare class Vpc_VpcEncryptionControlExclusions {
121861
+ constructor(props: {
121862
+ EgressOnlyInternetGateway?: Vpc_VpcEncryptionControlExclusion;
121863
+ ElasticFileSystem?: Vpc_VpcEncryptionControlExclusion;
121864
+ InternetGateway?: Vpc_VpcEncryptionControlExclusion;
121865
+ Lambda?: Vpc_VpcEncryptionControlExclusion;
121866
+ NatGateway?: Vpc_VpcEncryptionControlExclusion;
121867
+ VirtualPrivateGateway?: Vpc_VpcEncryptionControlExclusion;
121868
+ VpcLattice?: Vpc_VpcEncryptionControlExclusion;
121869
+ VpcPeering?: Vpc_VpcEncryptionControlExclusion;
121870
+ });
121871
+ }
121872
+
121649
121873
  export declare class VpcAttachment_ProposedNetworkFunctionGroupChange {
121650
121874
  constructor(props: {
121651
121875
  /** The rule number in the policy document that applies to this change. */
@@ -121774,6 +121998,38 @@ export declare class VpcEgressConfiguration {
121774
121998
  });
121775
121999
  }
121776
122000
 
122001
+ export declare class VpcEncryptionControl {
122002
+ constructor(props: {
122003
+ /** The desired exclusion mode for Egress-Only Internet Gateways. */
122004
+ EgressOnlyInternetGatewayExclusion?: "disable" | "enable";
122005
+ /** The desired exclusion mode for Elastic File System. */
122006
+ ElasticFileSystemExclusion?: "disable" | "enable";
122007
+ /** The desired exclusion mode for Internet Gateways. */
122008
+ InternetGatewayExclusion?: "disable" | "enable";
122009
+ /** The desired exclusion mode for Lambda. */
122010
+ LambdaExclusion?: "disable" | "enable";
122011
+ /** The mode of the VPC encryption control. */
122012
+ Mode?: "enforce" | "monitor";
122013
+ /** The desired exclusion mode for NAT Gateways. */
122014
+ NatGatewayExclusion?: "disable" | "enable";
122015
+ ResourceExclusions?: Vpc_VpcEncryptionControlExclusions;
122016
+ /** The state of the VPC encryption control. */
122017
+ State?: string;
122018
+ /** A message describing the state of the VPC encryption control. */
122019
+ StateMessage?: string;
122020
+ /** The desired exclusion mode for Virtual Private Gateways. */
122021
+ VirtualPrivateGatewayExclusion?: "disable" | "enable";
122022
+ /** The ID of the VPC encryption control. */
122023
+ VpcEncryptionControlId?: string;
122024
+ /** The ID of the VPC. */
122025
+ VpcId?: string;
122026
+ /** The desired exclusion mode for VPC Lattice. */
122027
+ VpcLatticeExclusion?: "disable" | "enable";
122028
+ /** The desired exclusion mode for VPC Peering. */
122029
+ VpcPeeringExclusion?: "disable" | "enable";
122030
+ });
122031
+ }
122032
+
121777
122033
  export declare class VPCEncryptionControl_ResourceExclusions {
121778
122034
  constructor(props: {
121779
122035
  EgressOnlyInternetGateway?: VPCEncryptionControl_VpcEncryptionControlExclusion;
@@ -121803,10 +122059,16 @@ export declare class VPCEncryptionControl_VpcEncryptionControlExclusion {
121803
122059
  });
121804
122060
  }
121805
122061
 
121806
- export declare class VpcEncryptionControlExclusion {
122062
+ export declare class VpcEncryptionControlExclusions {
121807
122063
  constructor(props: {
121808
- State?: string;
121809
- StateMessage?: string;
122064
+ EgressOnlyInternetGateway?: Vpc_VpcEncryptionControlExclusion;
122065
+ ElasticFileSystem?: Vpc_VpcEncryptionControlExclusion;
122066
+ InternetGateway?: Vpc_VpcEncryptionControlExclusion;
122067
+ Lambda?: Vpc_VpcEncryptionControlExclusion;
122068
+ NatGateway?: Vpc_VpcEncryptionControlExclusion;
122069
+ VirtualPrivateGateway?: Vpc_VpcEncryptionControlExclusion;
122070
+ VpcLattice?: Vpc_VpcEncryptionControlExclusion;
122071
+ VpcPeering?: Vpc_VpcEncryptionControlExclusion;
121810
122072
  });
121811
122073
  }
121812
122074
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-aws",
3
- "version": "0.18.22",
3
+ "version": "0.18.24",
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.22",
83
+ "@intentius/chant": "^0.18.24",
84
84
  "typescript": "^5.9.3"
85
85
  }
86
86
  }
@@ -84,6 +84,63 @@ describe("AgentCoreAgent", () => {
84
84
  expect(networkProps.NetworkModeConfig).toBeUndefined();
85
85
  });
86
86
 
87
+ test("code-config path wires CodeConfiguration (S3 zip on a managed runtime) instead of a container", () => {
88
+ const instance = AgentCoreAgent({
89
+ name: "support-agent",
90
+ code: {
91
+ s3Bucket: "loom-artifacts",
92
+ s3Prefix: "agents/assistant.zip",
93
+ runtime: "PYTHON_3_12",
94
+ entryPoint: ["app.py"],
95
+ },
96
+ });
97
+ const artifactProps = ((instance.runtime as any).props.AgentRuntimeArtifact as any).props;
98
+ expect(artifactProps.ContainerConfiguration).toBeUndefined();
99
+ const codeProps = (artifactProps.CodeConfiguration as any).props;
100
+ expect(codeProps.Runtime).toBe("PYTHON_3_12");
101
+ expect(codeProps.EntryPoint).toEqual(["app.py"]);
102
+ const s3 = (codeProps.Code as any).props.S3;
103
+ expect(s3).toEqual({ Bucket: "loom-artifacts", Prefix: "agents/assistant.zip" });
104
+ });
105
+
106
+ test("code-config VersionId is threaded through only when supplied", () => {
107
+ const withVersion = AgentCoreAgent({
108
+ name: "support-agent",
109
+ code: { s3Bucket: "b", s3Prefix: "k.zip", runtime: "PYTHON_3_12", entryPoint: ["app.py"], s3VersionId: "v1" },
110
+ });
111
+ const s3 = (((withVersion.runtime as any).props.AgentRuntimeArtifact as any).props.CodeConfiguration as any).props.Code.props.S3;
112
+ expect(s3.VersionId).toBe("v1");
113
+ });
114
+
115
+ test("throws when neither containerUri nor code is supplied", () => {
116
+ expect(() => AgentCoreAgent({ name: "support-agent" } as any)).toThrow(
117
+ "AgentCoreAgent requires exactly one of containerUri or code",
118
+ );
119
+ });
120
+
121
+ test("throws when both containerUri and code are supplied", () => {
122
+ expect(() => AgentCoreAgent({
123
+ ...baseProps,
124
+ code: { s3Bucket: "b", s3Prefix: "k.zip", runtime: "PYTHON_3_12", entryPoint: ["app.py"] },
125
+ })).toThrow("AgentCoreAgent requires exactly one of containerUri or code");
126
+ });
127
+
128
+ test("code-config serializes to a valid CloudFormation Runtime resource", () => {
129
+ const expanded = expandComposite("agent", AgentCoreAgent({
130
+ name: "support-agent",
131
+ code: { s3Bucket: "loom-artifacts", s3Prefix: "agents/assistant.zip", runtime: "PYTHON_3_12", entryPoint: ["app.py"] },
132
+ }));
133
+ resolveAttrRefs(expanded);
134
+ const template = JSON.parse(awsSerializer.serialize(expanded));
135
+ const artifact = template.Resources.agentRuntime.Properties.AgentRuntimeArtifact;
136
+ expect(artifact.ContainerConfiguration).toBeUndefined();
137
+ expect(artifact.CodeConfiguration).toEqual({
138
+ Code: { S3: { Bucket: "loom-artifacts", Prefix: "agents/assistant.zip" } },
139
+ EntryPoint: ["app.py"],
140
+ Runtime: "PYTHON_3_12",
141
+ });
142
+ });
143
+
87
144
  test("VPC network mode wires NetworkModeConfig from vpcSubnetIds/vpcSecurityGroupIds", () => {
88
145
  const instance = AgentCoreAgent({
89
146
  ...baseProps,
@@ -4,6 +4,8 @@ import {
4
4
  Role_Policy,
5
5
  Runtime,
6
6
  Runtime_AgentRuntimeArtifact,
7
+ Runtime_Code,
8
+ Runtime_CodeConfiguration,
7
9
  Runtime_ContainerConfiguration,
8
10
  Runtime_NetworkConfiguration,
9
11
  Runtime_VpcConfig,
@@ -13,6 +15,20 @@ import {
13
15
  GatewayTarget,
14
16
  WorkloadIdentity,
15
17
  } from "../generated";
18
+
19
+ /**
20
+ * Managed language runtimes AgentCore can run a code-config zip on. Inlined
21
+ * from the generated `Runtime_AgentManagedRuntimeType` CFN enum (which the
22
+ * generated barrel exports as a type declaration only), matching how
23
+ * `protocolConfiguration`/`gatewayAuthorizerType` inline their enums below.
24
+ */
25
+ export type AgentManagedRuntime =
26
+ | "NODE_22"
27
+ | "PYTHON_3_10"
28
+ | "PYTHON_3_11"
29
+ | "PYTHON_3_12"
30
+ | "PYTHON_3_13"
31
+ | "PYTHON_3_14";
16
32
  import { agentCoreTrustPolicy } from "./agentcore-trust-policy";
17
33
 
18
34
  /**
@@ -31,6 +47,26 @@ function toRuntimeIdentifier(name: string): string {
31
47
  return identifier.slice(0, 48);
32
48
  }
33
49
 
50
+ /**
51
+ * Managed-runtime code artifact — the S3-zip alternative to `containerUri`.
52
+ * Mirrors CFN `Runtime.CodeConfiguration`: AgentCore runs a zipped agent on
53
+ * a managed language runtime, no container image to build or host. This is
54
+ * how a Strands agent actually ships (a Python zip in S3), which is why the
55
+ * composite offers it alongside the container path.
56
+ */
57
+ export interface AgentCoreCodeArtifact {
58
+ /** S3 bucket holding the agent's zipped code. */
59
+ s3Bucket: string;
60
+ /** S3 key (or prefix) of the zip within `s3Bucket`. */
61
+ s3Prefix: string;
62
+ /** Optional S3 object version id, pinning a specific upload. */
63
+ s3VersionId?: string;
64
+ /** Managed runtime the zip runs on, e.g. `"PYTHON_3_12"`. Mirrors the generated CFN enum. */
65
+ runtime: AgentManagedRuntime;
66
+ /** Entry point, 1-2 items — e.g. `["app.py"]` or `["python", "app.py"]` (CFN bounds the list to 2). */
67
+ entryPoint: string[];
68
+ }
69
+
34
70
  export interface AgentCoreAgentProps {
35
71
  /**
36
72
  * Base name for the agent's resources. `toRuntimeIdentifier(name)` derives
@@ -38,8 +74,16 @@ export interface AgentCoreAgentProps {
38
74
  * WorkloadIdentity use `name` as-is (hyphens are valid there).
39
75
  */
40
76
  name: string;
41
- /** ECR image URI the Runtime runs, e.g. `"123456789012.dkr.ecr.us-east-1.amazonaws.com/agent:latest"`. */
42
- containerUri: string;
77
+ /**
78
+ * ECR image URI the Runtime runs, e.g. `"123456789012.dkr.ecr.us-east-1.amazonaws.com/agent:latest"`.
79
+ * Supply exactly one of `containerUri` or `code`.
80
+ */
81
+ containerUri?: string;
82
+ /**
83
+ * S3-zip code artifact run on a managed runtime — the alternative to
84
+ * `containerUri`. Supply exactly one of the two.
85
+ */
86
+ code?: AgentCoreCodeArtifact;
43
87
  /** Runtime network mode. Default: "PUBLIC". */
44
88
  networkMode?: "PUBLIC" | "VPC";
45
89
  /** Subnets for the Runtime's ENIs. Required when `networkMode` is "VPC". */
@@ -106,6 +150,12 @@ export type AgentCoreAgentResult = {
106
150
  */
107
151
  export const AgentCoreAgent = Composite<AgentCoreAgentProps, AgentCoreAgentResult>((props) => {
108
152
  const { defaults } = props;
153
+ // Exactly one artifact source. Both-or-neither is a modeling mistake CFN
154
+ // would also reject (AgentRuntimeArtifact is a one-of), caught here so the
155
+ // error names the composite prop rather than a raw CFN validation string.
156
+ if ((props.containerUri === undefined) === (props.code === undefined)) {
157
+ throw new Error("AgentCoreAgent requires exactly one of containerUri or code");
158
+ }
109
159
  const networkMode = props.networkMode ?? "PUBLIC";
110
160
  // Check presence, not `.length`: a cross-stack value (Fn::Split of a Parameter,
111
161
  // the shape stackOutput/Ref/Split produce) is a truthy intrinsic object with no
@@ -146,13 +196,32 @@ export const AgentCoreAgent = Composite<AgentCoreAgentProps, AgentCoreAgentResul
146
196
  : undefined,
147
197
  });
148
198
 
149
- const runtime = new Runtime(mergeDefaults({
150
- AgentRuntimeName: runtimeName,
151
- AgentRuntimeArtifact: new Runtime_AgentRuntimeArtifact({
199
+ // CFN `Code.S3` is a free-form location object in the generated type; its
200
+ // keys (Bucket/Prefix/VersionId) come straight from the CloudFormation
201
+ // schema for AWS::BedrockAgentCore::Runtime.
202
+ const artifact = props.code
203
+ ? new Runtime_AgentRuntimeArtifact({
204
+ CodeConfiguration: new Runtime_CodeConfiguration({
205
+ Code: new Runtime_Code({
206
+ S3: {
207
+ Bucket: props.code.s3Bucket,
208
+ Prefix: props.code.s3Prefix,
209
+ ...(props.code.s3VersionId !== undefined ? { VersionId: props.code.s3VersionId } : {}),
210
+ },
211
+ }),
212
+ EntryPoint: props.code.entryPoint,
213
+ Runtime: props.code.runtime,
214
+ }),
215
+ })
216
+ : new Runtime_AgentRuntimeArtifact({
152
217
  ContainerConfiguration: new Runtime_ContainerConfiguration({
153
- ContainerUri: props.containerUri,
218
+ ContainerUri: props.containerUri as string,
154
219
  }),
155
- }),
220
+ });
221
+
222
+ const runtime = new Runtime(mergeDefaults({
223
+ AgentRuntimeName: runtimeName,
224
+ AgentRuntimeArtifact: artifact,
156
225
  RoleArn: role.Arn,
157
226
  NetworkConfiguration: networkConfiguration,
158
227
  ProtocolConfiguration: props.protocolConfiguration ?? "MCP",