/*
Copyright 2016 Citrix Systems, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package citrixadc

import (
	"log"
	"sync"

	"github.com/citrix/adc-nitro-go/service"
	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
	"github.com/hashicorp/terraform-plugin-sdk/terraform"
)

type NetScalerNitroClient struct {
	Username string
	Password string
	Endpoint string
	client   *service.NitroClient
	lock     sync.Mutex
}

func Provider() terraform.ResourceProvider {
	provider := &schema.Provider{
		Schema:         providerSchema(),
		ResourcesMap:   providerResources(),
		DataSourcesMap: providerDataSources(),
	}
	provider.ConfigureFunc = func(d *schema.ResourceData) (interface{}, error) {
		terraformVersion := provider.TerraformVersion
		if terraformVersion == "" {
			// Terraform 0.12 introduced this field to the protocol
			// We can therefore assume that if it's missing it's 0.10 or 0.11
			terraformVersion = "0.11+compatible"
		}
		return providerConfigure(d, terraformVersion)
	}

	return provider
}

func providerSchema() map[string]*schema.Schema {
	return map[string]*schema.Schema{
		"username": {
			Type:        schema.TypeString,
			Required:    true,
			Description: "Username to login to the NetScaler",
			DefaultFunc: schema.EnvDefaultFunc("NS_LOGIN", "nsroot"),
		},
		"password": {
			Type:        schema.TypeString,
			Required:    true,
			Description: "Password to login to the NetScaler",
			DefaultFunc: schema.EnvDefaultFunc("NS_PASSWORD", "nsroot"),
		},
		"endpoint": {
			Type:        schema.TypeString,
			Required:    true,
			Description: "The URL to the API",
			DefaultFunc: schema.EnvDefaultFunc("NS_URL", nil),
		},
		"insecure_skip_verify": {
			Type:        schema.TypeBool,
			Optional:    true,
			Description: "Ignore validity of endpoint TLS certificate if true",
			Default:     false,
		},
		"proxied_ns": {
			Type:        schema.TypeString,
			Optional:    true,
			Description: "Target NS ip. When defined username, password and endpoint must refer to MAS.",
			DefaultFunc: schema.EnvDefaultFunc("_MPS_API_PROXY_MANAGED_INSTANCE_IP", ""),
		},
		"partition": {
			Type:        schema.TypeString,
			Optional:    true,
			Description: "Partition to target",
			DefaultFunc: schema.EnvDefaultFunc("NS_PARTITION", nil),
		},
		"do_login": {
			Type:        schema.TypeBool,
			Optional:    true,
			Description: "Perform the login operation and acquire a session token to be used for subsequent requests.",
			DefaultFunc: schema.EnvDefaultFunc("NS_DO_LOGIN", false),
		},
	}
}

func providerDataSources() map[string]*schema.Resource {
	return map[string]*schema.Resource{
		"citrixadc_nsversion":                     dataSourceCitrixAdcNsversion(),
		"citrixadc_sslcipher_sslvserver_bindings": dataSourceCitrixAdcSslcipherSslvserverBindings(),
		"citrixadc_nitro_info":                    dataSourceCitrixAdcNitroInfo(),
		"citrixadc_hanode":                        dataSourceCitrixAdcHanode(),
	}
}

func providerResources() map[string]*schema.Resource {
	return map[string]*schema.Resource{
		"citrixadc_lbmetrictable":                                                 resourceCitrixAdcLbmetrictable(),
		"citrixadc_sslservice_sslcertkey_binding":                                 resourceCitrixAdcSslservice_sslcertkey_binding(),
		"citrixadc_sslservice_sslciphersuite_binding":                             resourceCitrixAdcSslservice_sslciphersuite_binding(),
		"citrixadc_sslservice_ecccurve_binding":                                   resourceCitrixAdcSslservice_ecccurve_binding(),
		"citrixadc_sslservice":                                                    resourceCitrixAdcSslservice(),
		"citrixadc_sslfipskey":                                                    resourceCitrixAdcSslfipskey(),
		"citrixadc_sslhsmkey":                                                     resourceCitrixAdcSslhsmkey(),
		"citrixadc_sslcacertgroup_sslcertkey_binding":                             resourceCitrixAdcSslcacertgroup_sslcertkey_binding(),
		"citrixadc_lbroute6":                                                      resourceCitrixAdcLbroute6(),
		"citrixadc_sslpolicylabel":                                                resourceCitrixAdcSslpolicylabel(),
		"citrixadc_ssllogprofile":                                                 resourceCitrixAdcSsllogprofile(),
		"citrixadc_sslprofile_sslcertkey_binding":                                 resourceCitrixAdcSslprofile_sslcertkey_binding(),
		"citrixadc_sslpolicylabel_sslpolicy_binding":                              resourceCitrixAdcSslpolicylabel_sslpolicy_binding(),
		"citrixadc_lbvserver_botpolicy_binding":                                   resourceCitrixAdcLbvserver_botpolicy_binding(),
		"citrixadc_lbvserver_auditsyslogpolicy_binding":                           resourceCitrixAdcLbvserver_auditsyslogpolicy_binding(),
		"citrixadc_sslcacertgroup":                                                resourceCitrixAdcSslcacertgroup(),
		"citrixadc_botsettings":                                                   resourceCitrixAdcBotsettings(),
		"citrixadc_botpolicy":                                                     resourceCitrixAdcBotpolicy(),
		"citrixadc_lbvserver_analyticsprofile_binding":                            resourceCitrixAdcLbvserver_analyticsprofile_binding(),
		"citrixadc_lbvserver_appqoepolicy_binding":                                resourceCitrixAdcLbvserver_appqoepolicy_binding(),
		"citrixadc_lbmonitor_metric_binding":                                      resourceCitrixAdcLbmonitor_metric_binding(),
		"citrixadc_lbvserver":                                                     resourceCitrixAdcLbvserver(),
		"citrixadc_service":                                                       resourceCitrixAdcService(),
		"citrixadc_csvserver":                                                     resourceCitrixAdcCsvserver(),
		"citrixadc_cspolicy":                                                      resourceCitrixAdcCspolicy(),
		"citrixadc_csaction":                                                      resourceCitrixAdcCsaction(),
		"citrixadc_sslaction":                                                     resourceCitrixAdcSslaction(),
		"citrixadc_sslpolicy":                                                     resourceCitrixAdcSslpolicy(),
		"citrixadc_sslcertkey":                                                    resourceCitrixAdcSslcertkey(),
		"citrixadc_sslprofile":                                                    resourceCitrixAdcSslprofile(),
		"citrixadc_sslparameter":                                                  resourceCitrixAdcSslparameter(),
		"citrixadc_ssldhparam":                                                    resourceCitrixAdcSsldhparam(),
		"citrixadc_sslcipher":                                                     resourceCitrixAdcSslcipher(),
		"citrixadc_lbmonitor":                                                     resourceCitrixAdcLbmonitor(),
		"citrixadc_servicegroup":                                                  resourceCitrixAdcServicegroup(),
		"citrixadc_nsacl":                                                         resourceCitrixAdcNsacl(),
		"citrixadc_nsacls":                                                        resourceCitrixAdcNsacls(),
		"citrixadc_inat":                                                          resourceCitrixAdcInat(),
		"citrixadc_rnat":                                                          resourceCitrixAdcRnat(),
		"citrixadc_gslbsite":                                                      resourceCitrixAdcGslbsite(),
		"citrixadc_gslbvserver":                                                   resourceCitrixAdcGslbvserver(),
		"citrixadc_gslbservice":                                                   resourceCitrixAdcGslbservice(),
		"citrixadc_server":                                                        resourceCitrixAdcServer(),
		"citrixadc_responderaction":                                               resourceCitrixAdcResponderaction(),
		"citrixadc_responderpolicy":                                               resourceCitrixAdcResponderpolicy(),
		"citrixadc_responderpolicylabel":                                          resourceCitrixAdcResponderpolicylabel(),
		"citrixadc_rewriteaction":                                                 resourceCitrixAdcRewriteaction(),
		"citrixadc_rewritepolicy":                                                 resourceCitrixAdcRewritepolicy(),
		"citrixadc_rewritepolicylabel":                                            resourceCitrixAdcRewritepolicylabel(),
		"citrixadc_nsip":                                                          resourceCitrixAdcNsip(),
		"citrixadc_nsip6":                                                         resourceCitrixAdcNsip6(),
		"citrixadc_nsconfig_save":                                                 resourceCitrixAdcNsconfigSave(),
		"citrixadc_nsconfig_clear":                                                resourceCitrixAdcNsconfigClear(),
		"citrixadc_nsconfig_update":                                               resourceCitrixAdcNsconfigUpdate(),
		"citrixadc_ipset":                                                         resourceCitrixAdcIpset(),
		"citrixadc_route":                                                         resourceCitrixAdcRoute(),
		"citrixadc_linkset":                                                       resourceCitrixAdcLinkset(),
		"citrixadc_nsfeature":                                                     resourceCitrixAdcNsfeature(),
		"citrixadc_systemuser":                                                    resourceCitrixAdcSystemuser(),
		"citrixadc_systemgroup":                                                   resourceCitrixAdcSystemgroup(),
		"citrixadc_systemcmdpolicy":                                               resourceCitrixAdcSystemcmdpolicy(),
		"citrixadc_interface":                                                     resourceCitrixAdcInterface(),
		"citrixadc_nstcpprofile":                                                  resourceCitrixAdcNstcpprofile(),
		"citrixadc_nshttpprofile":                                                 resourceCitrixAdcNshttpprofile(),
		"citrixadc_nslicense":                                                     resourceCitrixAdcNslicense(),
		"citrixadc_cluster":                                                       resourceCitrixAdcCluster(),
		"citrixadc_clusterfiles_syncer":                                           resourceCitrixAdcClusterfilesSyncer(),
		"citrixadc_systemfile":                                                    resourceCitrixAdcSystemfile(),
		"citrixadc_auditmessageaction":                                            resourceCitrixAdcAuditmessageaction(),
		"citrixadc_auditsyslogaction":                                             resourceCitrixAdcAuditsyslogaction(),
		"citrixadc_auditsyslogpolicy":                                             resourceCitrixAdcAuditsyslogpolicy(),
		"citrixadc_rebooter":                                                      resourceCitrixAdcRebooter(),
		"citrixadc_installer":                                                     resourceCitrixAdcInstaller(),
		"citrixadc_pinger":                                                        resourceCitrixAdcPinger(),
		"citrixadc_nsrpcnode":                                                     resourceCitrixAdcNsrpcnode(),
		"citrixadc_routerdynamicrouting":                                          resourceCitrixAdcRouterdynamicrouting(),
		"citrixadc_policyexpression":                                              resourceCitrixAdcPolicyexpression(),
		"citrixadc_systemextramgmtcpu":                                            resourceCitrixAdcSystemextramgmtcpu(),
		"citrixadc_netprofile":                                                    resourceCitrixAdcNetprofile(),
		"citrixadc_servicegroup_lbmonitor_binding":                                resourceCitrixAdcServicegroup_lbmonitor_binding(),
		"citrixadc_nsparam":                                                       resourceCitrixAdcNsparam(),
		"citrixadc_sslvserver_sslpolicy_binding":                                  resourceCitrixAdcSslvserver_sslpolicy_binding(),
		"citrixadc_sslprofile_sslcipher_binding":                                  resourceCitrixAdcSslprofile_sslcipher_binding(),
		"citrixadc_policydataset":                                                 resourceCitrixAdcPolicydataset(),
		"citrixadc_policydataset_value_binding":                                   resourceCitrixAdcPolicydataset_value_binding(),
		"citrixadc_password_resetter":                                             resourceCitrixAdcPasswordResetter(),
		"citrixadc_csvserver_cspolicy_binding":                                    resourceCitrixAdcCsvserver_cspolicy_binding(),
		"citrixadc_appfwprofile":                                                  resourceCitrixAdcAppfwprofile(),
		"citrixadc_appfwpolicy":                                                   resourceCitrixAdcAppfwpolicy(),
		"citrixadc_appfwfieldtype":                                                resourceCitrixAdcAppfwfieldtype(),
		"citrixadc_appfwpolicylabel":                                              resourceCitrixAdcAppfwpolicylabel(),
		"citrixadc_appfwjsoncontenttype":                                          resourceCitrixAdcAppfwjsoncontenttype(),
		"citrixadc_appfwxmlcontenttype":                                           resourceCitrixAdcAppfwxmlcontenttype(),
		"citrixadc_appfwprofile_starturl_binding":                                 resourceCitrixAdcAppfwprofileStarturlBinding(),
		"citrixadc_appfwprofile_denyurl_binding":                                  resourceCitrixAdcAppfwprofileDenyurlBinding(),
		"citrixadc_nslicenseserver":                                               resourceCitrixAdcNslicenseserver(),
		"citrixadc_nscapacity":                                                    resourceCitrixAdcNscapacity(),
		"citrixadc_lbvserver_service_binding":                                     resourceCitrixAdcLbvserver_service_binding(),
		"citrixadc_policystringmap":                                               resourceCitrixAdcPolicystringmap(),
		"citrixadc_policystringmap_pattern_binding":                               resourceCitrixAdcPolicystringmap_pattern_binding(),
		"citrixadc_transformprofile":                                              resourceCitrixAdcTransformprofile(),
		"citrixadc_transformaction":                                               resourceCitrixAdcTransformaction(),
		"citrixadc_transformpolicy":                                               resourceCitrixAdcTransformpolicy(),
		"citrixadc_lbvserver_transformpolicy_binding":                             resourceCitrixAdcLbvserver_transformpolicy_binding(),
		"citrixadc_csvserver_transformpolicy_binding":                             resourceCitrixAdcCsvserver_transformpolicy_binding(),
		"citrixadc_sslvserver_sslcertkey_binding":                                 resourceCitrixAdcSslvserver_sslcertkey_binding(),
		"citrixadc_servicegroup_servicegroupmember_binding":                       resourceCitrixAdcServicegroup_servicegroupmember_binding(),
		"citrixadc_quicbridgeprofile":                                             resourceCitrixAdcQuicbridgeprofile(),
		"citrixadc_policypatset":                                                  resourceCitrixAdcPolicypatset(),
		"citrixadc_policypatset_pattern_binding":                                  resourceCitrixAdcPolicypatset_pattern_binding(),
		"citrixadc_filterpolicy":                                                  resourceCitrixAdcFilterpolicy(),
		"citrixadc_lbvserver_filterpolicy_binding":                                resourceCitrixAdcLbvserver_filterpolicy_binding(),
		"citrixadc_csvserver_filterpolicy_binding":                                resourceCitrixAdcCsvserver_filterpolicy_binding(),
		"citrixadc_cmppolicy":                                                     resourceCitrixAdcCmppolicy(),
		"citrixadc_lbvserver_cmppolicy_binding":                                   resourceCitrixAdcLbvserver_cmppolicy_binding(),
		"citrixadc_csvserver_cmppolicy_binding":                                   resourceCitrixAdcCsvserver_cmppolicy_binding(),
		"citrixadc_lbvserver_responderpolicy_binding":                             resourceCitrixAdcLbvserver_responderpolicy_binding(),
		"citrixadc_csvserver_responderpolicy_binding":                             resourceCitrixAdcCsvserver_responderpolicy_binding(),
		"citrixadc_csvserver_rewritepolicy_binding":                               resourceCitrixAdcCsvserver_rewritepolicy_binding(),
		"citrixadc_lbvserver_rewritepolicy_binding":                               resourceCitrixAdcLbvserver_rewritepolicy_binding(),
		"citrixadc_nsvpxparam":                                                    resourceCitrixAdcNsvpxparam(),
		"citrixadc_nstcpparam":                                                    resourceCitrixAdcNstcpparam(),
		"citrixadc_dnsnsrec":                                                      resourceCitrixAdcDnsnsrec(),
		"citrixadc_dnssoarec":                                                     resourceCitrixAdcDnssoarec(),
		"citrixadc_lbvserver_appfwpolicy_binding":                                 resourceCitrixAdcLbvserver_appfwpolicy_binding(),
		"citrixadc_csvserver_appfwpolicy_binding":                                 resourceCitrixAdcCsvserver_appfwpolicy_binding(),
		"citrixadc_appfwprofile_cookieconsistency_binding":                        resourceCitrixAdcAppfwprofile_cookieconsistency_binding(),
		"citrixadc_appfwprofile_crosssitescripting_binding":                       resourceCitrixAdcAppfwprofile_crosssitescripting_binding(),
		"citrixadc_appfwprofile_sqlinjection_binding":                             resourceCitrixAdcAppfwprofile_sqlinjection_binding(),
		"citrixadc_lbvserver_servicegroup_binding":                                resourceCitrixAdcLbvserver_servicegroup_binding(),
		"citrixadc_lbparameter":                                                   resourceCitrixAdcLbparameter(),
		"citrixadc_iptunnel":                                                      resourceCitrixAdcIptunnel(),
		"citrixadc_vlan":                                                          resourceCitrixAdcVlan(),
		"citrixadc_vlan_interface_binding":                                        resourceCitrixAdcVlan_interface_binding(),
		"citrixadc_vlan_nsip_binding":                                             resourceCitrixAdcVlan_nsip_binding(),
		"citrixadc_nsmode":                                                        resourceCitrixAdcNsmode(),
		"citrixadc_botprofile":                                                    resourceCitrixAdcBotprofile(),
		"citrixadc_botpolicylabel":                                                resourceCitrixAdcBotpolicylabel(),
		"citrixadc_lbsipparameters":                                               resourceCitrixAdcLbsipparameters(),
		"citrixadc_lbprofile":                                                     resourceCitrixAdcLbprofile(),
		"citrixadc_lbvserver_contentinspectionpolicy_binding":                     resourceCitrixAdcLbvserver_contentinspectionpolicy_binding(),
		"citrixadc_lbvserver_tmtrafficpolicy_binding":                             resourceCitrixAdcLbvserver_tmtrafficpolicy_binding(),
		"citrixadc_lbvserver_feopolicy_binding":                                   resourceCitrixAdcLbvserver_feopolicy_binding(),
		"citrixadc_lbvserver_videooptimizationdetectionpolicy_binding":            resourceCitrixAdcLbvserver_videooptimizationdetectionpolicy_binding(),
		"citrixadc_lbvserver_videooptimizationpacingpolicy_binding":               resourceCitrixAdcLbvserver_videooptimizationpacingpolicy_binding(),
		"citrixadc_lbvserver_spilloverpolicy_binding":                             resourceCitrixAdcLbvserver_spilloverpolicy_binding(),
		"citrixadc_lbvserver_dnspolicy64_binding":                                 resourceCitrixAdcLbvserver_dnspolicy64_binding(),
		"citrixadc_lbmonitor_sslcertkey_binding":                                  resourceCitrixAdcLbmonitor_sslcertkey_binding(),
		"citrixadc_lbvserver_authorizationpolicy_binding":                         resourceCitrixAdcLbvserver_authorizationpolicy_binding(),
		"citrixadc_lbvserver_appflowpolicy_binding":                               resourceCitrixAdcLbvserver_appflowpolicy_binding(),
		"citrixadc_lbvserver_cachepolicy_binding":                                 resourceCitrixAdcLbvserver_cachepolicy_binding(),
		"citrixadc_lbroute":                                                       resourceCitrixAdcLbroute(),
		"citrixadc_lbgroup":                                                       resourceCitrixAdcLbgroup(),
		"citrixadc_lbgroup_lbvserver_binding":                                     resourceCitrixAdcLbgroup_lbvserver_binding(),
		"citrixadc_ssldtlsprofile":                                                resourceCitrixAdcSsldtlsprofile(),
		"citrixadc_sslocspresponder":                                              resourceCitrixAdcSslocspresponder(),
		"citrixadc_csparameter":                                                   resourceCitrixAdcCsparameter(),
		"citrixadc_cspolicylabel":                                                 resourceCitrixAdcCspolicylabel(),
		"citrixadc_csvserver_analyticsprofile_binding":                            resourceCitrixAdcCsvserver_analyticsprofile_binding(),
		"citrixadc_csvserver_appqoepolicy_binding":                                resourceCitrixAdcCsvserver_appqoepolicy_binding(),
		"citrixadc_sslvserver":                                                    resourceCitrixAdcSslvserver(),
		"citrixadc_sslservicegroup_sslcertkey_binding":                            resourceCitrixAdcSslservicegroup_sslcertkey_binding(),
		"citrixadc_sslvserver_sslciphersuite_binding":                             resourceCitrixAdcSslvserver_sslciphersuite_binding(),
		"citrixadc_csvserver_botpolicy_binding":                                   resourceCitrixAdcCsvserver_botpolicy_binding(),
		"citrixadc_csvserver_auditsyslogpolicy_binding":                           resourceCitrixAdcCsvserver_auditsyslogpolicy_binding(),
		"citrixadc_csvserver_auditnslogpolicy_binding":                            resourceCitrixAdcCsvserver_auditnslogpolicy_binding(),
		"citrixadc_csvserver_authorizationpolicy_binding":                         resourceCitrixAdcCsvserver_authorizationpolicy_binding(),
		"citrixadc_csvserver_cachepolicy_binding":                                 resourceCitrixAdcCsvserver_cachepolicy_binding(),
		"citrixadc_csvserver_contentinspectionpolicy_binding":                     resourceCitrixAdcCsvserver_contentinspectionpolicy_binding(),
		"citrixadc_csvserver_feopolicy_binding":                                   resourceCitrixAdcCsvserver_feopolicy_binding(),
		"citrixadc_csvserver_gslbvserver_binding":                                 resourceCitrixAdcCsvserver_gslbvserver_binding(),
		"citrixadc_csvserver_spilloverpolicy_binding":                             resourceCitrixAdcCsvserver_spilloverpolicy_binding(),
		"citrixadc_csvserver_tmtrafficpolicy_binding":                             resourceCitrixAdcCsvserver_tmtrafficpolicy_binding(),
		"citrixadc_csvserver_vpnvserver_binding":                                  resourceCitrixAdcCsvserver_vpnvserver_binding(),
		"citrixadc_policyhttpcallout":                                             resourceCitrixAdcPolicyhttpcallout(),
		"citrixadc_policymap":                                                     resourceCitrixAdcPolicymap(),
		"citrixadc_policyparam":                                                   resourceCitrixAdcPolicyparam(),
		"citrixadc_sslservicegroup":                                               resourceCitrixAdcSslservicegroup(),
		"citrixadc_rewriteparam":                                                  resourceCitrixAdcRewriteparam(),
		"citrixadc_rewritepolicylabel_rewritepolicy_binding":                      resourceCitrixAdcRewritepolicylabel_rewritepolicy_binding(),
		"citrixadc_sslservicegroup_ecccurve_binding":                              resourceCitrixAdcSslservicegroup_ecccurve_binding(),
		"citrixadc_sslvserver_ecccurve_binding":                                   resourceCitrixAdcSslvserver_ecccurve_binding(),
		"citrixadc_responderpolicylabel_responderpolicy_binding":                  resourceCitrixAdcResponderpolicylabel_responderpolicy_binding(),
		"citrixadc_responderparam":                                                resourceCitrixAdcResponderparam(),
		"citrixadc_vpneula":                                                       resourceCitrixAdcVpneula(),
		"citrixadc_vpnclientlessaccesspolicy":                                     resourceCitrixAdcVpnclientlessaccesspolicy(),
		"citrixadc_vpnalwaysonprofile":                                            resourceCitrixAdcVpnalwaysonprofile(),
		"citrixadc_rewriteglobal_rewritepolicy_binding":                           resourceCitrixAdcRewriteglobal_rewritepolicy_binding(),
		"citrixadc_vpnformssoaction":                                              resourceCitrixAdcVpnformssoaction(),
		"citrixadc_vpnglobal_appcontroller_binding":                               resourceCitrixAdcVpnglobal_appcontroller_binding(),
		"citrixadc_vpnclientlessaccessprofile":                                    resourceCitrixAdcVpnclientlessaccessprofile(),
		"citrixadc_filterglobal_filterpolicy_binding":                             resourceCitrixAdcFilterglobal_filterpolicy_binding(),
		"citrixadc_dnsparameter":                                                  resourceCitrixAdcDnsparameter(),
		"citrixadc_appfwsettings":                                                 resourceCitrixAdcAppfwsettings(),
		"citrixadc_responderhtmlpage":                                             resourceCitrixAdcResponderhtmlpage(),
		"citrixadc_authorizationpolicy":                                           resourceCitrixAdcAuthorizationpolicy(),
		"citrixadc_vpnurl":                                                        resourceCitrixAdcVpnurl(),
		"citrixadc_vpnsessionaction":                                              resourceCitrixAdcVpnsessionaction(),
		"citrixadc_vpnvserver":                                                    resourceCitrixAdcVpnvserver(),
		"citrixadc_vpnsessionpolicy":                                              resourceCitrixAdcVpnsessionpolicy(),
		"citrixadc_vpntrafficaction":                                              resourceCitrixAdcVpntrafficaction(),
		"citrixadc_vpnurlaction":                                                  resourceCitrixAdcVpnurlaction(),
		"citrixadc_vpnvserver_vpnsessionpolicy_binding":                           resourceCitrixAdcVpnvserver_vpnsessionpolicy_binding(),
		"citrixadc_vpntrafficpolicy":                                              resourceCitrixAdcVpntrafficpolicy(),
		"citrixadc_vpnurlpolicy":                                                  resourceCitrixAdcVpnurlpolicy(),
		"citrixadc_authenticationvserver":                                         resourceCitrixAdcAuthenticationvserver(),
		"citrixadc_authenticationldapaction":                                      resourceCitrixAdcAuthenticationldapaction(),
		"citrixadc_vpnglobal_sslcertkey_binding":                                  resourceCitrixAdcVpnglobal_sslcertkey_binding(),
		"citrixadc_vpngobal_vpntrafficpolicy_binding":                             resourceCitrixAdcVpnglobal_vpntrafficpolicy_binding(),
		"citrixadc_vpnglobal_vpnsessionpolicy_binding":                            resourceCitrixAdcVpnglobal_vpnsessionpolicy_binding(),
		"citrixadc_authenticationauthnprofile":                                    resourceCitrixAdcAuthenticationauthnprofile(),
		"citrixadc_authenticationpolicylabel":                                     resourceCitrixAdcAuthenticationpolicylabel(),
		"citrixadc_authenticationpolicy":                                          resourceCitrixAdcAuthenticationpolicy(),
		"citrixadc_authenticationvserver_authenticationpolicy_binding":            resourceCitrixAdcAuthenticationvserver_authenticationpolicy_binding(),
		"citrixadc_authenticationpolicylabel_authenticationpolicy_binding":        resourceCitrixAdcAuthenticationpolicylabel_authenticationpolicy_binding(),
		"citrixadc_vpnglobal_authenticationldappolicy_binding":                    resourceCitrixAdcVpnglobal_authenticationldappolicy_binding(),
		"citrixadc_vpnglobal_authenticationlocalpolicy_binding":                   resourceCitrixAdcVpnglobal_authenticationlocalpolicy_binding(),
		"citrixadc_vpnintranetapplication":                                        resourceCitrixAdcVpnintranetapplication(),
		"citrixadc_vpnpcoipvserverprofile":                                        resourceCitrixAdcVpnpcoipvserverprofile(),
		"citrixadc_vpnpcoipprofile":                                               resourceCitrixAdcVpnpcoipprofile(),
		"citrixadc_vpnglobal_vpnurl_binding":                                      resourceCitrixAdcVpnglobal_vpnurl_binding(),
		"citrixadc_vpnglobal_vpnurlpolicy_binding":                                resourceCitrixAdcVpnglobal_vpnurlpolicy_binding(),
		"citrixadc_vpnglobal_vpneula_binding":                                     resourceCitrixAdcVpnglobal_vpneula_binding(),
		"citrixadc_vpnvserver_authenticationldappolicy_binding":                   resourceCitrixAdcVpnvserver_authenticationldappolicy_binding(),
		"citrixadc_vpnvserver_authenticationradiuspolicy_binding":                 resourceCitrixAdcVpnvserver_authenticationradiuspolicy_binding(),
		"citrixadc_vpnnexthopserver":                                              resourceCitrixAdcVpnnexthopserver(),
		"citrixadc_vpnportaltheme":                                                resourceCitrixAdcVpnportaltheme(),
		"citrixadc_vpnsamlssoprofile":                                             resourceCitrixAdcVpnsamlssoprofile(),
		"citrixadc_vpnglobal_auditsyslogpolicy_binding":                           resourceCitrixAdcVpnglobal_auditsyslogpolicy_binding(),
		"citrixadc_vpnglobal_vpnintranetapplication_binding":                      resourceCitrixAdcVpnglobal_vpnintranetapplication_binding(),
		"citrixadc_vpnvserver_auditsyslogpolicy_binding":                          resourceCitrixAdcVpnvserver_auditsyslogpolicy_binding(),
		"citrixadc_vpnvserver_auditnslogpolicy_binding":                           resourceCitrixAdcVpnvserver_auditnslogpolicy_binding(),
		"citrixadc_vpnvserver_appflowpolicy_binding":                              resourceCitrixAdcVpnvserver_appflowpolicy_binding(),
		"citrixadc_vpnvserver_analyticsprofile_binding":                           resourceCitrixAdcVpnvserver_analyticsprofile_binding(),
		"citrixadc_vpnvserver_vpneula_binding":                                    resourceCitrixAdcVpnvserver_vpneula_binding(),
		"citrixadc_vpnvserver_vpnintranetapplication_binding":                     resourceCitrixAdcVpnvserver_vpnintranetapplication_binding(),
		"citrixadc_vpnvserver_vpnnexthopserver_binding":                           resourceCitrixAdcVpnvserver_vpnnexthopserver_binding(),
		"citrixadc_vpnvserver_vpnportaltheme_binding":                             resourceCitrixAdcVpnvserver_vpnportaltheme_binding(),
		"citrixadc_vpnvserver_vpntrafficpolicy_binding":                           resourceCitrixAdcVpnvserver_vpntrafficpolicy_binding(),
		"citrixadc_hafailover":                                                    resourceCitrixAdcHafailover(),
		"citrixadc_vpnvserver_vpnurl_binding":                                     resourceCitrixAdcVpnvserver_vpnurl_binding(),
		"citrixadc_vpnvserver_rewritepolicy_binding":                              resourceCitrixAdcVpnvserver_rewritepolicy_binding(),
		"citrixadc_vpnvserver_responderpolicy_binding":                            resourceCitrixAdcVpnvserver_responderpolicy_binding(),
		"citrixadc_vpnvserver_cspolicy_binding":                                   resourceCitrixAdcVpnvserver_cspolicy_binding(),
		"citrixadc_authenticationoauthaction":                                     resourceCitrixAdcAuthenticationoauthaction(),
		"citrixadc_authenticationldappolicy":                                      resourceCitrixAdcAuthenticationldappolicy(),
		"citrixadc_authenticationlocalpolicy":                                     resourceCitrixAdcAuthenticationlocalpolicy(),
		"citrixadc_authenticationnoauthaction":                                    resourceCitrixAdcAuthenticationnoauthaction(),
		"citrixadc_authenticationsamlaction":                                      resourceCitrixAdcAuthenticationsamlaction(),
		"citrixadc_vpnvserver_cachepolicy_binding":                                resourceCitrixAdcVpnvserver_cachepolicy_binding(),
		"citrixadc_vpnvserver_appcontroller_binding":                              resourceCitrixAdcVpnvserver_appcontroller_binding(),
		"citrixadc_authenticationepaaction":                                       resourceCitrixAdcAuthenticationepaaction(),
		"citrixadc_authenticationloginschema":                                     resourceCitrixAdcAuthenticationloginschema(),
		"citrixadc_authenticationdfaaction":                                       resourceCitrixAdcAuthenticationdfaaction(),
		"citrixadc_authenticationsamlpolicy":                                      resourceCitrixAdcAuthenticationsamlpolicy(),
		"citrixadc_authenticationradiusaction":                                    resourceCitrixAdcAuthenticationradiusaction(),
		"citrixadc_authenticationdfapolicy":                                       resourceCitrixAdcAuthenticationdfapolicy(),
		"citrixadc_authenticationemailaction":                                     resourceCitrixAdcAuthenticationemailaction(),
		"citrixadc_authenticationwebauthaction":                                   resourceCitrixAdcAuthenticationwebauthaction(),
		"citrixadc_authenticationcaptchaaction":                                   resourceCitrixAdcAuthenticationcaptchaaction(),
		"citrixadc_authenticationradiuspolicy":                                    resourceCitrixAdcAuthenticationradiuspolicy(),
		"citrixadc_authenticationtacacsaction":                                    resourceCitrixAdcAuthenticationtacacsaction(),
		"citrixadc_authenticationstorefrontauthaction":                            resourceCitrixAdcAuthenticationstorefrontauthaction(),
		"citrixadc_authenticationwebauthpolicy":                                   resourceCitrixAdcAuthenticationwebauthpolicy(),
		"citrixadc_authenticationcitrixauthaction":                                resourceCitrixAdcAuthenticationcitrixauthaction(),
		"citrixadc_authenticationtacacspolicy":                                    resourceCitrixAdcAuthenticationtacacspolicy(),
		"citrixadc_authenticationoauthidpprofile":                                 resourceCitrixAdcAuthenticationoauthidpprofile(),
		"citrixadc_authenticationcertaction":                                      resourceCitrixAdcAuthenticationcertaction(),
		"citrixadc_authenticationpushservice":                                     resourceCitrixAdcAuthenticationpushservice(),
		"citrixadc_authenticationoauthidppolicy":                                  resourceCitrixAdcAuthenticationoauthidppolicy(),
		"citrixadc_authenticationcertpolicy":                                      resourceCitrixAdcAuthenticationcertpolicy(),
		"citrixadc_authenticationnegotiateaction":                                 resourceCitrixAdcAuthenticationnegotiateaction(),
		"citrixadc_authenticationloginschemapolicy":                               resourceCitrixAdcAuthenticationloginschemapolicy(),
		"citrixadc_vpnvserver_authenticationdfapolicy_binding":                    resourceCitrixAdcVpnvserver_authenticationdfapolicy_binding(),
		"citrixadc_vpnglobal_vpnnexthopserver_binding":                            resourceCitrixAdcVpnglobal_vpnnexthopserver_binding(),
		"citrixadc_vpnglobal_vpnportaltheme_binding":                              resourceCitrixAdcVpnglobal_vpnportaltheme_binding(),
		"citrixadc_vpnglobal_authenticationcertpolicy_binding":                    resourceCitrixAdcVpnglobal_authenticationcertpolicy_binding(),
		"citrixadc_vpnglobal_authenticationradiuspolicy_binding":                  resourceCitrixAdcVpnglobal_authenticationradiuspolicy_binding(),
		"citrixadc_vpnglobal_authenticationsamlpolicy_binding":                    resourceCitrixAdcVpnglobal_authenticationsamlpolicy_binding(),
		"citrixadc_vpnglobal_authenticationtacacspolicy_binding":                  resourceCitrixAdcVpnglobal_authenticationtacacspolicy_binding(),
		"citrixadc_vpnvserver_authenticationcertpolicy_binding":                   resourceCitrixAdcVpnvserver_authenticationcertpolicy_binding(),
		"citrixadc_vpnvserver_authenticationlocalpolicy_binding":                  resourceCitrixAdcVpnvserver_authenticationlocalpolicy_binding(),
		"citrixadc_vpnvserver_authenticationsamlpolicy_binding":                   resourceCitrixAdcVpnvserver_authenticationsamlpolicy_binding(),
		"citrixadc_vpnvserver_authenticationtacacspolicy_binding":                 resourceCitrixAdcVpnvserver_authenticationtacacspolicy_binding(),
		"citrixadc_vpnvserver_authenticationwebauthpolicy_binding":                resourceCitrixAdcVpnvserver_authenticationwebauthpolicy_binding(),
		"citrixadc_authenticationvserver_vpnportaltheme_binding":                  resourceCitrixAdcAuthenticationvserver_vpnportaltheme_binding(),
		"citrixadc_authenticationvserver_authenticationwebauthpolicy_binding":     resourceCitrixAdcAuthenticationvserver_authenticationwebauthpolicy_binding(),
		"citrixadc_authenticationvserver_authenticationcertpolicy_binding":        resourceCitrixAdcAuthenticationvserver_authenticationcertpolicy_binding(),
		"citrixadc_authenticationvserver_rewritepolicy_binding":                   resourceCitrixAdcAuthenticationvserver_rewritepolicy_binding(),
		"citrixadc_authenticationvserver_authenticationldappolicy_binding":        resourceCitrixAdcAuthenticationvserver_authenticationldappolicy_binding(),
		"citrixadc_authenticationvserver_auditsyslogpolicy_binding":               resourceCitrixAdcAuthenticationvserver_auditsyslogpolicy_binding(),
		"citrixadc_authenticationvserver_authenticationsamlpolicy_binding":        resourceCitrixAdcAuthenticationvserver_authenticationsamlpolicy_binding(),
		"citrixadc_authenticationvserver_authenticationtacacspolicy_binding":      resourceCitrixAdcAuthenticationvserver_authenticationtacacspolicy_binding(),
		"citrixadc_authenticationvserver_authenticationlocalpolicy_binding":       resourceCitrixAdcAuthenticationvserver_authenticationlocalpolicy_binding(),
		"citrixadc_authenticationvserver_cspolicy_binding":                        resourceCitrixAdcAuthenticationvserver_cspolicy_binding(),
		"citrixadc_authenticationvserver_responderpolicy_binding":                 resourceCitrixAdcAuthenticationvserver_responderpolicy_binding(),
		"citrixadc_authenticationvserver_authenticationradiuspolicy_binding":      resourceCitrixAdcAuthenticationvserver_authenticationradiuspolicy_binding(),
		"citrixadc_authenticationvserver_auditnslogpolicy_binding":                resourceCitrixAdcAuthenticationvserver_auditnslogpolicy_binding(),
		"citrixadc_vpnglobal_domain_binding":                                      resourceCitrixAdcVpnglobal_domain_binding(),
		"citrixadc_vpnglobal_intranetip_binding":                                  resourceCitrixAdcVpnglobal_intranetip_binding(),
		"citrixadc_vpnglobal_sharefileserver_binding":                             resourceCitrixAdcVpnglobal_sharefileserver_binding(),
		"citrixadc_vpnglobal_vpnclientlessaccesspolicy_binding":                   resourceCitrixAdcVpnglobal_vpnclientlessaccesspolicy_binding(),
		"citrixadc_vpnvserver_intranetip_binding":                                 resourceCitrixAdcVpnvserver_intranetip_binding(),
		"citrixadc_vpnvserver_sharefileserver_binding":                            resourceCitrixAdcVpnvserver_sharefileserver_binding(),
		"citrixadc_authenticationnegotiatepolicy":                                 resourceCitrixAdcAuthenticationnegotiatepolicy(),
		"citrixadc_vpnvserver_aaapreauthenticationpolicy_binding":                 resourceCitrixAdcVpnvserver_aaapreauthenticationpolicy_binding(),
		"citrixadc_vpnvserver_icapolicy_binding":                                  resourceCitrixAdcVpnvserver_icapolicy_binding(),
		"citrixadc_authenticationvserver_authenticationloginschemapolicy_binding": resourceCitrixAdcAuthenticationvserver_authenticationloginschemapolicy_binding(),
		"citrixadc_vpnvserver_authenticationnegotiatepolicy_binding":              resourceCitrixAdcVpnvserver_authenticationnegotiatepolicy_binding(),
		"citrixadc_authenticationvserver_authenticationnegotiatepolicy_binding":   resourceCitrixAdcAuthenticationvserver_authenticationnegotiatepolicy_binding(),
		"citrixadc_vpnvserver_authenticationoauthidppolicy_binding":               resourceCitrixAdcVpnvserver_authenticationoauthidppolicy_binding(),
		"citrixadc_authenticationsamlidpprofile":                                  resourceCitrixAdcAuthenticationsamlidpprofile(),
		"citrixadc_authenticationvserver_tmsessionpolicy_binding":                 resourceCitrixAdcAuthenticationvserver_tmsessionpolicy_binding(),
		"citrixadc_authenticationvserver_authenticationoauthidppolicy_binding":    resourceCitrixAdcAuthenticationvserver_authenticationoauthidppolicy_binding(),
		"citrixadc_vpnvserver_vpnurlpolicy_binding":                               resourceCitrixAdcVpnvserver_vpnurlpolicy_binding(),
		"citrixadc_systemglobal_authenticationldappolicy_binding":                 resourceCitrixAdcSystemglobal_authenticationldappolicy_binding(),
		"citrixadc_vpnvserver_feopolicy_binding":                                  resourceCitrixAdcVpnvserver_feopolicy_binding(),
		"citrixadc_authenticationsamlidppolicy":                                   resourceCitrixAdcAuthenticationsamlidppolicy(),
		"citrixadc_vpnvserver_authenticationloginschemapolicy_binding":            resourceCitrixAdcVpnvserver_authenticationloginschemapolicy_binding(),
		"citrixadc_vpnvserver_vpnclientlessaccesspolicy_binding":                  resourceCitrixAdcVpnvserver_vpnclientlessaccesspolicy_binding(),
		"citrixadc_vpnparameter":                                                  resourceCitrixAdcVpnparameter(),
		"citrixadc_vpnvserver_staserver_binding":                                  resourceCitrixAdcVpnvserver_staserver_binding(),
		"citrixadc_vpnglobal_staserver_binding":                                   resourceCitrixAdcVpnglobal_staserver_binding(),
		"citrixadc_vpnglobal_authenticationnegotiatepolicy_binding":               resourceCitrixAdcVpnglobal_authenticationnegotiatepolicy_binding(),
		"citrixadc_vpnglobal_intranetip6_binding":                                 resourceCitrixAdcVpnglobal_intranetip6_binding(),
		"citrixadc_vpnvserver_intranetip6_binding":                                resourceCitrixAdcVpnvserver_intranetip6_binding(),
		"citrixadc_vpnvserver_authenticationsamlidppolicy_binding":                resourceCitrixAdcVpnvserver_authenticationsamlidppolicy_binding(),
		"citrixadc_authenticationvserver_authenticationsamlidppolicy_binding":     resourceCitrixAdcAuthenticationvserver_authenticationsamlidppolicy_binding(),
		"citrixadc_authenticationvserver_cachepolicy_binding":                     resourceCitrixAdcAuthenticationvserver_cachepolicy_binding(),
		"citrixadc_vxlan":                                                         resourceCitrixAdcVxlan(),
		"citrixadc_vxlanvlanmap":                                                  resourceCitrixAdcVxlanvlanmap(),
		"citrixadc_appfwconfidfield":                                              resourceCitrixAdcAppfwconfidfield(),
		"citrixadc_vxlan_nsip_binding":                                            resourceCitrixAdcVxlan_nsip_binding(),
		"citrixadc_vxlan_nsip6_binding":                                           resourceCitrixAdcVxlan_nsip6_binding(),
		"citrixadc_vxlanvlanmap_vxlan_binding":                                    resourceCitrixAdcVxlanvlanmap_vxlan_binding(),
		"citrixadc_botpolicylabel_botpolicy_binding":                              resourceCitrixAdcBotpolicylabel_botpolicy_binding(),
		"citrixadc_botprofile_captcha_binding":                                    resourceCitrixAdcBotprofile_captcha_binding(),
		"citrixadc_botprofile_tps_binding":                                        resourceCitrixAdcBotprofile_tps_binding(),
		"citrixadc_botprofile_trapinsertionurl_binding":                           resourceCitrixAdcBotprofile_trapinsertionurl_binding(),
		"citrixadc_botprofile_logexpression_binding":                              resourceCitrixAdcBotprofile_logexpression_binding(),
		"citrixadc_botprofile_whitelist_binding":                                  resourceCitrixAdcBotprofile_whitelist_binding(),
		"citrixadc_filteraction":                                                  resourceCitrixAdcFilteraction(),
		"citrixadc_vxlan_srcip_binding":                                           resourceCitrixAdcVxlan_srcip_binding(),
		"citrixadc_botprofile_ipreputation_binding":                               resourceCitrixAdcBotprofile_ipreputation_binding(),
		"citrixadc_botprofile_blacklist_binding":                                  resourceCitrixAdcBotprofile_blacklist_binding(),
		"citrixadc_botprofile_ratelimit_binding":                                  resourceCitrixAdcBotprofile_ratelimit_binding(),
		"citrixadc_botglobal_botpolicy_binding":                                   resourceCitrixAdcBotglobal_botpolicy_binding(),
		"citrixadc_appfwprofile_contenttype_binding":                              resourceCitrixAdcAppfwprofile_contenttype_binding(),
		"citrixadc_appfwprofile_excluderescontenttype_binding":                    resourceCitrixAdcAppfwprofile_excluderescontenttype_binding(),
		"citrixadc_appfwglobal_appfwpolicy_binding":                               resourceCitrixAdcAppfwglobal_appfwpolicy_binding(),
		"citrixadc_appfwprofile_csrftag_binding":                                  resourceCitrixAdcAppfwprofile_csrftag_binding(),
		"citrixadc_appfwglobal_auditsyslogpolicy_binding":                         resourceCitrixAdcAppfwglobal_auditsyslogpolicy_binding(),
		"citrixadc_appfwglobal_auditnslogpolicy_binding":                          resourceCitrixAdcAppfwglobal_auditnslogpolicy_binding(),
		"citrixadc_appfwprofile_creditcardnumber_binding":                         resourceCitrixAdcAppfwprofile_creditcardnumber_binding(),
		"citrixadc_appfwpolicylabel_appfwpolicy_binding":                          resourceCitrixAdcAppfwpolicylabel_appfwpolicy_binding(),
		"citrixadc_appfwprofile_cmdinjection_binding":                             resourceCitrixAdcAppfwprofile_cmdinjection_binding(),
		"citrixadc_appfwprofile_xmlxss_binding":                                   resourceCitrixAdcAppfwprofile_xmlxss_binding(),
		"citrixadc_appfwprofile_fieldformat_binding":                              resourceCitrixAdcAppfwprofile_fieldformat_binding(),
		"citrixadc_appfwprofile_safeobject_binding":                               resourceCitrixAdcAppfwprofile_safeobject_binding(),
		"citrixadc_appfwprofile_xmlwsiurl_binding":                                resourceCitrixAdcAppfwprofile_xmlwsiurl_binding(),
		"citrixadc_appfwprofile_jsoncmdurl_binding":                               resourceCitrixAdcAppfwprofile_jsoncmdurl_binding(),
		"citrixadc_botsignature":                                                  resourceCitrixAdcBotsignature(),
		"citrixadc_appfwurlencodedformcontenttype":                                resourceCitrixAdcAppfwurlencodedformcontenttype(),
		"citrixadc_appfwprofile_jsonsqlurl_binding":                               resourceCitrixAdcAppfwprofile_jsonsqlurl_binding(),
		"citrixadc_appfwprofile_xmlsqlinjection_binding":                          resourceCitrixAdcAppfwprofile_xmlsqlinjection_binding(),
		"citrixadc_appfwprofile_fieldconsistency_binding":                         resourceCitrixAdcAppfwprofile_fieldconsistency_binding(),
		"citrixadc_appfwprofile_jsonxssurl_binding":                               resourceCitrixAdcAppfwprofile_jsonxssurl_binding(),
		"citrixadc_appfwprofile_logexpression_binding":                            resourceCitrixAdcAppfwprofile_logexpression_binding(),
		"citrixadc_appfwprofile_fileuploadtype_binding":                           resourceCitrixAdcAppfwprofile_fileuploadtype_binding(),
		"citrixadc_appfwprofile_jsondosurl_binding":                               resourceCitrixAdcAppfwprofile_jsondosurl_binding(),
		"citrixadc_appfwprofile_xmlattachmenturl_binding":                         resourceCitrixAdcAppfwprofile_xmlattachmenturl_binding(),
		"citrixadc_appfwprofile_trustedlearningclients_binding":                   resourceCitrixAdcAppfwprofile_trustedlearningclients_binding(),
		"citrixadc_appfwprofile_xmldosurl_binding":                                resourceCitrixAdcAppfwprofile_xmldosurl_binding(),
		"citrixadc_nitro_resource":                                                resourceCitrixAdcNintroResource(),
		"citrixadc_appfwprofile_xmlvalidationurl_binding":                         resourceCitrixAdcAppfwprofile_xmlvalidationurl_binding(),
		"citrixadc_appfwsignatures":                                               resourceCitrixAdcAppfwsignatures(),
		"citrixadc_appfwlearningsettings":                                         resourceCitrixAdcAppfwlearningsettings(),
		"citrixadc_appfwhtmlerrorpage":                                            appfwhtmlerrorpage(),
		"citrixadc_appfwxmlerrorpage":                                             resourceCitrixAdcAppfwxmlerrorpage(),
		"citrixadc_location":                                                      resourceCitrixAdcLocation(),
		"citrixadc_service_dospolicy_binding":                                     resourceCitrixAdcService_dospolicy_binding(),
		"citrixadc_fis":                                                           resourceCitrixAdcFis(),
		"citrixadc_vrid":                                                          resourceCitrixAdcVrid(),
		"citrixadc_netprofile_natrule_binding":                                    resourceCitrixAdcNetprofile_natrule_binding(),
		"citrixadc_radiusnode":                                                    resourceCitrixAdcRadiusnode(),
		"citrixadc_service_lbmonitor_binding":                                     resourceCitrixAdcService_lbmonitor_binding(),
		"citrixadc_vrid6":                                                         resourceCitrixAdcVrid6(),
		"citrixadc_forwardingsession":                                             resourceCitrixAdcForwardingsession(),
		"citrixadc_netbridge":                                                     resourceCitrixAdcNetbridge(),
		"citrixadc_netprofile_srcportset_binding":                                 resourceCitrixAdcNetprofile_srcportset_binding(),
		"citrixadc_rnatglobal_auditsyslogpolicy_binding":                          resourceCitrixAdcRnatglobal_auditsyslogpolicy_binding(),
		"citrixadc_appfwjsonerrorpage":                                            resourceCitrixAdcAppfwjsonerrorpage(),
		"citrixadc_nstimer":                                                       resourceCitrixAdcNstimer(),
		"citrixadc_nslimitidentifier":                                             resourceCitrixAdcNslimitidentifier(),
		"citrixadc_nshmackey":                                                     resourceCitrixAdcNshmackey(),
		"citrixadc_nsservicepath":                                                 resourceCitrixAdcNsservicepath(),
		"citrixadc_nspartition":                                                   resourceCitrixAdcNspartition(),
		"citrixadc_nsvariable":                                                    resourceCitrixAdcNsvariable(),
		"citrixadc_nsappflowcollector":                                            resourceCitrixAdcNsappflowcollector(),
		"citrixadc_nsicapprofile":                                                 resourceCitrixAdcNsicapprofile(),
		"citrixadc_nsxmlnamespace":                                                resourceCitrixAdcNsxmlnamespace(),
		"citrixadc_nstrafficdomain":                                               resourceCitrixAdcNstrafficdomain(),
		"citrixadc_nsencryptionkey":                                               resourceCitrixAdcNsencryptionkey(),
		"citrixadc_nsservicefunction":                                             resourceCitrixAdcNsservicefunction(),
		"citrixadc_nssimpleacl":                                                   resourceCitrixAdcNssimpleacl(),
		"citrixadc_mapbmr":                                                        resourceCitrixAdcMapbmr(),
		"citrixadc_nssimpleacl6":                                                  resourceCitrixAdcNssimpleacl6(),
		"citrixadc_mapdmr":                                                        resourceCitrixAdcMapdmr(),
		"citrixadc_appfwwsdl":                                                     resourceCitrixAdcAppfwwsdl(),
		"citrixadc_nsspparams":                                                    resourceCitrixAdcNsspparams(),
		"citrixadc_nsconsoleloginprompt":                                          resourceCitrixAdcNsconsoleloginprompt(),
		"citrixadc_extendedmemoryparam":                                           resourceCitrixAdcExtendedmemoryparam(),
		"citrixadc_appfwmultipartformcontenttype":                                 resourceCitrixAdcAppfwmultipartformcontenttype(),
		"citrixadc_locationparameter":                                             resourceCitrixAdcLocationparameter(),
		"citrixadc_nstrafficdomain_vlan_binding":                                  resourceCitrixAdcNstrafficdomain_vlan_binding(),
		"citrixadc_nsservicepath_nsservicefunction_binding":                       resourceCitrixAdcNsservicepath_nsservicefunction_binding(),
		"citrixadc_nsdiameter":                                                    resourceCitrixAdcNsdiameter(),
		"citrixadc_nspartition_vxlan_binding":                                     resourceCitrixAdcNspartition_vxlan_binding(),
		"citrixadc_nspartition_vlan_binding":                                      resourceCitrixAdcNspartition_vlan_binding(),
		"citrixadc_nsdhcpparams":                                                  resourceCitrixAdcNsdhcpparams(),
		"citrixadc_nstrafficdomain_vxlan_binding":                                 resourceCitrixAdcNstrafficdomain_vxlan_binding(),
		"citrixadc_nsassignment":                                                  resourceCitrixAdcNsassignment(),
		"citrixadc_appfwxmlschema":                                                resourceCitrixAdcAppfwxmlschema(),
		"citrixadc_nsratecontrol":                                                 resourceCitrixAdcNsratecontrol(),
		"citrixadc_l4param":                                                       resourceCitrixAdcL4param(),
		"citrixadc_arpparam":                                                      resourceCitrixAdcArpparam(),
		"citrixadc_rnatparam":                                                     resourceCitrixAdcRnatparam(),
		"citrixadc_ptp":                                                           resourceCitrixAdcPtp(),
		"citrixadc_nshttpparam":                                                   resourceCitrixAdcNshttpparam(),
		"citrixadc_mapdomain":                                                     resourceCitrixAdcMapdomain(),
		"citrixadc_mapbmr_bmrv4network_binding":                                   resourceCitrixAdcMapbmr_bmrv4network_binding(),
		"citrixadc_vridparam":                                                     resourceCitrixAdcVridparam(),
		"citrixadc_bridgegroup":                                                   resourceCitrixAdcBridgegroup(),
		"citrixadc_bridgegroup_vlan_binding":                                      resourceCitrixAdcBridgegroup_vlan_binding(),
		"citrixadc_nspartition_bridgegroup_binding":                               resourceCitrixAdcNspartition_bridgegroup_binding(),
		"citrixadc_nstrafficdomain_bridgegroup_binding":                           resourceCitrixAdcNstrafficdomain_bridgegroup_binding(),
		"citrixadc_nat64param":                                                    resourceCitrixAdcNat64param(),
		"citrixadc_nslicenseparameters":                                           resourceCitrixAdcNslicenseparameters(),
		"citrixadc_bridgegroup_nsip_binding":                                      resourceCitrixAdcBridgegroup_nsip_binding(),
		"citrixadc_bridgegroup_nsip6_binding":                                     resourceCitrixAdcBridgegroup_nsip6_binding(),
		"citrixadc_appalgparam":                                                   resourceCitrixAdcAppalgparam(),
		"citrixadc_iptunnelparam":                                                 resourceCitrixAdcIptunnelparam(),
		"citrixadc_nsacl6":                                                        resourceCitrixAdcNsacl6(),
		"citrixadc_nspbr6":                                                        resourceCitrixAdcNspbr6(),
		"citrixadc_nstcpbufparam":                                                 resourceCitrixAdcNstcpbufparam(),
		"citrixadc_ip6tunnel":                                                     resourceCitrixAdcIp6tunnel(),
		"citrixadc_rsskeytype":                                                    resourceCitrixAdcRsskeytype(),
		"citrixadc_nat64":                                                         resourceCitrixAdcNat64(),
		"citrixadc_netbridge_iptunnel_binding":                                    resourceCitrixAdcNetbridge_iptunnel_binding(),
		"citrixadc_dnsaddrec":                                                     resourceCitrixAdcDnsaddrec(),
		"citrixadc_dnspolicy":                                                     resourceCitrixAdcDnspolicy(),
		"citrixadc_dnsglobal_dnspolicy_binding":                                   resourceCitrixAdcDnsglobal_dnspolicy_binding(),
		"citrixadc_dnsaction":                                                     resourceCitrixAdcDnsaction(),
		"citrixadc_dnsprofile":                                                    resourceCitrixAdcDnsprofile(),
		"citrixadc_mapdomain_mapbmr_binding":                                      resourceCitrixAdcMapdomain_mapbmr_binding(),
		"citrixadc_netbridge_vlan_binding":                                        resourceCitrixAdcNetbridge_vlan_binding(),
		"citrixadc_bridgetable":                                                   resourceCitrixAdcBridgetable(),
		"citrixadc_dnsview":                                                       resourceCitrixAdcDnsview(),
		"citrixadc_dnsmxrec":                                                      resourceCitrixAdcDnsmxrec(),
		"citrixadc_dnspolicy64":                                                   resourceCitrixAdcDnspolicy64(),
		"citrixadc_dnsaction64":                                                   resourceCitrixAdcDnsaction64(),
		"citrixadc_dnssrvrec":                                                     resourceCitrixAdcDnssrvrec(),
		"citrixadc_dnsnaptrrec":                                                   resourceCitrixAdcDnsnaptrrec(),
		"citrixadc_dnscnamerec":                                                   resourceCitrixAdcDnscnamerec(),
		"citrixadc_dnsaaaarec":                                                    resourceCitrixAdcDnsaaaarec(),
		"citrixadc_dnsnameserver":                                                 resourceCitrixAdcDnsnameserver(),
		"citrixadc_dnskey":                                                        resourceCitrixAdcDnskey(),
		"citrixadc_dnssuffix":                                                     resourceCitrixAdcDnssuffix(),
		"citrixadc_dnspolicylabel":                                                resourceCitrixAdcDnspolicylabel(),
		"citrixadc_dnsptrrec":                                                     resourceCitrixAdcDnsptrrec(),
		"citrixadc_ip6tunnelparam":                                                resourceCitrixAdcIp6tunnelparam(),
		"citrixadc_dnszone":                                                       resourceCitrixAdcDnszone(),
		"citrixadc_dnspolicylabel_dnspolicy_binding":                              resourceCitrixAdcDnspolicylabel_dnspolicy_binding(),
		"citrixadc_crvserver_appfwpolicy_binding":                                 resourceCitrixAdcCrvserver_appfwpolicy_binding(),
		"citrixadc_crpolicy":                                                      resourceCitrixAdcCrpolicy(),
		"citrixadc_gslbparameter":                                                 resourceCitrixAdcGslbparameter(),
		"citrixadc_transformglobal_transformpolicy_binding":                       resourceCitrixAdcTransformglobal_transformpolicy_binding(),
		"citrixadc_transformpolicylabel":                                          resourceCitrixAdcTransformpolicylabel(),
		"citrixadc_transformpolicylabel_transformpolicy_binding":                  resourceCitrixAdcTransformpolicylabel_transformpolicy_binding(),
		"citrixadc_authorizationpolicylabel_authorizationpolicy_binding":          resourceCitrixAdcAuthorizationpolicylabel_authorizationpolicy_binding(),
		"citrixadc_gslbservicegroup":                                              resourceCitrixAdcGslbservicegroup(),
		"citrixadc_authorizationpolicylabel":                                      resourceCitrixAdcAuthorizationpolicylabel(),
		"citrixadc_gslbservice_lbmonitor_binding":                                 resourceCitrixAdcGslbservice_lbmonitor_binding(),
		"citrixadc_gslbvserver_domain_binding":                                    resourceCitrixAdcGslbvserver_domain_binding(),
		"citrixadc_gslbvserver_gslbservicegroup_binding":                          resourceCitrixAdcGslbvserver_gslbservicegroup_binding(),
		"citrixadc_gslbservicegroup_lbmonitor_binding":                            resourceCitrixAdcGslbservicegroup_lbmonitor_binding(),
		"citrixadc_gslbvserver_spilloverpolicy_binding":                           resourceCitrixAdcGslbvserver_spilloverpolicy_binding(),
		"citrixadc_gslbservice_dnsview_binding":                                   resourceCitrixAdcGslbservice_dnsview_binding(),
		"citrixadc_gslbvserver_gslbservice_binding":                               resourceCitrixAdcGslbvserver_gslbservice_binding(),
		"citrixadc_crvserver_rewritepolicy_binding":                               resourceCitrixAdcCrvserver_rewritepolicy_binding(),
		"citrixadc_crvserver_responderpolicy_binding":                             resourceCitrixAdcCrvserver_responderpolicy_binding(),
		"citrixadc_crvserver_crpolicy_binding":                                    resourceCitrixAdcCrvserver_crpolicy_binding(),
		"citrixadc_crvserver_appflowpolicy_binding":                               resourceCitrixAdcCrvserver_appflowpolicy_binding(),
		"citrixadc_crvserver_feopolicy_binding":                                   resourceCitrixAdcCrvserver_feopolicy_binding(),
		"citrixadc_crvserver_cmppolicy_binding":                                   resourceCitrixAdcCrvserver_cmppolicy_binding(),
		"citrixadc_crvserver_cachepolicy_binding":                                 resourceCitrixAdcCrvserver_cachepolicy_binding(),
		"citrixadc_crvserver_icapolicy_binding":                                   resourceCitrixAdcCrvserver_icapolicy_binding(),
		"citrixadc_crvserver_analyticsprofile_binding":                            resourceCitrixAdcCrvserver_analyticsprofile_binding(),
		"citrixadc_crvserver_appqoepolicy_binding":                                resourceCitrixAdcCrvserver_appqoepolicy_binding(),
		"citrixadc_crvserver_filterpolicy_binding":                                resourceCitrixAdcCrvserver_filterpolicy_binding(),
		"citrixadc_dnstxtrec":                                                     resourceCitrixAdcDnstxtrec(),
		"citrixadc_crvserver":                                                     resourceCitrixAdcCrvserver(),
		"citrixadc_crvserver_cspolicy_binding":                                    resourceCitrixAdcCrvserver_cspolicy_binding(),
		"citrixadc_crvserver_spilloverpolicy_binding":                             resourceCitrixAdcCrvserver_spilloverpolicy_binding(),
		"citrixadc_crvserver_lbvserver_binding":                                   resourceCitrixAdcCrvserver_lbvserver_binding(),
		"citrixadc_appflowcollector":                                              resourceCitrixAdcAppflowcollector(),
		"citrixadc_appflowparam":                                                  resourceCitrixAdcAppflowparam(),
		"citrixadc_appflowpolicylabel":                                            resourceCitrixAdcAppflowpolicylabel(),
		"citrixadc_crvserver_policymap_binding":                                   resourceCitrixAdcCrvserver_policymap_binding(),
		"citrixadc_appflowaction":                                                 resourceCitrixAdcAppflowaction(),
		"citrixadc_appflowpolicy":                                                 resourceCitrixAdcAppflowpolicy(),
		"citrixadc_appflowaction_analyticsprofile_binding":                        resourceCitrixAdcAppflowaction_analyticsprofile_binding(),
		"citrixadc_appflowpolicylabel_appflowpolicy_binding":                      resourceCitrixAdcAppflowpolicylabel_appflowpolicy_binding(),
		"citrixadc_appflowglobal_appflowpolicy_binding":                           resourceCitrixAdcAppflowglobal_appflowpolicy_binding(),
		"citrixadc_snmptrap":                                                      resourceCitrixAdcSnmptrap(),
		"citrixadc_snmpview":                                                      resourceCitrixAdcSnmpview(),
		"citrixadc_snmpgroup":                                                     resourceCitrixAdcSnmpgroup(),
		"citrixadc_snmpuser":                                                      resourceCitrixAdcSnmpuser(),
		"citrixadc_snmpengineid":                                                  resourceCitrixAdcSnmpengineid(),
		"citrixadc_opoption":                                                      resourceCitrixAdcSnmpoption(),
		"citrixadc_snmpmib":                                                       resourceCitrixAdcSnmpmib(),
		"citrixadc_snmpmanager":                                                   resourceCitrixAdcSnmpmanager(),
		"citrixadc_snmpalarm":                                                     resourceCitrixAdcSnmpalarm(),
		"citrixadc_ntpserver":                                                     resourceCitrixAdcNtpserver(),
		"citrixadc_systemparameter":                                               resourceCitrixAdcSystemparameter(),
		"citrixadc_nstimeout":                                                     resourceCitrixAdcNstimeout(),
		"citrixadc_clusternodegroup":                                              resourceCitrixAdcClusternodegroup(),
		"citrixadc_cmpglobal_cmppolicy_binding":                                   resourceCitrixAdcCmpglobal_cmppolicy_binding(),
		"citrixadc_clusternodegroup_gslbsite_binding":                             resourceCitrixAdcClusternodegroup_gslbsite_binding(),
		"citrixadc_clusternodegroup_lbvserver_binding":                            resourceCitrixAdcClusternodegroup_lbvserver_binding(),
		"citrixadc_clusternodegroup_clusternode_binding":                          resourceCitrixAdcClusternodegroup_clusternode_binding(),
		"citrixadc_clusternodegroup_csvserver_binding":                            resourceCitrixAdcClusternodegroup_csvserver_binding(),
		"citrixadc_clusternodegroup_crvserver_binding":                            resourceCitrixAdcClusternodegroup_crvserver_binding(),
		"citrixadc_clusternodegroup_gslbvserver_binding":                          resourceCitrixAdcClusternodegroup_gslbvserver_binding(),
		"citrixadc_clusterinstance":                                               resourceCitrixAdcClusterinstance(),
		"citrixadc_clusternodegroup_service_binding":                              resourceCitrixAdcClusternodegroup_service_binding(),
		"citrixadc_clusternode":                                                   resourceCitrixAdcClusternode(),
		"citrixadc_clusternodegroup_nslimitidentifier_binding":                    resourceCitrixAdcClusternodegroup_nslimitidentifier_binding(),
		"citrixadc_clusternodegroup_vpnvserver_binding":                           resourceCitrixAdcClusternodegroup_vpnvserver_binding(),
		"citrixadc_clusternodegroup_streamidentifier_binding":                     resourceCitrixAdcClusternodegroup_streamidentifier_binding(),
		"citrixadc_clusternode_routemonitor_binding":                              resourceCitrixAdcClusternode_routemonitor_binding(),
		"citrixadc_clusternodegroup_authenticationvserver_binding":                resourceCitrixAdcClusternodegroup_authenticationvserver_binding(),
		"citrixadc_responderglobal_responderpolicy_binding":                       resourceCitrixAdcResponderglobal_responderpolicy_binding(),
		"citrixadc_nscqaparam":                                                    resourceCitrixAdcNscqaparam(),
		"citrixadc_nshostname":                                                    resourceCitrixAdcNshostname(),
		"citrixadc_nsencryptionparams":                                            resourceCitrixAdcNsencryptionparams(),
		"citrixadc_nslicenseproxyserver":                                          resourceCitrixAdcNslicenseproxyserver(),
		"citrixadc_snmpcommunity":                                                 resourceCitrixAdcSnmpcommunity(),
		"citrixadc_lacp":                                                          resourceCitrixAdcLacp(),
		"citrixadc_route6":                                                        resourceCitrixAdcRoute6(),
		"citrixadc_nd6":                                                           resourceCitrixAdcNd6(),
		"citrixadc_nspbr":                                                         resourceCitrixAdcNspbr(),
		"citrixadc_l3param":                                                       resourceCitrixAdcL3param(),
		"citrixadc_arp":                                                           resourceCitrixAdcArp(),
		"citrixadc_nd6ravariables":                                                resourceCitrixAdcNd6ravariables(),
		"citrixadc_l2param":                                                       resourceCitrixAdcL2param(),
		"citrixadc_rnat6":                                                         resourceCitrixAdcRnat6(),
		"citrixadc_inatparam":                                                     resourceCitrixAdcInatparam(),
		"citrixadc_ipv6":                                                          resourceCitrixAdcIpv6(),
		"citrixadc_ipset_nsip_binding":                                            resourceCitrixAdcIpset_nsip_binding(),
		"citrixadc_ipset_nsip6_binding":                                           resourceCitrixAdcIpset_nsip6_binding(),
		"citrixadc_nd6ravariables_onlinkipv6prefix_binding":                       resourceCitrixAdcNd6ravariables_onlinkipv6prefix_binding(),
		"citrixadc_netbridge_nsip_binding":                                        resourceCitrixAdcNetbridge_nsip_binding(),
		"citrixadc_netbridge_nsip6_binding":                                       resourceCitrixAdcNetbridge_nsip6_binding(),
		"citrixadc_rnat_nsip_binding":                                             resourceCitrixAdcRnat_nsip_binding(),
		"citrixadc_rnat6_nsip6_binding":                                           resourceCitrixAdcRnat6_nsip6_binding(),
		"citrixadc_onlinkipv6prefix":                                              resourceCitrixAdcOnlinkipv6prefix(),
		"citrixadc_vlan_channel_binding":                                          resourceCitrixAdcVlan_channel_binding(),
		"citrixadc_aaaldapparams":                                                 resourceCitrixAdcAaaldapparams(),
		"citrixadc_aaacertparams":                                                 resourceCitrixAdcAaacertparams(),
		"citrixadc_vlan_nsip6_binding":                                            resourceCitrixAdcVlan_nsip6_binding(),
		"citrixadc_aaassoprofile":                                                 resourceCitrixAdcAaassoprofile(),
		"citrixadc_aaaotpparameter":                                               resourceCitrixAdcAaaotpparameter(),
		"citrixadc_aaauser":                                                       resourceCitrixAdcAaauser(),
		"citrixadc_aaaparameter":                                                  resourceCitrixAdcAaaparameter(),
		"citrixadc_aaapreauthenticationpolicy":                                    resourceCitrixAdcAaapreauthenticationpolicy(),
		"citrixadc_aaapreauthenticationparameter":                                 resourceCitrixAdcAaapreauthenticationparameter(),
		"citrixadc_aaagroup":                                                      resourceCitrixAdcAaagroup(),
		"citrixadc_aaatacacsparams":                                               resourceCitrixAdcAaatacacsparams(),
		"citrixadc_aaakcdaccount":                                                 resourceCitrixAdcAaakcdaccount(),
		"citrixadc_aaagroup_authorizationpolicy_binding":                          resourceCitrixAdcAaagroup_authorizationpolicy_binding(),
		"citrixadc_aaauser_auditnslogpolicy_binding":                              resourceCitrixAdcAaauser_auditnslogpolicy_binding(),
		"citrixadc_aaauser_vpnintranetapplication_binding":                        resourceCitrixAdcAaauser_vpnintranetapplication_binding(),
		"citrixadc_aaagroup_vpnurl_binding":                                       resourceCitrixAdcAaagroup_vpnurl_binding(),
		"citrixadc_aaauser_authorizationpolicy_binding":                           resourceCitrixAdcAaauser_authorizationpolicy_binding(),
		"citrixadc_aaagroup_vpntrafficpolicy_binding":                             resourceCitrixAdcAaagroup_vpntrafficpolicy_binding(),
		"citrixadc_aaagroup_vpnurlpolicy_binding":                                 resourceCitrixAdcAaagroup_vpnurlpolicy_binding(),
		"citrixadc_aaauser_vpnsessionpolicy_binding":                              resourceCitrixAdcAaauser_vpnsessionpolicy_binding(),
		"citrixadc_aaagroup_tmsessionpolicy_binding":                              resourceCitrixAdcAaagroup_tmsessionpolicy_binding(),
		"citrixadc_aaauser_vpntrafficpolicy_binding":                              resourceCitrixAdcAaauser_vpntrafficpolicy_binding(),
		"citrixadc_aaauser_auditsyslogpolicy_binding":                             resourceCitrixAdcAaauser_auditsyslogpolicy_binding(),
		"citrixadc_aaauser_tmsessionpolicy_binding":                               resourceCitrixAdcAaauser_tmsessionpolicy_binding(),
		"citrixadc_aaagroup_vpnsessionpolicy_binding":                             resourceCitrixAdcAaagroup_vpnsessionpolicy_binding(),
		"citrixadc_aaagroup_auditsyslogpolicy_binding":                            resourceCitrixAdcAaagroup_auditsyslogpolicy_binding(),
		"citrixadc_aaauser_vpnurlpolicy_binding":                                  resourceCitrixAdcAaauser_vpnurlpolicy_binding(),
		"citrixadc_aaagroup_vpnintranetapplication_binding":                       resourceCitrixAdcAaagroup_vpnintranetapplication_binding(),
		"citrixadc_aaagroup_intranetip_binding":                                   resourceCitrixAdcAaagroup_intranetip_binding(),
		"citrixadc_aaauser_intranetip_binding":                                    resourceCitrixAdcAaauser_intranetip_binding(),
		"citrixadc_aaagroup_aaauser_binding":                                      resourceCitrixAdcAaagroup_aaauser_binding(),
		"citrixadc_aaagroup_auditnslogpolicy_binding":                             resourceCitrixAdcAaagroup_auditnslogpolicy_binding(),
		"citrixadc_aaauser_vpnurl_binding":                                        resourceCitrixAdcAaauser_vpnurl_binding(),
		"citrixadc_systemglobal_authenticationradiuspolicy_binding":               resourceCitrixAdcSystemglobal_authenticationradiuspolicy_binding(),
		"citrixadc_systemglobal_authenticationpolicy_binding":                     resourceCitrixAdcSystemglobal_authenticationpolicy_binding(),
		"citrixadc_systemuser_nspartition_binding":                                resourceCitrixAdcSystemuser_nspartition_binding(),
		"citrixadc_systemgroup_nspartition_binding":                               resourceCitrixAdcSystemgroup_nspartition_binding(),
		"citrixadc_aaaradiusparams":                                               resourceCitrixAdcAaaradiusparams(),
		"citrixadc_systemglobal_authenticationlocalpolicy_binding":                resourceCitrixAdcSystemglobal_authenticationlocalpolicy_binding(),
		"citrixadc_systemglobal_auditnslogpolicy_binding":                         resourceCitrixAdcSystemglobal_auditnslogpolicy_binding(),
		"citrixadc_systemglobal_authenticationtatacspolicy_binding":               resourceCitrixAdcSystemglobal_authenticationtacacspolicy_binding(),
		"citrixadc_aaauser_intranetip6_binding":                                   resourceCitrixAdcAaauser_intranetip6_binding(),
		"citrixadc_systemcollectionparam":                                         resourceCitrixAdcSystemcollectionparam(),
		"citrixadc_systembackup":                                                  resourceCitrixAdcSystembackup(),
		"citrixadc_systembackup_restore":                                          resourceCitrixAdcSystembackupRestore(),
		"citrixadc_cmppolicylabel":                                                resourceCitrixAdcCmppolicylabel(),
		"citrixadc_cmpaction":                                                     resourceCitrixAdcCmpaction(),
		"citrixadc_cmpparameter":                                                  resourceCitrixAdcCmpparameter(),
		"citrixadc_cmppolicylabel_cmppolicy_binding":                              resourceCitrixAdcCmppolicylabel_cmppolicy_binding(),
		"citrixadc_icaaction":                                                     resourceCitrixAdcIcaaction(),
		"citrixadc_icaaccessprofile":                                              resourceCitrixAdcIcaaccessprofile(),
		"citrixadc_icalatencyprofile":                                             resourceCitrixAdcIcalatencyprofile(),
		"citrixadc_ntpparam":                                                      resourceCitrixAdcNtpparam(),
		"citrixadc_icapolicy":                                                     resourceCitrixAdcIcapolicy(),
		"citrixadc_icaglobal_icapolicy_binding":                                   resourceCitrixAdcIcaglobal_icapolicy_binding(),
		"citrixadc_tmglobal_auditsyslogpolicy_binding":                            resourceCitrixAdcTmglobal_auditsyslogpolicy_binding(),
		"citrixadc_tmglobal_auditnslogpolicy_binding":                             resourceCitrixAdcTmglobal_auditnslogpolicy_binding(),
		"citrixadc_tmsessionparameter":                                            resourceCitrixAdcTmsessionparameter(),
		"citrixadc_tmformssoaction":                                               resourceCitrixAdcTmformssoaction(),
		"citrixadc_tmsessionpolicy":                                               resourceCitrixAdcTmsessionpolicy(),
		"citrixadc_tmsessionaction":                                               resourceCitrixAdcTmsessionaction(),
		"citrixadc_tmtrafficpolicy":                                               resourceCitrixAdcTmtrafficpolicy(),
		"citrixadc_ipsecparameter":                                                resourceCitrixAdcIpsecparameter(),
		"citrixadc_tmglobal_tmtrafficpolicy_binding":                              resourceCitrixAdcTmglobal_tmtrafficpolicy_binding(),
		"citrixadc_tmsamlssoprofile":                                              resourceCitrixAdcTmsamlssoprofile(),
		"citrixadc_ipsecprofile":                                                  resourceCitrixAdcIpsecprofile(),
		"citrixadc_interfacepair":                                                 resourceCitrixAdcInterfacepair(),
		"citrixadc_channel":                                                       resourceCitrixAdcChannel(),
		"citrixadc_userprotocol":                                                  resourceCitrixAdcUserprotocol(),
		"citrixadc_uservserver":                                                   resourceCitrixAdcUservserver(),
		"citrixadc_dbuser":                                                        resourceCitrixAdcDbuser(),
		"citrixadc_auditsyslogparams":                                             resourceCitrixAdcAuditsyslogparams(),
		"citrixadc_auditnslogparams":                                              resourceCitrixAdcAuditnslogparams(),
		"citrixadc_analyticsprofile":                                              resourceCitrixAdcAnalyticsprofile(),
		"citrixadc_lldpparam":                                                     resourceCitrixAdcLldpparam(),
		"citrixadc_feoglobal_feopolicy_binding":                                   resourceCitrixAdcFeoglobal_feopolicy_binding(),
		"citrixadc_feopolicy":                                                     resourceCitrixAdcFeopolicy(),
		"citrixadc_ipsecalgprofile":                                               resourceCitrixAdcIpsecalgprofile(),
		"citrixadc_dbdbprofile":                                                   resourceCitrixAdcDbdbprofile(),
		"citrixadc_auditnslogglobal_auditnslogpolicy_binding":                     resourceCitrixAdcAuditnslogglobal_auditnslogpolicy_binding(),
		"citrixadc_feoaction":                                                     resourceCitrixAdcFeoaction(),
		"citrixadc_hanode":                                                        resourceCitrixAdcHanode(),
		"citrixadc_admparameter":                                                  resourceCitrixAdcAdmparameter(),
		"citrixadc_tmtrafficaction":                                               resourceCitrixAdcTmtrafficaction(),
		"citrixadc_auditsyslogglobal_auditsyslogpolicy_binding":                   resourceCitrixAdcAuditsyslogglobal_auditsyslogpolicy_binding(),
		"citrixadc_systembackup_create":                                           resourceCitrixAdcSystemCreatebackup(),
		"citrixadc_locationfile":                                                  resourceCitrixAdcLocationfile(),
		"citrixadc_locationfile_import":                                           resourceCitrixAdcLocationImportfile(),
		"citrixadc_feoparameter":                                                  resourceCitrixAdcFeoparameter(),
		"citrixadc_appqoepolicy":                                                  resourceCitrixAdcAppqoepolicy(),
		"citrixadc_appqoecustomresp":                                              resourceCitrixAdcAppqoecustomresp(),
		"citrixadc_appqoeparameter":                                               resourceCitrixAdcAppqoeparameter(),
		"citrixadc_appqoeaction":                                                  resourceCitrixAdcAppqoeaction(),
		"citrixadc_contentinspectionpolicy":                                       resourceCitrixAdcContentinspectionpolicy(),
		"citrixadc_contentinspectionparameter":                                    resourceCitrixAdcContentinspectionparameter(),
		"citrixadc_contentinspectioncallout":                                      resourceCitrixAdcContentinspectioncallout(),
		"citrixadc_contentinspectionpolicylabel":                                  resourceCitrixAdcContentinspectionpolicylabel(),
		"citrixadc_contentinspectionprofile":                                      resourceCitrixAdcContentinspectionprofile(),
		"citrixadc_contentinspectionglobal_contentinspectionpolicy_binding":       resourceCitrixAdcContentinspectionglobal_contentinspectionpolicy_binding(),
		"citrixadc_contentinspectionpolicylabel_contentinspectionpolicy_binding":  resourceCitrixAdcContentinspectionpolicylabel_contentinspectionpolicy_binding(),
		"citrixadc_lsnclient":                                                     resourceCitrixAdcLsnclient(),
		"citrixadc_lsnappsattributes":                                             resourceCitrixAdcLsnappsattributes(),
		"citrixadc_lsngroup":                                                      resourceCitrixAdcLsngroup(),
		"citrixadc_lsnappsprofile":                                                resourceCitrixAdcLsnappsprofile(),
		"citrixadc_lsnlogprofile":                                                 resourceCitrixAdcLsnlogprofile(),
		"citrixadc_lsnpool":                                                       resourceCitrixAdcLsnpool(),
		"citrixadc_lsnrtspalgprofile":                                             resourceCitrixAdcLsnrtspalgprofile(),
		"citrixadc_lsnsipalgprofile":                                              resourceCitrixAdcLsnsipalgprofile(),
		"citrixadc_ntpsync":                                                       resourceCitrixAdcNtpsync(),
		"citrixadc_cacheparameter":                                                resourceCitrixAdcCacheparameter(),
		"citrixadc_lsntransportprofile":                                           resourceCitrixAdcLsntransportprofile(),
		"citrixadc_lsnip6profile":                                                 resourceCitrixAdcLsnip6profile(),
		"citrixadc_lsnstatic":                                                     resourceCitrixAdcLsnstatic(),
		"citrixadc_lsnappsprofile_lsnappsattributes_binding":                      resourceCitrixAdcLsnappsprofile_lsnappsattributes_binding(),
		"citrixadc_lsnappsprofile_port_binding":                                   resourceCitrixAdcLsnappsprofile_port_binding(),
		"citrixadc_lsnclient_network_binding":                                     resourceCitrixAdcLsnclient_network_binding(),
		"citrixadc_lsnclient_network6_binding":                                    resourceCitrixAdcLsnclient_network6_binding(),
		"citrixadc_lsnclient_nsacl_binding":                                       resourceCitrixAdcLsnclient_nsacl_binding(),
		"citrixadc_lsnclient_nsacl6_binding":                                      resourceCitrixAdcLsnclient_nsacl6_binding(),
		"citrixadc_lsngroup_lsnappsprofile_binding":                               resourceCitrixAdcLsngroup_lsnappsprofile_binding(),
		"citrixadc_lsngroup_lsnhttphdrlogprofile_binding":                         resourceCitrixAdcLsngroup_lsnhttphdrlogprofile_binding(),
		"citrixadc_lsngroup_lsnlogprofile_binding":                                resourceCitrixAdcLsngroup_lsnlogprofile_binding(),
		"citrixadc_lsngroup_lsnpool_binding":                                      resourceCitrixAdcLsngroup_lsnpool_binding(),
		"citrixadc_streamidentifier":                                              resourceCitrixAdcStreamidentifier(),
		"citrixadc_hanode_routemonitor_binding":                                   resourceCitrixAdcHanode_routemonitor_binding(),
		"citrixadc_hanode_routemonitor6_binding":                                  resourceCitrixAdcHanode_routemonitor6_binding(),
		"citrixadc_contentinspectionaction":                                       resourceCitrixAdcContentinspectionaction(),
		"citrixadc_pcpserver":                                                     resourceCitrixAdcPcpserver(),
		"citrixadc_pcpprofile":                                                    resourceCitrixAdcPcpprofile(),
		"citrixadc_rdpclientprofile":                                              resourceCitrixAdcRdpclientprofile(),
		"citrixadc_rdpserverprofile":                                              resourceCitrixAdcRdpserverprofile(),
		"citrixadc_reputationsettings":                                            resourceCitrixAdcReputationsettings(),
		"citrixadc_nsweblogparam":                                                 resourceCitrixAdcNsweblogparam(),
		"citrixadc_autoscaleaction":                                               resourceCitrixAdcAutoscaleaction(),
		"citrixadc_autoscaleprofile":                                              resourceCitrixAdcAutoscaleprofile(),
		"citrixadc_autoscalepolicy":                                               resourceCitrixAdcAutoscalepolicy(),
		"citrixadc_spilloveraction":                                               resourceCitrixAdcSpilloveraction(),
		"citrixadc_locationfile6":                                                 resourceCitrixAdcLocationfile6(),
		"citrixadc_locationfile6_import":                                          resourceCitrixAdcLocationfile6Import(),
		"citrixadc_subscribergxinterface":                                         resourceCitrixAdcSubscribergxinterface(),
		"citrixadc_cachecontentgroup":                                             resourceCitrixAdcCachecontentgroup(),
		"citrixadc_smppuser":                                                      resourceCitrixAdcSmppuser(),
		"citrixadc_linkset_channel_binding":                                       resourceCitrixAdcLinkset_channel_binding(),
		"citrixadc_cacheforwardproxy":                                             resourceCitrixAdcCacheforwardproxy(),
		"citrixadc_auditnslogpolicy":                                              resourceCitrixAdcAuditnslogpolicy(),
		"citrixadc_auditnslogaction":                                              resourceCitrixAdcAuditnslogaction(),
		"citrixadc_tunnelglobal_tunneltrafficpolicy_binding":                      resourceCitrixAdcTunnelglobal_tunneltrafficpolicy_binding(),
		"citrixadc_icaparameter":                                                  resourceCitrixAdcIcaparameter(),
		"citrixadc_smppparam":                                                     resourceCitrixAdcSmppparam(),
		"citrixadc_cachepolicy":                                                   resourceCitrixAdcCachepolicy(),
		"citrixadc_cachepolicylabel_cachepolicy_binding":                          resourceCitrixAdcCachepolicylabel_cachepolicy_binding(),
		"citrixadc_cachepolicylabel":                                              resourceCitrixAdcCachepolicylabel(),
		"citrixadc_sslservicegroup_sslciphersuite_binding":                        resourceCitrixAdcSslservicegroup_sslciphersuite_binding(),
		"citrixadc_cacheglobal_cachepolicy_binding":                               resourceCitrixAdcCacheglobal_cachepolicy_binding(),
		"citrixadc_cacheselector":                                                 resourceCitrixAdcCacheselector(),
		"citrixadc_tunneltrafficpolicy":                                           resourceCitrixAdcTunneltrafficpolicy(),
		"citrixadc_subscriberprofile":                                             resourceCitrixAdcSubscriberprofile(),
		"citrixadc_subscriberradiusinterface":                                     resourceCitrixAdcSubscriberradiusinterface(),
		"citrixadc_subscriberparam":                                               resourceCitrixAdcSubscriberparam(),
		"citrixadc_lsnhttphdrlogprofile":                                          resourceCitrixAdcLsnhttphdrlogprofile(),
		"citrixadc_lsngroup_pcpserver_binding":                                    resourceCitrixAdcLsngroup_pcpserver_binding(),
		"citrixadc_lsngroup_lsntransportprofile_binding":                          resourceCitrixAdcLsngroup_lsntransportprofile_binding(),
		"citrixadc_streamselector":                                                resourceCitrixAdcStreamselector(),
		"citrixadc_lsnparameter":                                                  resourceCitrixAdcLsnparameter(),
		"citrixadc_aaaglobal_aaapreauthenticationpolicy_binding":                  resourceCitrixAdcAaaglobal_aaapreauthenticationpolicy_binding(),
		"citrixadc_sslcertfile":                                                   resourceCitrixAdcSslcertfile(),
		"citrixadc_sslcertkey_sslocspresponder_binding":                           resourceCitrixAdcSslcertkey_sslocspresponder_binding(),
		"citrixadc_nspbrs":                                                        resourceCitrixAdcNspbrs(),
		"citrixadc_sslcertkey_update":                                             resourceCitrixAdcSslcertkeyUpdate(),
		"citrixadc_rnat_clear":                                                    resourceCitrixAdcRnatClear(),
		"citrixadc_change_password":                                               resourceCitrixAdcChangePassword(),
		"citrixadc_spilloverpolicy":                                               resourceCitrixAdcSpilloverpolicy(),
		"citrixadc_sslcert":                                                       resourceCitrixAdcSslcert(),
		"citrixadc_sslcertreq":                                                    resourceCitrixAdcSslcertreq(),
		"citrixadc_snmptrap_snmpuser_binding":                                     resourceCitrixAdcSnmptrap_snmpuser_binding(),
		"citrixadc_lbmetrictable_metric_binding":                                  resourceCitrixAdcLbmetrictable_metric_binding(),
		"citrixadc_videooptimizationdetectionaction":                              resourceCitrixAdcVideooptimizationdetectionaction(),
		"citrixadc_videooptimizationdetectionpolicy":                              resourceCitrixAdcVideooptimizationdetectionpolicy(),
		"citrixadc_aaapreauthenticationaction":                                    resourceCitrixAdcAaapreauthenticationaction(),
		"citrixadc_videooptimizationpacingaction":                                 resourceCitrixAdcVideooptimizationpacingaction(),
		"citrixadc_videooptimizationpacingpolicy":                                 resourceCitrixAdcVideooptimizationpacingpolicy(),
		"citrixadc_analyticsglobal_analyticsprofile_binding":                      resourceCitrixAdcAnalyticsglobal_analyticsprofile_binding(),
		"citrixadc_lbaction":                                                      resourceCitrixAdcLbaction(),
		"citrixadc_lbpolicy":                                                      resourceCitrixAdcLbpolicy(),
		"citrixadc_sslcrl":                                                        resourceCitrixAdcSslcrl(),
		"citrixadc_gslbservicegroup_gslbservicegroupmember_binding":               resourceCitrixAdcGslbservicegroup_gslbservicegroupmember_binding(),
		"citrixadc_gslbvserver_lbpolicy_binding":                                  resourceCitrixAdcGslbvserver_lbpolicy_binding(),
		"citrixadc_lbvserver_lbpolicy_binding":                                    resourceCitrixAdcLbvserver_lbpolicy_binding(),
		"citrixadc_sslcipher_sslciphersuite_binding":                              resourceCitrixAdcSslcipher_sslciphersuite_binding(),
		"citrixadc_systemgroup_systemcmdpolicy_binding":                           resourceCitrixAdcSystemgroup_systemcmdpolicy_binding(),
		"citrixadc_systemgroup_systemuser_binding":                                resourceCitrixAdcSystemgroup_systemuser_binding(),
		"citrixadc_sslprofile_ecccurve_binding":                                   resourceCitrixAdcSslprofile_ecccurve_binding(),
		"citrixadc_systemuser_systemcmdpolicy_binding":                            resourceCitrixAdcSystemuser_systemcmdpolicy_binding(),
		"citrixadc_sslrsakey":                                                     resourceCitrixAdcSslrsakey(),
		"citrixadc_sslecdsakey":                                                   resourceCitrixAdcSslecdsakey(),
	}
}

func providerConfigure(d *schema.ResourceData, terraformVersion string) (interface{}, error) {
	userHeaders := map[string]string{
		"User-Agent": "terraform-ctxadc",
	}
	c := NetScalerNitroClient{
		Username: d.Get("username").(string),
		Password: d.Get("password").(string),
		Endpoint: d.Get("endpoint").(string),
	}

	params := service.NitroParams{
		Url:       d.Get("endpoint").(string),
		Username:  d.Get("username").(string),
		Password:  d.Get("password").(string),
		ProxiedNs: d.Get("proxied_ns").(string),
		SslVerify: !d.Get("insecure_skip_verify").(bool),
		Headers:   userHeaders,
	}
	client, err := service.NewNitroClientFromParams(params)
	if err != nil {
		return nil, err
	}
	if d.Get("do_login").(bool) {
		client.Login()
	}
	if partition, ok := d.GetOk("partition"); ok {
		nspartition := make(map[string]interface{})
		nspartition["partitionname"] = partition.(string)
		err := client.ActOnResource("nspartition", &nspartition, "Switch")
		if err != nil {
			return nil, err
		}
	}

	c.client = client
	log.Printf("[DEBUG] citrixadc-provider: Terraform version imported: %s\n", terraformVersion)

	return &c, nil
}
