All Projects → f5devcentral → vscode-f5

f5devcentral / vscode-f5

Licence: Apache-2.0 license
Let the F5 VSCode extension supercharge your workflows with schema validation, rest client, fast templates, and so much more!!!

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vscode-f5

command-pal
The hackable command palette for the web, inspired by Visual Studio Code.
Stars: ✭ 32 (-27.27%)
Mutual labels:  command-palette
Kreya
Kreya is a GUI client for gRPC and REST APIs with innovative features for environments, authorizations and more.
Stars: ✭ 217 (+393.18%)
Mutual labels:  rest-client
Timeline
AS2 & AS3 CPPS Emulator, written in Python. (Club Penguin Private Server Emulator)
Stars: ✭ 49 (+11.36%)
Mutual labels:  as3
set-syntax
An Atom package that creates easy Command Palette commands for setting the syntax of the current file
Stars: ✭ 24 (-45.45%)
Mutual labels:  command-palette
CPSC
Club Penguin Singleplayer Client
Stars: ✭ 37 (-15.91%)
Mutual labels:  as3
restish
Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in
Stars: ✭ 453 (+929.55%)
Mutual labels:  rest-client
starling-preloader
An example preloader for Starling Framework running in Adobe Flash Player in a web browser
Stars: ✭ 24 (-45.45%)
Mutual labels:  as3
camunda-client-go
Camunda REST API client for golang
Stars: ✭ 95 (+115.91%)
Mutual labels:  rest-client
F5-Networks
This project is dedicated to developing and sharing useful code for various F5 products and solutions
Stars: ✭ 16 (-63.64%)
Mutual labels:  f5
hackbar
A browser extension for using command palette (kbar) in HackMD.
Stars: ✭ 24 (-45.45%)
Mutual labels:  command-palette
sublime-PICO-8
PICO-8 plugin for the Sublime Text 3 editor.
Stars: ✭ 42 (-4.55%)
Mutual labels:  command-palette
acfs
API client for services
Stars: ✭ 13 (-70.45%)
Mutual labels:  rest-client
oanda api
A ruby client for the Oanda REST API.
Stars: ✭ 35 (-20.45%)
Mutual labels:  rest-client
sol
MacOS launcher & command palette
Stars: ✭ 1,335 (+2934.09%)
Mutual labels:  command-palette
FluentRest
Lightweight fluent wrapper over HttpClient to make REST calls easier
Stars: ✭ 54 (+22.73%)
Mutual labels:  rest-client
Starling Framework
The Cross Platform Game Engine
Stars: ✭ 2,399 (+5352.27%)
Mutual labels:  as3
Rump
REST client for Java that allows for easy configuration and default values. Allows for quick request construction and a huge range of modifications by using response/request interceptors, adjusting default values related to HTTP requests and creating custom instances for when you need multiple API connection setups.
Stars: ✭ 55 (+25%)
Mutual labels:  rest-client
bowman
A Java library for accessing a JSON+HAL REST API
Stars: ✭ 45 (+2.27%)
Mutual labels:  rest-client
CVE-2021-22986
CVE-2021-22986 & F5 BIG-IP RCE
Stars: ✭ 85 (+93.18%)
Mutual labels:  f5-bigip
restio
HTTP Client for Dart inspired by OkHttp
Stars: ✭ 46 (+4.55%)
Mutual labels:  rest-client

The F5 VSCode Extension

Let the F5 VSCode Extension supercharge your abilities to write (A)utomated (T)ool(C)hain declarations with snippets, examples and declaration schema validation, and also assist with connecting, deploying, retrieving and updating declarations on F5 devices.

It can also help with iRules/iApps, BIG-IQ, and regular configuration/migration.

  • GET/POST/DELETE of all ATC services, including FAST/AS3/DO/TS/CF
  • links to quickly open related ATC documentation
  • Direct access to ATC examples from git repo
  • Install/UnInstall of ATC rpms
  • Convert JSON <-> YAML
  • Hovers to view decoded information for (certificates/base64)
  • Extract TMOS applications (per virtual server)
  • Write, deploy and modify iRules/iApps (with vscode-irule extension for language support)

!> Any comments, questions or feature requests, please open an issue!

Documentation site

https://f5devcentral.github.io/vscode-f5/#/

Getting the extension

The best path is to install Visual Studio Code from: https://code.visualstudio.com/

VSCode Marketplace

Open Source Marketplace

VSCode Marketplace

Open Source Marketplace

Then install the extension following the steps below:

Select the extensions view

drawing

Search for F5, select the extension "The F5 Extension", then Install

drawing

Create a device and connect

Select Add Host in the F5: Hosts view. Then type in device details in the <user>@x.x.x.x format, hit Enter to submit

drawing

Deploy example as3 app

Click on the hostname of the connected device at the bottom of the window.

This is the easiest way to get an editor window for JSON files and it also demontrates how to get device details

Now that we have a json editor, select all text (control + a), then delete.

Type as3 to get the example AS3 snippet, press Enter.

This should insert a sample AS3 declaration into the editor

Note the declaration schema reference at the top. This provides instant feedback and validation for any necssary modifications. Please see Schema Validation for more details

Right-click in the editor and select POST as AS3 Declaration. This should post the declaration to the currently connected device

!> Please be sure to have the AS3 service installed prior. See ATC RPM Mgmt for assistance with getting a service installed

drawing


To delete deployed AS3 tenant from device

Right-click on the tenant in the AS3 view on the left, then select Delete Tenant

Known Issues

HTTP/422 responses - Can happen for a handful of reasons:

  • Getting DO declaration when device has settings DO can configure but device was not deployed with DO (it can't manage the settings that are already there)
  • Improperly formatted/wrong declaration
    • Sometimes this is from the '$schema' reference in the declaration
  • Sometimes you can fix a DO HTTP/400 response by overwriting with a clean/updated declaration

HTTP Auth Failures

When utilizing an external auth provider, occasionally restjavad/restnoded can have some issues, resulting in some occansional HTTP/400 auth errors:

The fix is to restart: restjavad and restnoded

Error from extension

HTTP Auth FAILURE: 400 - undefined

Error from restjavad log

[SEVERE][6859][24 Jul 2020 13:11:39 UTC][8100/shared/authn/login AuthnWorker] Error as the maximum time to wait exceeded while getting value of loginProviderName
[SEVERE][6860][24 Jul 2020 13:11:39 UTC][8100/shared/authn/login AuthnWorker] Error while setting value to loginProviderName when no loginReference and no loginProviderName were given
[WARNING][6861][24 Jul 2020 13:11:39 UTC][com.f5.rest.common.RestWorker] dispatch to worker http://localhost:8100/shared/authn/login caught following exception: java.lang.NullPointerException
        at com.f5.rest.workers.authn.AuthnWorker.onPost(AuthnWorker.java:394)
        at com.f5.rest.common.RestWorker.callDerivedRestMethod(RestWorker.java:1276)
        at com.f5.rest.common.RestWorker.callRestMethodHandler(RestWorker.java:1190)
        at com.f5.rest.common.RestServer.processQueuedRequests(RestServer.java:1207)
        at com.f5.rest.common.RestServer.access$000(RestServer.java:44)
        at com.f5.rest.common.RestServer$1.run(RestServer.java:285)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
        at java.lang.Thread.run(Thread.java:748)

Client side extension debugging

Developer Debugger

VScode has a built in debugger very much like Chrome. This can be used to gain insight to what is happening when things don't respond as expected.

If you are having issues, it may be best to start here and capture the output as described below:

  • In the main VSCode window, along the top, select Help, then Toggle Developer Tools, select the Console tab.
    • Then, explore the requests and responses to see if there are any areas of concern
      • Expand some of the objects by clicking the little triangle next to the obejct under a request or response to inspect

If needed, right-click on an entry, then select save-as to save the log including expanded objects to a file. This can be used for troubleshooting

drawing

This mainly catches logs send through the console.log(''), which should typically be for development.

installing vsix

The recommended way to get this extension is to install from the Microsoft VScode extension marketplace or from within VSCode directly, under the extensions activity bar view on the left.

If you still need to install from vsix, they can be downloaded under the 'release' tab above: https://github.com/f5devcentral/vscode-f5/releases

Different ways to install vsix:

Running the extension for dev

  • Clone and install dependencies:

    git clone https://github.com/f5devcentral/vscode-f5.git
    cd vscode-f5-fast/
    npm install
    code .
  • Start Debugging environment: Keystroke F5

  • Navigate to view container by clicking on the f5 icon in the Activity bar (typically on the left)

  • Update device list in tree view on the left with a device in your environment

    • ADD in the F5 Hosts view
    • or click the pencil icon on an item and modify the item
  • Connect to device

    • (click device in host tree or Cntrl+shift+P or F1)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].