code: func schemaForInputSniffing(schema *hcl.BodySchema) *hcl.BodySchema {
  	ret := &hcl.BodySchema{
  		Attributes: make([]hcl.AttributeSchema, len(schema.Attributes)),
  		Blocks:     schema.Blocks,
  	}
  
  	for i, attrS := range schema.Attributes {
  		ret.Attributes[i] = attrS
  		ret.Attributes[i].Required = false
  	}
  
  	return ret
  }
docs: // schemaForInputSniffing returns a transformed version of a given schema
  // that marks all attributes as optional, which the Context.Input method can
  // use to detect whether a required argument is set without missing arguments
  // themselves generating errors.