func()

in resource/context.go [87:117]


func (c *Context) InitFile(content string) error {
	file, diags := hclwrite.ParseConfig([]byte(content), "", hcl.InitialPos)
	if diags.HasErrors() {
		logrus.Errorf("failed to parse input:\n%v", content)
		return diags
	}
	var locationVarBlock, terraformBlock *hclwrite.Block
	for _, block := range file.Body().Blocks() {
		switch block.Type() {
		case "variable":
			switch block.Labels()[0] {
			case "location":
				locationVarBlock = block
			case "resource_name":
				block.Body().SetAttributeValue("default", cty.StringVal(fmt.Sprintf("acctest%04d", R.Intn(10000))))
			}
		case "terraform":
			terraformBlock = block
		}
	}
	if terraformBlock == nil {
		logrus.Warnf("terraform block not found in the input.")
	}
	if locationVarBlock == nil {
		logrus.Warnf("location variable block not found in the input.")
	}
	c.File = file
	c.terraformBlock = terraformBlock
	c.locationVarBlock = locationVarBlock
	return nil
}