// *** WARNING: this file was generated by test. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** using System; using System.Collections.Immutable; namespace Configstation.Pulumi.Configstation { public static class Config { [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Double underscore prefix used to avoid conflicts with variable names.")] private sealed class __Value<T> { private readonly Func<T> _getter; private T _value = default!; private bool _set; public __Value(Func<T> getter) { _getter = getter; } public T Get() => _set ? _value : _getter(); public void Set(T value) { _value = value; _set = true; } } private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("configstation"); private static readonly __Value<ImmutableArray<string>> _favoritePlants = new __Value<ImmutableArray<string>>(() => __config.GetObject<ImmutableArray<string>>("favoritePlants")); public static ImmutableArray<string> FavoritePlants { get => _favoritePlants.Get(); set => _favoritePlants.Set(value); } private static readonly __Value<Configstation.Pulumi.Configstation.Config.Types.Sandwich?> _favoriteSandwich = new __Value<Configstation.Pulumi.Configstation.Config.Types.Sandwich?>(() => __config.GetObject<Configstation.Pulumi.Configstation.Config.Types.Sandwich>("favoriteSandwich")); /// <summary> /// omg my favorite sandwich /// </summary> public static Configstation.Pulumi.Configstation.Config.Types.Sandwich? FavoriteSandwich { get => _favoriteSandwich.Get(); set => _favoriteSandwich.Set(value); } private static readonly __Value<bool?> _isMember = new __Value<bool?>(() => __config.GetBoolean("isMember") ?? true); public static bool? IsMember { get => _isMember.Get(); set => _isMember.Set(value); } private static readonly __Value<Types.Child?> _kids = new __Value<Types.Child?>(() => __config.GetObject<Types.Child>("kids")); public static Types.Child? Kids { get => _kids.Get(); set => _kids.Set(value); } private static readonly __Value<string?> _name = new __Value<string?>(() => __config.Get("name")); public static string? Name { get => _name.Get(); set => _name.Set(value); } private static readonly __Value<int?> _numberOfSheep = new __Value<int?>(() => __config.GetInt32("numberOfSheep")); public static int? NumberOfSheep { get => _numberOfSheep.Get(); set => _numberOfSheep.Set(value); } private static readonly __Value<string?> _secretCode = new __Value<string?>(() => __config.Get("secretCode") ?? Utilities.GetEnv("SECRET_CODE", "MY_SUPER_SECRET_CODE")); /// <summary> /// This is a huge secret /// </summary> public static string? SecretCode { get => _secretCode.Get(); set => _secretCode.Set(value); } public static class Types { public class Sandwich { public string? Bread { get; set; } = null!; public ImmutableArray<string> Veggies { get; set; } } public class Child { public int? Age { get; set; } public string? Name { get; set; } = null!; } } } }