{"id":43496602,"url":"https://github.com/doubret/terraform-provider-netscaler","last_synced_at":"2026-02-03T10:38:33.285Z","repository":{"id":57638816,"uuid":"143444430","full_name":"doubret/terraform-provider-netscaler","owner":"doubret","description":"Terraform Custom Provider for Citrix NetScaler","archived":false,"fork":false,"pushed_at":"2018-09-11T14:05:12.000Z","size":382,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-15T04:28:17.966Z","etag":null,"topics":["citrix","citrix-netscaler","netscaler","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doubret.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-03T15:33:23.000Z","updated_at":"2020-09-18T05:37:39.000Z","dependencies_parsed_at":"2022-08-30T08:10:19.622Z","dependency_job_id":null,"html_url":"https://github.com/doubret/terraform-provider-netscaler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/doubret/terraform-provider-netscaler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubret%2Fterraform-provider-netscaler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubret%2Fterraform-provider-netscaler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubret%2Fterraform-provider-netscaler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubret%2Fterraform-provider-netscaler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doubret","download_url":"https://codeload.github.com/doubret/terraform-provider-netscaler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doubret%2Fterraform-provider-netscaler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29041862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["citrix","citrix-netscaler","netscaler","terraform","terraform-provider"],"created_at":"2026-02-03T10:38:32.686Z","updated_at":"2026-02-03T10:38:33.278Z","avatar_url":"https://github.com/doubret.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-provider-netscaler\n\n[Terraform](https://www.terraform.io) Provider for [Citrix NetScaler](https://www.citrix.com/products/netscaler-adc/)\n\n## Description\n\nThis project is a terraform custom provider for Citrix NetScaler. It uses the [Nitro API](https://docs.citrix.com/en-us/netscaler/11/nitro-api.html) to create/configure NetScaler resources and bindings. \nThis project is largely inspired from [chiradeep](https://github.com/chiradeep)'s work [terraform-provider-netscaler](https://github.com/citrix/terraform-provider-netscaler).\nThe implementation is completely different though.\n\n**Important note: The provider will not commit the config changes to NetScaler's persistent store.**\n\n## Requirement\n\n* [hashicorp/terraform](https://github.com/hashicorp/terraform)\n\n\n## Usage\n\n### Running\n1. Copy the binary (either from the [build](#building) or from the\n   [releases](https://github.com/citrix/terraform-provider-netscaler/releases) page)\n   `terraform-provider-netscaler` to an appropriate location.\n\n   [Configure](https://www.terraform.io/docs/plugins/basics.html) `.terraformrc` to use the\n   `netscaler` provider. An example `.terraformrc`:\n\n```\nproviders {\n    netscaler = \"\u003cpath-to-custom-providers\u003e/terraform-provider-netscaler\"\n}\n```\n\n2. Run `terraform` as usual \n\n```\nterraform plan\nterraform apply\n```\n\n3. The provider will not commit the config changes to NetScaler's persistent store. To do this, run the shell script `ns_commit.sh`:\n\n```\nexport NS_URL=http://\u003chost\u003e:\u003cport\u003e/\nexport NS_USER=nsroot\nexport NS_PASSWORD=nsroot\n./ns_commit.sh\n```\n\nTo ensure that the config is saved on every run, we can use something like `terraform apply \u0026\u0026 ns_commit.sh`\n\n### Provider Configuration\n\n```\nprovider \"netscaler\" {\n    username = \"${var.ns_user}\"\n    password = \"${var.ns_password}\"\n    endpoint = \"http://10.71.136.250/\"\n}\n```\n\nWe can use a `https` URL and accept the untrusted authority certificate on the NetScaler by specifying `insecure_skip_verify = true`\n\n##### Argument Reference\n\nThe following arguments are supported.\n\n* `username` - This is the user name to access to NetScaler. Defaults to `nsroot` unless environment variable `NS_LOGIN` has been set\n* `password` - This is the password to access to NetScaler. Defaults to `nsroot` unless environment variable `NS_PASSWORD` has been set\n* `endpoint` - (Required) Nitro API endpoint in the form `http://\u003cNS_IP\u003e/` or `http://\u003cNS_IP\u003e:\u003cPORT\u003e/`. Can be specified in environment variable `NS_URL`\n* `insecure_skip_verify` - (Optional, true/false) Whether to accept the untrusted certificate on the NetScaler when the NetScaler endpoint is `https`\n\nThe username, password and endpoint can be provided in environment variables `NS_LOGIN`, `NS_PASSWORD` and `NS_URL`. \n\n### Resource Configuration\n\n- [appflowaction](doc/resources/appflowaction.md)\n- [appflowcollector](doc/resources/appflowcollector.md)\n- [appflowpolicy](doc/resources/appflowpolicy.md)\n- [appflowpolicylabel](doc/resources/appflowpolicylabel.md)\n- [appfwpolicy](doc/resources/appfwpolicy.md)\n- [appqoeaction](doc/resources/appqoeaction.md)\n- [appqoepolicy](doc/resources/appqoepolicy.md)\n- [auditnslogaction](doc/resources/auditnslogaction.md)\n- [auditnslogpolicy](doc/resources/auditnslogpolicy.md)\n- [auditsyslogaction](doc/resources/auditsyslogaction.md)\n- [auditsyslogpolicy](doc/resources/auditsyslogpolicy.md)\n- [authorizationpolicy](doc/resources/authorizationpolicy.md)\n- [authorizationpolicylabel](doc/resources/authorizationpolicylabel.md)\n- [caaction](doc/resources/caaction.md)\n- [cachecontentgroup](doc/resources/cachecontentgroup.md)\n- [cachepolicy](doc/resources/cachepolicy.md)\n- [cachepolicylabel](doc/resources/cachepolicylabel.md)\n- [capolicy](doc/resources/capolicy.md)\n- [cmpaction](doc/resources/cmpaction.md)\n- [cmppolicy](doc/resources/cmppolicy.md)\n- [cmppolicylabel](doc/resources/cmppolicylabel.md)\n- [csaction](doc/resources/csaction.md)\n- [cspolicy](doc/resources/cspolicy.md)\n- [cspolicylabel](doc/resources/cspolicylabel.md)\n- [csvserver](doc/resources/csvserver.md)\n- [dbdbprofile](doc/resources/dbdbprofile.md)\n- [dnsaction64](doc/resources/dnsaction64.md)\n- [dnspolicy64](doc/resources/dnspolicy64.md)\n- [dnsprofile](doc/resources/dnsprofile.md)\n- [dospolicy](doc/resources/dospolicy.md)\n- [feoaction](doc/resources/feoaction.md)\n- [feopolicy](doc/resources/feopolicy.md)\n- [filteraction](doc/resources/filteraction.md)\n- [filterpolicy](doc/resources/filterpolicy.md)\n- [lbgroup](doc/resources/lbgroup.md)\n- [lbmetrictable](doc/resources/lbmetrictable.md)\n- [lbmonitor](doc/resources/lbmonitor.md)\n- [lbprofile](doc/resources/lbprofile.md)\n- [lbvserver](doc/resources/lbvserver.md)\n- [lbwlm](doc/resources/lbwlm.md)\n- [netprofile](doc/resources/netprofile.md)\n- [nshttpprofile](doc/resources/nshttpprofile.md)\n- [nstcpprofile](doc/resources/nstcpprofile.md)\n- [policydataset](doc/resources/policydataset.md)\n- [policyexpression](doc/resources/policyexpression.md)\n- [policypatset](doc/resources/policypatset.md)\n- [policystringmap](doc/resources/policystringmap.md)\n- [pqpolicy](doc/resources/pqpolicy.md)\n- [responderaction](doc/resources/responderaction.md)\n- [responderpolicy](doc/resources/responderpolicy.md)\n- [responderpolicylabel](doc/resources/responderpolicylabel.md)\n- [rewriteaction](doc/resources/rewriteaction.md)\n- [rewritepolicy](doc/resources/rewritepolicy.md)\n- [rewritepolicylabel](doc/resources/rewritepolicylabel.md)\n- [scpolicy](doc/resources/scpolicy.md)\n- [server](doc/resources/server.md)\n- [service](doc/resources/service.md)\n- [servicegroup](doc/resources/servicegroup.md)\n- [spilloveraction](doc/resources/spilloveraction.md)\n- [spilloverpolicy](doc/resources/spilloverpolicy.md)\n- [tmsessionaction](doc/resources/tmsessionaction.md)\n- [tmsessionpolicy](doc/resources/tmsessionpolicy.md)\n- [tmtrafficaction](doc/resources/tmtrafficaction.md)\n- [tmtrafficpolicy](doc/resources/tmtrafficpolicy.md)\n- [transformaction](doc/resources/transformaction.md)\n- [transformpolicy](doc/resources/transformpolicy.md)\n- [transformpolicylabel](doc/resources/transformpolicylabel.md)\n- [transformprofile](doc/resources/transformprofile.md)\n- [videooptimizationaction](doc/resources/videooptimizationaction.md)\n- [videooptimizationpolicy](doc/resources/videooptimizationpolicy.md)\n- [videooptimizationpolicylabel](doc/resources/videooptimizationpolicylabel.md)\n\n### Binding Configuration\n\n- [appflowglobal_appflowpolicy_binding](doc/bindings/appflowglobal_appflowpolicy_binding.md)\n- [appflowpolicylabel_appflowpolicy_binding](doc/bindings/appflowpolicylabel_appflowpolicy_binding.md)\n- [authorizationpolicylabel_authorizationpolicy_binding](doc/bindings/authorizationpolicylabel_authorizationpolicy_binding.md)\n- [cspolicylabel_cspolicy_binding](doc/bindings/cspolicylabel_cspolicy_binding.md)\n- [csvserver_appflowpolicy_binding](doc/bindings/csvserver_appflowpolicy_binding.md)\n- [csvserver_appfwpolicy_binding](doc/bindings/csvserver_appfwpolicy_binding.md)\n- [csvserver_appqoepolicy_binding](doc/bindings/csvserver_appqoepolicy_binding.md)\n- [csvserver_auditnslogpolicy_binding](doc/bindings/csvserver_auditnslogpolicy_binding.md)\n- [csvserver_auditsyslogpolicy_binding](doc/bindings/csvserver_auditsyslogpolicy_binding.md)\n- [csvserver_authorizationpolicy_binding](doc/bindings/csvserver_authorizationpolicy_binding.md)\n- [csvserver_cachepolicy_binding](doc/bindings/csvserver_cachepolicy_binding.md)\n- [csvserver_cmppolicy_binding](doc/bindings/csvserver_cmppolicy_binding.md)\n- [csvserver_cspolicy_binding](doc/bindings/csvserver_cspolicy_binding.md)\n- [csvserver_feopolicy_binding](doc/bindings/csvserver_feopolicy_binding.md)\n- [csvserver_filterpolicy_binding](doc/bindings/csvserver_filterpolicy_binding.md)\n- [csvserver_responderpolicy_binding](doc/bindings/csvserver_responderpolicy_binding.md)\n- [csvserver_rewritepolicy_binding](doc/bindings/csvserver_rewritepolicy_binding.md)\n- [csvserver_spilloverpolicy_binding](doc/bindings/csvserver_spilloverpolicy_binding.md)\n- [csvserver_tmtrafficpolicy_binding](doc/bindings/csvserver_tmtrafficpolicy_binding.md)\n- [csvserver_transformpolicy_binding](doc/bindings/csvserver_transformpolicy_binding.md)\n- [lbmetrictable_metric_binding](doc/bindings/lbmetrictable_metric_binding.md)\n- [lbmonitor_metric_binding](doc/bindings/lbmonitor_metric_binding.md)\n- [lbmonitor_sslcertkey_binding](doc/bindings/lbmonitor_sslcertkey_binding.md)\n- [lbvserver_appflowpolicy_binding](doc/bindings/lbvserver_appflowpolicy_binding.md)\n- [lbvserver_appfwpolicy_binding](doc/bindings/lbvserver_appfwpolicy_binding.md)\n- [lbvserver_appqoepolicy_binding](doc/bindings/lbvserver_appqoepolicy_binding.md)\n- [lbvserver_auditnslogpolicy_binding](doc/bindings/lbvserver_auditnslogpolicy_binding.md)\n- [lbvserver_auditsyslogpolicy_binding](doc/bindings/lbvserver_auditsyslogpolicy_binding.md)\n- [lbvserver_authorizationpolicy_binding](doc/bindings/lbvserver_authorizationpolicy_binding.md)\n- [lbvserver_cachepolicy_binding](doc/bindings/lbvserver_cachepolicy_binding.md)\n- [lbvserver_capolicy_binding](doc/bindings/lbvserver_capolicy_binding.md)\n- [lbvserver_cmppolicy_binding](doc/bindings/lbvserver_cmppolicy_binding.md)\n- [lbvserver_dnspolicy64_binding](doc/bindings/lbvserver_dnspolicy64_binding.md)\n- [lbvserver_feopolicy_binding](doc/bindings/lbvserver_feopolicy_binding.md)\n- [lbvserver_filterpolicy_binding](doc/bindings/lbvserver_filterpolicy_binding.md)\n- [lbvserver_pqpolicy_binding](doc/bindings/lbvserver_pqpolicy_binding.md)\n- [lbvserver_responderpolicy_binding](doc/bindings/lbvserver_responderpolicy_binding.md)\n- [lbvserver_rewritepolicy_binding](doc/bindings/lbvserver_rewritepolicy_binding.md)\n- [lbvserver_scpolicy_binding](doc/bindings/lbvserver_scpolicy_binding.md)\n- [lbvserver_service_binding](doc/bindings/lbvserver_service_binding.md)\n- [lbvserver_servicegroup_binding](doc/bindings/lbvserver_servicegroup_binding.md)\n- [lbvserver_spilloverpolicy_binding](doc/bindings/lbvserver_spilloverpolicy_binding.md)\n- [lbvserver_tmtrafficpolicy_binding](doc/bindings/lbvserver_tmtrafficpolicy_binding.md)\n- [lbvserver_transformpolicy_binding](doc/bindings/lbvserver_transformpolicy_binding.md)\n- [lbvserver_videooptimizationpolicy_binding](doc/bindings/lbvserver_videooptimizationpolicy_binding.md)\n- [policydataset_value_binding](doc/bindings/policydataset_value_binding.md)\n- [policypatset_pattern_binding](doc/bindings/policypatset_pattern_binding.md)\n- [policystringmap_pattern_binding](doc/bindings/policystringmap_pattern_binding.md)\n- [service_dospolicy_binding](doc/bindings/service_dospolicy_binding.md)\n- [service_lbmonitor_binding](doc/bindings/service_lbmonitor_binding.md)\n- [service_scpolicy_binding](doc/bindings/service_scpolicy_binding.md)\n- [servicegroup_lbmonitor_binding](doc/bindings/servicegroup_lbmonitor_binding.md)\n- [servicegroup_servicegroupmember_binding](doc/bindings/servicegroup_servicegroupmember_binding.md)\n- [sslvserver_ecccurve_binding](doc/bindings/sslvserver_ecccurve_binding.md)\n- [sslvserver_sslcertkey_binding](doc/bindings/sslvserver_sslcertkey_binding.md)\n- [sslvserver_sslciphersuite_binding](doc/bindings/sslvserver_sslciphersuite_binding.md)\n\n## Using `remote-exec` for one-time tasks\nTerraform is useful for maintaining desired state for a set of resources. It is less useful for tasks such as network configuration which don't change. Network configuration is like using a provisioner inside Terraform. The directory `examples/remote-exec` show examples of how Terraform can use ssh to accomplish these one-time tasks.\n\n## Building\n\n### Assumption\n\n* You have (some) experience with Terraform, the different provisioners and providers that come out of the box,\nits configuration files, tfstate files, etc.\n* You are comfortable with the Go language and its code organization.\n\n1. Install `terraform` from \u003chttps://www.terraform.io/downloads.html\u003e\n2. Install `dep` (\u003chttps://github.com/golang/dep\u003e)\n3. Check out this code: `git clone https://\u003c\u003e`\n4. Build this code using `make build`\n\n## Samples\nSee the `examples` directory for various LB topologies that can be driven from this terraform provider.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoubret%2Fterraform-provider-netscaler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoubret%2Fterraform-provider-netscaler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoubret%2Fterraform-provider-netscaler/lists"}