func Provider() *schema.Provider {
	return &schema.Provider{
		Schema: map[string]*schema.Schema{
			"username": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_USERNAME", nil),
				Description: "Username to connect to AD.",
			},
			"password": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_PASSWORD", nil),
				Description: "The password to connect to AD.",
			},
			"ssh_server": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_SSH_SERVER", nil),
				Description: "The SSH server to connect to.",
			},
			"ssh_port": &schema.Schema{
				Type:        schema.TypeString,
				Optional:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_SSH_SERVER_PORT", "22"),
				Description: "The SSH server port to connect to.",
			},
			"dns_server": &schema.Schema{
				Type:        schema.TypeString,
				Optional:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_DNS_SERVER", ""),
				Description: "The DNS server where the zone is hosted.",
			},
		},
		ResourcesMap: map[string]*schema.Resource{
			"pshdns": resourcePshDNS(),
		},

		ConfigureContextFunc: providerConfigure,
	}
}
// Provider allows making changes to Windows DNS server
// Utilises Powershell to connect to domain controller
Provider allows making changes to Windows DNS server
Utilises Powershell to connect to domain controller
// Provider allows making changes to Windows DNS server // Utilises Powershell to connect to domain controller
func Provider() *schema.Provider {
	return &schema.Provider{
		Schema: map[string]*schema.Schema{
			"username": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_USERNAME", nil),
				Description: "Username to connect to AD.",
			},
			"password": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_PASSWORD", nil),
				Description: "The password to connect to AD.",
			},
			"ssh_server": &schema.Schema{
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_SSH_SERVER", nil),
				Description: "The SSH server to connect to.",
			},
			"ssh_port": &schema.Schema{
				Type:        schema.TypeString,
				Optional:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_SSH_SERVER_PORT", "22"),
				Description: "The SSH server port to connect to.",
			},
			"dns_server": &schema.Schema{
				Type:        schema.TypeString,
				Optional:    true,
				DefaultFunc: schema.EnvDefaultFunc("PSH_DNS_SERVER", ""),
				Description: "The DNS server where the zone is hosted.",
			},
		},
		ResourcesMap: map[string]*schema.Resource{
			"pshdns": resourcePshDNS(),
		},
		ConfigureContextFunc: providerConfigure,
	}
}
func Provider ( ) * schema . Provider { return & schema . Provider { Schema : map [ string ] * schema . Schema { " " : & schema . Schema { Type : schema . TypeString , Required : true , DefaultFunc : schema . EnvDefaultFunc ( " " , nil ) , Description : " " , } , " " : & schema . Schema { Type : schema . TypeString , Required : true , DefaultFunc : schema . EnvDefaultFunc ( " " , nil ) , Description : " " , } , " " : & schema . Schema { Type : schema . TypeString , Required : true , DefaultFunc : schema . EnvDefaultFunc ( " " , nil ) , Description : " " , } , " " : & schema . Schema { Type : schema . TypeString , Optional : true , DefaultFunc : schema . EnvDefaultFunc ( " " , " " ) , Description : " " , } , " " : & schema . Schema { Type : schema . TypeString , Optional : true , DefaultFunc : schema . EnvDefaultFunc ( " " , " " ) , Description : " " , } , } , ResourcesMap : map [ string ] * schema . Resource { " " : resourcePshDNS ( ) , } , ConfigureContextFunc : providerConfigure , } }
Provider allows making changes to Windows DNS server
Utilises Powershell to connect to domain controller
Provider allows making changes to Windows DNS server Utilises Powershell to connect to domain controller