AwsServerlessArgs
interface AwsServerlessArgs extends module:@jobcloud/pulumi-components..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
AwsServerlessIdentityArgsAwsServerlessArgs
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.