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