| File: Secrets\RadiusSecretStoreConsumer.cs | Web Access |
| Project: src\src\Aspire.Hosting.Radius\Aspire.Hosting.Radius.csproj (Aspire.Hosting.Radius) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #pragma warning disable ASPIRERADIUS006 // Secret-store types are experimental; consumed internally by the integration. namespace Aspire.Hosting.Radius.Secrets; /// <summary>The documented Radius consumers of a secret store.</summary> internal enum RadiusSecretStoreConsumerKind { /// <summary><c>recipeConfig.bicep.authentication['<registry>'].secret</c>.</summary> BicepRegistryAuth, /// <summary><c>recipeConfig.terraform.authentication.git.pat['<host>'].secret</c>.</summary> TerraformGitPat, /// <summary><c>recipeConfig.envSecrets['<VAR>'] = { source: <storeId>, key: <k> }</c>.</summary> EnvSecret, } /// <summary> /// A wiring that references a <see cref="RadiusSecretStoreResource"/> from one of its /// documented Radius consumers, emitted by the store's fully-qualified UCP ID. /// </summary> /// <param name="Kind">The consumer kind.</param> /// <param name="Store">The referenced secret store.</param> /// <param name="Selector">Registry/git host, provider, or <c>envSecrets</c> variable name — as applicable.</param> /// <param name="Key">The secret key for an <see cref="RadiusSecretStoreConsumerKind.EnvSecret"/> consumer.</param> internal sealed record RadiusSecretStoreConsumer( RadiusSecretStoreConsumerKind Kind, RadiusSecretStoreResource Store, string? Selector, string? Key);