func resourceCloudStackVPNCustomerGateway()

in cloudstack/resource_cloudstack_vpn_customer_gateway.go [31:98]


func resourceCloudStackVPNCustomerGateway() *schema.Resource {
	return &schema.Resource{
		Create: resourceCloudStackVPNCustomerGatewayCreate,
		Read:   resourceCloudStackVPNCustomerGatewayRead,
		Update: resourceCloudStackVPNCustomerGatewayUpdate,
		Delete: resourceCloudStackVPNCustomerGatewayDelete,
		Importer: &schema.ResourceImporter{
			State: importStatePassthrough,
		},

		Schema: map[string]*schema.Schema{
			"name": {
				Type:     schema.TypeString,
				Required: true,
			},

			"cidr": {
				Type:     schema.TypeString,
				Required: true,
			},

			"esp_policy": {
				Type:     schema.TypeString,
				Required: true,
			},

			"gateway": {
				Type:     schema.TypeString,
				Required: true,
			},

			"ike_policy": {
				Type:     schema.TypeString,
				Required: true,
			},

			"ipsec_psk": {
				Type:     schema.TypeString,
				Required: true,
			},

			"dpd": {
				Type:     schema.TypeBool,
				Optional: true,
				Computed: true,
			},

			"esp_lifetime": {
				Type:     schema.TypeInt,
				Optional: true,
				Computed: true,
			},

			"ike_lifetime": {
				Type:     schema.TypeInt,
				Optional: true,
				Computed: true,
			},

			"project": {
				Type:     schema.TypeString,
				Optional: true,
				Computed: true,
				ForceNew: true,
			},
		},
	}
}