feat(netscaler): add ADC NITRO OpenAPI spec and Studio Project - #53
Merged
michaelelrom merged 4 commits intoAug 7, 2026
Merged
Conversation
No vendor-published OpenAPI spec exists for NetScaler's NITRO API and there's no live-instance generator like vmware-openapi-generator, so both specs are generated by parsing the official netscaler/adc-nitro-go Go SDK source and mapping NITRO's uniform REST conventions onto it: - citrix_netscaler_nitro-14.1.json: full spec, 6642 operations across all 1806 NITRO config resource types. - citrix_netscaler_nitro-latest.json: curated to 121 operations across 30 hand-reviewed resource types covering core load balancing, content switching, SSL, GSLB, HA, and basic network/system config. Both pass OpenAPI 3.0 validation and Itential Platform's own integration-model validation, and successfully build tasks in Automation Studio for a representative sample (CRUD, an action, a binding, and a singleton resource). Neither has been executed against a live NetScaler appliance -- see the README's Generation Method and Caveats section for what that means in practice, particularly around HTTP method availability in the full spec. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a 116-workflow Studio Project (Load Balancing, Content Switching, SSL, GSLB, Network, System, High Availability) built from the curated NITRO OpenAPI spec, one workflow per operation, scoped to CRUD where NITRO actually supports it. hanode is deliberately excluded -- adding or removing HA pair members is high-blast-radius, not routine automation. All 116 workflows were created and built as tasks in Automation Studio; one read operation (List CS Actions) has been confirmed working end-to-end against a live customer NetScaler ADC. Also documents a real gotcha hit during that test: the connection schema has no separate port field, and a wrong port produces a status:0 connection failure indistinguishable from a network/DNS problem. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…example The port example used 8080 -- the wrong port from a live debugging session, not a meaningful example -- and the auth/generation sections compared NITRO to vSphere's spec in this repo, which doesn't help a reader who's only here for NetScaler. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds responderaction and responderpolicy (full CRUD) plus their CS/LB vserver bindings to the curated OpenAPI spec (121 -> 137 operations, 30 -> 34 resource types) and a new Responder folder (16 workflows) in the Studio Project (116 -> 132 total), following the same action+policy+binding pattern already used for Content Switching. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
NetScaler/ADC/OpenAPIs/: a full 6,642-operation NITRO API spec (citrix_netscaler_nitro-14.1.json) covering all 1,806 NITRO config resource types, plus a curated 137-operation-latest.jsoncovering 34 hand-reviewed resource types (load balancing, content switching, SSL, GSLB, HA, network/system config, and responder policies).NetScaler/ADC/Studio Projects/: a 132-workflow Studio Project (Load Balancing, Content Switching, SSL, GSLB, Network, Responder, System, High Availability), one workflow per curated-spec operation, scoped to full CRUD only where NITRO actually supports it.README.mdcovering integration configuration (NITRO's staticX-NITRO-USER/X-NITRO-PASSheader auth, no session/token flow needed), the OpenAPI spec breakdown, the Studio Project's folder structure, and a detailed "Generation Method and Caveats" section.README.mdvendor index entry for NetScaler.Notes for reviewers
netscaler/adc-nitro-goGo SDK source (struct fields, JSON tags, doc comments) and mapping NITRO's documented, uniform REST conventions onto it.hanode(HA node add/remove) is deliberately excluded from the Studio Project — it's in the curated spec, but adding/removing an HA pair member is high-blast-radius, not routine automation.List CS Actions) has been confirmed working end-to-end against a live customer NetScaler ADC; the rest share the same spec and task-building pipeline but haven't each been individually executed yet.Test plan
openapi-spec-validatorand Itential Platform'sPUT /integration-models/validationList CS Actions) confirmed working against a live customer NetScaler ADC