in tools/diff-processor/diff/diff.go [187:222]
func fieldSets(field *schema.Schema, fieldName string) ResourceFieldSets {
if field == nil {
return ResourceFieldSets{}
}
var conflictsWith, exactlyOneOf, atLeastOneOf, requiredWith map[string]FieldSet
if len(field.ConflictsWith) > 0 {
set := sliceToSetRemoveZeroPadding(append(field.ConflictsWith, fieldName))
conflictsWith = map[string]FieldSet{
setKey(set): set,
}
}
if len(field.ExactlyOneOf) > 0 {
set := sliceToSetRemoveZeroPadding(append(field.ExactlyOneOf, fieldName))
exactlyOneOf = map[string]FieldSet{
setKey(set): set,
}
}
if len(field.AtLeastOneOf) > 0 {
set := sliceToSetRemoveZeroPadding(append(field.AtLeastOneOf, fieldName))
atLeastOneOf = map[string]FieldSet{
setKey(set): set,
}
}
if len(field.RequiredWith) > 0 {
set := sliceToSetRemoveZeroPadding(append(field.RequiredWith, fieldName))
requiredWith = map[string]FieldSet{
setKey(set): set,
}
}
return ResourceFieldSets{
ConflictsWith: conflictsWith,
ExactlyOneOf: exactlyOneOf,
AtLeastOneOf: atLeastOneOf,
RequiredWith: requiredWith,
}
}