# FlociHostingExtension

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.Floci](/reference/api/csharp/communitytoolkit.aspire.hosting.floci.md)
- Version: `13.5.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/4ff8268fbd97ddd23cb73dc8eff9cc92718156d1/src/CommunityToolkit.Aspire.Hosting.Floci/FlociHostingExtension.Aws.cs)

Provides extension methods for adding Floci to an `Hosting.IDistributedApplicationBuilder`.

## Definition

```csharp
namespace Aspire.Hosting;

public static class FlociHostingExtension
{
    // ...
}
```

## Methods

- [AddFlociAws(IDistributedApplicationBuilder, string, int?, string, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#addflociaws-idistributedapplicationbuilder-string-int-string-string) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- Adds a Floci AWS emulator container resource to the `Hosting.IDistributedApplicationBuilder`.
- [AddFlociAzure(IDistributedApplicationBuilder, string, int?)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#addflociazure-idistributedapplicationbuilder-string-int) : `IResourceBuilder<FlociAzureContainerResource>` `extension` `ats export` -- Adds a Floci Azure emulator container resource to the `Hosting.IDistributedApplicationBuilder`.
- [AddFlociGcp(IDistributedApplicationBuilder, string, int?, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#addflocigcp-idistributedapplicationbuilder-string-int-string) : `IResourceBuilder<FlociGcpContainerResource>` `extension` `ats export` -- Adds a Floci GCP emulator container resource to the `Hosting.IDistributedApplicationBuilder`.
- [WithConfigFile(IResourceBuilder<FlociAwsContainerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withconfigfile-iresourcebuilder-flociawscontainerresource-string) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- 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.
- [WithDataBindMount(IResourceBuilder<FlociAwsContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatabindmount-iresourcebuilder-flociawscontainerresource-string-bool) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- Configures a bind mount for persistent Floci state.
- [WithDataBindMount(IResourceBuilder<FlociAzureContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatabindmount-iresourcebuilder-flociazurecontainerresource-string-bool) : `IResourceBuilder<FlociAzureContainerResource>` `extension` `ats export` -- Configures a bind mount for persistent Floci Azure state.
- [WithDataBindMount(IResourceBuilder<FlociGcpContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatabindmount-iresourcebuilder-flocigcpcontainerresource-string-bool) : `IResourceBuilder<FlociGcpContainerResource>` `extension` `ats export` -- Configures a bind mount for persistent Floci GCP state.
- [WithDataVolume(IResourceBuilder<FlociAwsContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatavolume-iresourcebuilder-flociawscontainerresource-string-bool) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- Configures a named data volume for persistent Floci state.
- [WithDataVolume(IResourceBuilder<FlociAzureContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatavolume-iresourcebuilder-flociazurecontainerresource-string-bool) : `IResourceBuilder<FlociAzureContainerResource>` `extension` `ats export` -- Configures a named data volume for persistent Floci Azure state.
- [WithDataVolume(IResourceBuilder<FlociGcpContainerResource>, string, bool)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdatavolume-iresourcebuilder-flocigcpcontainerresource-string-bool) : `IResourceBuilder<FlociGcpContainerResource>` `extension` `ats export` -- Configures a named data volume for persistent Floci GCP state.
- [WithDockerSocket(IResourceBuilder<FlociAwsContainerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdockersocket-iresourcebuilder-flociawscontainerresource-string) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- 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.
- [WithDockerSocket(IResourceBuilder<FlociAzureContainerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdockersocket-iresourcebuilder-flociazurecontainerresource-string) : `IResourceBuilder<FlociAzureContainerResource>` `extension` `ats export` -- Mounts the Docker socket into the Floci Azure container so that Azure Functions and other container-backed services can launch sibling containers. Also sets `FLOCI_AZ_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.
- [WithDockerSocket(IResourceBuilder<FlociGcpContainerResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withdockersocket-iresourcebuilder-flocigcpcontainerresource-string) : `IResourceBuilder<FlociGcpContainerResource>` `extension` `ats export` -- Mounts the Docker socket into the Floci GCP container so that Cloud Run, Cloud SQL, and other container-backed services can launch sibling containers. Also sets `FLOCI_GCP_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.
- [WithFlociUI(IResourceBuilder<FlociAzureContainerResource>, Action<IResourceBuilder<FlociUIContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withflociui-iresourcebuilder-flociazurecontainerresource-action-iresourcebuilder-flociuicontainerresource-string) : `IResourceBuilder<FlociAzureContainerResource>` `extension` `ats export` -- Adds a [Floci UI](https://github.com/floci-io/floci-ui) web console container for browsing the resources hosted by the Floci Azure emulator.
- [WithFlociUI(IResourceBuilder<FlociAwsContainerResource>, Action<IResourceBuilder<FlociUIContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withflociui-iresourcebuilder-flociawscontainerresource-action-iresourcebuilder-flociuicontainerresource-string) : `IResourceBuilder<FlociAwsContainerResource>` `extension` `ats export` -- Adds a [Floci UI](https://github.com/floci-io/floci-ui) web console container for browsing the resources hosted by the Floci AWS emulator.
- [WithFlociUI(IResourceBuilder<FlociGcpContainerResource>, Action<IResourceBuilder<FlociUIContainerResource>>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withflociui-iresourcebuilder-flocigcpcontainerresource-action-iresourcebuilder-flociuicontainerresource-string) : `IResourceBuilder<FlociGcpContainerResource>` `extension` `ats export` -- Adds a [Floci UI](https://github.com/floci-io/floci-ui) web console container for browsing the resources hosted by the Floci GCP emulator.
- [WithHostPort(IResourceBuilder<FlociUIContainerResource>, int?)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withhostport-iresourcebuilder-flociuicontainerresource-int) : `IResourceBuilder<FlociUIContainerResource>` `extension` `ats export` -- Configures the host port that the Floci UI resource is exposed on instead of using a randomly assigned port.
- [WithReference(IResourceBuilder<TDestination>, IResourceBuilder<FlociAwsContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-tdestination-iresourcebuilder-flociawscontainerresource) : `IResourceBuilder<TDestination>` `extension` `ats export` -- Adds a reference to a Floci AWS emulator resource, injecting the standard `ConnectionStrings__{name}` entry plus the AWS SDK environment variables ( `AWS_ENDPOINT_URL`, `AWS_DEFAULT_REGION`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`) so dependent services need no further configuration.
- [WithReference(IResourceBuilder<TDestination>, IResourceBuilder<FlociAzureContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-tdestination-iresourcebuilder-flociazurecontainerresource) : `IResourceBuilder<TDestination>` `extension` `ats export` -- Adds a reference to a Floci Azure emulator resource, injecting the standard `ConnectionStrings__{name}` entry plus `AZURE_STORAGE_CONNECTION_STRING` -- a development storage connection string carrying the `Blob`, `Queue` and `Table` endpoints so all three Azure Storage SDK clients resolve to the emulator.
- [WithReference(IResourceBuilder<FlociUIContainerResource>, IResourceBuilder<FlociAwsContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-flociuicontainerresource-iresourcebuilder-flociawscontainerresource) : `IResourceBuilder<FlociUIContainerResource>` `extension` `ats export` -- Attaches an additional Floci AWS emulator resource to an existing Floci UI console, so a single console can browse multiple clouds at once instead of creating a UI container per cloud.
- [WithReference(IResourceBuilder<FlociUIContainerResource>, IResourceBuilder<FlociAzureContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-flociuicontainerresource-iresourcebuilder-flociazurecontainerresource) : `IResourceBuilder<FlociUIContainerResource>` `extension` `ats export` -- Attaches an additional Floci Azure emulator resource to an existing Floci UI console, so a single console can browse multiple clouds at once instead of creating a UI container per cloud.
- [WithReference(IResourceBuilder<FlociUIContainerResource>, IResourceBuilder<FlociGcpContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-flociuicontainerresource-iresourcebuilder-flocigcpcontainerresource) : `IResourceBuilder<FlociUIContainerResource>` `extension` `ats export` -- Attaches an additional Floci GCP emulator resource to an existing Floci UI console, so a single console can browse multiple clouds at once instead of creating a UI container per cloud.
- [WithReference(IResourceBuilder<TDestination>, IResourceBuilder<FlociGcpContainerResource>)](/reference/api/csharp/communitytoolkit.aspire.hosting.floci/flocihostingextension/methods.md#withreference-iresourcebuilder-tdestination-iresourcebuilder-flocigcpcontainerresource) : `IResourceBuilder<TDestination>` `extension` `ats export` -- Adds a reference to a Floci GCP emulator resource, injecting the standard `ConnectionStrings__{name}` entry plus the `*_EMULATOR_HOST` environment variables the Google Cloud SDKs already honor, along with `GOOGLE_CLOUD_PROJECT` and `CLOUDSDK_CORE_PROJECT`.
