pulumi/tests/integration/stack_component/dotnet_service_provider/Program.cs

54 lines
1.2 KiB
C#

// Copyright 2016-2020, Pulumi Corporation. All rights reserved.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Pulumi;
class MyStack : Stack
{
[Output("abc")]
public Output<string> Abc { get; private set; }
[Output]
public Output<int> Foo { get; private set; }
// This should NOT be exported as stack output due to the missing attribute
public Output<string> Bar { get; private set; }
public MyStack(Dependency dependency)
{
this.Abc = Output.Create(dependency.Abc);
this.Foo = Output.Create(dependency.Foo);
this.Bar = Output.Create(dependency.Bar);
}
}
class Program
{
static Task<int> Main(string[] args)
{
return Deployment.RunAsync<MyStack>(new SampleServiceProvider());
}
}
class Dependency
{
public string Abc { get; set; } = "ABC";
public int Foo { get; set; } = 42;
public string Bar { get; set; } = "this should not come to output";
}
class SampleServiceProvider : IServiceProvider
{
public object GetService(Type serviceType)
{
if (serviceType == typeof(MyStack))
{
return new MyStack(new Dependency());
}
return null;
}
}