# SeaweedFSContainerResource

- Module: [CommunityToolkit.Aspire.Hosting.SeaweedFS](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs.md)
- Version: `13.5.0`
- Kind: `handle`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/tree/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1)

## Definition

```typescript
interface SeaweedFSContainerResource
  extends IComputeResource,
    IExpressionValue,
    IManifestExpressionProvider,
    IResource,
    IResourceWithArgs,
    IResourceWithConnectionString,
    IResourceWithEndpoints,
    IResourceWithEnvironment,
    IResourceWithProbes,
    IResourceWithWaitSupport,
    IValueProvider,
    IValueWithReferences {
  withAccessKey(accessKey: ParameterResource): SeaweedFSContainerResource;
  withDataBindMount(
      source: string,
      isReadOnly?: boolean): SeaweedFSContainerResource;
  withDataVolume(
      name?: string,
      isReadOnly?: boolean): SeaweedFSContainerResource;
  withFiler(filerPort?: number): SeaweedFSContainerResource;
  withHostPort(port: number): SeaweedFSContainerResource;
  withS3(s3Port?: number): SeaweedFSContainerResource;
  withS3ConfigFile(configFilePath: string): SeaweedFSContainerResource;
  withSecretKey(secretKey: ParameterResource): SeaweedFSContainerResource;
}
```

## Methods

- [withAccessKey](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withaccesskey.md) -- `method` -- Configures the Access Key that the SeaweedFS S3 resource uses.
    ```typescript
  withAccessKey(accessKey: ParameterResource): SeaweedFSContainerResource
  ```
- [withDataBindMount](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withdatabindmount.md) -- `method` -- Adds a bind mount for the SeaweedFS data folder.
    ```typescript
  withDataBindMount(source: string, isReadOnly?: boolean): SeaweedFSContainerResource
  ```
- [withDataVolume](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withdatavolume.md) -- `method` -- Adds a named volume for the SeaweedFS data folder.
    ```typescript
  withDataVolume(name?: string, isReadOnly?: boolean): SeaweedFSContainerResource
  ```
- [withFiler](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withfiler.md) -- `method` -- Enables the SeaweedFS Native Filer API.
    ```typescript
  withFiler(filerPort?: number): SeaweedFSContainerResource
  ```
- [withHostPort](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withhostport.md) -- `method` -- Configures the Master API host port that the SeaweedFS resource is exposed on.
    ```typescript
  withHostPort(port: number): SeaweedFSContainerResource
  ```
- [withS3](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withs3.md) -- `method` -- Enables the SeaweedFS S3-Compatible API Gateway.
    ```typescript
  withS3(s3Port?: number): SeaweedFSContainerResource
  ```
- [withS3ConfigFile](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withs3configfile.md) -- `method` -- Configures the SeaweedFS S3 API to use a specific external security configuration file.
    ```typescript
  withS3ConfigFile(configFilePath: string): SeaweedFSContainerResource
  ```
- [withSecretKey](/reference/api/typescript/communitytoolkit.aspire.hosting.seaweedfs/seaweedfscontainerresource/withsecretkey.md) -- `method` -- Configures the Secret Key that the SeaweedFS S3 resource uses.
    ```typescript
  withSecretKey(secretKey: ParameterResource): SeaweedFSContainerResource
  ```
