Ignore empty maps inside arrays

This commit is contained in:
Chris Stephens 2018-11-16 20:45:58 +00:00 committed by Nathan McKinley
parent aa6f9fe768
commit 150327a22a
13 changed files with 131 additions and 0 deletions

View File

@ -413,6 +413,9 @@ func flattenComputeAutoscalerAutoscalingPolicy(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["min_replicas"] =
flattenComputeAutoscalerAutoscalingPolicyMinReplicas(original["minNumReplicas"])
@ -463,6 +466,9 @@ func flattenComputeAutoscalerAutoscalingPolicyCpuUtilization(v interface{}) inte
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["target"] =
flattenComputeAutoscalerAutoscalingPolicyCpuUtilizationTarget(original["utilizationTarget"])
@ -480,6 +486,10 @@ func flattenComputeAutoscalerAutoscalingPolicyMetric(v interface{}) interface{}
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"name": flattenComputeAutoscalerAutoscalingPolicyMetricName(original["metric"]),
"target": flattenComputeAutoscalerAutoscalingPolicyMetricTarget(original["utilizationTarget"]),
@ -505,6 +515,9 @@ func flattenComputeAutoscalerAutoscalingPolicyLoadBalancingUtilization(v interfa
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["target"] =
flattenComputeAutoscalerAutoscalingPolicyLoadBalancingUtilizationTarget(original["utilizationTarget"])

View File

@ -913,6 +913,9 @@ func flattenComputeDiskSourceImageEncryptionKey(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["raw_key"] =
flattenComputeDiskSourceImageEncryptionKeyRawKey(original["rawKey"])
@ -937,6 +940,9 @@ func flattenComputeDiskDiskEncryptionKey(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["raw_key"] =
flattenComputeDiskDiskEncryptionKeyRawKey(original["rawKey"])
@ -964,6 +970,9 @@ func flattenComputeDiskSourceSnapshotEncryptionKey(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["raw_key"] =
flattenComputeDiskSourceSnapshotEncryptionKeyRawKey(original["rawKey"])

View File

@ -593,6 +593,10 @@ func flattenComputeFirewallAllow(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"protocol": flattenComputeFirewallAllowProtocol(original["IPProtocol"]),
"ports": flattenComputeFirewallAllowPorts(original["ports"]),
@ -620,6 +624,10 @@ func flattenComputeFirewallDeny(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"protocol": flattenComputeFirewallDenyProtocol(original["IPProtocol"]),
"ports": flattenComputeFirewallDenyPorts(original["ports"]),

View File

@ -601,6 +601,9 @@ func flattenComputeHealthCheckHttpHealthCheck(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["host"] =
flattenComputeHealthCheckHttpHealthCheckHost(original["host"])
@ -639,6 +642,9 @@ func flattenComputeHealthCheckHttpsHealthCheck(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["host"] =
flattenComputeHealthCheckHttpsHealthCheckHost(original["host"])
@ -677,6 +683,9 @@ func flattenComputeHealthCheckTcpHealthCheck(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["request"] =
flattenComputeHealthCheckTcpHealthCheckRequest(original["request"])
@ -715,6 +724,9 @@ func flattenComputeHealthCheckSslHealthCheck(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["request"] =
flattenComputeHealthCheckSslHealthCheckRequest(original["request"])

View File

@ -321,6 +321,9 @@ func flattenComputeInterconnectAttachmentPrivateInterconnectInfo(v interface{})
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["tag8021q"] =
flattenComputeInterconnectAttachmentPrivateInterconnectInfoTag8021q(original["tag8021q"])

View File

@ -412,6 +412,9 @@ func flattenComputeRegionAutoscalerAutoscalingPolicy(v interface{}) interface{}
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["min_replicas"] =
flattenComputeRegionAutoscalerAutoscalingPolicyMinReplicas(original["minNumReplicas"])
@ -462,6 +465,9 @@ func flattenComputeRegionAutoscalerAutoscalingPolicyCpuUtilization(v interface{}
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["target"] =
flattenComputeRegionAutoscalerAutoscalingPolicyCpuUtilizationTarget(original["utilizationTarget"])
@ -479,6 +485,10 @@ func flattenComputeRegionAutoscalerAutoscalingPolicyMetric(v interface{}) interf
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"name": flattenComputeRegionAutoscalerAutoscalingPolicyMetricName(original["metric"]),
"target": flattenComputeRegionAutoscalerAutoscalingPolicyMetricTarget(original["utilizationTarget"]),
@ -504,6 +514,9 @@ func flattenComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilization(v i
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["target"] =
flattenComputeRegionAutoscalerAutoscalingPolicyLoadBalancingUtilizationTarget(original["utilizationTarget"])

View File

@ -642,6 +642,9 @@ func flattenComputeRegionDiskDiskEncryptionKey(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["raw_key"] =
flattenComputeRegionDiskDiskEncryptionKeyRawKey(original["rawKey"])
@ -669,6 +672,9 @@ func flattenComputeRegionDiskSourceSnapshotEncryptionKey(v interface{}) interfac
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["raw_key"] =
flattenComputeRegionDiskSourceSnapshotEncryptionKeyRawKey(original["rawKey"])

View File

@ -396,6 +396,9 @@ func flattenComputeRouterBgp(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["asn"] =
flattenComputeRouterBgpAsn(original["asn"])
@ -433,6 +436,10 @@ func flattenComputeRouterBgpAdvertisedIpRanges(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"range": flattenComputeRouterBgpAdvertisedIpRangesRange(original["range"]),
"description": flattenComputeRouterBgpAdvertisedIpRangesDescription(original["description"]),

View File

@ -595,6 +595,10 @@ func flattenComputeSubnetworkSecondaryIpRange(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"range_name": flattenComputeSubnetworkSecondaryIpRangeRangeName(original["rangeName"]),
"ip_cidr_range": flattenComputeSubnetworkSecondaryIpRangeIpCidrRange(original["ipCidrRange"]),

View File

@ -473,6 +473,10 @@ func flattenComputeUrlMapHost_rule(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"description": flattenComputeUrlMapHost_ruleDescription(original["description"]),
"hosts": flattenComputeUrlMapHost_ruleHosts(original["hosts"]),
@ -522,6 +526,10 @@ func flattenComputeUrlMapPath_matcher(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"default_service": flattenComputeUrlMapPath_matcherDefaultService(original["defaultService"]),
"description": flattenComputeUrlMapPath_matcherDescription(original["description"]),
@ -554,6 +562,10 @@ func flattenComputeUrlMapPath_matcherPath_rule(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"paths": flattenComputeUrlMapPath_matcherPath_rulePaths(original["paths"]),
"service": flattenComputeUrlMapPath_matcherPath_ruleService(original["service"]),
@ -583,6 +595,10 @@ func flattenComputeUrlMapTest(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"description": flattenComputeUrlMapTestDescription(original["description"]),
"host": flattenComputeUrlMapTestHost(original["host"]),

View File

@ -555,6 +555,9 @@ func flattenMonitoringAlertPolicyCreationRecord(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["mutate_time"] =
flattenMonitoringAlertPolicyCreationRecordMutateTime(original["mutateTime"])
@ -582,6 +585,10 @@ func flattenMonitoringAlertPolicyConditions(v interface{}) interface{} {
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"condition_absent": flattenMonitoringAlertPolicyConditionsConditionAbsent(original["conditionAbsent"]),
"name": flattenMonitoringAlertPolicyConditionsName(original["name"]),
@ -596,6 +603,9 @@ func flattenMonitoringAlertPolicyConditionsConditionAbsent(v interface{}) interf
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["aggregations"] =
flattenMonitoringAlertPolicyConditionsConditionAbsentAggregations(original["aggregations"])
@ -615,6 +625,10 @@ func flattenMonitoringAlertPolicyConditionsConditionAbsentAggregations(v interfa
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"per_series_aligner": flattenMonitoringAlertPolicyConditionsConditionAbsentAggregationsPerSeriesAligner(original["perSeriesAligner"]),
"group_by_fields": flattenMonitoringAlertPolicyConditionsConditionAbsentAggregationsGroupByFields(original["groupByFields"]),
@ -645,6 +659,9 @@ func flattenMonitoringAlertPolicyConditionsConditionAbsentTrigger(v interface{})
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["percent"] =
flattenMonitoringAlertPolicyConditionsConditionAbsentTriggerPercent(original["percent"])
@ -683,6 +700,9 @@ func flattenMonitoringAlertPolicyConditionsConditionThreshold(v interface{}) int
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["threshold_value"] =
flattenMonitoringAlertPolicyConditionsConditionThresholdThresholdValue(original["thresholdValue"])
@ -718,6 +738,10 @@ func flattenMonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregat
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"per_series_aligner": flattenMonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsPerSeriesAligner(original["perSeriesAligner"]),
"group_by_fields": flattenMonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsGroupByFields(original["groupByFields"]),
@ -756,6 +780,9 @@ func flattenMonitoringAlertPolicyConditionsConditionThresholdTrigger(v interface
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["percent"] =
flattenMonitoringAlertPolicyConditionsConditionThresholdTriggerPercent(original["percent"])
@ -785,6 +812,10 @@ func flattenMonitoringAlertPolicyConditionsConditionThresholdAggregations(v inte
transformed := make([]interface{}, 0, len(l))
for _, raw := range l {
original := raw.(map[string]interface{})
if len(original) < 1 {
// Do not include empty json objects coming back from the api
continue
}
transformed = append(transformed, map[string]interface{}{
"per_series_aligner": flattenMonitoringAlertPolicyConditionsConditionThresholdAggregationsPerSeriesAligner(original["perSeriesAligner"]),
"group_by_fields": flattenMonitoringAlertPolicyConditionsConditionThresholdAggregationsGroupByFields(original["groupByFields"]),
@ -831,6 +862,9 @@ func flattenMonitoringAlertPolicyDocumentation(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["content"] =
flattenMonitoringAlertPolicyDocumentationContent(original["content"])

View File

@ -297,6 +297,9 @@ func flattenStorageDefaultObjectAccessControlProjectTeam(v interface{}) interfac
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["project_number"] =
flattenStorageDefaultObjectAccessControlProjectTeamProjectNumber(original["projectNumber"])

View File

@ -307,6 +307,9 @@ func flattenStorageObjectAccessControlProjectTeam(v interface{}) interface{} {
return nil
}
original := v.(map[string]interface{})
if len(original) == 0 {
return nil
}
transformed := make(map[string]interface{})
transformed["project_number"] =
flattenStorageObjectAccessControlProjectTeamProjectNumber(original["projectNumber"])