diff --git a/src/CommunityToolkit.Aspire.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Bitwarden.SecretManager.cs b/src/CommunityToolkit.Aspire.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Bitwarden.SecretManager.cs
new file mode 100644
index 000000000..0edb73fb0
--- /dev/null
+++ b/src/CommunityToolkit.Aspire.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Bitwarden.SecretManager.cs
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+namespace CommunityToolkit.Aspire.Bitwarden.SecretManager
+{
+ public sealed partial class BitwardenSecretManagerClientSettings
+ {
+ public string AccessToken { get { throw null; } set { } }
+
+ public string ApiUrl { get { throw null; } set { } }
+
+ public string? AuthCacheDirectory { get { throw null; } set { } }
+
+ public bool DisableHealthChecks { get { throw null; } set { } }
+
+ public System.TimeSpan? HealthCheckTimeout { get { throw null; } set { } }
+
+ public string IdentityUrl { get { throw null; } set { } }
+
+ public System.Guid OrganizationId { get { throw null; } set { } }
+
+ public System.Guid ProjectId { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Extensions.Hosting
+{
+ public static partial class AspireBitwardenSecretManagerExtensions
+ {
+ public static void AddBitwardenSecretManagerClient(this IHostApplicationBuilder builder, string connectionName, System.Action? configureSettings = null) { }
+
+ public static void AddKeyedBitwardenSecretManagerClient(this IHostApplicationBuilder builder, string name, System.Action? configureSettings = null) { }
+ }
+}
\ No newline at end of file
diff --git a/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager.cs b/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager.cs
new file mode 100644
index 000000000..8f3af3956
--- /dev/null
+++ b/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/api/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager.cs
@@ -0,0 +1,141 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+namespace Aspire.Hosting
+{
+ public static partial class BitwardenSecretManagerExtensions
+ {
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder AddBitwardenSecretManager(this IDistributedApplicationBuilder builder, string name, ApplicationModel.IResourceBuilder projectNameOrId, ApplicationModel.IResourceBuilder organizationId, ApplicationModel.IResourceBuilder accessToken) { throw null; }
+
+ [AspireExport("addSecretWithRemoteName")]
+ public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, string remoteName) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IExpressionValue AsSecretId(this ApplicationModel.IResourceBuilder secret) { throw null; }
+
+ [AspireExport("getSecretById")]
+ public static ApplicationModel.IResourceBuilder GetSecret(this ApplicationModel.IResourceBuilder builder, string name, System.Guid secretId) { throw null; }
+
+ [AspireExport("getSecretWithRemoteName")]
+ public static ApplicationModel.IResourceBuilder GetSecret(this ApplicationModel.IResourceBuilder builder, string name, string remoteName) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder GetSecret(this ApplicationModel.IResourceBuilder builder, string name) { throw null; }
+
+ [AspireExportIgnore(Reason = "EndpointReference is not ATS-compatible; polyglot apphosts use the string variant")]
+ public static ApplicationModel.IResourceBuilder WithApiUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.EndpointReference endpoint) { throw null; }
+
+ [AspireExport("withApiUrlFromParameter")]
+ public static ApplicationModel.IResourceBuilder WithApiUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder apiUrl) { throw null; }
+
+ [AspireExport("withApiUrlFromExternalService")]
+ public static ApplicationModel.IResourceBuilder WithApiUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder server) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder WithApiUrl(this ApplicationModel.IResourceBuilder builder, string apiUrl) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder WithAuthCacheDirectory(this ApplicationModel.IResourceBuilder builder, string authCacheDirectory) { throw null; }
+
+ [AspireExport("withBitwardenReferenceAccessToken")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAccessToken(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, ApplicationModel.IResourceBuilder accessToken)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExportIgnore(Reason = "Use the source-based overload for the common case; this overload is for the edge case of a custom connection name passed to WithReference")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAccessToken(this ApplicationModel.IResourceBuilder builder, string connectionName, ApplicationModel.IResourceBuilder accessToken)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExport("withBitwardenReferenceAuthCacheDirectoryFromParameter")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheDirectory(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, ApplicationModel.IResourceBuilder authCacheDirectory)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExport("withBitwardenReferenceAuthCacheDirectory")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheDirectory(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, string authCacheDirectory)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExportIgnore(Reason = "Use the source-based overload for the common case; this overload is for the edge case of a custom connection name passed to WithReference")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheDirectory(this ApplicationModel.IResourceBuilder builder, string connectionName, ApplicationModel.IResourceBuilder authCacheDirectory)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExportIgnore(Reason = "Use the source-based overload for the common case; this overload is for the edge case of a custom connection name passed to WithReference")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheDirectory(this ApplicationModel.IResourceBuilder builder, string connectionName, string authCacheDirectory)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExport("withBitwardenReferenceAuthCacheVolume")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheVolume(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, string? volumeName = null, string containerDirectory = "/var/lib/bitwarden")
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExportIgnore(Reason = "Use the source-based overload for the common case; this overload is for the edge case of a custom connection name passed to WithReference")]
+ public static ApplicationModel.IResourceBuilder WithBitwardenAuthCacheVolume(this ApplicationModel.IResourceBuilder builder, string connectionName, string? volumeName = null, string containerDirectory = "/var/lib/bitwarden")
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder WithCacheFile(this ApplicationModel.IResourceBuilder builder, string cacheFile) { throw null; }
+
+ [AspireExportIgnore(Reason = "EndpointReference is not ATS-compatible; polyglot apphosts use the string variant")]
+ public static ApplicationModel.IResourceBuilder WithIdentityUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.EndpointReference endpoint) { throw null; }
+
+ [AspireExport("withIdentityUrlFromParameter")]
+ public static ApplicationModel.IResourceBuilder WithIdentityUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder identityUrl) { throw null; }
+
+ [AspireExport("withIdentityUrlFromExternalService")]
+ public static ApplicationModel.IResourceBuilder WithIdentityUrl(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder server) { throw null; }
+
+ [AspireExport]
+ public static ApplicationModel.IResourceBuilder WithIdentityUrl(this ApplicationModel.IResourceBuilder builder, string identityUrl) { throw null; }
+
+ [AspireExport("withBitwardenSecretManagerReference")]
+ public static ApplicationModel.IResourceBuilder WithReference(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, string? connectionName = null)
+ where TDestination : ApplicationModel.IResourceWithEnvironment { throw null; }
+ }
+}
+
+namespace Aspire.Hosting.ApplicationModel
+{
+ [AspireExport]
+ public partial class BitwardenSecretManagerResource : Resource, IResourceWithWaitSupport, IResource
+ {
+ public BitwardenSecretManagerResource(string name, ParameterResource projectNameOrIdParameter, ParameterResource organizationIdParameter, ParameterResource managementAccessToken, string appHostDirectory) : base(default!) { }
+
+ public string? AuthCacheDirectory { get { throw null; } }
+
+ public string? CacheFile { get { throw null; } }
+
+ public System.Guid? ExistingProjectId { get { throw null; } }
+
+ public System.Guid? ProjectId { get { throw null; } }
+ }
+
+ [AspireExport]
+ public partial class BitwardenSecretResource : ParameterResource, IResourceWithParent, IResourceWithParent, IResource, IManifestExpressionProvider, IValueProvider, IValueWithReferences
+ {
+ public BitwardenSecretResource(string name, string remoteName, BitwardenSecretManagerResource parent, System.Func valueGetter) : base(default!, default!, default) { }
+
+ string IManifestExpressionProvider.ValueExpression { get { throw null; } }
+
+ System.Collections.Generic.IEnumerable