11 instantiations of NativeProviderDefinition
Aspire.Hosting.Native.Core.Tests (9)
NativeProviderClientTests.cs (7)
262
var definition = new
NativeProviderDefinition
(JsonDocument.Parse("""
292
var definition = new
NativeProviderDefinition
(JsonDocument.Parse("""
348
var definition = new
NativeProviderDefinition
(JsonDocument.Parse("""
483
new
(metadata, (_, _, _) => Task.FromResult(default(JsonElement))), CancellationToken.None));
491
new
(JsonDocument.Parse("""
505
var definition = new
NativeProviderDefinition
(JsonDocument.Parse("""
549
authority,
new
(JsonDocument.Parse(metadata).RootElement.Clone(), (_, _, _) => Task.FromResult(default(JsonElement))), CancellationToken.None));
NativeRpcAuthoringTests.cs (1)
263
new
NativeProviderDefinition
(metadata, async (_, _, arguments) =>
TestServices\LifecycleProviderTestIntegration.cs (1)
64
return
new
(JsonSerializer.SerializeToElement(manifest), DispatchAsync);
NativeIntegrations.Contracts (1)
artifacts\obj\NativeIntegrations.Contracts\Debug\provider-contract\ProviderContract.g.cs (1)
10
public static NativeProviderDefinition Create() =>
new
(JsonDocument.Parse("{\u0022protocolVersion\u0022:2,\u0022capabilities\u0022:[{\u0022id\u0022:\u0022example.csharp.external-api/addExternalApi\u0022,\u0022method\u0022:\u0022addExternalApi\u0022,\u0022description\u0022:\u0022Integration-owned AddExternalApi.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022composition\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.Composition\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}},{\u0022name\u0022:\u0022baseUrl\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:null,\u0022targetParameterName\u0022:null},{\u0022id\u0022:\u0022example.csharp.external-api/withApiKey\u0022,\u0022method\u0022:\u0022withApiKey\u0022,\u0022description\u0022:\u0022Integration-owned WithApiKey.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022apiKey\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.external-api/getResourceName\u0022,\u0022method\u0022:\u0022getResourceName\u0022,\u0022description\u0022:\u0022Integration-owned GetResourceName.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022}]}").RootElement.Clone(), DispatchAsync);
NativeIntegrations.Redis.Contracts (1)
artifacts\obj\NativeIntegrations.Redis.Contracts\Debug\provider-contract\ProviderContract.g.cs (1)
10
public static NativeProviderDefinition Create() =>
new
(JsonDocument.Parse("{\u0022protocolVersion\u0022:2,\u0022capabilities\u0022:[{\u0022id\u0022:\u0022example.csharp.redis/addRedis\u0022,\u0022method\u0022:\u0022addRedis\u0022,\u0022description\u0022:\u0022Integration-owned AddRedis.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022composition\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.Composition\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}},{\u0022name\u0022:\u0022password\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:null,\u0022targetParameterName\u0022:null},{\u0022id\u0022:\u0022example.csharp.redis/redisDeclaration\u0022,\u0022method\u0022:\u0022redisDeclaration\u0022,\u0022description\u0022:\u0022Integration-owned GetDeclaration.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisConnection\u0022,\u0022method\u0022:\u0022redisConnection\u0022,\u0022description\u0022:\u0022Integration-owned GetConnection.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisInitialize\u0022,\u0022method\u0022:\u0022redisInitialize\u0022,\u0022description\u0022:\u0022Integration-owned Initialize.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022initialize\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisAllocated\u0022,\u0022method\u0022:\u0022redisAllocated\u0022,\u0022description\u0022:\u0022Integration-owned Allocated.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022allocated\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisReady\u0022,\u0022method\u0022:\u0022redisReady\u0022,\u0022description\u0022:\u0022Integration-owned Ready.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022ready\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisRetiring\u0022,\u0022method\u0022:\u0022redisRetiring\u0022,\u0022description\u0022:\u0022Integration-owned Retiring.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022retiring\u0022},{\u0022id\u0022:\u0022example.csharp.redis/withDataVolume\u0022,\u0022method\u0022:\u0022withDataVolume\u0022,\u0022description\u0022:\u0022Integration-owned WithDataVolume.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/withReference\u0022,\u0022method\u0022:\u0022withReference\u0022,\u0022description\u0022:\u0022Integration-owned WithReference.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022consumer\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022environmentName\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022}]}").RootElement.Clone(), DispatchAsync);
13 references to NativeProviderDefinition
Aspire.Hosting.Native.Client (3)
NativeClient.cs (2)
22
private
NativeProviderDefinition
? _providerDefinition;
234
public async Task RegisterIntegrationHostAsync(string authority,
NativeProviderDefinition
definition,
NativeProviderHost.cs (1)
22
public async Task RunAsync(
NativeProviderDefinition
definition, CancellationToken cancellationToken)
Aspire.Hosting.Native.Core.Tests (8)
NativeProviderClientTests.cs (6)
262
var
definition = new NativeProviderDefinition(JsonDocument.Parse("""
292
var
definition = new NativeProviderDefinition(JsonDocument.Parse("""
348
var
definition = new NativeProviderDefinition(JsonDocument.Parse("""
422
var
definition = PrimitiveDefinition(async (_, _, _) =>
490
private static
NativeProviderDefinition
PrimitiveDefinition(Func<NativeProviderContext, string, JsonElement, Task<JsonElement>> dispatch) =>
505
var
definition = new NativeProviderDefinition(JsonDocument.Parse("""
NativeProviderLifecycleTests.cs (1)
231
var
definition = new LifecycleProviderTestIntegration().Definition;
TestServices\LifecycleProviderTestIntegration.cs (1)
24
public
NativeProviderDefinition
Definition
NativeIntegrations.Contracts (1)
artifacts\obj\NativeIntegrations.Contracts\Debug\provider-contract\ProviderContract.g.cs (1)
10
public static
NativeProviderDefinition
Create() => new(JsonDocument.Parse("{\u0022protocolVersion\u0022:2,\u0022capabilities\u0022:[{\u0022id\u0022:\u0022example.csharp.external-api/addExternalApi\u0022,\u0022method\u0022:\u0022addExternalApi\u0022,\u0022description\u0022:\u0022Integration-owned AddExternalApi.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022composition\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.Composition\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}},{\u0022name\u0022:\u0022baseUrl\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:null,\u0022targetParameterName\u0022:null},{\u0022id\u0022:\u0022example.csharp.external-api/withApiKey\u0022,\u0022method\u0022:\u0022withApiKey\u0022,\u0022description\u0022:\u0022Integration-owned WithApiKey.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022apiKey\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.external-api/getResourceName\u0022,\u0022method\u0022:\u0022getResourceName\u0022,\u0022description\u0022:\u0022Integration-owned GetResourceName.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.external-api/NativeIntegrations.ExternalApi.ExternalApiResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022}]}").RootElement.Clone(), DispatchAsync);
NativeIntegrations.Redis.Contracts (1)
artifacts\obj\NativeIntegrations.Redis.Contracts\Debug\provider-contract\ProviderContract.g.cs (1)
10
public static
NativeProviderDefinition
Create() => new(JsonDocument.Parse("{\u0022protocolVersion\u0022:2,\u0022capabilities\u0022:[{\u0022id\u0022:\u0022example.csharp.redis/addRedis\u0022,\u0022method\u0022:\u0022addRedis\u0022,\u0022description\u0022:\u0022Integration-owned AddRedis.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022composition\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.Composition\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}},{\u0022name\u0022:\u0022password\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:null,\u0022targetParameterName\u0022:null},{\u0022id\u0022:\u0022example.csharp.redis/redisDeclaration\u0022,\u0022method\u0022:\u0022redisDeclaration\u0022,\u0022description\u0022:\u0022Integration-owned GetDeclaration.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisConnection\u0022,\u0022method\u0022:\u0022redisConnection\u0022,\u0022description\u0022:\u0022Integration-owned GetConnection.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredValue\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisInitialize\u0022,\u0022method\u0022:\u0022redisInitialize\u0022,\u0022description\u0022:\u0022Integration-owned Initialize.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022initialize\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisAllocated\u0022,\u0022method\u0022:\u0022redisAllocated\u0022,\u0022description\u0022:\u0022Integration-owned Allocated.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022allocated\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisReady\u0022,\u0022method\u0022:\u0022redisReady\u0022,\u0022description\u0022:\u0022Integration-owned Ready.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022ready\u0022},{\u0022id\u0022:\u0022example.csharp.redis/redisRetiring\u0022,\u0022method\u0022:\u0022redisRetiring\u0022,\u0022description\u0022:\u0022Integration-owned Retiring.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022scope\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.ResourceLifecycleScope\u0022,\u0022category\u0022:\u0022Handle\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022void\u0022,\u0022category\u0022:\u0022Primitive\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022,\u0022lifecyclePhase\u0022:\u0022retiring\u0022},{\u0022id\u0022:\u0022example.csharp.redis/withDataVolume\u0022,\u0022method\u0022:\u0022withDataVolume\u0022,\u0022description\u0022:\u0022Integration-owned WithDataVolume.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022name\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022},{\u0022id\u0022:\u0022example.csharp.redis/withReference\u0022,\u0022method\u0022:\u0022withReference\u0022,\u0022description\u0022:\u0022Integration-owned WithReference.\u0022,\u0022parameters\u0022:[{\u0022name\u0022:\u0022context\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022consumer\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022}},{\u0022name\u0022:\u0022environmentName\u0022,\u0022type\u0022:{\u0022typeId\u0022:\u0022string\u0022,\u0022category\u0022:\u0022Primitive\u0022}}],\u0022returnType\u0022:{\u0022typeId\u0022:\u0022Aspire.Hosting.Native.Server/Aspire.Hosting.Native.Api.DeclaredResource\u0022,\u0022category\u0022:\u0022Handle\u0022},\u0022targetTypeId\u0022:\u0022example.csharp.redis/NativeIntegrations.Redis.RedisResource\u0022,\u0022targetParameterName\u0022:\u0022context\u0022}]}").RootElement.Clone(), DispatchAsync);