Skip to content

Commit d5cfdfb

Browse files
committed
Add error handling for get on map and type conversion in object lifecycle policy data source
1 parent e16b559 commit d5cfdfb

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

oci/objectstorage_object_lifecycle_policy_data_source.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,25 @@ func (s *ObjectStorageObjectLifecyclePolicyDataSourceCrud) SetData() error {
9292
}
9393

9494
func fixupObjectNameFilterInclusionPrefixesAsList(objectLifecycleRuleMap map[string]interface{}) {
95-
objectNameFilterList := objectLifecycleRuleMap["object_name_filter"].([]interface{})
96-
if objectNameFilterList != nil {
97-
firstElement := objectNameFilterList[0]
98-
objectNameFilterMap := firstElement.(map[string]interface{})
99-
inclusionPrefixesSet := objectNameFilterMap["inclusion_prefixes"].(*schema.Set)
100-
objectNameFilterMap["inclusion_prefixes"] = inclusionPrefixesSet.List()
101-
102-
inclusionPatternsSet := objectNameFilterMap["inclusion_patterns"].(*schema.Set)
103-
objectNameFilterMap["inclusion_patterns"] = inclusionPatternsSet.List()
104-
105-
exclusionPatternsSet := objectNameFilterMap["exclusion_patterns"].(*schema.Set)
106-
objectNameFilterMap["exclusion_patterns"] = exclusionPatternsSet.List()
95+
if objectNameFilterList, exists := objectLifecycleRuleMap["object_name_filter"]; exists {
96+
if objectNameFilterList, ok := objectNameFilterList.([]interface{}); ok && len(objectNameFilterList) > 0 {
97+
firstElement := objectNameFilterList[0]
98+
99+
if objectNameFilterMap, ok := firstElement.(map[string]interface{}); ok {
100+
if inclusionPrefixesSet, ok := objectNameFilterMap["inclusion_prefixes"].(*schema.Set); ok {
101+
objectNameFilterMap["inclusion_prefixes"] = inclusionPrefixesSet.List()
102+
}
103+
104+
if inclusionPatternsSet, ok := objectNameFilterMap["inclusion_patterns"].(*schema.Set); ok {
105+
objectNameFilterMap["inclusion_patterns"] = inclusionPatternsSet.List()
106+
}
107+
108+
if exclusionPatternsSet, ok := objectNameFilterMap["exclusion_patterns"].(*schema.Set); ok {
109+
objectNameFilterMap["exclusion_patterns"] = exclusionPatternsSet.List()
110+
}
111+
}
112+
113+
}
114+
107115
}
108116
}

0 commit comments

Comments
 (0)