@lafken/common 0.11.9 → 0.11.10

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,5 +1,6 @@
1
- import type { EnvironmentValue, GetResourceProps } from '../../types';
1
+ import type { EnvironmentValue, GetResourceProps, LambdaReferenceNames, ResourceOutputType } from '../../types';
2
2
  import type { ServicesValues } from '../../types/services.types';
3
+ export type LambdaOutputAttributes = 'arn' | 'invokeArn' | 'qualifiedArn';
3
4
  export interface VpcConfig {
4
5
  /**
5
6
  * Enables IPv6 for dual-stack networking.
@@ -221,6 +222,20 @@ export interface LambdaProps {
221
222
  * { logFormat: 'JSON', applicationLogLevel: 'WARN', systemLogLevel: 'INFO' }
222
223
  */
223
224
  loggingConfig?: LoggingConfig;
225
+ /**
226
+ * Output configuration for the Lambda function.
227
+ *
228
+ * Defines which attributes should be exported to SSM Parameter Store or
229
+ * as Terraform outputs. Supported attributes: `'arn'`, `'invokeArn'`, `'qualifiedArn'`.
230
+ */
231
+ outputs?: ResourceOutputType<LambdaOutputAttributes>;
232
+ /**
233
+ * Registers this Lambda as a named global reference.
234
+ *
235
+ * Allows other resources to look up this function by name via
236
+ * `lafkenResource.getResource('lambda', ref)`.
237
+ */
238
+ ref?: LambdaReferenceNames;
224
239
  }
225
240
  export interface LambdaMetadata {
226
241
  name: string;
@@ -26,4 +26,6 @@ export type UserPoolClientNames = ResourceScopeKeys<SharedResourceNames, 'user-p
26
26
  export type UserPoolClientReferenceNames = ResourceScopeKeys<SharedReferenceResources, 'user-pool-client'>;
27
27
  export type ApiAuthorizerNames = ResourceScopeKeys<SharedResourceNames, 'api-authorizer'>;
28
28
  export type ScheduleReferenceNames = ResourceScopeKeys<SharedReferenceResources, 'schedule'>;
29
- export type RegisterNamespaces = 'api' | 'bucket' | 'dynamo' | 'state-machine' | 'queue' | 'authentication' | 'api-authorizer' | 'user-pool' | 'user-pool-client' | 'schedule' | 'event-bus' | 'event-rule' | (string & {});
29
+ export type LambdaNames = ResourceScopeKeys<SharedResourceNames, 'lambda'>;
30
+ export type LambdaReferenceNames = ResourceScopeKeys<SharedReferenceResources, 'lambda'>;
31
+ export type RegisterNamespaces = 'api' | 'bucket' | 'dynamo' | 'state-machine' | 'queue' | 'authentication' | 'api-authorizer' | 'user-pool' | 'user-pool-client' | 'schedule' | 'event-bus' | 'event-rule' | 'lambda' | (string & {});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lafken/common",
3
- "version": "0.11.9",
3
+ "version": "0.11.10",
4
4
  "private": false,
5
5
  "description": "Lafken utilities - TypeScript decorator factories and metadata reflection for infrastructure-as-code decorators",
6
6
  "keywords": [