(objectProperty Property, resourceMap, objectMask map[string]interface{})
| 150 | } |
| 151 | |
| 152 | func fillObjectDefaults(objectProperty Property, resourceMap, objectMask map[string]interface{}) { |
| 153 | for objectPropertyID, objectPropertyIface := range objectProperty.Properties { |
| 154 | objectPropertyMap := objectPropertyIface.(map[string]interface{}) |
| 155 | innerProperty := NewPropertyFromObj(objectPropertyID, objectPropertyMap, false) |
| 156 | if objectMaskInnerProperty, ok := objectMask[objectPropertyID]; ok { |
| 157 | resourceFilledProperty, resourceFilled := resourceMap[objectPropertyID] |
| 158 | if innerProperty.Type == "object" { |
| 159 | innerPropertyMaskMap := objectMaskInnerProperty.(map[string]interface{}) |
| 160 | if resourceFilled { |
| 161 | fillObjectDefaults(*innerProperty, resourceFilledProperty.(map[string]interface{}), innerPropertyMaskMap) |
| 162 | } else { |
| 163 | if innerPropertyMaskMap != nil && innerProperty.Default != nil { |
| 164 | resourceMap[objectPropertyID] = innerPropertyMaskMap |
| 165 | } |
| 166 | } |
| 167 | } else { |
| 168 | if !resourceFilled { |
| 169 | resourceMap[objectPropertyID] = objectMaskInnerProperty |
| 170 | } |
| 171 | } |
| 172 | } |
| 173 | } |
| 174 | } |
| 175 | |
| 176 | //PopulateDefaults Populates not provided data with defaults |
| 177 | func (resource *Resource) PopulateDefaults() error { |
no test coverage detected