# FlociAwsContainerResource

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

Resource for the Floci AWS emulator container.

## Definition

```typescript
interface FlociAwsContainerResource
  extends IComputeResource,
    IExpressionValue,
    IManifestExpressionProvider,
    IResource,
    IResourceWithArgs,
    IResourceWithConnectionString,
    IResourceWithEndpoints,
    IResourceWithEnvironment,
    IResourceWithProbes,
    IResourceWithWaitSupport,
    IValueProvider,
    IValueWithReferences {
  readonly connectionStringExpression: ReferenceExpression;
  readonly host: EndpointReferenceExpression;
  readonly port: EndpointReferenceExpression;
  readonly primaryEndpoint: EndpointReference;
  readonly scheme: EndpointReferenceExpression;
  withConfigFile(hostPath: string): FlociAwsContainerResource;
  withDataBindMount(
      source: string,
      isReadOnly?: boolean): FlociAwsContainerResource;
  withDataVolume(
      name: string,
      isReadOnly?: boolean): FlociAwsContainerResource;
  withDockerSocket(socketPath?: string): FlociAwsContainerResource;
  withFlociUI(configureContainer?: (obj: FlociUIContainerResource) => Promise<void>, containerName?: string): FlociAwsContainerResource;
}
```

## Properties

- `connectionStringExpression`: `ReferenceExpression` `get` -- Gets the emulator endpoint URL, following the primary endpoint's `Scheme`.
- `host`: `EndpointReferenceExpression` `get` -- Gets the host endpoint reference for the primary endpoint.
- `port`: `EndpointReferenceExpression` `get` -- Gets the port endpoint reference for the primary endpoint.
- `primaryEndpoint`: `EndpointReference` `get` -- Gets the primary endpoint reference for the Floci container.
- `scheme`: `EndpointReferenceExpression` `get` -- Gets the scheme endpoint reference for the primary endpoint. `http` unless a TLS certificate has been configured, in which case the endpoint is switched to `https` before the application starts. Floci serves both on the same port, so the port never changes.

## Methods

- [withConfigFile](/reference/api/typescript/communitytoolkit.aspire.hosting.floci/flociawscontainerresource/withconfigfile.md) -- `method` -- Mounts a custom Quarkus `application.yml` configuration file into the Floci container. The file is mounted read-only at `/deployments/config/application.yml`, which Quarkus reads on startup and merges with built-in defaults.
    ```typescript
  withConfigFile(hostPath: string): FlociAwsContainerResource
  ```
- [withDataBindMount](/reference/api/typescript/communitytoolkit.aspire.hosting.floci/flociawscontainerresource/withdatabindmount.md) -- `method` -- Configures a bind mount for persistent Floci state.
    ```typescript
  withDataBindMount(source: string, isReadOnly?: boolean): FlociAwsContainerResource
  ```
- [withDataVolume](/reference/api/typescript/communitytoolkit.aspire.hosting.floci/flociawscontainerresource/withdatavolume.md) -- `method` -- Configures a named data volume for persistent Floci state.
    ```typescript
  withDataVolume(name: string, isReadOnly?: boolean): FlociAwsContainerResource
  ```
- [withDockerSocket](/reference/api/typescript/communitytoolkit.aspire.hosting.floci/flociawscontainerresource/withdockersocket.md) -- `method` -- Mounts the Docker socket into the Floci container so that Lambda and other container-backed AWS services can launch sibling containers. Also sets `FLOCI_DOCKER_DOCKER_HOST` to `unix:///var/run/docker.sock` (the container-side path where the socket is always mounted) so Floci can connect to it.
    ```typescript
  withDockerSocket(socketPath?: string): FlociAwsContainerResource
  ```
- [withFlociUI](/reference/api/typescript/communitytoolkit.aspire.hosting.floci/flociawscontainerresource/withflociui.md) -- `method` -- Adds a Floci UI web console container for the Floci resource
    ```typescript
  withFlociUI(configureContainer?: (obj: FlociUIContainerResource) => Promise<void>, containerName?: string): FlociAwsContainerResource
  ```
