Add timePartitioning.requirePartitionFilter to bigquery table (#2815)

<!-- This change is generated by MagicModules. -->
/cc @rileykarson
This commit is contained in:
The Magician 2019-01-08 14:19:59 -08:00 committed by Riley Karson
parent 4af5438dc2
commit d620a648bf
3 changed files with 23 additions and 2 deletions

View File

@ -142,7 +142,7 @@ func resourceBigQueryTable() *schema.Resource {
ValidateFunc: validation.StringInSlice([]string{"DAY"}, false),
},
// Type: [Optional] The field used to determine how to create a time-based
// Field: [Optional] The field used to determine how to create a time-based
// partition. If time-based partitioning is enabled without this value, the
// table is partitioned based on the load time.
"field": {
@ -150,6 +150,14 @@ func resourceBigQueryTable() *schema.Resource {
Optional: true,
ForceNew: true,
},
// RequirePartitionFilter: [Optional] If set to true, queries over this table
// require a partition filter that can be used for partition elimination to be
// specified.
"require_partition_filter": {
Type: schema.TypeBool,
Optional: true,
},
},
},
},
@ -436,6 +444,10 @@ func expandTimePartitioning(configured interface{}) *bigquery.TimePartitioning {
tp.ExpirationMs = int64(v.(int))
}
if v, ok := raw["require_partition_filter"]; ok {
tp.RequirePartitionFilter = v.(bool)
}
return tp
}
@ -450,6 +462,10 @@ func flattenTimePartitioning(tp *bigquery.TimePartitioning) []map[string]interfa
result["expiration_ms"] = tp.ExpirationMs
}
if tp.RequirePartitionFilter == true {
result["require_partition_filter"] = tp.RequirePartitionFilter
}
return []map[string]interface{}{result}
}

View File

@ -122,7 +122,8 @@ resource "google_bigquery_table" "test" {
time_partitioning {
type = "DAY"
field = "ts"
field = "ts"
require_partition_filter = true
}
schema = <<EOH

View File

@ -88,6 +88,10 @@ The `time_partitioning` block supports:
* `type` - (Required) The only type supported is DAY, which will generate
one partition per day based on data loading time.
* `require_partition_filter` - (Optional) If set to true, queries over this table
require a partition filter that can be used for partition elimination to be
specified.
The `view` block supports:
* `query` - (Required) A query that BigQuery executes when the view is referenced.