return err
}
+func (p *ResourceProvider) GetSchema(req *terraform.ProviderSchemaRequest) (*terraform.ProviderSchema, error) {
+ var result ResourceProviderGetSchemaResponse
+ args := &ResourceProviderGetSchemaArgs{
+ Req: req,
+ }
+
+ err := p.Client.Call("Plugin.GetSchema", args, &result)
+ if err != nil {
+ return nil, err
+ }
+
+ if result.Error != nil {
+ err = result.Error
+ }
+
+ return result.Schema, err
+}
+
func (p *ResourceProvider) Input(
input terraform.UIInput,
c *terraform.ResourceConfig) (*terraform.ResourceConfig, error) {
Error *plugin.BasicError
}
+type ResourceProviderGetSchemaArgs struct {
+ Req *terraform.ProviderSchemaRequest
+}
+
+type ResourceProviderGetSchemaResponse struct {
+ Schema *terraform.ProviderSchema
+ Error *plugin.BasicError
+}
+
type ResourceProviderConfigureResponse struct {
Error *plugin.BasicError
}
return nil
}
+func (s *ResourceProviderServer) GetSchema(
+ args *ResourceProviderGetSchemaArgs,
+ result *ResourceProviderGetSchemaResponse,
+) error {
+ schema, err := s.Provider.GetSchema(args.Req)
+ result.Schema = schema
+ if err != nil {
+ result.Error = plugin.NewBasicError(err)
+ }
+ return nil
+}
+
func (s *ResourceProviderServer) Input(
args *ResourceProviderInputArgs,
reply *ResourceProviderInputResponse) error {