# IAwsRadiusProviderBuilder Methods

- Package: [Aspire.Hosting.Radius](/reference/api/csharp/aspire.hosting.radius.md)
- Type: [IAwsRadiusProviderBuilder](/reference/api/csharp/aspire.hosting.radius/iawsradiusproviderbuilder.md)
- Kind: `Methods`
- Members: `2`

Builder surface exposed inside the `WithAwsProvider` callback for selecting an AWS credential mode. Exactly one `With*` method must be called; a repeat call replaces the previous selection.

<a id="withaccesskey"></a>
<a id="withaccesskey-iresourcebuilder-parameterresource-iresourcebuilder-parameterresource"></a>

## WithAccessKey(IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)

- Name: `WithAccessKey(IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>)`
- Modifiers: `abstract`
- Returns: [IAwsRadiusProviderBuilder](/reference/api/csharp/aspire.hosting.radius/iawsradiusproviderbuilder.md)

Configures an IAM access key credential. Both the access key id and secret access key values are provided via `ApplicationModel.ParameterResource` s so plaintext never appears in the publish artifact. Reference them with `builder.AddParameter("awsAccessKeyId", secret: true)` / `builder.AddParameter("awsSecretAccessKey", secret: true)`.

```csharp
public interface IAwsRadiusProviderBuilder
{
    public abstract IAwsRadiusProviderBuilder WithAccessKey(
        IResourceBuilder<ParameterResource> accessKeyId,
        IResourceBuilder<ParameterResource> secretAccessKey)
    {
        // ...
    }
}
```

## Parameters

- `accessKeyId` (`IResourceBuilder<ParameterResource>`)
  Parameter carrying the AWS access key id.
- `secretAccessKey` (`IResourceBuilder<ParameterResource>`)
  Parameter carrying the AWS secret access key.

## Returns

[IAwsRadiusProviderBuilder](/reference/api/csharp/aspire.hosting.radius/iawsradiusproviderbuilder.md) -- This builder for chaining.

<a id="withirsa"></a>
<a id="withirsa-string"></a>

## WithIrsa(string)

- Name: `WithIrsa(string)`
- Modifiers: `abstract`
- Returns: [IAwsRadiusProviderBuilder](/reference/api/csharp/aspire.hosting.radius/iawsradiusproviderbuilder.md)

Configures an IAM Roles for Service Accounts (IRSA) credential. No long-lived secret is materialized; the role is assumed at deploy time via the hosting Kubernetes cluster's OIDC provider.

```csharp
public interface IAwsRadiusProviderBuilder
{
    public abstract IAwsRadiusProviderBuilder WithIrsa(
        string iamRoleArn)
    {
        // ...
    }
}
```

## Parameters

- `iamRoleArn` (`string`)
  Fully-qualified IAM role ARN to assume.

## Returns

[IAwsRadiusProviderBuilder](/reference/api/csharp/aspire.hosting.radius/iawsradiusproviderbuilder.md) -- This builder for chaining.
