mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-01 16:21:06 +00:00
Add support for boot_disk_type to google_dataproc_cluster (#1855)
This commit is contained in:
parent
d768c67b30
commit
8506527a80
@ -356,6 +356,14 @@ func instanceConfigSchema() *schema.Schema {
|
||||
ForceNew: true,
|
||||
ValidateFunc: validation.IntAtLeast(10),
|
||||
},
|
||||
|
||||
"boot_disk_type": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
ValidateFunc: validation.StringInSlice([]string{"pd-standard", "pd-ssd", ""}, false),
|
||||
Default: "pd-standard",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -600,6 +608,9 @@ func expandInstanceGroupConfig(cfg map[string]interface{}) *dataproc.InstanceGro
|
||||
if v, ok := dcfg["num_local_ssds"]; ok {
|
||||
icg.DiskConfig.NumLocalSsds = int64(v.(int))
|
||||
}
|
||||
if v, ok := dcfg["boot_disk_type"]; ok {
|
||||
icg.DiskConfig.BootDiskType = v.(string)
|
||||
}
|
||||
}
|
||||
}
|
||||
return icg
|
||||
@ -813,6 +824,7 @@ func flattenInstanceGroupConfig(d *schema.ResourceData, icg *dataproc.InstanceGr
|
||||
if icg.DiskConfig != nil {
|
||||
disk["boot_disk_size_gb"] = icg.DiskConfig.BootDiskSizeGb
|
||||
disk["num_local_ssds"] = icg.DiskConfig.NumLocalSsds
|
||||
disk["boot_disk_type"] = icg.DiskConfig.BootDiskType
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,6 +111,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
|
||||
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.num_instances", "1"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.boot_disk_size_gb"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.num_local_ssds"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.disk_config.0.boot_disk_type"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.machine_type"),
|
||||
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.master_config.0.instance_names.#", "1"),
|
||||
|
||||
@ -119,6 +120,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
|
||||
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.num_instances", "2"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.boot_disk_size_gb"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.num_local_ssds"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.disk_config.0.boot_disk_type"),
|
||||
resource.TestCheckResourceAttrSet("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.machine_type"),
|
||||
resource.TestCheckResourceAttr("google_dataproc_cluster.basic", "cluster_config.0.worker_config.0.instance_names.#", "2"),
|
||||
|
||||
@ -132,7 +134,7 @@ func TestAccDataprocCluster_basic(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
|
||||
func TestAccDataprocCluster_withInternalIpOnlyTrue(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var cluster dataproc.Cluster
|
||||
@ -143,7 +145,7 @@ func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
|
||||
CheckDestroy: testAccCheckDataprocClusterDestroy(),
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDataprocCluster_basicWithInternalIpOnlyTrue(rnd),
|
||||
Config: testAccDataprocCluster_withInternalIpOnlyTrue(rnd),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckDataprocClusterExists("google_dataproc_cluster.basic", &cluster),
|
||||
|
||||
@ -155,7 +157,7 @@ func TestAccDataprocCluster_basicWithInternalIpOnlyTrue(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccDataprocCluster_basicWithMetadata(t *testing.T) {
|
||||
func TestAccDataprocCluster_withMetadata(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var cluster dataproc.Cluster
|
||||
@ -166,7 +168,7 @@ func TestAccDataprocCluster_basicWithMetadata(t *testing.T) {
|
||||
CheckDestroy: testAccCheckDataprocClusterDestroy(),
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDataprocCluster_basicWithMetadata(rnd),
|
||||
Config: testAccDataprocCluster_withMetadata(rnd),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckDataprocClusterExists("google_dataproc_cluster.basic", &cluster),
|
||||
|
||||
@ -534,12 +536,14 @@ func validateDataprocCluster_withConfigOverrides(n string, cluster *dataproc.Clu
|
||||
{"cluster_config.0.master_config.0.num_instances", "3", strconv.Itoa(int(cluster.Config.MasterConfig.NumInstances))},
|
||||
{"cluster_config.0.master_config.0.disk_config.0.boot_disk_size_gb", "10", strconv.Itoa(int(cluster.Config.MasterConfig.DiskConfig.BootDiskSizeGb))},
|
||||
{"cluster_config.0.master_config.0.disk_config.0.num_local_ssds", "0", strconv.Itoa(int(cluster.Config.MasterConfig.DiskConfig.NumLocalSsds))},
|
||||
{"cluster_config.0.master_config.0.disk_config.0.boot_disk_type", "pd-ssd", cluster.Config.MasterConfig.DiskConfig.BootDiskType},
|
||||
{"cluster_config.0.master_config.0.machine_type", "n1-standard-1", GetResourceNameFromSelfLink(cluster.Config.MasterConfig.MachineTypeUri)},
|
||||
{"cluster_config.0.master_config.0.instance_names.#", "3", strconv.Itoa(len(cluster.Config.MasterConfig.InstanceNames))},
|
||||
|
||||
{"cluster_config.0.worker_config.0.num_instances", "3", strconv.Itoa(int(cluster.Config.WorkerConfig.NumInstances))},
|
||||
{"cluster_config.0.worker_config.0.disk_config.0.boot_disk_size_gb", "11", strconv.Itoa(int(cluster.Config.WorkerConfig.DiskConfig.BootDiskSizeGb))},
|
||||
{"cluster_config.0.worker_config.0.disk_config.0.num_local_ssds", "1", strconv.Itoa(int(cluster.Config.WorkerConfig.DiskConfig.NumLocalSsds))},
|
||||
{"cluster_config.0.worker_config.0.disk_config.0.boot_disk_type", "pd-standard", cluster.Config.WorkerConfig.DiskConfig.BootDiskType},
|
||||
{"cluster_config.0.worker_config.0.machine_type", "n1-standard-1", GetResourceNameFromSelfLink(cluster.Config.WorkerConfig.MachineTypeUri)},
|
||||
{"cluster_config.0.worker_config.0.instance_names.#", "3", strconv.Itoa(len(cluster.Config.WorkerConfig.InstanceNames))},
|
||||
|
||||
@ -626,7 +630,7 @@ resource "google_dataproc_cluster" "basic" {
|
||||
`, rnd)
|
||||
}
|
||||
|
||||
func testAccDataprocCluster_basicWithInternalIpOnlyTrue(rnd string) string {
|
||||
func testAccDataprocCluster_withInternalIpOnlyTrue(rnd string) string {
|
||||
return fmt.Sprintf(`
|
||||
variable subnetwork_cidr {
|
||||
default = "10.0.0.0/16"
|
||||
@ -692,7 +696,7 @@ resource "google_dataproc_cluster" "basic" {
|
||||
`, rnd, rnd, rnd)
|
||||
}
|
||||
|
||||
func testAccDataprocCluster_basicWithMetadata(rnd string) string {
|
||||
func testAccDataprocCluster_withMetadata(rnd string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "google_dataproc_cluster" "basic" {
|
||||
name = "dproc-cluster-test-%s"
|
||||
@ -740,6 +744,7 @@ resource "google_dataproc_cluster" "with_config_overrides" {
|
||||
num_instances = 3
|
||||
machine_type = "n1-standard-1"
|
||||
disk_config {
|
||||
boot_disk_type = "pd-ssd"
|
||||
boot_disk_size_gb = 10
|
||||
}
|
||||
}
|
||||
@ -748,6 +753,7 @@ resource "google_dataproc_cluster" "with_config_overrides" {
|
||||
num_instances = 3
|
||||
machine_type = "n1-standard-1"
|
||||
disk_config {
|
||||
boot_disk_type = "pd-standard"
|
||||
boot_disk_size_gb = 11
|
||||
num_local_ssds = 1
|
||||
}
|
||||
|
3217
vendor/google.golang.org/api/dataproc/v1/dataproc-api.json
generated
vendored
3217
vendor/google.golang.org/api/dataproc/v1/dataproc-api.json
generated
vendored
File diff suppressed because it is too large
Load Diff
669
vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go
generated
vendored
669
vendor/google.golang.org/api/dataproc/v1/dataproc-gen.go
generated
vendored
File diff suppressed because it is too large
Load Diff
5
vendor/vendor.json
vendored
5
vendor/vendor.json
vendored
@ -1328,9 +1328,10 @@
|
||||
"revisionTime": "2017-12-13T00:03:45Z"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "4spHGEYR8VWzwlBGD+xSwi8ZRkw=",
|
||||
"checksumSHA1": "xXFRPq6wWR4G/zDHWOrVl7q3hpc=",
|
||||
"path": "google.golang.org/api/dataproc/v1",
|
||||
"revision": "93a219feb72690ca01348faec80d5a076a32f688"
|
||||
"revision": "6e1e03fd226b4390709001a431fb7283256a7d03",
|
||||
"revisionTime": "2018-08-08T00:04:36Z"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "wv8+a9dOWrdJEIt1mva9qLlTSfo=",
|
||||
|
@ -38,6 +38,7 @@ resource "google_dataproc_cluster" "mycluster" {
|
||||
num_instances = 1
|
||||
machine_type = "n1-standard-1"
|
||||
disk_config {
|
||||
boot_disk_type = "pd-ssd"
|
||||
boot_disk_size_gb = 10
|
||||
}
|
||||
}
|
||||
@ -100,7 +101,7 @@ resource "google_dataproc_cluster" "mycluster" {
|
||||
|
||||
- - -
|
||||
|
||||
The **cluster_config** block supports:
|
||||
The `cluster_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -149,7 +150,7 @@ The **cluster_config** block supports:
|
||||
|
||||
- - -
|
||||
|
||||
The **cluster_config.gce_cluster_config** block supports:
|
||||
The `cluster_config.gce_cluster_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -203,7 +204,7 @@ The **cluster_config.gce_cluster_config** block supports:
|
||||
will be launched in.
|
||||
- - -
|
||||
|
||||
The **cluster_config.master_config** block supports:
|
||||
The `cluster_config.master_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -211,6 +212,7 @@ The **cluster_config.master_config** block supports:
|
||||
num_instances = 1
|
||||
machine_type = "n1-standard-1"
|
||||
disk_config {
|
||||
boot_disk_type = "pd-ssd"
|
||||
boot_disk_size_gb = 10
|
||||
num_local_ssds = 1
|
||||
}
|
||||
@ -225,18 +227,23 @@ The **cluster_config.master_config** block supports:
|
||||
to create for the master. If not specified, GCP will default to a predetermined
|
||||
computed value (currently `n1-standard-4`).
|
||||
|
||||
* `disk_config.boot_disk_size_gb` - (Optional, Computed) Size of the primary disk attached to each node, specified
|
||||
* `disk_config` (Optional) Disk Config
|
||||
|
||||
* `disk_config.boot_disk_type` - (Optional) The disk type of the primary disk attached to each node.
|
||||
One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
|
||||
|
||||
* `disk_config.boot_disk_size_gb` - (Optional, Computed) Size of the primary disk attached to each node, specified
|
||||
in GB. The primary disk contains the boot volume and system libraries, and the
|
||||
smallest allowed disk size is 10GB. GCP will default to a predetermined
|
||||
computed value if not set (currently 500GB). Note: If SSDs are not
|
||||
attached, it also contains the HDFS data blocks and Hadoop working directories.
|
||||
|
||||
* `disk_config.num_local_ssds` - (Optional) The amount of local SSD disks that will be
|
||||
* `disk_config.num_local_ssds` - (Optional) The amount of local SSD disks that will be
|
||||
attached to each master cluster node. Defaults to 0.
|
||||
|
||||
- - -
|
||||
|
||||
The **cluster_config.worker_config** block supports:
|
||||
The `cluster_config.worker_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -244,6 +251,7 @@ The **cluster_config.worker_config** block supports:
|
||||
num_instances = 3
|
||||
machine_type = "n1-standard-1"
|
||||
disk_config {
|
||||
boot_disk_type = "pd-standard"
|
||||
boot_disk_size_gb = 10
|
||||
num_local_ssds = 1
|
||||
}
|
||||
@ -265,6 +273,9 @@ The **cluster_config.worker_config** block supports:
|
||||
|
||||
* `disk_config` (Optional) Disk Config
|
||||
|
||||
* `disk_config.boot_disk_type` - (Optional) The disk type of the primary disk attached to each node.
|
||||
One of `"pd-ssd"` or `"pd-standard"`. Defaults to `"pd-standard"`.
|
||||
|
||||
* `boot_disk_size_gb` - (Optional, Computed) Size of the primary disk attached to each worker node, specified
|
||||
in GB. The smallest allowed disk size is 10GB. GCP will default to a predetermined
|
||||
computed value if not set (currently 500GB). Note: If SSDs are not
|
||||
@ -275,7 +286,7 @@ The **cluster_config.worker_config** block supports:
|
||||
|
||||
- - -
|
||||
|
||||
The **cluster_config.preemptible_worker_config** block supports:
|
||||
The `cluster_config.preemptible_worker_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -303,7 +314,7 @@ will be set for you based on whatever was set for the `worker_config.machine_typ
|
||||
|
||||
- - -
|
||||
|
||||
The **cluster_config.software_config** block supports:
|
||||
The `cluster_config.software_config` block supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -330,7 +341,7 @@ The **cluster_config.software_config** block supports:
|
||||
|
||||
- - -
|
||||
|
||||
The **initialization_action** block (Optional) can be specified multiple times and supports:
|
||||
The `initialization_action` block (Optional) can be specified multiple times and supports:
|
||||
|
||||
```hcl
|
||||
cluster_config {
|
||||
@ -370,7 +381,6 @@ exported:
|
||||
* `cluster_config.software_config.properties` - A list of the properties used to set the daemon config files.
|
||||
This will include any values supplied by the user via `cluster_config.software_config.override_properties`
|
||||
|
||||
<a id="timeouts"></a>
|
||||
## Timeouts
|
||||
|
||||
`google_dataproc_cluster` provides the following
|
||||
|
Loading…
Reference in New Issue
Block a user