in cloudstack/resource_cloudstack_kubernetes_cluster.go [31:131]
func resourceCloudStackKubernetesCluster() *schema.Resource {
return &schema.Resource{
Create: resourceCloudStackKubernetesClusterCreate,
Read: resourceCloudStackKubernetesClusterRead,
Update: resourceCloudStackKubernetesClusterUpdate,
Delete: resourceCloudStackKubernetesClusterDelete,
Importer: &schema.ResourceImporter{
State: importStatePassthrough,
},
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
},
"zone": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
},
"kubernetes_version": {
Type: schema.TypeString,
Required: true,
},
"service_offering": {
Type: schema.TypeString,
Required: true,
},
// Begin optional params
"size": {
Type: schema.TypeInt,
Optional: true,
Default: 1,
},
"autoscaling_enabled": {
Type: schema.TypeBool,
Optional: true,
},
"min_size": {
Type: schema.TypeInt,
Optional: true,
},
"max_size": {
Type: schema.TypeInt,
Optional: true,
},
"control_nodes_size": {
Type: schema.TypeInt,
Optional: true,
Computed: true,
ForceNew: true, // For now
},
"description": {
Type: schema.TypeString,
Optional: true,
Computed: true,
},
"keypair": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
"network_id": {
Type: schema.TypeString,
Optional: true,
Computed: true,
ForceNew: true,
},
"ip_address": {
Type: schema.TypeString,
Computed: true,
},
"state": {
Type: schema.TypeString,
Optional: true,
Computed: true,
// Default: "Running",
},
"project": {
Type: schema.TypeString,
Optional: true,
ForceNew: true,
},
},
}
}