code: func (m *Meta) contextOpts() *terraform.ContextOpts {
  	var opts terraform.ContextOpts
  	opts.Hooks = []terraform.Hook{m.uiHook()}
  	opts.Hooks = append(opts.Hooks, m.ExtraHooks...)
  
  	opts.Targets = m.targets
  	opts.UIInput = m.UIInput()
  	opts.Parallelism = m.parallelism
  
  	// If testingOverrides are set, we'll skip the plugin discovery process
  	// and just work with what we've been given, thus allowing the tests
  	// to provide mock providers and provisioners.
  	if m.testingOverrides != nil {
  		opts.ProviderResolver = m.testingOverrides.ProviderResolver
  		opts.Provisioners = m.testingOverrides.Provisioners
  	} else {
  		opts.ProviderResolver = m.providerResolver()
  		opts.Provisioners = m.provisionerFactories()
  	}
  
  	opts.ProviderSHA256s = m.providerPluginsLock().Read()
  	if v := os.Getenv(ProviderSkipVerifyEnvVar); v != "" {
  		opts.SkipProviderVerify = true
  	}
  
  	opts.Meta = &terraform.ContextMeta{
  		Env: m.Workspace(),
  	}
  
  	return &opts
  }
docs: // contextOpts returns the options to use to initialize a Terraform
  // context with the settings from this Meta.