PopulateDefaults Populates not provided data with defaults
()
| 175 | |
| 176 | //PopulateDefaults Populates not provided data with defaults |
| 177 | func (resource *Resource) PopulateDefaults() error { |
| 178 | for _, property := range resource.Schema().Properties { |
| 179 | defaultValueMask := property.getDefaultMask() |
| 180 | resourceProperty, propertyFilled := resource.properties[property.ID] |
| 181 | if defaultValueMask != nil { |
| 182 | if property.Type == "object" { |
| 183 | defaultValueMaskMap := defaultValueMask.(map[string]interface{}) |
| 184 | if propertyFilled && resourceProperty != nil { |
| 185 | resourceMap := resourceProperty.(map[string]interface{}) |
| 186 | fillObjectDefaults(property, resourceMap, defaultValueMaskMap) |
| 187 | } else if defaultValueMaskMap != nil { |
| 188 | resource.properties[property.ID] = defaultValueMaskMap |
| 189 | } |
| 190 | } else { |
| 191 | if !propertyFilled { |
| 192 | resource.properties[property.ID] = defaultValueMask |
| 193 | } |
| 194 | } |
| 195 | } |
| 196 | } |
| 197 | |
| 198 | return nil |
| 199 | } |
no test coverage detected