generator-citrix-netscaler
A Yeoman generator that scaffolds a .NET Core sample project that show how to interact with the Citrix Netscaler CPX docker container via the NITRO REST API. It will also ask if you would to enable Netscaler CPX support and then download, configure and run the netscaler CPX express container.
Required Software
This generator works with the Citrix Netscaler product but the quickest way to get started with Citrix Netscaler is to download the free Netscaler CPX Express docker image from here.
This generator builds a .NET Core application, so you will also need the .NET Core SDK and runtime from Microsoft. You can find the the .NET Core download here for the different platforms.
While not required for these samples, it is always good to have a source code editor.Visual Studio Code is a good one since it knows how to handle .NET core projects but feel free to an editor that makes you happy. Sublime Text or Brackets are also good editors.
Getting started with Netscaler CPX and Docker videos
Installation
First, install Yeoman and generator-citrix-netscaler using npm (we assume you have pre-installed node.js).
sudo npm install -g yosudo npm install -g generator-citrix-netscaler
Then generate your new project:
yo citrix-netscaler
This will prompt you for you Netscaler information and generate a starter project that shows how to authenticate to the Citrix Netscaler CPX container
Sub-Generators
There are also several sub generators that will add additional functionality to the sample app based on what NITRO API you would like to interact with.
- citrix-netscaler:features
- citrix-netscaler:ip
- citrix-netscaler:hostname
- citrix-netscaler:listvservers
- citrix-netscaler:cpxsupport
Features
Generates a partial class that contains the API calls to list features on the Netscaler CPX container.
Example:
yo citrix-netscaler:features
Produces NSListFeatures.cs in the project directory. In order to use the new methods you should add the following method call to your main calling method.
await ListFeatures();
IP
Generates a partial class that contains the API calls to list IP addresses used on the Netscaler CPX container.
Example:
yo citrix-netscaler:ip
Produces NSIP.cs in the project directory. In order to use the new methods you should add the following method call to your main calling method.
await Listips();
HOSTNAME
Generates a partial class that contains the API calls to get and set the hostname of the Netscaler CPX.
CPXSUPPORT
Summary
the CPXSUPPORT sub-generator will enable the Citrix Netscaler CPX Express container in the current project. This will pull the docker container from the docker store and start it up automatically. A requirement for this is to have docker installed on the device where you creating your project.
Example:
yo citrix-netscaler:cpxsupport $ Would you like to add Netscaler CPX to y $ Please enter the local HTTP port to map to the http port in the docker container $ Please enter the local HTTPS port to map to the https port in the docker container $ Please enter the local SSH port to map to the SSH port in the docker container $ Please enter the local SNMP port to map to the SNMP port in the docker container
Example:
yo citrix-netscaler:hostname
Produces NSHostname.cs in the project directory. In order to use the new methods you should add the following method call to your main calling method.
//List hostnameawait ListHostname();//set the hostnameawait SetHostname("MyNewHostname");
listvservers
Generates a partial class that contains the API calls to list all of the VServers configured on the the Netscaler CPX.
Example:
yo citrix-netscaler:listvservers
Produces NSListServers.cs in the project directory. In order to use the new methods you should add the following method call to your main calling method.
await ListVirtualServers();
Contribution
We love open source and contributors! Get started by cloning This repo and start building additional features. Whether it source code, documentation, issue or wiki entries. We love any kinda of contribution!
At Citrix, we’re committed to building a world-class ecosystem through open platforms. Our offerings power mission-critical business operations for users, IT and partners, and we provide a number of APIs, SDKs and tools to help you extend and integrate with our services. We’re excited to work with you to make Citrix your platform of choice.