Skip to content

Commit 382e18c

Browse files
add AutoTier support for netapp storagePools and Volumes (#11645) (#2788)
[upstream:7a2585cf5513d0d87004c49c835904e4833a6343] Signed-off-by: Modular Magician <[email protected]>
1 parent 5d33a41 commit 382e18c

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

tfplan2cai/converters/google/resources/services/netapp/netapp_storage_pool.go

+10
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ func GetNetappStoragePoolApiObject(d tpgresource.TerraformResourceData, config *
108108
} else if v, ok := d.GetOkExists("replica_zone"); !tpgresource.IsEmptyValue(reflect.ValueOf(replicaZoneProp)) && (ok || !reflect.DeepEqual(v, replicaZoneProp)) {
109109
obj["replicaZone"] = replicaZoneProp
110110
}
111+
allowAutoTieringProp, err := expandNetappStoragePoolAllowAutoTiering(d.Get("allow_auto_tiering"), d, config)
112+
if err != nil {
113+
return nil, err
114+
} else if v, ok := d.GetOkExists("allow_auto_tiering"); !tpgresource.IsEmptyValue(reflect.ValueOf(allowAutoTieringProp)) && (ok || !reflect.DeepEqual(v, allowAutoTieringProp)) {
115+
obj["allowAutoTiering"] = allowAutoTieringProp
116+
}
111117
labelsProp, err := expandNetappStoragePoolEffectiveLabels(d.Get("effective_labels"), d, config)
112118
if err != nil {
113119
return nil, err
@@ -154,6 +160,10 @@ func expandNetappStoragePoolReplicaZone(v interface{}, d tpgresource.TerraformRe
154160
return v, nil
155161
}
156162

163+
func expandNetappStoragePoolAllowAutoTiering(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
164+
return v, nil
165+
}
166+
157167
func expandNetappStoragePoolEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
158168
if v == nil {
159169
return map[string]string{}, nil

tfplan2cai/converters/google/resources/services/netapp/netapp_volume.go

+40
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,12 @@ func GetNetappVolumeApiObject(d tpgresource.TerraformResourceData, config *trans
156156
} else if v, ok := d.GetOkExists("multiple_endpoints"); !tpgresource.IsEmptyValue(reflect.ValueOf(multipleEndpointsProp)) && (ok || !reflect.DeepEqual(v, multipleEndpointsProp)) {
157157
obj["multipleEndpoints"] = multipleEndpointsProp
158158
}
159+
tieringPolicyProp, err := expandNetappVolumeTieringPolicy(d.Get("tiering_policy"), d, config)
160+
if err != nil {
161+
return nil, err
162+
} else if v, ok := d.GetOkExists("tiering_policy"); !tpgresource.IsEmptyValue(reflect.ValueOf(tieringPolicyProp)) && (ok || !reflect.DeepEqual(v, tieringPolicyProp)) {
163+
obj["tieringPolicy"] = tieringPolicyProp
164+
}
159165
labelsProp, err := expandNetappVolumeEffectiveLabels(d.Get("effective_labels"), d, config)
160166
if err != nil {
161167
return nil, err
@@ -694,6 +700,40 @@ func expandNetappVolumeMultipleEndpoints(v interface{}, d tpgresource.TerraformR
694700
return v, nil
695701
}
696702

703+
func expandNetappVolumeTieringPolicy(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
704+
l := v.([]interface{})
705+
if len(l) == 0 || l[0] == nil {
706+
return nil, nil
707+
}
708+
raw := l[0]
709+
original := raw.(map[string]interface{})
710+
transformed := make(map[string]interface{})
711+
712+
transformedCoolingThresholdDays, err := expandNetappVolumeTieringPolicyCoolingThresholdDays(original["cooling_threshold_days"], d, config)
713+
if err != nil {
714+
return nil, err
715+
} else if val := reflect.ValueOf(transformedCoolingThresholdDays); val.IsValid() && !tpgresource.IsEmptyValue(val) {
716+
transformed["coolingThresholdDays"] = transformedCoolingThresholdDays
717+
}
718+
719+
transformedTierAction, err := expandNetappVolumeTieringPolicyTierAction(original["tier_action"], d, config)
720+
if err != nil {
721+
return nil, err
722+
} else if val := reflect.ValueOf(transformedTierAction); val.IsValid() && !tpgresource.IsEmptyValue(val) {
723+
transformed["tierAction"] = transformedTierAction
724+
}
725+
726+
return transformed, nil
727+
}
728+
729+
func expandNetappVolumeTieringPolicyCoolingThresholdDays(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
730+
return v, nil
731+
}
732+
733+
func expandNetappVolumeTieringPolicyTierAction(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
734+
return v, nil
735+
}
736+
697737
func expandNetappVolumeEffectiveLabels(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (map[string]string, error) {
698738
if v == nil {
699739
return map[string]string{}, nil

0 commit comments

Comments
 (0)