# IUserSecretsManager

- Module: [Aspire.Hosting](/reference/api/typescript/aspire.hosting.md)
- Version: `13.3.0`
- Kind: `interface`
- Source: [GitHub](https://github.com/microsoft/aspire)

## Definition

```typescript
interface IUserSecretsManager {
  readonly filePath: string;
  readonly isAvailable: boolean;
  getOrSetSecret(
      resourceBuilder: IResource,
      name: string,
      value: string): void;
  saveStateJson(
      json: string,
      cancellationToken?: cancellationToken): void;
  tryDeleteSecret(name: string): boolean;
  trySetSecret(
      name: string,
      value: string): boolean;
}
```

## Properties

- `filePath`: `string` `get` -- Gets the FilePath property
- `isAvailable`: `boolean` `get` -- Gets the IsAvailable property

## Methods

- [getOrSetSecret](/reference/api/typescript/aspire.hosting/iusersecretsmanager/getorsetsecret.md) -- `method` -- Gets a secret value if it exists, or sets it to the provided value if it does not
    ```typescript
  getOrSetSecret(resourceBuilder: IResource, name: string, value: string): void
  ```
- [saveStateJson](/reference/api/typescript/aspire.hosting/iusersecretsmanager/savestatejson.md) -- `method` -- Saves state to user secrets from a JSON string
    ```typescript
  saveStateJson(json: string, cancellationToken?: cancellationToken): void
  ```
- [tryDeleteSecret](/reference/api/typescript/aspire.hosting/iusersecretsmanager/trydeletesecret.md) -- `method` -- Attempts to delete a user secret value
    ```typescript
  tryDeleteSecret(name: string): boolean
  ```
- [trySetSecret](/reference/api/typescript/aspire.hosting/iusersecretsmanager/trysetsecret.md) -- `method` -- Attempts to set a user secret value
    ```typescript
  trySetSecret(name: string, value: string): boolean
  ```
