Tamp.PostgresFlex 0.1.0

Prefix Reserved
dotnet add package Tamp.PostgresFlex --version 0.1.0
                    
NuGet\Install-Package Tamp.PostgresFlex -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tamp.PostgresFlex" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tamp.PostgresFlex" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Tamp.PostgresFlex" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tamp.PostgresFlex --version 0.1.0
                    
#r "nuget: Tamp.PostgresFlex, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tamp.PostgresFlex@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tamp.PostgresFlex&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Tamp.PostgresFlex&version=0.1.0
                    
Install as a Cake Tool

Tamp.PostgresFlex

Typed wrappers for Azure Database for PostgreSQL Flexible Server admin: lifecycle, firewall rules, server parameters, admin-password rotation.

Package Status
Tamp.PostgresFlex 0.1.0 (initial)

Install

dotnet add package Tamp.PostgresFlex

Multi-targets net8 / net9 / net10. Requires az CLI on PATH.

Quick start — stop / restart for maintenance

using Tamp;
using Tamp.PostgresFlex;

class Build : TampBuild
{
    public static int Main(string[] args) => Execute<Build>(args);

    [FromPath("az")] readonly Tool Az = null!;

    Target StopForMaintenance => _ => _.Executes(() => PostgresFlex.Stop(Az, s => s
        .SetResourceGroup("rg-strata-dev")
        .SetName("strata-postgres-dev")));

    Target ResumeAfterMaintenance => _ => _.Executes(() => PostgresFlex.Start(Az, s => s
        .SetResourceGroup("rg-strata-dev")
        .SetName("strata-postgres-dev")));
}

Verb surface

Tamp method az command Notes
PostgresFlex.Start(...) az postgres flexible-server start
PostgresFlex.Stop(...) az postgres flexible-server stop Saves Azure compute spend during nights/weekends in dev.
PostgresFlex.Restart(...) az postgres flexible-server restart Required after some parameter updates.
PostgresFlex.Show(...) az postgres flexible-server show
PostgresFlex.List(...) az postgres flexible-server list Subscription / resource-group scope; no --name.
PostgresFlex.FirewallRuleCreate(...) az postgres flexible-server firewall-rule create EndIp defaults to StartIp.
PostgresFlex.FirewallRuleDelete(...) az postgres flexible-server firewall-rule delete Adds --yes by default for non-interactive build scripts.
PostgresFlex.FirewallRuleList(...) az postgres flexible-server firewall-rule list
PostgresFlex.ParameterSet(...) az postgres flexible-server parameter set Followed by Restart if the parameter requires it.
PostgresFlex.ParameterShow(...) az postgres flexible-server parameter show
PostgresFlex.UpdateAdminPassword(...) az postgres flexible-server update --admin-password Password is Secret-typed and redacted from logs.

Every server-scope verb requires ResourceGroup + Name (validated at plan-build time, not runtime). Subscription is optional when the CLI default is correct.

Auth

Inherits from the az CLI session. Use Tamp.AzureCli.V2's Login verb earlier in the target graph if you need explicit credentials per-build.

Releasing

Releases follow the Tamp dogfood pattern: bump <Version> in Directory.Build.props, tag v<X.Y.Z>, GitHub Actions runs dotnet tamp Ci then dotnet tamp Push.

License

MIT. See LICENSE.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.1.0 99 5/13/2026