Skip to content

Commit 8506527

Browse files
rileykarsonnat-henderson
authored andcommitted
Add support for boot_disk_type to google_dataproc_cluster (#1855)
1 parent d768c67 commit 8506527

File tree

6 files changed

+1959
-1494
lines changed

6 files changed

+1959
-1494
lines changed

google/resource_dataproc_cluster.go

+12
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,14 @@ func instanceConfigSchema() *schema.Schema {
356356
ForceNew: true,
357357
ValidateFunc: validation.IntAtLeast(10),
358358
},
359+
360+
"boot_disk_type": {
361+
Type: schema.TypeString,
362+
Optional: true,
363+
ForceNew: true,
364+
ValidateFunc: validation.StringInSlice([]string{"pd-standard", "pd-ssd", ""}, false),
365+
Default: "pd-standard",
366+
},
359367
},
360368
},
361369
},
@@ -600,6 +608,9 @@ func expandInstanceGroupConfig(cfg map[string]interface{}) *dataproc.InstanceGro
600608
if v, ok := dcfg["num_local_ssds"]; ok {
601609
icg.DiskConfig.NumLocalSsds = int64(v.(int))
602610
}
611+
if v, ok := dcfg["boot_disk_type"]; ok {
612+
icg.DiskConfig.BootDiskType = v.(string)
613+
}
603614
}
604615
}
605616
return icg
@@ -813,6 +824,7 @@ func flattenInstanceGroupConfig(d *schema.ResourceData, icg *dataproc.InstanceGr
813824
if icg.DiskConfig != nil {
814825
disk["boot_disk_size_gb"] = icg.DiskConfig.BootDiskSizeGb
815826
disk["num_local_ssds"] = icg.DiskConfig.NumLocalSsds
827+
disk["boot_disk_type"] = icg.DiskConfig.BootDiskType
816828
}
817829
}
818830

google/resource_dataproc_cluster_test.go

+12-6
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
111111
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.num_instances", "1"),
112112
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.boot_disk_size_gb"),
113113
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.num_local_ssds"),
114+
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.boot_disk_type"),
114115
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.machine_type"),
115116
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.instance_names.#", "1"),
116117

@@ -119,6 +120,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
119120
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.num_instances", "2"),
120121
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.boot_disk_size_gb"),
121122
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.num_local_ssds"),
123+
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.boot_disk_type"),
122124
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.machine_type"),
123125
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.instance_names.#", "2"),
124126

@@ -132,7 +134,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
132134
})
133135
}
134136

135-
func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
137+
func TestAccDataprocCluster_withInternalIpOnlyTrue(t *testing.T) {
136138
t.Parallel()
137139

138140
var cluster dataproc.Cluster
@@ -143,7 +145,7 @@ func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
143145
CheckDestroy: testAccCheckDataprocClusterDestroy(),
144146
Steps: []resource.TestStep{
145147
{
146-
Config: testAccDataprocCluster_basicWithInternalIpOnlyTrue(rnd),
148+
Config: testAccDataprocCluster_withInternalIpOnlyTrue(rnd),
147149
Check: resource.ComposeTestCheckFunc(
148150
testAccCheckDataprocClusterExists("google_dataproc_cluster.basic", &cluster),
149151

@@ -155,7 +157,7 @@ func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
155157
})
156158
}
157159

158-
func TestAccDataprocCluster_basicWithMetadata(t *testing.T) {
160+
func TestAccDataprocCluster_withMetadata(t *testing.T) {
159161
t.Parallel()
160162

161163
var cluster dataproc.Cluster
@@ -166,7 +168,7 @@ func TestAccDataprocCluster_basicWithMetadata(t *testing.T) {
166168
CheckDestroy: testAccCheckDataprocClusterDestroy(),
167169
Steps: []resource.TestStep{
168170
{
169-
Config: testAccDataprocCluster_basicWithMetadata(rnd),
171+
Config: testAccDataprocCluster_withMetadata(rnd),
170172
Check: resource.ComposeTestCheckFunc(
171173
testAccCheckDataprocClusterExists("google_dataproc_cluster.basic", &cluster),
172174

@@ -534,12 +536,14 @@ func validateDataprocCluster_withConfigOverrides(n string, cluster *dataproc.Clu
534536
{"cluster_config.0.master_config.0.num_instances", "3", strconv.Itoa(int(cluster.Config.MasterConfig.NumInstances))},
535537
{"cluster_config.0.master_config.0.disk_config.0.boot_disk_size_gb", "10", strconv.Itoa(int(cluster.Config.MasterConfig.DiskConfig.BootDiskSizeGb))},
536538
{"cluster_config.0.master_config.0.disk_config.0.num_local_ssds", "0", strconv.Itoa(int(cluster.Config.MasterConfig.DiskConfig.NumLocalSsds))},
539+
{"cluster_config.0.master_config.0.disk_config.0.boot_disk_type", "pd-ssd", cluster.Config.MasterConfig.DiskConfig.BootDiskType},
537540
{"cluster_config.0.master_config.0.machine_type", "n1-standard-1", GetResourceNameFromSelfLink(cluster.Config.MasterConfig.MachineTypeUri)},
538541
{"cluster_config.0.master_config.0.instance_names.#", "3", strconv.Itoa(len(cluster.Config.MasterConfig.InstanceNames))},
539542

540543
{"cluster_config.0.worker_config.0.num_instances", "3", strconv.Itoa(int(cluster.Config.WorkerConfig.NumInstances))},
541544
{"cluster_config.0.worker_config.0.disk_config.0.boot_disk_size_gb", "11", strconv.Itoa(int(cluster.Config.WorkerConfig.DiskConfig.BootDiskSizeGb))},
542545
{"cluster_config.0.worker_config.0.disk_config.0.num_local_ssds", "1", strconv.Itoa(int(cluster.Config.WorkerConfig.DiskConfig.NumLocalSsds))},
546+
{"cluster_config.0.worker_config.0.disk_config.0.boot_disk_type", "pd-standard", cluster.Config.WorkerConfig.DiskConfig.BootDiskType},
543547
{"cluster_config.0.worker_config.0.machine_type", "n1-standard-1", GetResourceNameFromSelfLink(cluster.Config.WorkerConfig.MachineTypeUri)},
544548
{"cluster_config.0.worker_config.0.instance_names.#", "3", strconv.Itoa(len(cluster.Config.WorkerConfig.InstanceNames))},
545549

@@ -626,7 +630,7 @@ resource "google_dataproc_cluster" "basic" {
626630
`, rnd)
627631
}
628632

629-
func testAccDataprocCluster_basicWithInternalIpOnlyTrue(rnd string) string {
633+
func testAccDataprocCluster_withInternalIpOnlyTrue(rnd string) string {
630634
return fmt.Sprintf(`
631635
variable subnetwork_cidr {
632636
default = "10.0.0.0/16"
@@ -692,7 +696,7 @@ resource "google_dataproc_cluster" "basic" {
692696
`, rnd, rnd, rnd)
693697
}
694698

695-
func testAccDataprocCluster_basicWithMetadata(rnd string) string {
699+
func testAccDataprocCluster_withMetadata(rnd string) string {
696700
return fmt.Sprintf(`
697701
resource "google_dataproc_cluster" "basic" {
698702
name = "dproc-cluster-test-%s"
@@ -740,6 +744,7 @@ resource "google_dataproc_cluster" "with_config_overrides" {
740744
num_instances = 3
741745
machine_type = "n1-standard-1"
742746
disk_config {
747+
boot_disk_type = "pd-ssd"
743748
boot_disk_size_gb = 10
744749
}
745750
}
@@ -748,6 +753,7 @@ resource "google_dataproc_cluster" "with_config_overrides" {
748753
num_instances = 3
749754
machine_type = "n1-standard-1"
750755
disk_config {
756+
boot_disk_type = "pd-standard"
751757
boot_disk_size_gb = 11
752758
num_local_ssds = 1
753759
}

0 commit comments

Comments
 (0)