mirror of
https://github.com/Smaug123/PulumiConfig
synced 2025-10-25 09:28:39 +00:00
Upgrade Pulumi (#43)
This commit is contained in:
@@ -1,23 +1,22 @@
|
||||
namespace PulumiWebServer
|
||||
|
||||
open System.Net.Http
|
||||
open Nager.PublicSuffix
|
||||
open Nager.PublicSuffix.RuleProviders
|
||||
open Pulumi
|
||||
open Pulumi.Cloudflare
|
||||
open Pulumi.Cloudflare.Inputs
|
||||
|
||||
[<RequireQualifiedAccess>]
|
||||
type ARecord =
|
||||
{
|
||||
IPv4 : Record option
|
||||
IPv6 : Record option
|
||||
IPv4 : DnsRecord option
|
||||
IPv6 : DnsRecord option
|
||||
}
|
||||
|
||||
type Cname =
|
||||
{
|
||||
Source : string
|
||||
Target : string
|
||||
Record : Record
|
||||
Record : DnsRecord
|
||||
}
|
||||
|
||||
type DnsRecord =
|
||||
@@ -29,7 +28,7 @@ module Cloudflare =
|
||||
|
||||
let getZone (DomainName domain) : Output<ZoneId> =
|
||||
let args = GetZoneInvokeArgs ()
|
||||
args.Name <- domain
|
||||
args.Filter <- GetZoneFilterInputArgs (Name = domain, Match = "any")
|
||||
|
||||
output {
|
||||
let! zone = GetZone.Invoke args
|
||||
@@ -42,26 +41,26 @@ module Cloudflare =
|
||||
| None -> None
|
||||
| Some ipv6Addr ->
|
||||
|
||||
let args = RecordArgs ()
|
||||
let args = DnsRecordArgs ()
|
||||
args.ZoneId <- Input.lift zone
|
||||
args.Name <- Input.lift name
|
||||
args.Ttl <- Input.lift 60
|
||||
args.Type <- Input.lift "AAAA"
|
||||
args.Value <- Input.lift ipv6Addr
|
||||
Record ($"{name}-ipv6", args) |> Some
|
||||
args.Content <- Input.lift ipv6Addr
|
||||
DnsRecord ($"{name}-ipv6", args) |> Some
|
||||
|
||||
let v4 =
|
||||
match ipAddress.IPv4 with
|
||||
| None -> None
|
||||
| Some ipv4Addr ->
|
||||
|
||||
let args = RecordArgs ()
|
||||
let args = DnsRecordArgs ()
|
||||
args.ZoneId <- Input.lift zone
|
||||
args.Name <- Input.lift name
|
||||
args.Ttl <- Input.lift 60
|
||||
args.Type <- Input.lift "A"
|
||||
args.Value <- Input.lift ipv4Addr
|
||||
Record ($"{name}-ipv4", args) |> Some
|
||||
args.Content <- Input.lift ipv4Addr
|
||||
DnsRecord ($"{name}-ipv4", args) |> Some
|
||||
|
||||
{
|
||||
ARecord.IPv4 = v4
|
||||
@@ -93,16 +92,16 @@ module Cloudflare =
|
||||
|> Seq.map (fun (cname, target) ->
|
||||
let source = $"{cname.ToString ()}{subdomainMarker}"
|
||||
let target = WellKnownCnameTarget.Reify domain target
|
||||
let args = RecordArgs ()
|
||||
let args = DnsRecordArgs ()
|
||||
args.ZoneId <- Input.lift zone
|
||||
args.Name <- Input.lift source
|
||||
args.Ttl <- Input.lift 60
|
||||
args.Type <- Input.lift "CNAME"
|
||||
args.Value <- Input.lift target
|
||||
args.Content <- Input.lift target
|
||||
|
||||
source,
|
||||
{
|
||||
Record = Record ($"{cname}{subdomainMarker}-cname", args)
|
||||
Record = DnsRecord ($"{cname}{subdomainMarker}-cname", args)
|
||||
Source = source
|
||||
Target = target
|
||||
}
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Nager.PublicSuffix" Version="3.4.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="Pulumi" Version="3.71.1" />
|
||||
<PackageReference Include="Pulumi.Cloudflare" Version="5.42.0" />
|
||||
<PackageReference Include="Pulumi.Command" Version="1.0.1" />
|
||||
<PackageReference Include="Pulumi.DigitalOcean" Version="4.34.0" />
|
||||
<PackageReference Include="Nager.PublicSuffix" Version="3.6.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageReference Include="Pulumi" Version="3.90.0" />
|
||||
<PackageReference Include="Pulumi.Cloudflare" Version="6.10.0" />
|
||||
<PackageReference Include="Pulumi.Command" Version="1.1.3" />
|
||||
<PackageReference Include="Pulumi.DigitalOcean" Version="4.53.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user