7e2abb9e5b
version 2.1
2.4 KiB
2.4 KiB
KloudflareAPI
KloudflareAPI is an kotlin project that implements (some of) the Cloudflare v4 API, allowing one manage DNS zones and user information
Pull requests are welcome!
- This is for cross-platform use, specifically - linux 32/64, mac 64, and windows 32/64. Java 8+
val email = "test@example.com"
val token = "ac1d3f45b51cc5d23e47aa4ac7c07b54d60f2"
val kloudflare = Kloudflare(email, token)
println(kloudflare.getUser())
val listZones = kloudflare.listZones()
listZones.forEach { zone ->
println("${zone.name} : ${zone.id}")
val dnsRecords = kloudflare.listDnsRecords(zone)
dnsRecords.forEach { dnsRecord ->
if (dnsRecord.type == RecordType.A || dnsRecord.type == RecordType.AAAA) {
val domainLength = zone.name.length
val length = dnsRecord.name.length - domainLength
val domainName = if (length == 0) {
"@"
}
else {
// -1 because we don't want the '.'
dnsRecord.name.subSequence(0, length - 1)
}
println(" $domainName ${dnsRecord.type} : ${dnsRecord.id}")
val newDnsRecord = CreateDnsRecord(zone)
newDnsRecord.type = RecordType.A
newDnsRecord.name = "test"
newDnsRecord.content = "1.2.3.4"
val newRecord = kloudflare.createDnsRecord(newDnsRecord)
println("Created: ${newRecord.name} -> ${newRecord.content}")
}
}
}
Maven Info
<dependencies>
...
<dependency>
<groupId>com.dorkbox</groupId>
<artifactId>KloudflareAPI</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
Gradle Info
dependencies {
...
compile 'com.dorkbox:KloudflareAPI:1.3'
}
License
This project is © 2019 dorkbox llc, and is distributed under the terms of the Apache v2.0 License. See file "LICENSE" for further references.