예제 #1
0
    static Task Main(string[] args)
    {
        // Use the default plugin host that takes care of certificates and hosting the Grpc services.

        return(TerraformPluginHost.RunAsync(args, "example.com/example/sampleprovider", (services, registry) =>
        {
            services.AddSingleton <SampleConfigurator>();
            services.AddTerraformProviderConfigurator <Configuration, SampleConfigurator>();
            services.AddSingleton <IResourceProvider <SampleFileResource>, SampleFileResourceProvider>();
            registry.RegisterResource <SampleFileResource>("sampleprovider_file");
        }));
    }
예제 #2
0
    static Task Main(string[] args)
    {
        // Use the default plugin host that takes care of certificates and hosting the Grpc services.

        return(TerraformPluginHost.RunAsync(args, "example.com/example/schemaupgrade", (services, registry) =>
        {
            // Register the resource and provider in the usual way.
            services.AddSingleton <IResourceProvider <UpgradableResourceV2>, UpgradableResourceProvider>();
            registry.RegisterResource <UpgradableResourceV2>("schemaupgrade_sampleresource");

            // Register the resource upgrader
            services.AddTransient <IResourceUpgrader <UpgradableResourceV2>, UpgradableResourceUpgrader>();
        }));
    }