1 implementation of IResourceBuilder
Aspire.Hosting.Native.Client (1)
Authoring\DistributedApplicationBuilder.cs (1)
191internal sealed class ResourceBuilder<T>(DistributedApplicationBuilder builder, T resource) : IResourceBuilder<T> where T : Resource
109 references to IResourceBuilder
Aspire.Hosting.Native.Client (45)
Authoring\DistributedApplicationBuilder.cs (6)
48public IResourceBuilder<T> AddContainer<T>(T resource) where T : ContainerResource 61public IResourceBuilder<ContainerResource> AddContainer(string name, string image) => AddContainer(new ContainerResource(name, image)); 68public IResourceBuilder<ExecutableResource> AddExecutable(string name, string executablePath, string workingDirectory) 83public IResourceBuilder<ParameterResource> AddParameter(string name, string? value = null, bool secret = true) 102public IResourceBuilder<T> AddIntegrationResource<T>(T resource, string packageName, 121public IResourceBuilder<ParameterResource> ImportParameter(string name, DeclaredValue value)
Authoring\NativeApplication.cs (1)
274public async Task WaitForCompletionAsync<T>(IResourceBuilder<T> resource, CancellationToken cancellationToken = default) where T : Resource
Authoring\Publishing.cs (11)
44public IResourceBuilder<T> AddComputeEnvironment<T>(T resource) where T : ComputeEnvironmentResource 60public IResourceBuilder<ParameterResource> AddConfiguredParameter(string name, bool secret) 113public static IResourceBuilder<T> WithComputeEnvironment<T>(this IResourceBuilder<T> builder, 114IResourceBuilder<ComputeEnvironmentResource> environment) where T : Resource 135public static IResourceBuilder<T> WithPublishConfiguration<T>(this IResourceBuilder<T> builder, 159public static IResourceBuilder<T> WithExternalHttpEndpoints<T>(this IResourceBuilder<T> builder) where T : Resource 174public static IResourceBuilder<T> WithBindMount<T>(this IResourceBuilder<T> builder,
Authoring\ResourceBuilderExtensions.cs (27)
16public static IResourceBuilder<T> WithConnectionString<T>(this IResourceBuilder<T> resource, ReferenceExpression connection) where T : Resource 26private static void RequireSameBuilder<T, TOther>(IResourceBuilder<T> resource, IResourceBuilder<TOther> other) 37public static ReferenceExpression AsReference(this IResourceBuilder<ParameterResource> parameter) => 45public static IResourceBuilder<T> WithEnvironment<T>(this IResourceBuilder<T> resource, string name, ReferenceExpression value) where T : Resource 58public static IResourceBuilder<T> WithEnvironment<T>(this IResourceBuilder<T> resource, string name, 59IResourceBuilder<ParameterResource> value) where T : Resource 70public static IResourceBuilder<T> WithArgs<T>(this IResourceBuilder<T> resource, params ReferenceExpression[] arguments) where T : Resource 87public static IResourceBuilder<T> WithEndpoint<T>(this IResourceBuilder<T> resource, string name, int targetPort, 102public static EndpointReference GetEndpoint<T>(this IResourceBuilder<T> resource, string name) where T : Resource => 109public static IResourceBuilder<T> WithEntrypoint<T>(this IResourceBuilder<T> resource, string entrypoint) where T : ContainerResource 121public static IResourceBuilder<T> WithVolume<T>(this IResourceBuilder<T> resource, string name, string target) where T : Resource 133public static IResourceBuilder<T> WithReference<T, TProducer>(this IResourceBuilder<T> consumer, 134IResourceBuilder<TProducer> producer) where T : Resource where TProducer : Resource 149public static IResourceBuilder<T> WaitFor<T, TDependency>(this IResourceBuilder<T> consumer, 150IResourceBuilder<TDependency> dependency) where T : Resource where TDependency : Resource 163public static IResourceBuilder<T> WithHealthCheck<T>(this IResourceBuilder<T> resource, ExecutableCommand command) where T : Resource
Aspire.Hosting.Native.Core.Tests (12)
NativeBuilderAuthoringTests.cs (8)
65var cache = first.AddRedis("cache").WithDataVolume(); 126var cache = builder.AddContainer(new RedisContainerResource("cache")).WithDataVolume(); 167IResourceBuilder<RedisContainerResource> cache = builder.AddRedis("cache").WithDataVolume(); 168IResourceBuilder<ExecutableResource> consumer = builder.AddExecutable("consumer", "unused-executable", ".") 206var consumer = second.AddExecutable("consumer", "unused-executable", "."); 220var cache = NativeIntegrations.Redis.Authoring.RedisBuilderExtensions.AddRedis(builder, "cache").WithDataVolume("owned-volume"); 221var consumer = builder.AddExecutable("consumer", Environment.ProcessPath!, AppContext.BaseDirectory).WithReference(cache); 222var waiter = builder.AddExecutable("waiter", Environment.ProcessPath!, AppContext.BaseDirectory).WaitFor(cache);
TestServices\ComposeTestApplication.cs (4)
12internal static DistributedApplicationBuilder Create(string root, Action<IResourceBuilder<DockerComposeEnvironmentResource>>? configure = null) 15var environment = builder.AddDockerComposeEnvironment("compose").WithDashboard(false); 17var password = builder.AddConfiguredParameter("cache-password", secret: true); 18var cache = builder.AddContainer("cache", "redis:7.4-alpine")
NativeIntegrations.DockerCompose (30)
DockerComposeBuilderExtensions.cs (28)
28string name, IResourceBuilder<DockerComposeEnvironmentResource> parent, DockerComposePlan plan, PublishingContext context) 31public IResourceBuilder<DockerComposeEnvironmentResource> Parent { get; } = parent; 33public string Parameter(IResourceBuilder<ParameterResource> parameter) 61public sealed class ComposeDashboardBuilder(IResourceBuilder<DockerComposeEnvironmentResource> environment) 88public static IResourceBuilder<DockerComposeEnvironmentResource> AddDockerComposeEnvironment( 91var result = builder.AddComputeEnvironment(new DockerComposeEnvironmentResource(ComposeJson.Text(name))); 118public static IResourceBuilder<T> PublishAsDockerComposeService<T>( 119this IResourceBuilder<T> builder, DockerComposeServiceOptions options) where T : Resource 132public static IResourceBuilder<T> PublishAsDockerComposeService<T>( 133this IResourceBuilder<T> builder, Action<DockerComposeServiceResource, ComposeServiceBuilder> configure) where T : Resource => 136public static IResourceBuilder<T> PublishAsDockerComposeService<T>( 137this IResourceBuilder<T> builder, Func<DockerComposeServiceResource, ComposeServiceBuilder, Task> configure) where T : Resource 152public static IResourceBuilder<DockerComposeEnvironmentResource> WithProperties( 153this IResourceBuilder<DockerComposeEnvironmentResource> builder, Action<DockerComposeEnvironmentResource> configure) 160public static IResourceBuilder<DockerComposeEnvironmentResource> WithDashboard( 161this IResourceBuilder<DockerComposeEnvironmentResource> builder, bool enabled = true) 168public static IResourceBuilder<DockerComposeEnvironmentResource> ConfigureDashboard( 169this IResourceBuilder<DockerComposeEnvironmentResource> builder, Action<ComposeDashboardBuilder> configure) 177public static IResourceBuilder<DockerComposeEnvironmentResource> ConfigureComposeFile( 178this IResourceBuilder<DockerComposeEnvironmentResource> builder, Action<ComposeFileBuilder> configure) => 181public static IResourceBuilder<DockerComposeEnvironmentResource> ConfigureComposeFile( 182this IResourceBuilder<DockerComposeEnvironmentResource> builder, Func<ComposeFileBuilder, Task> configure) 189public static IResourceBuilder<DockerComposeEnvironmentResource> ConfigureEnvFile( 190this IResourceBuilder<DockerComposeEnvironmentResource> builder, 198public static IResourceBuilder<DockerComposeEnvironmentResource> WithRunner( 199this IResourceBuilder<DockerComposeEnvironmentResource> builder, DockerCommandRunner runner) 209public static string AsEnvironmentPlaceholder(this IResourceBuilder<ParameterResource> parameter, DockerComposeServiceResource service) => 212public static ReferenceExpression GetHostAddressExpression(this IResourceBuilder<DockerComposeEnvironmentResource> environment,
DockerComposeEnvironment.cs (2)
27private readonly IResourceBuilder<DockerComposeEnvironmentResource>? _builder; 38IResourceBuilder<DockerComposeEnvironmentResource>? builder, ComposeAuthoringState? authoring)
NativeIntegrations.DockerCompose.AppHost.Sample (4)
Program.cs (4)
12var compose = builder.AddDockerComposeEnvironment("compose").WithDashboard(enabled: false); 13var password = builder.AddConfiguredParameter("cache-password", secret: true); 14var cache = builder.AddContainer("cache", "redis:7.4-alpine") 28var web = builder.AddExecutable("web", Environment.ProcessPath!, Path.Combine(builder.AppHostDirectory, "web"))
NativeIntegrations.Redis (7)
RedisBuilderExtensions.cs (3)
12public static IResourceBuilder<RedisContainerResource> AddRedis(this DistributedApplicationBuilder builder, string name, 13IResourceBuilder<ParameterResource>? password = null) 16var cache = builder.AddContainer(new RedisContainerResource(name))
RedisContainerResource.cs (2)
19public static IResourceBuilder<RedisContainerResource> WithDataVolume(this IResourceBuilder<RedisContainerResource> cache,
RedisExtensions.cs (2)
19var credential = builder.ImportParameter($"{name}-password", password); 20var cache = builder.AddRedis(name, credential);
NativeIntegrations.Redis.AppHost.Sample (1)
Program.cs (1)
9var cache = builder.AddRedis("cache").WithDataVolume();
NativeIntegrations.Redis.Contracts (2)
RedisBuilderExtensions.cs (2)
13public static IResourceBuilder<RedisContainerResource> AddRedis(this DistributedApplicationBuilder builder, string name, 14IResourceBuilder<ParameterResource>? password = null)
NativeIntegrations.Redis.Validation (8)
Program.cs (3)
10var password = builder.AddParameter("cache-password", "real-authoring-password"); 11var cache = builder.AddRedis("cache", password).WithDataVolume(builder.Configuration["data-volume"]); 12var consumer = builder.AddExecutable("consumer", builder.Configuration["consumer-path"] ?? throw new ArgumentException("--consumer-path is required."), AppContext.BaseDirectory)
RedisPersistenceValidation.cs (5)
12public static async Task RunAsync(DistributedApplicationBuilder builder, IResourceBuilder<ExecutableResource> consumer, string[] args) 35private static (DistributedApplicationBuilder Builder, IResourceBuilder<ExecutableResource> Consumer) Compose(string[] args, string password) 38var credential = builder.AddParameter("cache-password", password); 39var cache = builder.AddRedis("cache", credential).WithDataVolume(builder.Configuration["data-volume"]); 40var consumer = builder.AddExecutable("consumer", builder.Configuration["consumer-path"] ?? throw new ArgumentException("--consumer-path is required."), AppContext.BaseDirectory)