@mikarinneoracle/oci-cdk-code-only-preview 0.0.1 → 0.0.3

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.
Files changed (47) hide show
  1. package/README.md +29 -6
  2. package/package.json +1 -1
  3. package/lib/.gen/providers/oci/identity-dynamic-group/index.d.ts +0 -166
  4. package/lib/.gen/providers/oci/identity-dynamic-group/index.js +0 -408
  5. package/lib/bin/deploy-with-build.js +0 -132
  6. package/lib/test/java-function/aws-cdk/bin/app.d.ts +0 -2
  7. package/lib/test/java-function/aws-cdk/bin/app.js +0 -51
  8. package/lib/test/java-function/aws-cdk/lib/function-stack.d.ts +0 -11
  9. package/lib/test/java-function/aws-cdk/lib/function-stack.js +0 -159
  10. package/lib/test/java-function/aws-cdk/lib/test-function-stack.d.ts +0 -5
  11. package/lib/test/java-function/aws-cdk/lib/test-function-stack.js +0 -94
  12. package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-deployment/index.d.ts +0 -5356
  13. package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-deployment/index.js +0 -14972
  14. package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-gateway/index.d.ts +0 -449
  15. package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-gateway/index.js +0 -1149
  16. package/lib/test/java-function/oci-cdk/.gen/providers/oci/artifacts-container-repository/index.d.ts +0 -217
  17. package/lib/test/java-function/oci-cdk/.gen/providers/oci/artifacts-container-repository/index.js +0 -563
  18. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-internet-gateway/index.d.ts +0 -176
  19. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-internet-gateway/index.js +0 -431
  20. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-route-table/index.d.ts +0 -255
  21. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-route-table/index.js +0 -644
  22. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-security-list/index.d.ts +0 -752
  23. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-security-list/index.js +0 -2091
  24. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-service-gateway/index.d.ts +0 -220
  25. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-service-gateway/index.js +0 -543
  26. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-subnet/index.d.ts +0 -251
  27. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-subnet/index.js +0 -612
  28. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-vcn/index.d.ts +0 -270
  29. package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-vcn/index.js +0 -672
  30. package/lib/test/java-function/oci-cdk/.gen/providers/oci/data-oci-core-services/index.d.ts +0 -150
  31. package/lib/test/java-function/oci-cdk/.gen/providers/oci/data-oci-core-services/index.js +0 -386
  32. package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-application/index.d.ts +0 -330
  33. package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-application/index.js +0 -821
  34. package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-function/index.d.ts +0 -322
  35. package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-function/index.js +0 -820
  36. package/lib/test/java-function/oci-cdk/.gen/providers/oci/provider/index.d.ts +0 -190
  37. package/lib/test/java-function/oci-cdk/.gen/providers/oci/provider/index.js +0 -391
  38. package/lib/test/java-function/oci-cdk/.gen/providers/oci/vault-secret/index.d.ts +0 -439
  39. package/lib/test/java-function/oci-cdk/.gen/providers/oci/vault-secret/index.js +0 -1146
  40. package/lib/test/java-function/oci-cdk/bin/app.d.ts +0 -2
  41. package/lib/test/java-function/oci-cdk/bin/app.js +0 -34
  42. package/lib/test/java-function/oci-cdk/config/oci-config.d.ts +0 -68
  43. package/lib/test/java-function/oci-cdk/config/oci-config.js +0 -202
  44. package/lib/test/java-function/oci-cdk/lib/function-stack.d.ts +0 -31
  45. package/lib/test/java-function/oci-cdk/lib/function-stack.js +0 -549
  46. package/lib/test/java-function/oci-cdk/lib/test-function-stack.d.ts +0 -17
  47. package/lib/test/java-function/oci-cdk/lib/test-function-stack.js +0 -99
@@ -1,11 +0,0 @@
1
- import * as cdk from 'aws-cdk-lib';
2
- import { Construct } from 'constructs';
3
- export interface FunctionStackProps extends cdk.StackProps {
4
- /** PostgreSQL connection URL (same format as OCI: postgresql://user:password@host:port/dbname). When set, stack creates a Secrets Manager secret and passes its ARN to Lambda. Set PG_URL at deploy time. */
5
- readonly pgUrl?: string;
6
- /** When PG_URL is not set: ARN of existing Secrets Manager secret (e.g. RDS-generated JSON secret). Set PG_SECRET_ARN at deploy time. RDS is not created by this stack — create RDS manually in the stack VPC and allow the Lambda security group on port 5432. */
7
- readonly pgSecretArn?: string;
8
- }
9
- export declare class FunctionStack extends cdk.Stack {
10
- constructor(scope: Construct, id: string, props?: FunctionStackProps);
11
- }
@@ -1,159 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.FunctionStack = void 0;
37
- const cdk = __importStar(require("aws-cdk-lib"));
38
- const lambda = __importStar(require("aws-cdk-lib/aws-lambda"));
39
- const apigateway = __importStar(require("aws-cdk-lib/aws-apigateway"));
40
- const secretsmanager = __importStar(require("aws-cdk-lib/aws-secretsmanager"));
41
- const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
42
- const rds = __importStar(require("aws-cdk-lib/aws-rds"));
43
- const path = __importStar(require("path"));
44
- class FunctionStack extends cdk.Stack {
45
- constructor(scope, id, props) {
46
- super(scope, id, props);
47
- const pgUrl = props?.pgUrl ?? process.env.PG_URL;
48
- const pgSecretArnFromEnv = props?.pgSecretArn ?? process.env.PG_SECRET_ARN;
49
- const environment = {
50
- PLATFORM: 'AWS',
51
- };
52
- // PG connection: create secret from PG_URL (like OCI) or use existing PG_SECRET_ARN
53
- let pgSecretArn;
54
- if (pgUrl?.trim()) {
55
- const pgSecret = new secretsmanager.Secret(this, 'PgUrlSecret', {
56
- secretName: `function-pg-url-${this.stackName}`,
57
- description: 'PostgreSQL connection URL for function (from PG_URL)',
58
- secretStringValue: cdk.SecretValue.unsafePlainText(pgUrl.trim()),
59
- });
60
- pgSecretArn = pgSecret.secretArn;
61
- environment.PG_SECRET_ARN = pgSecretArn;
62
- }
63
- else if (pgSecretArnFromEnv?.trim()) {
64
- pgSecretArn = pgSecretArnFromEnv.trim();
65
- environment.PG_SECRET_ARN = pgSecretArn;
66
- }
67
- // VPC created by default (like OCI stack VCN) — create RDS manually in this VPC and allow Lambda security group on port 5432
68
- const vpc = new ec2.Vpc(this, 'Vpc', {
69
- maxAzs: 2,
70
- natGateways: 1,
71
- });
72
- // Java Lambda function (in VPC private subnets so it can reach RDS and AWS APIs via NAT). Build JAR first (e.g. ./scripts/build-function.sh aws).
73
- const javaFunction = new lambda.Function(this, 'JavaFunction', {
74
- runtime: lambda.Runtime.JAVA_11,
75
- handler: 'com.example.function.aws.AwsFunctionHandler',
76
- code: lambda.Code.fromAsset(path.join(__dirname, '../../function-code/target/test-function-aws-1.0.0.jar')),
77
- memorySize: 512,
78
- timeout: cdk.Duration.seconds(30),
79
- description: 'Java function compatible with AWS Lambda and OCI Functions',
80
- environment,
81
- vpc,
82
- vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
83
- });
84
- const lambdaSg = javaFunction.connections.securityGroups[0];
85
- // Dedicated security group for RDS: allow PostgreSQL from Lambda (avoids circular dependency from self-referential rule)
86
- const rdsSg = new ec2.SecurityGroup(this, 'RdsSecurityGroup', {
87
- vpc,
88
- description: 'Security group for RDS - allow Lambda on port 5432',
89
- allowAllOutbound: true,
90
- });
91
- rdsSg.addIngressRule(ec2.Peer.securityGroupId(lambdaSg.securityGroupId), ec2.Port.tcp(5432), 'Allow PostgreSQL from Lambda');
92
- // DB subnet group for manual RDS: use this when creating RDS in the console/CLI
93
- const dbSubnetGroup = new rds.SubnetGroup(this, 'DbSubnetGroup', {
94
- description: 'Private subnets for RDS (use when creating RDS in this VPC)',
95
- vpc,
96
- vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
97
- });
98
- if (pgSecretArn) {
99
- const secret = secretsmanager.Secret.fromSecretCompleteArn(this, 'PgSecret', pgSecretArn);
100
- secret.grantRead(javaFunction);
101
- }
102
- // API Gateway REST API
103
- const api = new apigateway.RestApi(this, 'FunctionApi', {
104
- restApiName: 'Java Function API',
105
- description: 'API Gateway for Java function',
106
- defaultCorsPreflightOptions: {
107
- allowOrigins: apigateway.Cors.ALL_ORIGINS,
108
- allowMethods: apigateway.Cors.ALL_METHODS,
109
- allowHeaders: ['Content-Type', 'X-Amz-Date', 'Authorization', 'X-Api-Key'],
110
- },
111
- });
112
- // Lambda integration
113
- const lambdaIntegration = new apigateway.LambdaIntegration(javaFunction, {
114
- requestTemplates: { 'application/json': '{ "statusCode": "200" }' },
115
- });
116
- // Single endpoint with query parameter routing
117
- // Uses query parameter ?action=hello|echo|info instead of path-based routes
118
- api.root.addMethod('GET', lambdaIntegration);
119
- api.root.addMethod('POST', lambdaIntegration);
120
- // Outputs
121
- new cdk.CfnOutput(this, 'ApiUrl', {
122
- value: api.url,
123
- description: 'API Gateway endpoint URL',
124
- exportName: 'FunctionApiUrl',
125
- });
126
- new cdk.CfnOutput(this, 'FunctionName', {
127
- value: javaFunction.functionName,
128
- description: 'Lambda function name',
129
- exportName: 'FunctionName',
130
- });
131
- new cdk.CfnOutput(this, 'FunctionArn', {
132
- value: javaFunction.functionArn,
133
- description: 'Lambda function ARN',
134
- exportName: 'FunctionArn',
135
- });
136
- new cdk.CfnOutput(this, 'VpcId', {
137
- value: vpc.vpcId,
138
- description: 'VPC ID — create RDS in this VPC',
139
- exportName: 'FunctionVpcId',
140
- });
141
- new cdk.CfnOutput(this, 'LambdaSecurityGroupId', {
142
- value: lambdaSg.securityGroupId,
143
- description: 'Lambda security group ID',
144
- exportName: 'FunctionLambdaSecurityGroupId',
145
- });
146
- new cdk.CfnOutput(this, 'RdsSecurityGroupId', {
147
- value: rdsSg.securityGroupId,
148
- description: 'Assign this security group to RDS - stack allows inbound 5432 from Lambda',
149
- exportName: 'FunctionRdsSecurityGroupId',
150
- });
151
- new cdk.CfnOutput(this, 'DbSubnetGroupName', {
152
- value: dbSubnetGroup.subnetGroupName,
153
- description: 'Select this DB subnet group when creating RDS in this VPC',
154
- exportName: 'FunctionDbSubnetGroupName',
155
- });
156
- }
157
- }
158
- exports.FunctionStack = FunctionStack;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L2phdmEtZnVuY3Rpb24vYXdzLWNkay9saWIvZnVuY3Rpb24tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQW1DO0FBRW5DLCtEQUFpRDtBQUNqRCx1RUFBeUQ7QUFDekQsK0VBQWlFO0FBQ2pFLHlEQUEyQztBQUMzQyx5REFBMkM7QUFDM0MsMkNBQTZCO0FBUzdCLE1BQWEsYUFBYyxTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNqRCxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFFRixvRkFBb0Y7UUFDcEYsSUFBSSxXQUErQixDQUFDO1FBQ3BDLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQzlELFVBQVUsRUFBRSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDL0MsV0FBVyxFQUFFLHNEQUFzRDtnQkFDbkUsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pFLENBQUMs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QVMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDL0MsS0FBSyxFQUFFLFFBQVEsQ0FBQyxlQUFlO1lBQy9CLFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMsVUFBVSxFQUFFLCtCQUErQjtTQUM1QyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzVDLEtBQUssRUFBRSxLQUFLLENBQUMsZUFBZTtZQUM1QixXQUFXLEVBQUUsMkVBQTJFO1lBQ3hGLFVBQVUsRUFBRSw0QkFBNEI7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMzQyxLQUFLLEVBQUUsYUFBYSxDQUFDLGVBQWU7WUFDcEMsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxVQUFVLEVBQUUsMkJBQTJCO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXhJRCxzQ0F3SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBhcGlnYXRld2F5IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIHNlY3JldHNtYW5hZ2VyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyByZHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJkcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU3RhY2tQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqIFBvc3RncmVTUUwgY29ubmVjdGlvbiBVUkwgKHNhbWUgZm9ybWF0IGFzIE9DSTogcG9zdGdyZXNxbDovL3VzZXI6cGFzc3dvcmRAaG9zdDpwb3J0L2RibmFtZSkuIFdoZW4gc2V0LCBzdGFjayBjcmVhdGVzIGEgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhbmQgcGFzc2VzIGl0cyBBUk4gdG8gTGFtYmRhLiBTZXQgUEdfVVJMIGF0IGRlcGxveSB0aW1lLiAqL1xuICByZWFkb25seSBwZ1VybD86IHN0cmluZztcbiAgLyoqIFdoZW4gUEdfVVJMIGlzIG5vdCBzZXQ6IEFSTiBvZiBleGlzdGluZyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IChlLmcuIFJEUy1nZW5lcmF0ZWQgSlNPTiBzZWNyZXQpLiBTZXQgUEdfU0VDUkVUX0FSTiBhdCBkZXBsb3kgdGltZS4gUkRTIGlzIG5vdCBjcmVhdGVkIGJ5IHRoaXMgc3RhY2sg4oCUIGNyZWF0ZSBSRFMgbWFudWFsbHkgaW4gdGhlIHN0YWNrIFZQQyBhbmQgYWxsb3cgdGhlIExhbWJkYSBzZWN1cml0eSBncm91cCBvbiBwb3J0IDU0MzIuICovXG4gIHJlYWRvbmx5IHBnU2VjcmV0QXJuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25TdGFjayBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRnVuY3Rpb25TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBwZ1VybCA9IHByb3BzPy5wZ1VybCA/PyBwcm9jZXNzLmVudi5QR19VUkw7XG4gICAgY29uc3QgcGdTZWNyZXRBcm5Gcm9tRW52ID0gcHJvcHM/LnBnU2VjcmV0QXJuID8/IHByb2Nlc3MuZW52LlBHX1NFQ1JFVF9BUk47XG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBQTEFURk9STTogJ0FXUycsXG4gICAgfTtcblxuICAgIC8vIFBHIGNvbm5lY3Rpb246IGNyZWF0ZSBzZWNyZXQgZnJvbSBQR19VUkwgKGxpa2UgT0NJKSBvciB1c2UgZXhpc3RpbmcgUEdfU0VDUkVUX0FSTlxuICAgIGxldCBwZ1NlY3JldEFybjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmIChwZ1VybD8udHJpbSgpKSB7XG4gICAgICBjb25zdCBwZ1NlY3JldCA9IG5ldyBzZWNyZXRzbWFuYWdlci5TZWNyZXQodGhpcywgJ1BnVXJsU2VjcmV0Jywge1xuICAgICAgICBzZWNyZXROYW1lOiBgZnVuY3Rpb24tcGctdXJsLSR7dGhpcy5zdGFja05hbWV9YCxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQb3N0Z3JlU1FMIGNvbm5lY3Rpb24gVVJMIGZvciBmdW5jdGlvbiAoZnJvbSBQR19VUkwpJyxcbiAgICAgICAgc2VjcmV0U3RyaW5nVmFsdWU6IGNkay5TZWNyZXRWYWx1ZS51bnNhZmVQbGFpblRleHQocGdVcmwudHJpbSgpKSxcbiAgICAgIH0pO1xuICAgICAgcGdTZWNyZXRBcm4gPSBwZ1NlY3JldC5zZWNyZXRBcm47XG4gICAgICBlbnZpcm9ubWVudC5QR19TRUNSRVRfQVJOID0gcGdTZWNyZXRBcm47XG4gICAgfSBlbHNlIGlmIChwZ1NlY3JldEFybkZyb21FbnY/LnRyaW0oKSkge1xuICAgICAgcGdTZWNyZXRBcm4gPSBwZ1NlY3JldEFybkZyb21FbnYudHJpbSgpO1xuICAgICAgZW52aXJvbm1lbnQuUEdfU0VDUkVUX0FSTiA9IHBnU2VjcmV0QXJuO1xuICAgIH1cblxuICAgIC8vIFZQQyBjcmVhdGVkIGJ5IGRlZmF1bHQgKGxpa2UgT0NJIHN0YWNrIFZDTikg4oCUIGNyZWF0ZSBSRFMgbWFudWFsbHkgaW4gdGhpcyBWUEMgYW5kIGFsbG93IExhbWJkYSBzZWN1cml0eSBncm91cCBvbiBwb3J0IDU0MzJcbiAgICBjb25zdCB2cGMgPSBuZXcgZWMyLlZwYyh0aGlzLCAnVnBjJywge1xuICAgICAgbWF4QXpzOiAyLFxuICAgICAgbmF0R2F0ZXdheXM6IDEsXG4gICAgfSk7XG5cbiAgICAvLyBKYXZhIExhbWJkYSBmdW5jdGlvbiAoaW4gVlBDIHByaXZhdGUgc3VibmV0cyBzbyBpdCBjYW4gcmVhY2ggUkRTIGFuZCBBV1MgQVBJcyB2aWEgTkFUKS4gQnVpbGQgSkFSIGZpcnN0IChlLmcuIC4vc2NyaXB0cy9idWlsZC1mdW5jdGlvbi5zaCBhd3MpLlxuICAgIGNvbnN0IGphdmFGdW5jdGlvbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ0phdmFGdW5jdGlvbicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLkpBVkFfMTEsXG4gICAgICBoYW5kbGVyOiAnY29tLmV4YW1wbGUuZnVuY3Rpb24uYXdzLkF3c0Z1bmN0aW9uSGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9mdW5jdGlvbi1jb2RlL3RhcmdldC90ZXN0LWZ1bmN0aW9uLWF3cy0xLjAuMC5qYXInKVxuICAgICAgKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSmF2YSBmdW5jdGlvbiBjb21wYXRpYmxlIHdpdGggQVdTIExhbWJkYSBhbmQgT0NJIEZ1bmN0aW9ucycsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbGFtYmRhU2cgPSBqYXZhRnVuY3Rpb24uY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0gYXMgZWMyLlNlY3VyaXR5R3JvdXA7XG5cbiAgICAvLyBEZWRpY2F0ZWQgc2VjdXJpdHkgZ3JvdXAgZm9yIFJEUzogYWxsb3cgUG9zdGdyZVNRTCBmcm9tIExhbWJkYSAoYXZvaWRzIGNpcmN1bGFyIGRlcGVuZGVuY3kgZnJvbSBzZWxmLXJlZmVyZW50aWFsIHJ1bGUpXG4gICAgY29uc3QgcmRzU2cgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ1Jkc1NlY3VyaXR5R3JvdXAnLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NlY3VyaXR5IGdyb3VwIGZvciBSRFMgLSBhbGxvdyBMYW1iZGEgb24gcG9ydCA1NDMyJyxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG4gICAgcmRzU2cuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBlYzIuUGVlci5zZWN1cml0eUdyb3VwSWQobGFtYmRhU2cuc2VjdXJpdHlHcm91cElkKSxcbiAgICAgIGVjMi5Qb3J0LnRjcCg1NDMyKSxcbiAgICAgICdBbGxvdyBQb3N0Z3JlU1FMIGZyb20gTGFtYmRhJyxcbiAgICApO1xuXG4gICAgLy8gREIgc3VibmV0IGdyb3VwIGZvciBtYW51YWwgUkRTOiB1c2UgdGhpcyB3aGVuIGNyZWF0aW5nIFJEUyBpbiB0aGUgY29uc29sZS9DTElcbiAgICBjb25zdCBkYlN1Ym5ldEdyb3VwID0gbmV3IHJkcy5TdWJuZXRHcm91cCh0aGlzLCAnRGJTdWJuZXRHcm91cCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJpdmF0ZSBzdWJuZXRzIGZvciBSRFMgKHVzZSB3aGVuIGNyZWF0aW5nIFJEUyBpbiB0aGlzIFZQQyknLFxuICAgICAgdnBjLFxuICAgICAgdnBjU3VibmV0czogeyBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTIH0sXG4gICAgfSk7XG5cbiAgICBpZiAocGdTZWNyZXRBcm4pIHtcbiAgICAgIGNvbnN0IHNlY3JldCA9IHNlY3JldHNtYW5hZ2VyLlNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4odGhpcywgJ1BnU2VjcmV0JywgcGdTZWNyZXRBcm4pO1xuICAgICAgc2VjcmV0LmdyYW50UmVhZChqYXZhRnVuY3Rpb24pO1xuICAgIH1cblxuICAgIC8vIEFQSSBHYXRld2F5IFJFU1QgQVBJXG4gICAgY29uc3QgYXBpID0gbmV3IGFwaWdhdGV3YXkuUmVzdEFwaSh0aGlzLCAnRnVuY3Rpb25BcGknLCB7XG4gICAgICByZXN0QXBpTmFtZTogJ0phdmEgRnVuY3Rpb24gQVBJJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQVBJIEdhdGV3YXkgZm9yIEphdmEgZnVuY3Rpb24nLFxuICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB7XG4gICAgICAgIGFsbG93T3JpZ2luczogYXBpZ2F0ZXdheS5Db3JzLkFMTF9PUklHSU5TLFxuICAgICAgICBhbGxvd01ldGhvZHM6IGFwaWdhdGV3YXkuQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgYWxsb3dIZWFkZXJzOiBbJ0NvbnRlbnQtVHlwZScsICdYLUFtei1EYXRlJywgJ0F1dGhvcml6YXRpb24nLCAnWC1BcGktS2V5J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gTGFtYmRhIGludGVncmF0aW9uXG4gICAgY29uc3QgbGFtYmRhSW50ZWdyYXRpb24gPSBuZXcgYXBpZ2F0ZXdheS5MYW1iZGFJbnRlZ3JhdGlvbihqYXZhRnVuY3Rpb24sIHtcbiAgICAgIHJlcXVlc3RUZW1wbGF0ZXM6IHsgJ2FwcGxpY2F0aW9uL2pzb24nOiAneyBcInN0YXR1c0NvZGVcIjogXCIyMDBcIiB9JyB9LFxuICAgIH0pO1xuXG4gICAgLy8gU2luZ2xlIGVuZHBvaW50IHdpdGggcXVlcnkgcGFyYW1ldGVyIHJvdXRpbmdcbiAgICAvLyBVc2VzIHF1ZXJ5IHBhcmFtZXRlciA/YWN0aW9uPWhlbGxvfGVjaG98aW5mbyBpbnN0ZWFkIG9mIHBhdGgtYmFzZWQgcm91dGVzXG4gICAgYXBpLnJvb3QuYWRkTWV0aG9kKCdHRVQnLCBsYW1iZGFJbnRlZ3JhdGlvbik7XG4gICAgYXBpLnJvb3QuYWRkTWV0aG9kKCdQT1NUJywgbGFtYmRhSW50ZWdyYXRpb24pO1xuXG4gICAgLy8gT3V0cHV0c1xuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdBcGlVcmwnLCB7XG4gICAgICB2YWx1ZTogYXBpLnVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQVBJIEdhdGV3YXkgZW5kcG9pbnQgVVJMJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdGdW5jdGlvbkFwaVVybCcsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnRnVuY3Rpb25OYW1lJywge1xuICAgICAgdmFsdWU6IGphdmFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ0xhbWJkYSBmdW5jdGlvbiBuYW1lJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdGdW5jdGlvbk5hbWUnLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ0Z1bmN0aW9uQXJuJywge1xuICAgICAgdmFsdWU6IGphdmFGdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgIGRlc2NyaXB0aW9uOiAnTGFtYmRhIGZ1bmN0aW9uIEFSTicsXG4gICAgICBleHBvcnROYW1lOiAnRnVuY3Rpb25Bcm4nLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ1ZwY0lkJywge1xuICAgICAgdmFsdWU6IHZwYy52cGNJZCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVlBDIElEIOKAlCBjcmVhdGUgUkRTIGluIHRoaXMgVlBDJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdGdW5jdGlvblZwY0lkJyxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdMYW1iZGFTZWN1cml0eUdyb3VwSWQnLCB7XG4gICAgICB2YWx1ZTogbGFtYmRhU2cuc2VjdXJpdHlHcm91cElkLFxuICAgICAgZGVzY3JpcHRpb246ICdMYW1iZGEgc2VjdXJpdHkgZ3JvdXAgSUQnLFxuICAgICAgZXhwb3J0TmFtZTogJ0Z1bmN0aW9uTGFtYmRhU2VjdXJpdHlHcm91cElkJyxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdSZHNTZWN1cml0eUdyb3VwSWQnLCB7XG4gICAgICB2YWx1ZTogcmRzU2cuc2VjdXJpdHlHcm91cElkLFxuICAgICAgZGVzY3JpcHRpb246ICdBc3NpZ24gdGhpcyBzZWN1cml0eSBncm91cCB0byBSRFMgLSBzdGFjayBhbGxvd3MgaW5ib3VuZCA1NDMyIGZyb20gTGFtYmRhJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdGdW5jdGlvblJkc1NlY3VyaXR5R3JvdXBJZCcsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnRGJTdWJuZXRHcm91cE5hbWUnLCB7XG4gICAgICB2YWx1ZTogZGJTdWJuZXRHcm91cC5zdWJuZXRHcm91cE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NlbGVjdCB0aGlzIERCIHN1Ym5ldCBncm91cCB3aGVuIGNyZWF0aW5nIFJEUyBpbiB0aGlzIFZQQycsXG4gICAgICBleHBvcnROYW1lOiAnRnVuY3Rpb25EYlN1Ym5ldEdyb3VwTmFtZScsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- import * as cdk from 'aws-cdk-lib';
2
- import { Construct } from 'constructs';
3
- export declare class TestFunctionStack extends cdk.Stack {
4
- constructor(scope: Construct, id: string, props?: cdk.StackProps);
5
- }
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TestFunctionStack = void 0;
37
- const cdk = __importStar(require("aws-cdk-lib"));
38
- const lambda = __importStar(require("aws-cdk-lib/aws-lambda"));
39
- const apigateway = __importStar(require("aws-cdk-lib/aws-apigateway"));
40
- const path = __importStar(require("path"));
41
- class TestFunctionStack extends cdk.Stack {
42
- constructor(scope, id, props) {
43
- super(scope, id, props);
44
- // Java Lambda function
45
- // Uses AwsFunctionHandler for platform-specific implementation
46
- const javaFunction = new lambda.Function(this, 'TestJavaFunction', {
47
- runtime: lambda.Runtime.JAVA_11,
48
- handler: 'com.example.function.aws.AwsFunctionHandler',
49
- code: lambda.Code.fromAsset(path.join(__dirname, '../../function-code/target/test-function-aws-1.0.0.jar')),
50
- memorySize: 512,
51
- timeout: cdk.Duration.seconds(30),
52
- description: 'Test Java function compatible with AWS Lambda and OCI Functions',
53
- environment: {
54
- PLATFORM: 'AWS',
55
- },
56
- });
57
- // API Gateway REST API
58
- const api = new apigateway.RestApi(this, 'TestFunctionApi', {
59
- restApiName: 'Test Java Function API',
60
- description: 'API Gateway for test Java function',
61
- defaultCorsPreflightOptions: {
62
- allowOrigins: apigateway.Cors.ALL_ORIGINS,
63
- allowMethods: apigateway.Cors.ALL_METHODS,
64
- allowHeaders: ['Content-Type', 'X-Amz-Date', 'Authorization', 'X-Api-Key'],
65
- },
66
- });
67
- // Lambda integration
68
- const lambdaIntegration = new apigateway.LambdaIntegration(javaFunction, {
69
- requestTemplates: { 'application/json': '{ "statusCode": "200" }' },
70
- });
71
- // Single endpoint with query parameter routing
72
- // Uses query parameter ?action=hello|echo|info instead of path-based routes
73
- api.root.addMethod('GET', lambdaIntegration);
74
- api.root.addMethod('POST', lambdaIntegration);
75
- // Outputs
76
- new cdk.CfnOutput(this, 'ApiUrl', {
77
- value: api.url,
78
- description: 'API Gateway endpoint URL',
79
- exportName: 'TestFunctionApiUrl',
80
- });
81
- new cdk.CfnOutput(this, 'FunctionName', {
82
- value: javaFunction.functionName,
83
- description: 'Lambda function name',
84
- exportName: 'TestFunctionName',
85
- });
86
- new cdk.CfnOutput(this, 'FunctionArn', {
87
- value: javaFunction.functionArn,
88
- description: 'Lambda function ARN',
89
- exportName: 'TestFunctionArn',
90
- });
91
- }
92
- }
93
- exports.TestFunctionStack = TestFunctionStack;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1mdW5jdGlvbi1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvamF2YS1mdW5jdGlvbi9hd3MtY2RrL2xpYi90ZXN0LWZ1bmN0aW9uLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtQztBQUVuQywrREFBaUQ7QUFDakQsdUVBQXlEO0FBQ3pELDJDQUE2QjtBQUU3QixNQUFhLGlCQUFrQixTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsdUJBQXVCO1FBQ3ZCLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ2pFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDL0IsT0FBTyxFQUFFLDZDQUE2QztZQUN0RCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdEQUF3RCxDQUFDLENBQy9FO1lBQ0QsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFdBQVcsRUFBRSxpRUFBaUU7WUFDOUUsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsdUJBQXVCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDMUQsV0FBVyxFQUFFLHdCQUF3QjtZQUNyQyxXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELDJCQUEyQixFQUFFO2dCQUMzQixZQUFZLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUN6QyxZQUFZLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUN6QyxZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7YUFDM0U7U0FDRixDQUFDLENBQUM7UUFFSCxxQkFBcUI7UUFDckIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUU7WUFDdkUsZ0JBQWdCLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRTtTQUNwRSxDQUFDLENBQUM7UUFFSCwrQ0FBK0M7UUFDL0MsNEVBQTRFO1FBQzVFLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlDLFVBQVU7UUFDVixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUc7WUFDZCxXQUFXLEVBQUUsMEJBQTBCO1lBQ3ZDLFVBQVUsRUFBRSxvQkFBb0I7U0FDakMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDdEMsS0FBSyxFQUFFLFlBQVksQ0FBQyxZQUFZO1lBQ2hDLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsVUFBVSxFQUFFLGtCQUFrQjtTQUMvQixDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNyQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDL0IsV0FBVyxFQUFFLHFCQUFxQjtZQUNsQyxVQUFVLEVBQUUsaUJBQWlCO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVERCw4Q0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBhcGlnYXRld2F5IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmV4cG9ydCBjbGFzcyBUZXN0RnVuY3Rpb25TdGFjayBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIEphdmEgTGFtYmRhIGZ1bmN0aW9uXG4gICAgLy8gVXNlcyBBd3NGdW5jdGlvbkhhbmRsZXIgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uXG4gICAgY29uc3QgamF2YUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnVGVzdEphdmFGdW5jdGlvbicsIHtcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLkpBVkFfMTEsXG4gICAgICBoYW5kbGVyOiAnY29tLmV4YW1wbGUuZnVuY3Rpb24uYXdzLkF3c0Z1bmN0aW9uSGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9mdW5jdGlvbi1jb2RlL3RhcmdldC90ZXN0LWZ1bmN0aW9uLWF3cy0xLjAuMC5qYXInKVxuICAgICAgKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBKYXZhIGZ1bmN0aW9uIGNvbXBhdGlibGUgd2l0aCBBV1MgTGFtYmRhIGFuZCBPQ0kgRnVuY3Rpb25zJyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBMQVRGT1JNOiAnQVdTJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBBUEkgR2F0ZXdheSBSRVNUIEFQSVxuICAgIGNvbnN0IGFwaSA9IG5ldyBhcGlnYXRld2F5LlJlc3RBcGkodGhpcywgJ1Rlc3RGdW5jdGlvbkFwaScsIHtcbiAgICAgIHJlc3RBcGlOYW1lOiAnVGVzdCBKYXZhIEZ1bmN0aW9uIEFQSScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0FQSSBHYXRld2F5IGZvciB0ZXN0IEphdmEgZnVuY3Rpb24nLFxuICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB7XG4gICAgICAgIGFsbG93T3JpZ2luczogYXBpZ2F0ZXdheS5Db3JzLkFMTF9PUklHSU5TLFxuICAgICAgICBhbGxvd01ldGhvZHM6IGFwaWdhdGV3YXkuQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgYWxsb3dIZWFkZXJzOiBbJ0NvbnRlbnQtVHlwZScsICdYLUFtei1EYXRlJywgJ0F1dGhvcml6YXRpb24nLCAnWC1BcGktS2V5J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gTGFtYmRhIGludGVncmF0aW9uXG4gICAgY29uc3QgbGFtYmRhSW50ZWdyYXRpb24gPSBuZXcgYXBpZ2F0ZXdheS5MYW1iZGFJbnRlZ3JhdGlvbihqYXZhRnVuY3Rpb24sIHtcbiAgICAgIHJlcXVlc3RUZW1wbGF0ZXM6IHsgJ2FwcGxpY2F0aW9uL2pzb24nOiAneyBcInN0YXR1c0NvZGVcIjogXCIyMDBcIiB9JyB9LFxuICAgIH0pO1xuXG4gICAgLy8gU2luZ2xlIGVuZHBvaW50IHdpdGggcXVlcnkgcGFyYW1ldGVyIHJvdXRpbmdcbiAgICAvLyBVc2VzIHF1ZXJ5IHBhcmFtZXRlciA/YWN0aW9uPWhlbGxvfGVjaG98aW5mbyBpbnN0ZWFkIG9mIHBhdGgtYmFzZWQgcm91dGVzXG4gICAgYXBpLnJvb3QuYWRkTWV0aG9kKCdHRVQnLCBsYW1iZGFJbnRlZ3JhdGlvbik7XG4gICAgYXBpLnJvb3QuYWRkTWV0aG9kKCdQT1NUJywgbGFtYmRhSW50ZWdyYXRpb24pO1xuXG4gICAgLy8gT3V0cHV0c1xuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdBcGlVcmwnLCB7XG4gICAgICB2YWx1ZTogYXBpLnVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQVBJIEdhdGV3YXkgZW5kcG9pbnQgVVJMJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdUZXN0RnVuY3Rpb25BcGlVcmwnLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ0Z1bmN0aW9uTmFtZScsIHtcbiAgICAgIHZhbHVlOiBqYXZhRnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdMYW1iZGEgZnVuY3Rpb24gbmFtZScsXG4gICAgICBleHBvcnROYW1lOiAnVGVzdEZ1bmN0aW9uTmFtZScsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnRnVuY3Rpb25Bcm4nLCB7XG4gICAgICB2YWx1ZTogamF2YUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgICAgZGVzY3JpcHRpb246ICdMYW1iZGEgZnVuY3Rpb24gQVJOJyxcbiAgICAgIGV4cG9ydE5hbWU6ICdUZXN0RnVuY3Rpb25Bcm4nLFxuICAgIH0pO1xuICB9XG59XG4iXX0=