@intentius/chant-lexicon-aws 0.0.18 → 0.0.22

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.
@@ -643,11 +643,6 @@ export declare class AIPromptVersion {
643
643
 
644
644
  export declare class Alarm {
645
645
  constructor(props: {
646
- /** The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand. */
647
- ComparisonOperator: string;
648
- /** The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an "M out of N" alarm, this value is the N, and ``DatapointsToAlarm`` is the M.
649
- For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *User Guide*. */
650
- EvaluationPeriods: number;
651
646
  /** Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE. */
652
647
  ActionsEnabled?: boolean;
653
648
  /** The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *API Reference*. */
@@ -658,6 +653,8 @@ export declare class Alarm {
658
653
  If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. */
659
654
  AlarmName?: string;
660
655
  Arn?: string;
656
+ /** The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand. */
657
+ ComparisonOperator?: string;
661
658
  /** The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an "M out of N" alarm. In that case, this value is the M, and the value that you set for ``EvaluationPeriods`` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *User Guide*.
662
659
  If you omit this parameter, CW uses the same value here that you set for ``EvaluationPeriods``, and the alarm goes to alarm state if that many consecutive periods are breaching. */
663
660
  DatapointsToAlarm?: number;
@@ -665,6 +662,9 @@ export declare class Alarm {
665
662
  Dimensions?: Alarm_Dimension[];
666
663
  /** Used only for alarms based on percentiles. If ``ignore``, the alarm state does not change during periods with too few data points to be statistically significant. If ``evaluate`` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available. */
667
664
  EvaluateLowSampleCountPercentile?: string;
665
+ /** The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an "M out of N" alarm, this value is the N, and ``DatapointsToAlarm`` is the M.
666
+ For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *User Guide*. */
667
+ EvaluationPeriods?: number;
668
668
  /** The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
669
669
  For an alarm based on a metric, you must specify either ``Statistic`` or ``ExtendedStatistic`` but not both.
670
670
  For an alarm based on a math expression, you can't specify ``ExtendedStatistic``. Instead, you use ``Metrics``. */
@@ -6232,6 +6232,8 @@ export declare class ConnectQueue {
6232
6232
  InstanceArn: string;
6233
6233
  /** The name of the queue. */
6234
6234
  Name: string;
6235
+ /** The email addresses that agents can use when replying to or initiating email contacts */
6236
+ AdditionalEmailAddresses?: ConnectQueue_EmailAddress[];
6235
6237
  /** The description of the queue. */
6236
6238
  Description?: string;
6237
6239
  /** The maximum number of contacts that can be in the queue before it is considered full. */
@@ -6287,6 +6289,8 @@ export declare class ConnectSecurityProfile {
6287
6289
  AllowedAccessControlHierarchyGroupId?: string;
6288
6290
  /** The list of tags that a security profile uses to restrict access to resources in Amazon Connect. */
6289
6291
  AllowedAccessControlTags?: ConnectSecurityProfile_Tag[];
6292
+ /** The list of flow-module resources to be linked to a security profile in Amazon Connect. */
6293
+ AllowedFlowModules?: ConnectSecurityProfile_FlowModule[];
6290
6294
  /** A list of third-party applications that the security profile will give access to. */
6291
6295
  Applications?: ConnectSecurityProfile_Application[];
6292
6296
  /** The description of the security profile. */
@@ -6624,6 +6628,8 @@ export declare class ContainerFleet {
6624
6628
  PerInstanceContainerGroupDefinitionArn?: string;
6625
6629
  /** The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName. */
6626
6630
  PerInstanceContainerGroupDefinitionName?: string;
6631
+ /** The player gateway mode for the container fleet. */
6632
+ PlayerGatewayMode?: "DISABLED" | "ENABLED" | "REQUIRED";
6627
6633
  /** A list of rules that control how a fleet is scaled. */
6628
6634
  ScalingPolicies?: ContainerFleet_ScalingPolicy[];
6629
6635
  /** The current status of the container fleet. */
@@ -6636,6 +6642,7 @@ export declare class ContainerFleet {
6636
6642
  readonly FleetArn: string;
6637
6643
  readonly FleetId: string;
6638
6644
  readonly GameServerContainerGroupDefinitionArn: string;
6645
+ readonly Locations_Item_PlayerGatewayStatus: string;
6639
6646
  readonly MaximumGameServerContainerGroupsPerInstance: number;
6640
6647
  readonly PerInstanceContainerGroupDefinitionArn: string;
6641
6648
  readonly Status: "ACTIVATING" | "ACTIVE" | "CREATED" | "CREATING" | "DELETING" | "PENDING" | "UPDATING";
@@ -12290,6 +12297,7 @@ export declare class EvaluationForm {
12290
12297
  EvaluationFormArn?: string;
12291
12298
  /** Configuration for language settings of this evaluation form. */
12292
12299
  LanguageConfiguration?: EvaluationForm_EvaluationFormLanguageConfiguration;
12300
+ /** Configuration for evaluation review settings of this evaluation form. */
12293
12301
  ReviewConfiguration?: EvaluationForm_EvaluationReviewConfiguration;
12294
12302
  /** A scoring strategy of the evaluation form. */
12295
12303
  ScoringStrategy?: EvaluationForm_ScoringStrategy;
@@ -14219,6 +14227,10 @@ export declare class GameLiftFleet {
14219
14227
  PeerVpcAwsAccountId?: string;
14220
14228
  /** A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console. */
14221
14229
  PeerVpcId?: string;
14230
+ /** Configuration for player gateway. */
14231
+ PlayerGatewayConfiguration?: GameLiftFleet_PlayerGatewayConfiguration;
14232
+ /** The player gateway mode for the fleet. */
14233
+ PlayerGatewayMode?: "DISABLED" | "ENABLED" | "REQUIRED";
14222
14234
  /** A policy that limits the number of game sessions an individual player can create over a span of time for this fleet. */
14223
14235
  ResourceCreationLimitPolicy?: GameLiftFleet_ResourceCreationLimitPolicy;
14224
14236
  /** Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.
@@ -14240,6 +14252,7 @@ Note: It is not currently possible to use the !Ref command to reference a script
14240
14252
  }, attributes?: CFResourceAttributes);
14241
14253
  readonly FleetArn: string;
14242
14254
  readonly FleetId: string;
14255
+ readonly Locations_Item_PlayerGatewayStatus: string;
14243
14256
  }
14244
14257
 
14245
14258
  export declare class GameServerGroup {
@@ -20584,6 +20597,7 @@ export declare class Memory {
20584
20597
  MemoryId?: string;
20585
20598
  MemoryStrategies?: any;
20586
20599
  Status?: Memory_MemoryStatus;
20600
+ StreamDeliveryResources?: Memory_StreamDeliveryResources;
20587
20601
  Tags?: Record<string, unknown>;
20588
20602
  UpdatedAt?: string;
20589
20603
  }, attributes?: CFResourceAttributes);
@@ -62031,6 +62045,13 @@ export declare class ConnectPrompt_Tag {
62031
62045
  });
62032
62046
  }
62033
62047
 
62048
+ export declare class ConnectQueue_EmailAddress {
62049
+ constructor(props: {
62050
+ /** The Amazon Resource Name (ARN) of the email address */
62051
+ EmailAddressArn: string;
62052
+ });
62053
+ }
62054
+
62034
62055
  export declare class ConnectQueue_OutboundCallerConfig {
62035
62056
  constructor(props: {
62036
62057
  OutboundCallerIdName?: string;
@@ -62184,6 +62205,8 @@ export declare class ConnectSecurityProfile_Application {
62184
62205
  ApplicationPermissions: string[];
62185
62206
  /** Namespace of the application that you want to give access to. */
62186
62207
  Namespace: string;
62208
+ /** The type of the application. */
62209
+ Type?: "MCP" | "THIRD_PARTY_APPLICATION";
62187
62210
  });
62188
62211
  }
62189
62212
 
@@ -62193,6 +62216,15 @@ export declare class ConnectSecurityProfile_DataTableAccessControlConfiguration
62193
62216
  });
62194
62217
  }
62195
62218
 
62219
+ export declare class ConnectSecurityProfile_FlowModule {
62220
+ constructor(props: {
62221
+ /** The identifier of the application that you want to give access to. */
62222
+ FlowModuleId: string;
62223
+ /** The type of the first-party application */
62224
+ Type: string;
62225
+ });
62226
+ }
62227
+
62196
62228
  export declare class ConnectSecurityProfile_PrimaryAttributeAccessControlConfigurationItem {
62197
62229
  constructor(props: {
62198
62230
  /** An array of PrimaryAttributeValue objects. */
@@ -62653,6 +62685,8 @@ export declare class ContainerFleet_LocationConfiguration {
62653
62685
  constructor(props: {
62654
62686
  Location: string;
62655
62687
  LocationCapacity?: ContainerFleet_LocationCapacity;
62688
+ /** The player gateway status for the location. */
62689
+ PlayerGatewayStatus?: "DISABLED" | "ENABLED";
62656
62690
  StoppedActions?: any;
62657
62691
  });
62658
62692
  }
@@ -62998,6 +63032,15 @@ export declare class ContainerServiceDeployment {
62998
63032
  });
62999
63033
  }
63000
63034
 
63035
+ export declare class ContentConfiguration {
63036
+ constructor(props: {
63037
+ /** The type of content to deliver */
63038
+ Type: "MEMORY_RECORDS";
63039
+ /** The level of content detail to deliver */
63040
+ Level?: "FULL_CONTENT" | "METADATA_ONLY";
63041
+ });
63042
+ }
63043
+
63001
63044
  export declare class ContentFilterConfig {
63002
63045
  constructor(props: {
63003
63046
  InputStrength: Guardrail_FilterStrength;
@@ -63193,7 +63236,7 @@ export declare class ControlPlanePlacement {
63193
63236
  export declare class ControlPlaneScalingConfig {
63194
63237
  constructor(props: {
63195
63238
  /** The scaling tier for the provisioned control plane. */
63196
- Tier?: "standard" | "tier-2xl" | "tier-4xl" | "tier-xl";
63239
+ Tier?: "standard" | "tier-2xl" | "tier-4xl" | "tier-8xl" | "tier-xl" | "ultra";
63197
63240
  });
63198
63241
  }
63199
63242
 
@@ -75921,7 +75964,7 @@ export declare class EKSCluster_ControlPlanePlacement {
75921
75964
  export declare class EKSCluster_ControlPlaneScalingConfig {
75922
75965
  constructor(props: {
75923
75966
  /** The scaling tier for the provisioned control plane. */
75924
- Tier?: "standard" | "tier-2xl" | "tier-4xl" | "tier-xl";
75967
+ Tier?: "standard" | "tier-2xl" | "tier-4xl" | "tier-8xl" | "tier-xl" | "ultra";
75925
75968
  });
75926
75969
  }
75927
75970
 
@@ -82210,6 +82253,15 @@ export declare class FlowLog_Tag {
82210
82253
  });
82211
82254
  }
82212
82255
 
82256
+ export declare class FlowModule {
82257
+ constructor(props: {
82258
+ /** The identifier of the application that you want to give access to. */
82259
+ FlowModuleId: string;
82260
+ /** The type of the first-party application */
82261
+ Type: string;
82262
+ });
82263
+ }
82264
+
82213
82265
  export declare class FlowOutput_DestinationConfiguration {
82214
82266
  constructor(props: {
82215
82267
  /** The IP address where contents of the media stream will be sent. */
@@ -84166,6 +84218,8 @@ export declare class GameLiftFleet_LocationConfiguration {
84166
84218
  constructor(props: {
84167
84219
  Location: string;
84168
84220
  LocationCapacity?: GameLiftFleet_LocationCapacity;
84221
+ /** The player gateway status for the location. */
84222
+ PlayerGatewayStatus?: "DISABLED" | "ENABLED";
84169
84223
  });
84170
84224
  }
84171
84225
 
@@ -84178,6 +84232,13 @@ export declare class GameLiftFleet_ManagedCapacityConfiguration {
84178
84232
  });
84179
84233
  }
84180
84234
 
84235
+ export declare class GameLiftFleet_PlayerGatewayConfiguration {
84236
+ constructor(props: {
84237
+ /** The IP protocol supported by the game server. */
84238
+ GameServerIpProtocolSupported?: "DUAL_STACK" | "IPv4";
84239
+ });
84240
+ }
84241
+
84181
84242
  export declare class GameLiftFleet_ResourceCreationLimitPolicy {
84182
84243
  constructor(props: {
84183
84244
  /** The maximum number of game sessions that an individual can create during the policy period. */
@@ -95320,6 +95381,13 @@ export declare class KinesisFirehoseConfig {
95320
95381
  });
95321
95382
  }
95322
95383
 
95384
+ export declare class KinesisResource {
95385
+ constructor(props: {
95386
+ ContentConfigurations: Memory_ContentConfiguration[];
95387
+ DataStreamArn: string;
95388
+ });
95389
+ }
95390
+
95323
95391
  export declare class KinesisSettings {
95324
95392
  constructor(props: {
95325
95393
  IncludeControlDetails?: boolean;
@@ -103099,13 +103167,13 @@ export declare class MediaPackageChannel_HlsIngest {
103099
103167
  export declare class MediaPackageChannel_IngestEndpoint {
103100
103168
  constructor(props: {
103101
103169
  /** The system generated unique identifier for the IngestEndpoint */
103102
- Id: string;
103170
+ Id?: string;
103103
103171
  /** The system generated password for ingest authentication. */
103104
- Password: string;
103172
+ Password?: string;
103105
103173
  /** The ingest URL to which the source stream should be sent. */
103106
- Url: string;
103174
+ Url?: string;
103107
103175
  /** The system generated username for ingest authentication. */
103108
- Username: string;
103176
+ Username?: string;
103109
103177
  });
103110
103178
  }
103111
103179
 
@@ -104058,6 +104126,15 @@ export declare class MemberSpecification {
104058
104126
  });
104059
104127
  }
104060
104128
 
104129
+ export declare class Memory_ContentConfiguration {
104130
+ constructor(props: {
104131
+ /** The type of content to deliver */
104132
+ Type: "MEMORY_RECORDS";
104133
+ /** The level of content detail to deliver */
104134
+ Level?: "FULL_CONTENT" | "METADATA_ONLY";
104135
+ });
104136
+ }
104137
+
104061
104138
  export declare class Memory_CustomConfigurationInput {
104062
104139
  constructor(props: {
104063
104140
  EpisodicOverride?: Memory_EpisodicOverride;
@@ -104149,6 +104226,13 @@ export declare class Memory_InvocationConfigurationInput {
104149
104226
  });
104150
104227
  }
104151
104228
 
104229
+ export declare class Memory_KinesisResource {
104230
+ constructor(props: {
104231
+ ContentConfigurations: Memory_ContentConfiguration[];
104232
+ DataStreamArn: string;
104233
+ });
104234
+ }
104235
+
104152
104236
  export declare class Memory_MemoryStrategy {
104153
104237
  constructor(props: {
104154
104238
  CustomMemoryStrategy?: Memory_CustomMemoryStrategy;
@@ -104237,6 +104321,18 @@ export declare class Memory_StrategyConfiguration {
104237
104321
  });
104238
104322
  }
104239
104323
 
104324
+ export declare class Memory_StreamDeliveryResource {
104325
+ constructor(props: {
104326
+ Kinesis?: Memory_KinesisResource;
104327
+ });
104328
+ }
104329
+
104330
+ export declare class Memory_StreamDeliveryResources {
104331
+ constructor(props: {
104332
+ Resources: Memory_StreamDeliveryResource[];
104333
+ });
104334
+ }
104335
+
104240
104336
  export declare class Memory_SummaryConsolidationOverride {
104241
104337
  constructor(props: {
104242
104338
  AppendToPrompt: string;
@@ -115443,6 +115539,13 @@ export declare class PlaybackRestrictionPolicy_Tag {
115443
115539
  });
115444
115540
  }
115445
115541
 
115542
+ export declare class PlayerGatewayConfiguration {
115543
+ constructor(props: {
115544
+ /** The IP protocol supported by the game server. */
115545
+ GameServerIpProtocolSupported?: "DUAL_STACK" | "IPv4";
115546
+ });
115547
+ }
115548
+
115446
115549
  export declare class PlayerLatencyPolicy {
115447
115550
  constructor(props: {
115448
115551
  /** The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property. */
@@ -136114,6 +136217,24 @@ export declare class SamplingConfig {
136114
136217
  });
136115
136218
  }
136116
136219
 
136220
+ export declare class SamplingRateBoost {
136221
+ constructor(props: {
136222
+ /** Time window (in minutes) in which only one sampling rate boost can be triggered. After a boost occurs, no further boosts are allowed until the next window. */
136223
+ CooldownWindowMinutes: number;
136224
+ /** The maximum sampling rate X-Ray will apply when it detects anomalies. X-Ray determines the appropriate rate between your baseline and the maximum, depending on anomaly activity. */
136225
+ MaxRate: number;
136226
+ });
136227
+ }
136228
+
136229
+ export declare class SamplingRule_SamplingRateBoost {
136230
+ constructor(props: {
136231
+ /** Time window (in minutes) in which only one sampling rate boost can be triggered. After a boost occurs, no further boosts are allowed until the next window. */
136232
+ CooldownWindowMinutes: number;
136233
+ /** The maximum sampling rate X-Ray will apply when it detects anomalies. X-Ray determines the appropriate rate between your baseline and the maximum, depending on anomaly activity. */
136234
+ MaxRate: number;
136235
+ });
136236
+ }
136237
+
136117
136238
  export declare class SamplingRule_SamplingRule {
136118
136239
  constructor(props: {
136119
136240
  /** The percentage of matching requests to instrument, after the reservoir is exhausted. */
@@ -136138,6 +136259,7 @@ export declare class SamplingRule_SamplingRule {
136138
136259
  Attributes?: Record<string, unknown>;
136139
136260
  RuleARN?: string;
136140
136261
  RuleName?: string;
136262
+ SamplingRateBoost?: SamplingRule_SamplingRateBoost;
136141
136263
  /** The version of the sampling rule format (1) */
136142
136264
  Version?: number;
136143
136265
  });
@@ -136171,6 +136293,7 @@ export declare class SamplingRule_SamplingRuleUpdate {
136171
136293
  ResourceARN?: string;
136172
136294
  RuleARN?: string;
136173
136295
  RuleName?: string;
136296
+ SamplingRateBoost?: SamplingRule_SamplingRateBoost;
136174
136297
  /** Matches the name that the service uses to identify itself in segments. */
136175
136298
  ServiceName?: string;
136176
136299
  /** Matches the origin that the service uses to identify its type in segments. */
@@ -136217,6 +136340,7 @@ export declare class SamplingRuleUpdate {
136217
136340
  ResourceARN?: string;
136218
136341
  RuleARN?: string;
136219
136342
  RuleName?: string;
136343
+ SamplingRateBoost?: SamplingRule_SamplingRateBoost;
136220
136344
  /** Matches the name that the service uses to identify itself in segments. */
136221
136345
  ServiceName?: string;
136222
136346
  /** Matches the origin that the service uses to identify its type in segments. */
@@ -142979,6 +143103,18 @@ export declare class StreamConsumer_Tag {
142979
143103
  });
142980
143104
  }
142981
143105
 
143106
+ export declare class StreamDeliveryResource {
143107
+ constructor(props: {
143108
+ Kinesis?: Memory_KinesisResource;
143109
+ });
143110
+ }
143111
+
143112
+ export declare class StreamDeliveryResources {
143113
+ constructor(props: {
143114
+ Resources: Memory_StreamDeliveryResource[];
143115
+ });
143116
+ }
143117
+
142982
143118
  export declare class StreamEncryption {
142983
143119
  constructor(props: {
142984
143120
  /** The encryption type to use. The only valid value is KMS. */
package/package.json CHANGED
@@ -1,7 +1,25 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-aws",
3
- "version": "0.0.18",
3
+ "version": "0.0.22",
4
+ "description": "AWS CloudFormation lexicon for chant — declarative IaC in TypeScript",
4
5
  "license": "Apache-2.0",
6
+ "homepage": "https://intentius.io/chant",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/intentius/chant.git",
10
+ "directory": "lexicons/aws"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/intentius/chant/issues"
14
+ },
15
+ "keywords": [
16
+ "infrastructure-as-code",
17
+ "iac",
18
+ "typescript",
19
+ "aws",
20
+ "cloudformation",
21
+ "chant"
22
+ ],
5
23
  "type": "module",
6
24
  "files": [
7
25
  "src/",
@@ -25,7 +43,7 @@
25
43
  "prepack": "bun run generate && bun run bundle && bun run validate"
26
44
  },
27
45
  "dependencies": {
28
- "@intentius/chant": "0.0.18",
46
+ "@intentius/chant": "0.0.22",
29
47
  "fflate": "^0.8.2",
30
48
  "js-yaml": "^4.1.0"
31
49
  },
@@ -194,9 +194,9 @@ describe("LambdaScheduled", () => {
194
194
  });
195
195
 
196
196
  describe("LambdaSqs", () => {
197
- test("returns queue, role, func members", () => {
197
+ test("returns queue, role, func, eventSourceMapping members", () => {
198
198
  const instance = LambdaSqs(baseProps);
199
- expect(Object.keys(instance.members)).toEqual(["queue", "role", "func"]);
199
+ expect(Object.keys(instance.members)).toEqual(["queue", "role", "func", "eventSourceMapping"]);
200
200
  });
201
201
 
202
202
  test("expandComposite produces 4 entries (queue + role + func + eventSourceMapping)", () => {
@@ -204,6 +204,8 @@ describe("LambdaSqs", () => {
204
204
  expect(expanded.has("workerQueue")).toBe(true);
205
205
  expect(expanded.has("workerRole")).toBe(true);
206
206
  expect(expanded.has("workerFunc")).toBe(true);
207
+ expect(expanded.has("workerEventSourceMapping")).toBe(true);
208
+ expect(expanded.size).toBe(4);
207
209
  });
208
210
  });
209
211
 
@@ -33,12 +33,12 @@ export const LambdaSqs = Composite<LambdaSqsProps>((props) => {
33
33
  const policies = props.Policies ? [sqsPolicy, ...props.Policies] : [sqsPolicy];
34
34
  const { role, func } = LambdaFunction({ ...props, Policies: policies });
35
35
 
36
- new EventSourceMapping({
36
+ const eventSourceMapping = new EventSourceMapping({
37
37
  EventSourceArn: queue.Arn,
38
38
  FunctionName: func.Arn,
39
39
  BatchSize: props.batchSize ?? 10,
40
40
  MaximumBatchingWindowInSeconds: props.maxBatchingWindow,
41
41
  });
42
42
 
43
- return { queue, role, func };
43
+ return { queue, role, func, eventSourceMapping };
44
44
  }, "LambdaSqs");