in provider-schema/azurerm/schema/core_schema.go [75:98]
func fromProviderSchemaAttribute(ps *schema.Schema) *SchemaAttribute {
reqd := ps.Required
opt := ps.Optional
if reqd && ps.DefaultFunc != nil {
v, err := ps.DefaultFunc()
if err != nil || (err == nil && v != nil) {
reqd = false
opt = true
}
}
return &SchemaAttribute{
AttributeType: fromProviderSchemaType(ps),
Optional: opt,
Required: reqd,
Computed: ps.Computed,
Default: ps.Default,
ConflictsWith: ps.ConflictsWith,
ExactlyOneOf: ps.ExactlyOneOf,
AtLeastOneOf: ps.AtLeastOneOf,
RequiredWith: ps.RequiredWith,
}
}