@mikarinneoracle/oci-cdk-code-only-preview 0.0.1 → 0.0.2
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.
- package/package.json +1 -1
- package/lib/.gen/providers/oci/identity-dynamic-group/index.d.ts +0 -166
- package/lib/.gen/providers/oci/identity-dynamic-group/index.js +0 -408
- package/lib/bin/deploy-with-build.js +0 -132
- package/lib/test/java-function/aws-cdk/bin/app.d.ts +0 -2
- package/lib/test/java-function/aws-cdk/bin/app.js +0 -51
- package/lib/test/java-function/aws-cdk/lib/function-stack.d.ts +0 -11
- package/lib/test/java-function/aws-cdk/lib/function-stack.js +0 -159
- package/lib/test/java-function/aws-cdk/lib/test-function-stack.d.ts +0 -5
- package/lib/test/java-function/aws-cdk/lib/test-function-stack.js +0 -94
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-deployment/index.d.ts +0 -5356
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-deployment/index.js +0 -14972
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-gateway/index.d.ts +0 -449
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/apigateway-gateway/index.js +0 -1149
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/artifacts-container-repository/index.d.ts +0 -217
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/artifacts-container-repository/index.js +0 -563
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-internet-gateway/index.d.ts +0 -176
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-internet-gateway/index.js +0 -431
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-route-table/index.d.ts +0 -255
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-route-table/index.js +0 -644
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-security-list/index.d.ts +0 -752
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-security-list/index.js +0 -2091
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-service-gateway/index.d.ts +0 -220
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-service-gateway/index.js +0 -543
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-subnet/index.d.ts +0 -251
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-subnet/index.js +0 -612
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-vcn/index.d.ts +0 -270
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/core-vcn/index.js +0 -672
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/data-oci-core-services/index.d.ts +0 -150
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/data-oci-core-services/index.js +0 -386
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-application/index.d.ts +0 -330
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-application/index.js +0 -821
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-function/index.d.ts +0 -322
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/functions-function/index.js +0 -820
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/provider/index.d.ts +0 -190
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/provider/index.js +0 -391
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/vault-secret/index.d.ts +0 -439
- package/lib/test/java-function/oci-cdk/.gen/providers/oci/vault-secret/index.js +0 -1146
- package/lib/test/java-function/oci-cdk/bin/app.d.ts +0 -2
- package/lib/test/java-function/oci-cdk/bin/app.js +0 -34
- package/lib/test/java-function/oci-cdk/config/oci-config.d.ts +0 -68
- package/lib/test/java-function/oci-cdk/config/oci-config.js +0 -202
- package/lib/test/java-function/oci-cdk/lib/function-stack.d.ts +0 -31
- package/lib/test/java-function/oci-cdk/lib/function-stack.js +0 -549
- package/lib/test/java-function/oci-cdk/lib/test-function-stack.d.ts +0 -17
- package/lib/test/java-function/oci-cdk/lib/test-function-stack.js +0 -99
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Construct } from 'constructs';
|
|
2
|
-
import { TerraformStack } from 'cdktf';
|
|
3
|
-
import { OciBackendConfig } from '../config/oci-config';
|
|
4
|
-
export interface OciStackConfig {
|
|
5
|
-
compartmentId: string;
|
|
6
|
-
ocirCompartmentId?: string;
|
|
7
|
-
tenancyId: string;
|
|
8
|
-
region: string;
|
|
9
|
-
namespace: string;
|
|
10
|
-
functionAppName: string;
|
|
11
|
-
functionName: string;
|
|
12
|
-
ocirRepositoryName?: string;
|
|
13
|
-
backend?: OciBackendConfig;
|
|
14
|
-
}
|
|
15
|
-
export declare class TestFunctionStack extends TerraformStack {
|
|
16
|
-
constructor(scope: Construct, id: string, config: OciStackConfig);
|
|
17
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TestFunctionStack = void 0;
|
|
4
|
-
const cdktf_1 = require("cdktf");
|
|
5
|
-
const provider_1 = require("../.gen/providers/oci/provider");
|
|
6
|
-
const artifacts_container_repository_1 = require("../.gen/providers/oci/artifacts-container-repository");
|
|
7
|
-
class TestFunctionStack extends cdktf_1.TerraformStack {
|
|
8
|
-
constructor(scope, id, config) {
|
|
9
|
-
super(scope, id);
|
|
10
|
-
// Configure Terraform backend (if not local)
|
|
11
|
-
if (config.backend && config.backend.type !== 'local') {
|
|
12
|
-
if (config.backend.type === 'oci') {
|
|
13
|
-
this.addOverride('terraform.backend', {
|
|
14
|
-
oci: {
|
|
15
|
-
bucket: config.backend.bucket,
|
|
16
|
-
namespace: config.namespace,
|
|
17
|
-
key: config.backend.key || `${id}/terraform.tfstate`,
|
|
18
|
-
region: config.region,
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
else if (config.backend.type === 'http') {
|
|
23
|
-
const httpBackend = {
|
|
24
|
-
address: config.backend.address,
|
|
25
|
-
update_method: config.backend.updateMethod || 'PUT',
|
|
26
|
-
};
|
|
27
|
-
if (config.backend.lockAddress) {
|
|
28
|
-
httpBackend.lock_address = config.backend.lockAddress;
|
|
29
|
-
}
|
|
30
|
-
if (config.backend.unlockAddress) {
|
|
31
|
-
httpBackend.unlock_address = config.backend.unlockAddress;
|
|
32
|
-
}
|
|
33
|
-
this.addOverride('terraform.backend', {
|
|
34
|
-
http: httpBackend,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// OCI Provider
|
|
39
|
-
new provider_1.OciProvider(this, 'oci', {
|
|
40
|
-
region: config.region,
|
|
41
|
-
tenancyOcid: config.tenancyId,
|
|
42
|
-
});
|
|
43
|
-
// OCIR Container Repository
|
|
44
|
-
const ocirCompartmentId = config.ocirCompartmentId || config.compartmentId;
|
|
45
|
-
const ocirRepoName = config.ocirRepositoryName || config.functionName;
|
|
46
|
-
// Validate that we're not using root compartment
|
|
47
|
-
if (ocirCompartmentId.includes('root')) {
|
|
48
|
-
throw new Error('OCIR repository cannot be created in root compartment. ' +
|
|
49
|
-
'Please set OCI_OCIR_COMPARTMENT_ID to your home compartment OCID.');
|
|
50
|
-
}
|
|
51
|
-
const ocirRepository = new artifacts_container_repository_1.ArtifactsContainerRepository(this, 'OcirRepository', {
|
|
52
|
-
compartmentId: ocirCompartmentId,
|
|
53
|
-
displayName: ocirRepoName,
|
|
54
|
-
isPublic: false,
|
|
55
|
-
isImmutable: false,
|
|
56
|
-
});
|
|
57
|
-
// Note: OCI Function and API Gateway resources would be added here
|
|
58
|
-
// These require additional provider resources that may need to be configured
|
|
59
|
-
// after running `cdktf get` to generate the provider types
|
|
60
|
-
// Example structure (commented out until provider types are generated):
|
|
61
|
-
/*
|
|
62
|
-
// OCI Function Application
|
|
63
|
-
const functionApp = new FunctionsApplication(this, 'FunctionApp', {
|
|
64
|
-
compartmentId: config.compartmentId,
|
|
65
|
-
displayName: config.functionAppName,
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// OCI Function
|
|
69
|
-
const ociFunction = new Function(this, 'Function', {
|
|
70
|
-
applicationId: functionApp.id,
|
|
71
|
-
displayName: config.functionName,
|
|
72
|
-
image: `${config.region}.ocir.io/${config.namespace}/${ocirRepoName}:latest`,
|
|
73
|
-
memoryInMbs: 1024,
|
|
74
|
-
timeoutInSeconds: 30,
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// API Gateway
|
|
78
|
-
const apiGateway = new ApigatewayGateway(this, 'ApiGateway', {
|
|
79
|
-
compartmentId: config.compartmentId,
|
|
80
|
-
endpointType: 'PUBLIC',
|
|
81
|
-
displayName: 'test-function-api-gateway',
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
// API Gateway Deployment
|
|
85
|
-
const apiDeployment = new ApigatewayDeployment(this, 'ApiDeployment', {
|
|
86
|
-
compartmentId: config.compartmentId,
|
|
87
|
-
gatewayId: apiGateway.id,
|
|
88
|
-
pathPrefix: '/test',
|
|
89
|
-
displayName: 'test-function-deployment',
|
|
90
|
-
// Route configuration would go here
|
|
91
|
-
});
|
|
92
|
-
*/
|
|
93
|
-
// Output OCIR repository URL
|
|
94
|
-
// This will be used to push Docker images
|
|
95
|
-
// Format: <region>.ocir.io/<namespace>/<repository-name>
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
exports.TestFunctionStack = TestFunctionStack;
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1mdW5jdGlvbi1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvamF2YS1mdW5jdGlvbi9vY2ktb2Nkay9saWIvdGVzdC1mdW5jdGlvbi1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBdUM7QUFDdkMsNkRBQTZEO0FBQzdELHlHQUFvRztBQWVwRyxNQUFhLGlCQUFrQixTQUFRLHNCQUFjO0lBQ25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiw2Q0FBNkM7UUFDN0MsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3RELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUU7b0JBQ3BDLEdBQUcsRUFBRTt3QkFDSCxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNO3dCQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7d0JBQzNCLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsb0JBQW9CO3dCQUNwRCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07cUJBQ3RCO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxXQUFXLEdBQVE7b0JBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87b0JBQy9CLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxLQUFLO2lCQUNwRCxDQUFDO2dCQUNGLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDL0IsV0FBVyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztnQkFDeEQsQ0FBQztnQkFDRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ2pDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQzVELENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRTtvQkFDcEMsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsZUFBZTtRQUNmLElBQUksc0JBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixXQUFXLEVBQUUsTUFBTSxDQUFDLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsNEJBQTRCO1FBQzVCLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0UsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFdEUsaURBQWlEO1FBQ2pELElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYix5REFBeUQ7Z0JBQ3pELG1FQUFtRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksNkRBQTRCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzlFLGFBQWEsRUFBRSxpQkFBaUI7WUFDaEMsV0FBVyxFQUFFLFlBQVk7WUFDekIsUUFBUSxFQUFFLEtBQUs7WUFDZixXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7UUFFSCxtRUFBbUU7UUFDbkUsNkVBQTZFO1FBQzdFLDJEQUEyRDtRQUUzRCx3RUFBd0U7UUFDeEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7VUErQkU7UUFFRiw2QkFBNkI7UUFDN0IsMENBQTBDO1FBQzFDLHlEQUF5RDtJQUMzRCxDQUFDO0NBQ0Y7QUFuR0QsOENBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gJ2Nka3RmJztcbmltcG9ydCB7IE9jaVByb3ZpZGVyIH0gZnJvbSAnLi4vLmdlbi9wcm92aWRlcnMvb2NpL3Byb3ZpZGVyJztcbmltcG9ydCB7IEFydGlmYWN0c0NvbnRhaW5lclJlcG9zaXRvcnkgfSBmcm9tICcuLi8uZ2VuL3Byb3ZpZGVycy9vY2kvYXJ0aWZhY3RzLWNvbnRhaW5lci1yZXBvc2l0b3J5JztcbmltcG9ydCB7IE9jaUJhY2tlbmRDb25maWcgfSBmcm9tICcuLi9jb25maWcvb2NpLWNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2NpU3RhY2tDb25maWcge1xuICBjb21wYXJ0bWVudElkOiBzdHJpbmc7XG4gIG9jaXJDb21wYXJ0bWVudElkPzogc3RyaW5nO1xuICB0ZW5hbmN5SWQ6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBmdW5jdGlvbkFwcE5hbWU6IHN0cmluZztcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gIG9jaXJSZXBvc2l0b3J5TmFtZT86IHN0cmluZztcbiAgYmFja2VuZD86IE9jaUJhY2tlbmRDb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0RnVuY3Rpb25TdGFjayBleHRlbmRzIFRlcnJhZm9ybVN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBPY2lTdGFja0NvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBDb25maWd1cmUgVGVycmFmb3JtIGJhY2tlbmQgKGlmIG5vdCBsb2NhbClcbiAgICBpZiAoY29uZmlnLmJhY2tlbmQgJiYgY29uZmlnLmJhY2tlbmQudHlwZSAhPT0gJ2xvY2FsJykge1xuICAgICAgaWYgKGNvbmZpZy5iYWNrZW5kLnR5cGUgPT09ICdvY2knKSB7XG4gICAgICAgIHRoaXMuYWRkT3ZlcnJpZGUoJ3RlcnJhZm9ybS5iYWNrZW5kJywge1xuICAgICAgICAgIG9jaToge1xuICAgICAgICAgICAgYnVja2V0OiBjb25maWcuYmFja2VuZC5idWNrZXQsXG4gICAgICAgICAgICBuYW1lc3BhY2U6IGNvbmZpZy5uYW1lc3BhY2UsXG4gICAgICAgICAgICBrZXk6IGNvbmZpZy5iYWNrZW5kLmtleSB8fCBgJHtpZH0vdGVycmFmb3JtLnRmc3RhdGVgLFxuICAgICAgICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChjb25maWcuYmFja2VuZC50eXBlID09PSAnaHR0cCcpIHtcbiAgICAgICAgY29uc3QgaHR0cEJhY2tlbmQ6IGFueSA9IHtcbiAgICAgICAgICBhZGRyZXNzOiBjb25maWcuYmFja2VuZC5hZGRyZXNzLFxuICAgICAgICAgIHVwZGF0ZV9tZXRob2Q6IGNvbmZpZy5iYWNrZW5kLnVwZGF0ZU1ldGhvZCB8fCAnUFVUJyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGNvbmZpZy5iYWNrZW5kLmxvY2tBZGRyZXNzKSB7XG4gICAgICAgICAgaHR0cEJhY2tlbmQubG9ja19hZGRyZXNzID0gY29uZmlnLmJhY2tlbmQubG9ja0FkZHJlc3M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5iYWNrZW5kLnVubG9ja0FkZHJlc3MpIHtcbiAgICAgICAgICBodHRwQmFja2VuZC51bmxvY2tfYWRkcmVzcyA9IGNvbmZpZy5iYWNrZW5kLnVubG9ja0FkZHJlc3M7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRPdmVycmlkZSgndGVycmFmb3JtLmJhY2tlbmQnLCB7XG4gICAgICAgICAgaHR0cDogaHR0cEJhY2tlbmQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9DSSBQcm92aWRlclxuICAgIG5ldyBPY2lQcm92aWRlcih0aGlzLCAnb2NpJywge1xuICAgICAgcmVnaW9uOiBjb25maWcucmVnaW9uLFxuICAgICAgdGVuYW5jeU9jaWQ6IGNvbmZpZy50ZW5hbmN5SWQsXG4gICAgfSk7XG5cbiAgICAvLyBPQ0lSIENvbnRhaW5lciBSZXBvc2l0b3J5XG4gICAgY29uc3Qgb2NpckNvbXBhcnRtZW50SWQgPSBjb25maWcub2NpckNvbXBhcnRtZW50SWQgfHwgY29uZmlnLmNvbXBhcnRtZW50SWQ7XG4gICAgY29uc3Qgb2NpclJlcG9OYW1lID0gY29uZmlnLm9jaXJSZXBvc2l0b3J5TmFtZSB8fCBjb25maWcuZnVuY3Rpb25OYW1lO1xuICAgIFxuICAgIC8vIFZhbGlkYXRlIHRoYXQgd2UncmUgbm90IHVzaW5nIHJvb3QgY29tcGFydG1lbnRcbiAgICBpZiAob2NpckNvbXBhcnRtZW50SWQuaW5jbHVkZXMoJ3Jvb3QnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT0NJUiByZXBvc2l0b3J5IGNhbm5vdCBiZSBjcmVhdGVkIGluIHJvb3QgY29tcGFydG1lbnQuICcgK1xuICAgICAgICAnUGxlYXNlIHNldCBPQ0lfT0NJUl9DT01QQVJUTUVOVF9JRCB0byB5b3VyIGhvbWUgY29tcGFydG1lbnQgT0NJRC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IG9jaXJSZXBvc2l0b3J5ID0gbmV3IEFydGlmYWN0c0NvbnRhaW5lclJlcG9zaXRvcnkodGhpcywgJ09jaXJSZXBvc2l0b3J5Jywge1xuICAgICAgY29tcGFydG1lbnRJZDogb2NpckNvbXBhcnRtZW50SWQsXG4gICAgICBkaXNwbGF5TmFtZTogb2NpclJlcG9OYW1lLFxuICAgICAgaXNQdWJsaWM6IGZhbHNlLFxuICAgICAgaXNJbW11dGFibGU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gTm90ZTogT0NJIEZ1bmN0aW9uIGFuZCBBUEkgR2F0ZXdheSByZXNvdXJjZXMgd291bGQgYmUgYWRkZWQgaGVyZVxuICAgIC8vIFRoZXNlIHJlcXVpcmUgYWRkaXRpb25hbCBwcm92aWRlciByZXNvdXJjZXMgdGhhdCBtYXkgbmVlZCB0byBiZSBjb25maWd1cmVkXG4gICAgLy8gYWZ0ZXIgcnVubmluZyBgY2RrdGYgZ2V0YCB0byBnZW5lcmF0ZSB0aGUgcHJvdmlkZXIgdHlwZXNcbiAgICBcbiAgICAvLyBFeGFtcGxlIHN0cnVjdHVyZSAoY29tbWVudGVkIG91dCB1bnRpbCBwcm92aWRlciB0eXBlcyBhcmUgZ2VuZXJhdGVkKTpcbiAgICAvKlxuICAgIC8vIE9DSSBGdW5jdGlvbiBBcHBsaWNhdGlvblxuICAgIGNvbnN0IGZ1bmN0aW9uQXBwID0gbmV3IEZ1bmN0aW9uc0FwcGxpY2F0aW9uKHRoaXMsICdGdW5jdGlvbkFwcCcsIHtcbiAgICAgIGNvbXBhcnRtZW50SWQ6IGNvbmZpZy5jb21wYXJ0bWVudElkLFxuICAgICAgZGlzcGxheU5hbWU6IGNvbmZpZy5mdW5jdGlvbkFwcE5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBPQ0kgRnVuY3Rpb25cbiAgICBjb25zdCBvY2lGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbih0aGlzLCAnRnVuY3Rpb24nLCB7XG4gICAgICBhcHBsaWNhdGlvbklkOiBmdW5jdGlvbkFwcC5pZCxcbiAgICAgIGRpc3BsYXlOYW1lOiBjb25maWcuZnVuY3Rpb25OYW1lLFxuICAgICAgaW1hZ2U6IGAke2NvbmZpZy5yZWdpb259Lm9jaXIuaW8vJHtjb25maWcubmFtZXNwYWNlfS8ke29jaXJSZXBvTmFtZX06bGF0ZXN0YCxcbiAgICAgIG1lbW9yeUluTWJzOiAxMDI0LFxuICAgICAgdGltZW91dEluU2Vjb25kczogMzAsXG4gICAgfSk7XG5cbiAgICAvLyBBUEkgR2F0ZXdheVxuICAgIGNvbnN0IGFwaUdhdGV3YXkgPSBuZXcgQXBpZ2F0ZXdheUdhdGV3YXkodGhpcywgJ0FwaUdhdGV3YXknLCB7XG4gICAgICBjb21wYXJ0bWVudElkOiBjb25maWcuY29tcGFydG1lbnRJZCxcbiAgICAgIGVuZHBvaW50VHlwZTogJ1BVQkxJQycsXG4gICAgICBkaXNwbGF5TmFtZTogJ3Rlc3QtZnVuY3Rpb24tYXBpLWdhdGV3YXknLFxuICAgIH0pO1xuXG4gICAgLy8gQVBJIEdhdGV3YXkgRGVwbG95bWVudFxuICAgIGNvbnN0IGFwaURlcGxveW1lbnQgPSBuZXcgQXBpZ2F0ZXdheURlcGxveW1lbnQodGhpcywgJ0FwaURlcGxveW1lbnQnLCB7XG4gICAgICBjb21wYXJ0bWVudElkOiBjb25maWcuY29tcGFydG1lbnRJZCxcbiAgICAgIGdhdGV3YXlJZDogYXBpR2F0ZXdheS5pZCxcbiAgICAgIHBhdGhQcmVmaXg6ICcvdGVzdCcsXG4gICAgICBkaXNwbGF5TmFtZTogJ3Rlc3QtZnVuY3Rpb24tZGVwbG95bWVudCcsXG4gICAgICAvLyBSb3V0ZSBjb25maWd1cmF0aW9uIHdvdWxkIGdvIGhlcmVcbiAgICB9KTtcbiAgICAqL1xuXG4gICAgLy8gT3V0cHV0IE9DSVIgcmVwb3NpdG9yeSBVUkxcbiAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCB0byBwdXNoIERvY2tlciBpbWFnZXNcbiAgICAvLyBGb3JtYXQ6IDxyZWdpb24+Lm9jaXIuaW8vPG5hbWVzcGFjZT4vPHJlcG9zaXRvcnktbmFtZT5cbiAgfVxufVxuIl19
|