Alvecta.Foundation.Infrastructure.AmazonSsm
7.0.65
See the version list below for details.
dotnet add package Alvecta.Foundation.Infrastructure.AmazonSsm --version 7.0.65
NuGet\Install-Package Alvecta.Foundation.Infrastructure.AmazonSsm -Version 7.0.65
<PackageReference Include="Alvecta.Foundation.Infrastructure.AmazonSsm" Version="7.0.65" />
<PackageVersion Include="Alvecta.Foundation.Infrastructure.AmazonSsm" Version="7.0.65" />
<PackageReference Include="Alvecta.Foundation.Infrastructure.AmazonSsm" />
paket add Alvecta.Foundation.Infrastructure.AmazonSsm --version 7.0.65
#r "nuget: Alvecta.Foundation.Infrastructure.AmazonSsm, 7.0.65"
#:package Alvecta.Foundation.Infrastructure.AmazonSsm@7.0.65
#addin nuget:?package=Alvecta.Foundation.Infrastructure.AmazonSsm&version=7.0.65
#tool nuget:?package=Alvecta.Foundation.Infrastructure.AmazonSsm&version=7.0.65
Alvecta.Foundation.Infrastructure.AmazonSsm
An ISecretProvider (from Alvecta.Foundation.Infrastructure.Secrets) backed by AWS Systems
Manager Parameter Store, so secret:<parameter-name> configuration values resolve to SSM
parameters at startup.
It belongs to the Infrastructure layer. Dependencies: Alvecta.Foundation.Infrastructure.Secrets,
Alvecta.Utils, AWSSDK.Core and AWSSDK.SimpleSystemsManagement.
What it contains
SsmSecretProvider— reads the requested parameters withGetParameters, one call per ten names (the most one call accepts), decryptingSecureStringvalues. It throws anInvalidOperationExceptionnaming every parameter that does not exist.SsmStartup.ResolveSecretsAsync(IConfigurationManager, CancellationToken)— creates an SSM client from the default AWS configuration (region and credentials from the environment), resolves everysecret:value throughSsmSecretProvider, and disposes the client.
Usage
dotnet add package Alvecta.Foundation.Infrastructure.AmazonSsm
Write secret references as full SSM parameter names:
{
"Payments": {
"ApiKey": "secret:/ProdShop/PaymentsApiKey"
}
}
Resolve them first thing in the composition root, before anything reads configuration:
using Alvecta.Foundation.Infrastructure.AmazonSsm;
var builder = WebApplication.CreateBuilder(args);
await SsmStartup.ResolveSecretsAsync(builder.Configuration, CancellationToken.None);
// Register services as usual; they see the decrypted values.
The process needs ssm:GetParameters on the referenced parameters (and kms:Decrypt when they are
encrypted with a customer-managed key). Alvecta.Foundation.Deployment.Cdk grants SSM access under
the environment's parameter prefix, and creates each referenced parameter that does not exist yet as
a SecureString holding the placeholder default, for you to overwrite with the real value.
To use your own SSM client (a specific region, a mocked client in tests), call the
Alvecta.Foundation.Infrastructure.Secrets extension directly:
await builder.Configuration.ResolveSecretsAsync(new SsmSecretProvider(ssmClient), cancellationToken);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Alvecta.Foundation.Infrastructure.Secrets (>= 7.0.65)
- Alvecta.Utils (>= 8.0.66)
- AWSSDK.Core (>= 4.0.102.11)
- AWSSDK.SimpleSystemsManagement (>= 4.0.104.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.0.68 | 0 | 10/21/2026 |
| 7.0.67 | 44 | 10/20/2026 |
| 7.0.66 | 50 | 10/19/2026 |
| 7.0.65 | 49 | 10/19/2026 |
| 6.3.64 | 47 | 10/19/2026 |
| 6.3.63 | 44 | 10/19/2026 |
| 6.2.62 | 82 | 10/14/2026 |
| 6.1.61 | 91 | 10/9/2026 |
| 6.1.60 | 84 | 10/7/2026 |
| 6.1.59 | 90 | 10/6/2026 |
| 6.1.58 | 93 | 10/5/2026 |
| 6.0.57 | 104 | 10/2/2026 |
| 6.0.56 | 90 | 10/1/2026 |
| 6.0.55 | 94 | 10/1/2026 |
| 5.0.54 | 103 | 9/30/2026 |
| 5.0.53 | 103 | 9/28/2026 |
| 5.0.52 | 105 | 9/17/2026 |
| 5.0.51 | 100 | 9/17/2026 |
| 5.0.50 | 99 | 9/17/2026 |
| 5.0.49 | 101 | 9/17/2026 |