From 6e570f0160b5a1e123dddb69cbd1213a5c99e416 Mon Sep 17 00:00:00 2001 From: DumpySquare Date: Wed, 3 Apr 2024 09:01:17 -0500 Subject: [PATCH] b2 --- CHANGELOG.md | 3 +- f5_flipper_test.tgz | Bin 7100 -> 9885 bytes package-lock.json | 4 +-- package.json | 2 +- src/digLbVserver.ts | 44 +++++++++++++++------------- tests/artifacts/f5_flipper_test.tgz | Bin 7100 -> 9885 bytes 6 files changed, 29 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79d262e..bde49d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how --- -## [1.6.0] - (03-27-2024) +## [1.6.0] - (04-03-2024) ### Fixed @@ -29,6 +29,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how - defaults to v13.0 - Bug when config is missing hostname (should use filename instead) - Moved conversion codeLense from preview to main +- added test for serviceGroup abstraction --- diff --git a/f5_flipper_test.tgz b/f5_flipper_test.tgz index 625d0f864f02c64762fc53047cce2391fa59d242..2ce68de13008d4672a4cffa7c66bf2a29163d186 100644 GIT binary patch literal 9885 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 diff --git a/package-lock.json b/package-lock.json index 9e26686..0a4df9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-f5-flipper", - "version": "1.5.0", + "version": "1.6.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "vscode-f5-flipper", - "version": "1.5.0", + "version": "1.6.0", "license": "Apache-2.0", "dependencies": { "@f5devcentral/f5-fast-core": "^0.21.0", diff --git a/package.json b/package.json index 1ad5cda..4282219 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "F5 Flipper", "description": "Breaking down Citrix NetScaler ADC configs", "publisher": "F5DevCentral", - "version": "1.5.0", + "version": "1.6.0", "keywords": [ "F5", "F5Networks", diff --git a/src/digLbVserver.ts b/src/digLbVserver.ts index dddc3d2..2fa283c 100644 --- a/src/digLbVserver.ts +++ b/src/digLbVserver.ts @@ -126,33 +126,33 @@ export async function digLbVserver(coa: AdcConfObj, rx: AdcRegExTree) { } - // dig serviceGroup details - await digServiceGroup(serviceName, app, coa, rx) + // dig serviceGroup details + await digServiceGroup(serviceName, app, coa, rx) - } else if (rxMatch.groups?.opts) { + } else if (rxMatch.groups?.opts) { - const opts = parseNsOptions(rxMatch.groups?.opts, rx); - if (opts['-policyName']) { - const pName = opts['-policyName']; - if (!app.bindings['-policyName']) { - app.bindings['-policyName'] = []; - } + const opts = parseNsOptions(rxMatch.groups?.opts, rx); + if (opts['-policyName']) { + const pName = opts['-policyName']; + if (!app.bindings['-policyName']) { + app.bindings['-policyName'] = []; + } - const policy = await digPolicy(pName, app, coa, rx) - app.bindings['-policyName'].push(opts as unknown as PolicyRef) - } + const policy = await digPolicy(pName, app, coa, rx) + app.bindings['-policyName'].push(opts as unknown as PolicyRef) + } - } + } -}) + }) -apps.push(sortAdcApp(app)) + apps.push(sortAdcApp(app)) })) -return apps; + return apps; } @@ -318,13 +318,16 @@ export async function digSslBinding(app: AdcApp, obj: AdcConfObj, rx: AdcRegExTr const appName = app.name; - const x = obj.bind?.ssl?.vserver?.filter(s => s.startsWith(appName))[0] + const appSslVservers = obj.bind?.ssl?.vserver?.filter(s => s.startsWith(appName)) // check ssl bindings // for await (const x of obj.bind?.ssl?.vserver) { - // if (x.startsWith(app.name)) { - if (x) { + // if (x.startsWith(app.name)) { + if (appSslVservers.length > 0) { + for await (const x of appSslVservers) { + + const parent = 'bind ssl vserver'; const originalString = parent + ' ' + x; app.lines.push(originalString); @@ -347,8 +350,9 @@ export async function digSslBinding(app: AdcApp, obj: AdcConfObj, rx: AdcRegExTr }) } - // deepmergeInto(sslBindObj, opts) } + // deepmergeInto(sslBindObj, opts) + } // } if (sslBindObj.length > 0) { diff --git a/tests/artifacts/f5_flipper_test.tgz b/tests/artifacts/f5_flipper_test.tgz index 625d0f864f02c64762fc53047cce2391fa59d242..2ce68de13008d4672a4cffa7c66bf2a29163d186 100644 GIT binary patch literal 9885 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