Functions/Get-CFDnsRecord.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Function Get-CFDnsRecord {
    [CmdletBinding()]
    Param()
    
    Begin {
        If (-not ($CFHeaders -and $CFZoneID)) {Import-CFConfig}
    }

    Process {
        If ($ConfigImported) {
            Try {
                $Uri = "$BaseUri/zones/$CFZoneID/dns_records"
                $Response = Invoke-RestMethod -Method Get -Uri $Uri -Headers $CFHeaders

                If ($Response.success) {
                    ForEach ($Item in $Response) {
                        [PSCustomObject]@{
                            Id = $Item.result.id
                            Type = $Item.result.type
                            Name = $Item.result.name
                            TTL = $Item.result.ttl
                            Proxied = $Item.result.proxied
                        }
                    }
                } Else {
                    Write-Error -Message "$($Response.errors)"
                }
            } Catch {
                $_.Exception.Message
            }
        }
    }

    End {}
}