AwsServerlessArgs

interface AwsServerlessArgs extends module:@jobcloud/aws-serverless.AwsServerlessIdentityArgs { apiGatewayHttp?: AwsServerlessApiGatewayHttpArgs; apiGatewayRest?: AwsServerlessApiGatewayRestArgs; functions: Record<string, AwsServerlessFunctionDefinitionArgs>; identity: string; layers?: Record<string, AwsServerlessLayerDefinitionArgs>; observability?: AwsServerlessObservabilityArgs; tags?: Input<Record<string, Input<string>>>; }

Input arguments for AwsServerless.

Example

CODE
const serverless = new AwsServerless({
  identity: 'payments-api',
  functions: {
    api: {
      executionRolePolicy: {
        path: 'policies/lambda-execution-policy.json',
        variables: {
          parameterArn: 'arn:aws:ssm:eu-west-1:000000000000:parameter/payments/config',
        },
      },
      codePath: './dist/lambda',
      handler: 'index.handler',
      runtime: 'nodejs22.x',
    },
  },
  apiGatewayRest: {
    identity: 'orders-rest-api',
    customDomain: {
      domainName: 'api.orders.example.com',
      endpointType: 'REGIONAL',
      certificateSettings: {
        subjectAlternativeNames: ['orders.example.com'],
      },
      route53AliasRecord: {
        hostedZoneName: 'orders.example.com',
      },
    },
    routes: { 'GET /health': { functionKey: 'api' } },
  },
  observability: {
    logGroup: {
      retentionInDays: 14,
    },
  },
});

Hierarchy


Properties

apiGatewayHttp: AwsServerlessApiGatewayHttpArgs

Optional API Gateway HTTP capability.

apiGatewayRest: AwsServerlessApiGatewayRestArgs

Optional API Gateway REST capability.

functions: Record<string, AwsServerlessFunctionDefinitionArgs>

Required keyed Lambda + IAM function definitions. Each map key is a camelCase alphanumeric purpose used as the Lambda function name.

identity: string

Inherited from identity

Stable identity segment used to derive the component Pulumi logical name.

Must be a plain synchronous string value (not pulumi.Input, pulumi.Output, or promise-derived).

layers: Record<string, AwsServerlessLayerDefinitionArgs>

Optional keyed Lambda layer definitions. Keys are selected by function layerKeys.

observability: AwsServerlessObservabilityArgs

Optional observability bundle capability. Defaults to managed log group with 90-day retention and baseline alarms.

tags: Input<Record<string, Input<string>>>

Optional component-level tags merged into supported resources.