public static InfrastructureRendererBuilder <TInfrastructureRenderer> UsingLocation <TInfrastructureRenderer>(this InfrastructureRendererBuilder <TInfrastructureRenderer> builder, string location)
     where TInfrastructureRenderer : AzureInfrastructureRenderer
 {
     return(builder.UsingLocations(new FixedResourceLocationTargetingStrategy(location)));
 }
        public FailingDueToAmbiguityAzureResourceRenderer()
        {
            var renderers = InfrastructureRendererBuilder <TRenderer> .RenderersFor(typeof(T));

            throw new RendererResolutionException($"Cannot resolve renderer for {typeof(T).Name}, because there is more than 1 renderer type for this resource type available: {string.Join(", ", renderers.Select(r => r.AssemblyQualifiedName))}");
        }
 public static InfrastructureRendererBuilder <TInfrastructureRenderer> UsingResourceGroupPerEnvironment <TInfrastructureRenderer>(this InfrastructureRendererBuilder <TInfrastructureRenderer> builder, Func <IInfrastructureEnvironment, string> namingConvention)
     where TInfrastructureRenderer : AzureInfrastructureRenderer
 {
     return(builder.UsingResourceGroups(new ResourceGroupPerEnvironmentStrategy(namingConvention)));
 }