# BitwardenSecretManagerExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager.md)
- Type: [BitwardenSecretManagerExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions.md)
- Kind: `Methods`
- Members: `26`

Extension methods for adding Bitwarden Secrets Manager resources.

<a id="addbitwardensecretmanager"></a>
<a id="addbitwardensecretmanager-idistributedapplicationbuilder-string-iresourcebuilder-parameterresource-iresourcebuilder-parameterresource-iresourcebuilder-parameterresource"></a>

## AddBitwardenSecretManager(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)

- Name: `AddBitwardenSecretManager(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L38-L44)

Adds a Bitwarden Secrets Manager resource. The `projectNameOrId` parameter resolves to either a project name (creates or finds by name) or a project identifier GUID (adopts the existing project by ID).

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> AddBitwardenSecretManager(
        this IDistributedApplicationBuilder builder,
        string name,
        IResourceBuilder<ParameterResource> projectNameOrId,
        IResourceBuilder<ParameterResource> organizationId,
        IResourceBuilder<ParameterResource> accessToken)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The distributed application builder.
- `name` (`string`)
  The resource name.
- `projectNameOrId` (`IResourceBuilder<ParameterResource>`)
  The parameter that resolves to the Bitwarden project name or project identifier (GUID).
- `organizationId` (`IResourceBuilder<ParameterResource>`)
  The parameter that resolves to the Bitwarden organization identifier.
- `accessToken` (`IResourceBuilder<ParameterResource>`)
  The access token parameter used to manage the Bitwarden project and managed secrets.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="addsecret"></a>
<a id="addsecret-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L327-L329)

Adds a managed Bitwarden secret whose local and remote names are the same. The secret value is resolved from configuration key `Parameters:{parentName}-{name}`.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretResource> AddSecret(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string name)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The parent Bitwarden resource builder.
- `name` (`string`)
  The Aspire resource name and Bitwarden secret name.

## Returns

`IResourceBuilder<BitwardenSecretResource>` -- The managed secret resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="addsecret-iresourcebuilder-bitwardensecretmanagerresource-string-string"></a>

## AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, string)

- Name: `AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L346-L349)

Adds a managed Bitwarden secret with distinct Aspire and remote names. The secret value is resolved from configuration key `Parameters:{parentName}-{name}`.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretResource> AddSecret(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string name,
        string remoteName)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The parent Bitwarden resource builder.
- `name` (`string`)
  The Aspire resource name.
- `remoteName` (`string`)
  The Bitwarden secret name.

## Returns

`IResourceBuilder<BitwardenSecretResource>` -- The managed secret resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/addSecretWithRemoteName`

<a id="assecretid"></a>
<a id="assecretid-iresourcebuilder-bitwardensecretresource"></a>

## AsSecretId(IResourceBuilder<BitwardenSecretResource>)

- Name: `AsSecretId(IResourceBuilder<BitwardenSecretResource>)`
- Modifiers: `extension`
- Returns: `IExpressionValue`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L392-L393)

Returns an `ApplicationModel.IExpressionValue` that resolves to the Bitwarden secret identifier. Pass it to `WithEnvironment` to inject the secret ID as an environment variable. The app then uses the Bitwarden SDK to fetch the secret value at runtime.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IExpressionValue AsSecretId(
        this IResourceBuilder<BitwardenSecretResource> secret)
    {
        // ...
    }
}
```

## Parameters

- `secret` (`IResourceBuilder<BitwardenSecretResource>`)
  The Bitwarden secret resource builder.

## Returns

`IExpressionValue` -- An expression value that resolves to the Bitwarden secret identifier.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="getsecret"></a>
<a id="getsecret-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L266-L268)

Gets or creates a Bitwarden secret reference whose Aspire and remote names are the same. The secret must already exist in Bitwarden; use [BitwardenSecretManagerExtensions.AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#addsecret-iresourcebuilder-bitwardensecretmanagerresource-string) if Aspire should own and write the secret value.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretResource> GetSecret(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string name)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `name` (`string`)
  The Aspire resource name and Bitwarden secret name.

## Returns

`IResourceBuilder<BitwardenSecretResource>` -- A resource builder for the secret reference.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="getsecret-iresourcebuilder-bitwardensecretmanagerresource-string-string"></a>

## GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, string)

- Name: `GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L287-L290)

Gets or creates a Bitwarden secret reference with distinct Aspire and remote names. The secret must already exist in Bitwarden; use [BitwardenSecretManagerExtensions.AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#addsecret-iresourcebuilder-bitwardensecretmanagerresource-string) if Aspire should own and write the secret value.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretResource> GetSecret(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string name,
        string remoteName)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `name` (`string`)
  The Aspire resource name.
- `remoteName` (`string`)
  The Bitwarden secret name.

## Returns

`IResourceBuilder<BitwardenSecretResource>` -- A resource builder for the secret reference.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/getSecretWithRemoteName`

<a id="getsecret-iresourcebuilder-bitwardensecretmanagerresource-string-guid"></a>

## GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, Guid)

- Name: `GetSecret(IResourceBuilder<BitwardenSecretManagerResource>, string, Guid)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L310-L312)

Gets or creates a Bitwarden secret reference by secret identifier. Use this when multiple secrets share the same name and the identifier is the only unambiguous key. The secret must already exist in Bitwarden; use [BitwardenSecretManagerExtensions.AddSecret(IResourceBuilder<BitwardenSecretManagerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#addsecret-iresourcebuilder-bitwardensecretmanagerresource-string) if Aspire should own and write the secret value.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretResource> GetSecret(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string name,
        Guid secretId)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `name` (`string`)
  The Aspire resource name.
- `secretId` (`Guid`)
  The Bitwarden secret identifier.

## Returns

`IResourceBuilder<BitwardenSecretResource>` -- A resource builder for the secret reference.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/getSecretById`

<a id="withapiurl"></a>
<a id="withapiurl-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Overrides the Bitwarden API URL.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithApiUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string apiUrl)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `apiUrl` (`string`)
  The absolute Bitwarden API URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withapiurl-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-parameterresource"></a>

## WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)

- Name: `WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Overrides the Bitwarden API URL using a parameter.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithApiUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        IResourceBuilder<ParameterResource> apiUrl)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `apiUrl` (`IResourceBuilder<ParameterResource>`)
  The parameter that resolves to the absolute Bitwarden API URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withApiUrlFromParameter`

<a id="withapiurl-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-externalserviceresource"></a>

## WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ExternalServiceResource>)

- Name: `WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ExternalServiceResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L96-L104)

Overrides the Bitwarden API URL using an external service resource. The Bitwarden resource will wait for the external service before authenticating.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithApiUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        IResourceBuilder<ExternalServiceResource> server)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `server` (`IResourceBuilder<ExternalServiceResource>`)
  The external service whose URL is used as the Bitwarden API URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withApiUrlFromExternalService`

<a id="withapiurl-iresourcebuilder-bitwardensecretmanagerresource-endpointreference"></a>

## WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, EndpointReference)

- Name: `WithApiUrl(IResourceBuilder<BitwardenSecretManagerResource>, EndpointReference)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L118-L124)

Overrides the Bitwarden API URL using an endpoint from another resource in the Aspire model.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithApiUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        EndpointReference endpoint)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `endpoint` (`EndpointReference`)
  The endpoint reference for the Bitwarden API.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### Ignored by ATS

- Reason: EndpointReference is not ATS-compatible; polyglot apphosts use the string variant

<a id="withauthcachedirectory"></a>
<a id="withauthcachedirectory-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithAuthCacheDirectory(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `WithAuthCacheDirectory(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L244-L249)

Overrides the AppHost auth cache directory (Bitwarden SDK auth session used by the AppHost reconciler). Defaults to the Aspire store when not set. Override to reuse a cached auth session across CI runs. To configure the auth cache directory inside the deployed app, use [BitwardenSecretManagerExtensions.WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#withbitwardenauthcachedirectory-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string).

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithAuthCacheDirectory(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string authCacheDirectory)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `authCacheDirectory` (`string`)
  The auth cache directory on the AppHost, relative to the Aspire store when not rooted.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withbitwardenaccesstoken"></a>
<a id="withbitwardenaccesstoken-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-parameterresource"></a>

## WithBitwardenAccessToken(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)

- Name: `WithBitwardenAccessToken(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L412-L413)

Overrides the Bitwarden access token injected into the connection for `source`. By default the management token is used. Supply a least-privilege read-only token here.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAccessToken<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<BitwardenSecretManagerResource> source,
        IResourceBuilder<ParameterResource> accessToken)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `source` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The Bitwarden resource whose connection name to target.
- `accessToken` (`IResourceBuilder<ParameterResource>`)
  The access token parameter for this connection.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withBitwardenReferenceAccessToken`

<a id="withbitwardenaccesstoken-iresourcebuilder-tdestination-string-iresourcebuilder-parameterresource"></a>

## WithBitwardenAccessToken(IResourceBuilder<TDestination>, string, IResourceBuilder<ParameterResource>)

- Name: `WithBitwardenAccessToken(IResourceBuilder<TDestination>, string, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L433-L441)

Overrides the Bitwarden access token injected into the specified connection. By default the management token is used. Supply a least-privilege read-only token here. Use the source-based overload when the connection name equals the Bitwarden resource name.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAccessToken<TDestination>(
        this IResourceBuilder<TDestination> builder,
        string connectionName,
        IResourceBuilder<ParameterResource> accessToken)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `connectionName` (`string`)
  The logical connection name, matching the one passed to [BitwardenSecretManagerExtensions.WithReference(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#withreference-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string).
- `accessToken` (`IResourceBuilder<ParameterResource>`)
  The access token parameter for this connection.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### Ignored by ATS

- 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

<a id="withbitwardenauthcachedirectory"></a>
<a id="withbitwardenauthcachedirectory-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Configures the directory where the Bitwarden SDK stores its auth cache inside the resource, for the connection associated with `source`.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheDirectory<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<BitwardenSecretManagerResource> source,
        string authCacheDirectory)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `source` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The Bitwarden resource whose connection name to target.
- `authCacheDirectory` (`string`)
  The directory path inside the app where the auth cache file is stored.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withBitwardenReferenceAuthCacheDirectory`

<a id="withbitwardenauthcachedirectory-iresourcebuilder-tdestination-string-string"></a>

## WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, string, string)

- Name: `WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, string, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Configures the directory where the Bitwarden SDK stores its auth cache inside the resource, for the specified connection. Use the source-based overload when the connection name equals the Bitwarden resource name.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheDirectory<TDestination>(
        this IResourceBuilder<TDestination> builder,
        string connectionName,
        string authCacheDirectory)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `connectionName` (`string`)
  The logical connection name.
- `authCacheDirectory` (`string`)
  The directory path inside the app where the auth cache file is stored.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### Ignored by ATS

- 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

<a id="withbitwardenauthcachedirectory-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-parameterresource"></a>

## WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)

- Name: `WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Configures the directory where the Bitwarden SDK stores its auth cache inside the resource, using a parameter, for the connection associated with `source`.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheDirectory<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<BitwardenSecretManagerResource> source,
        IResourceBuilder<ParameterResource> authCacheDirectory)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `source` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The Bitwarden resource whose connection name to target.
- `authCacheDirectory` (`IResourceBuilder<ParameterResource>`)
  A parameter whose value is the directory path inside the app.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withBitwardenReferenceAuthCacheDirectoryFromParameter`

<a id="withbitwardenauthcachedirectory-iresourcebuilder-tdestination-string-iresourcebuilder-parameterresource"></a>

## WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, string, IResourceBuilder<ParameterResource>)

- Name: `WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, string, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Configures the directory where the Bitwarden SDK stores its auth cache inside the resource, using a parameter, for the specified connection. Use the source-based overload when the connection name equals the Bitwarden resource name.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheDirectory<TDestination>(
        this IResourceBuilder<TDestination> builder,
        string connectionName,
        IResourceBuilder<ParameterResource> authCacheDirectory)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `connectionName` (`string`)
  The logical connection name.
- `authCacheDirectory` (`IResourceBuilder<ParameterResource>`)
  A parameter whose value is the directory path inside the app.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### Ignored by ATS

- 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

<a id="withbitwardenauthcachevolume"></a>
<a id="withbitwardenauthcachevolume-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string-string"></a>

## WithBitwardenAuthCacheVolume(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string?, string)

- Name: `WithBitwardenAuthCacheVolume(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string?, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L561-L562)

Mounts a named volume and configures the Bitwarden SDK to store its auth cache there, for the connection associated with `source`. Use this for container resources. For process resources or when the container path is already known, use [BitwardenSecretManagerExtensions.WithBitwardenAuthCacheDirectory(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.bitwarden.secretmanager/bitwardensecretmanagerextensions/methods.md#withbitwardenauthcachedirectory-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string) instead.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheVolume<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<BitwardenSecretManagerResource> source,
        string? volumeName = null,
        string containerDirectory = "/var/lib/bitwarden")
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `source` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The Bitwarden resource whose connection name to target.
- `volumeName` (`string?`) `optional`
  The Docker volume name. Defaults to `{resourceName}-{connectionName}-bitwarden-auth` when `null`.
- `containerDirectory` (`string`) `optional`
  The directory inside the container where the volume is mounted. Defaults to `/var/lib/bitwarden`.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## Exceptions

- `InvalidOperationException` -- Thrown when the destination resource is not a container resource.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withBitwardenReferenceAuthCacheVolume`

<a id="withbitwardenauthcachevolume-iresourcebuilder-tdestination-string-string-string"></a>

## WithBitwardenAuthCacheVolume(IResourceBuilder<TDestination>, string, string?, string)

- Name: `WithBitwardenAuthCacheVolume(IResourceBuilder<TDestination>, string, string?, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L585-L608)

Mounts a named volume and configures the Bitwarden SDK to store its auth cache there, for the specified connection. Use this for container resources. Use the source-based overload when the connection name equals the Bitwarden resource name.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithBitwardenAuthCacheVolume<TDestination>(
        this IResourceBuilder<TDestination> builder,
        string connectionName,
        string? volumeName = null,
        string containerDirectory = "/var/lib/bitwarden")
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `connectionName` (`string`)
  The logical connection name.
- `volumeName` (`string?`) `optional`
  The Docker volume name. Defaults to `{resourceName}-{connectionName}-bitwarden-auth` when `null`.
- `containerDirectory` (`string`) `optional`
  The directory inside the container where the volume is mounted. Defaults to `/var/lib/bitwarden`.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## Exceptions

- `InvalidOperationException` -- Thrown when the destination resource is not a container resource.

## ATS metadata

### Ignored by ATS

- 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

<a id="withcachefile"></a>
<a id="withcachefile-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithCacheFile(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `WithCacheFile(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L220-L227)

Overrides the AppHost cache file path (integration bookkeeping: Bitwarden project ID, secret ID mappings). Defaults to `.bitwarden/{resourceName}.{environment}.json` relative to the AppHost directory. Override to share the cache across multiple AppHost projects, or to store it in a CI cache directory.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithCacheFile(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string cacheFile)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `cacheFile` (`string`)
  The cache file path, relative to the AppHost directory when not rooted.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withidentityurl"></a>
<a id="withidentityurl-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, string)

- Name: `WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Overrides the Bitwarden identity URL.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithIdentityUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        string identityUrl)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `identityUrl` (`string`)
  The absolute Bitwarden identity URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

<a id="withidentityurl-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-parameterresource"></a>

## WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)

- Name: `WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs)

Overrides the Bitwarden identity URL using a parameter.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithIdentityUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        IResourceBuilder<ParameterResource> identityUrl)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `identityUrl` (`IResourceBuilder<ParameterResource>`)
  The parameter that resolves to the absolute Bitwarden identity URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withIdentityUrlFromParameter`

<a id="withidentityurl-iresourcebuilder-bitwardensecretmanagerresource-iresourcebuilder-externalserviceresource"></a>

## WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ExternalServiceResource>)

- Name: `WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, IResourceBuilder<ExternalServiceResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L176-L184)

Overrides the Bitwarden identity URL using an external service resource. The Bitwarden resource will wait for the external service before authenticating.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithIdentityUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        IResourceBuilder<ExternalServiceResource> server)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `server` (`IResourceBuilder<ExternalServiceResource>`)
  The external service whose URL is used as the Bitwarden identity URL.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withIdentityUrlFromExternalService`

<a id="withidentityurl-iresourcebuilder-bitwardensecretmanagerresource-endpointreference"></a>

## WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, EndpointReference)

- Name: `WithIdentityUrl(IResourceBuilder<BitwardenSecretManagerResource>, EndpointReference)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<BitwardenSecretManagerResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L198-L204)

Overrides the Bitwarden identity URL using an endpoint from another resource in the Aspire model.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<BitwardenSecretManagerResource> WithIdentityUrl(
        this IResourceBuilder<BitwardenSecretManagerResource> builder,
        EndpointReference endpoint)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The resource builder.
- `endpoint` (`EndpointReference`)
  The endpoint reference for the Bitwarden identity service.

## Returns

`IResourceBuilder<BitwardenSecretManagerResource>` -- The resource builder.

## ATS metadata

### Ignored by ATS

- Reason: EndpointReference is not ATS-compatible; polyglot apphosts use the string variant

<a id="withreference"></a>
<a id="withreference-iresourcebuilder-tdestination-iresourcebuilder-bitwardensecretmanagerresource-string"></a>

## WithReference(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string?)

- Name: `WithReference(IResourceBuilder<TDestination>, IResourceBuilder<BitwardenSecretManagerResource>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/BitwardenSecretManagerExtensions.cs#L367-L379)

Injects structured Bitwarden client configuration into the destination resource.

```csharp
public static class BitwardenSecretManagerExtensions
{
    public static IResourceBuilder<TDestination> WithReference<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<BitwardenSecretManagerResource> source,
        string? connectionName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The destination resource builder.
- `source` (`IResourceBuilder<BitwardenSecretManagerResource>`)
  The Bitwarden resource builder.
- `connectionName` (`string?`) `optional`
  The logical connection name. Defaults to the Bitwarden resource name.

## Returns

`IResourceBuilder<TDestination>` -- The destination resource builder.

## ATS metadata

### ATS export

- Capability ID: `CommunityToolkit.Aspire.Hosting.Bitwarden.SecretManager/withBitwardenSecretManagerReference`
