Skip to content

Commit 0bf554c

Browse files
committed
feat: optional options
1 parent 5c61d25 commit 0bf554c

File tree

6 files changed

+64
-51
lines changed

6 files changed

+64
-51
lines changed

API.md

Lines changed: 37 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm-install-published-package.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
npm uninstall tailscale-lambda-extension
2+
npm install tailscale-lambda-extension

npm-link-manual.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
# Link the -extension project
4+
npm uninstall tailscale-lambda-extension
5+
npm link tailscale-lambda-extension
6+
7+
# For this proxy package to be used in the -caller project
8+
npm link
9+
npm run watch

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ import { FunctionUrl } from 'aws-cdk-lib/aws-lambda';
44
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
55
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
66
import { Construct } from 'constructs';
7-
import { TailscaleLambdaExtension, TailscaleLambdaExtensionProps } from 'tailscale-lambda-extension';
7+
import { TailscaleLambdaExtension } from 'tailscale-lambda-extension';
88

9-
export interface LambdaOptions {
9+
export interface TailscaleLambdaProxyPropsLambdaOption {
1010
readonly functionName?: string;
1111
}
1212

1313
export interface TailscaleLambdaProxyPropsOptions {
14-
readonly extension: TailscaleLambdaExtensionProps; //TODO make optional
15-
readonly lambda: LambdaOptions;
14+
readonly extension?: lambda.LayerVersionOptions;
15+
readonly lambda?: TailscaleLambdaProxyPropsLambdaOption;
1616
}
1717

1818
export interface TailscaleLambdaProxyProps {
@@ -26,7 +26,7 @@ export interface TailscaleLambdaProxyProps {
2626
*/
2727
readonly tsHostname: string;
2828

29-
readonly options: TailscaleLambdaProxyPropsOptions;
29+
readonly options?: TailscaleLambdaProxyPropsOptions;
3030
}
3131

3232
export class TailscaleLambdaProxy extends Construct {
@@ -37,10 +37,12 @@ export class TailscaleLambdaProxy extends Construct {
3737
constructor(scope: Construct, id: string, props: TailscaleLambdaProxyProps) {
3838
super(scope, id);
3939

40-
this.extension = new TailscaleLambdaExtension(scope, 'tailscale-extension', props.options.extension);
40+
this.extension = new TailscaleLambdaExtension(scope, 'tailscale-proxy-extension', {
41+
options: props.options?.extension,
42+
});
4143

4244
this.lambda = new NodejsFunction(this, 'tailscale-proxy-lambda', {
43-
...props.options.lambda,
45+
...props.options?.lambda,
4446
runtime: lambda.Runtime.NODEJS_20_X,
4547
entry: 'src/lambda/tailscale-proxy/index.ts',
4648
layers: [this.extension.layer],

0 commit comments

Comments
 (0)