Fixed package location. Added update to dns records
This commit is contained in:
parent
82e4c18b1a
commit
af644f49fa
@ -13,23 +13,26 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox
|
package dorkbox.kloudflare
|
||||||
|
|
||||||
import com.squareup.moshi.Moshi
|
import com.squareup.moshi.Moshi
|
||||||
import com.squareup.moshi.Types
|
import dorkbox.kloudflare.api.CloudflareActions
|
||||||
import dorkbox.api.CloudflareActions
|
import dorkbox.kloudflare.api.core.CfErrorResponse
|
||||||
import dorkbox.api.core.*
|
import dorkbox.kloudflare.api.core.CfResponse
|
||||||
import dorkbox.api.dns.CreateDnsRecord
|
import dorkbox.kloudflare.api.core.DnsRecordTypeAdapter
|
||||||
import dorkbox.api.dns.DeleteDnsRecord
|
import dorkbox.kloudflare.api.core.Error
|
||||||
import dorkbox.api.dns.DnsRecord
|
import dorkbox.kloudflare.api.core.ISO8601Adapter
|
||||||
import dorkbox.api.dns.UpdateDnsRecord
|
import dorkbox.kloudflare.api.dns.CreateDnsRecord
|
||||||
import dorkbox.api.firewall.AccessRule
|
import dorkbox.kloudflare.api.dns.DeleteDnsRecord
|
||||||
import dorkbox.api.user.BillingHistory
|
import dorkbox.kloudflare.api.dns.DnsRecord
|
||||||
import dorkbox.api.user.BillingProfile
|
import dorkbox.kloudflare.api.dns.UpdateDnsRecord
|
||||||
import dorkbox.api.user.User
|
import dorkbox.kloudflare.api.firewall.AccessRule
|
||||||
import dorkbox.api.zone.RatePlan
|
import dorkbox.kloudflare.api.user.BillingHistory
|
||||||
import dorkbox.api.zone.Zone
|
import dorkbox.kloudflare.api.user.BillingProfile
|
||||||
import dorkbox.api.zone.settings.ZoneSetting
|
import dorkbox.kloudflare.api.user.User
|
||||||
|
import dorkbox.kloudflare.api.zone.RatePlan
|
||||||
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
|
import dorkbox.kloudflare.api.zone.settings.ZoneSetting
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.ResponseBody
|
import okhttp3.ResponseBody
|
||||||
import okhttp3.logging.HttpLoggingInterceptor
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
@ -51,15 +54,15 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
val errorConverter: Converter<ResponseBody, CfErrorResponse>
|
val errorConverter: Converter<ResponseBody, CfErrorResponse>
|
||||||
val cloudflare: CloudflareActions
|
val cloudflare: CloudflareActions
|
||||||
|
|
||||||
|
val client: OkHttpClient
|
||||||
|
|
||||||
init {
|
init {
|
||||||
// JSON mapping to java classes
|
// JSON mapping to java classes
|
||||||
val httpClient = OkHttpClient.Builder()
|
|
||||||
|
|
||||||
val interceptor = HttpLoggingInterceptor()
|
val interceptor = HttpLoggingInterceptor()
|
||||||
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
val client = httpClient
|
client = OkHttpClient.Builder()
|
||||||
// .addInterceptor(interceptor) // this is the raw HTTP interceptor
|
// .addInterceptor(interceptor) // this is the raw HTTP interceptor
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val moshi = Moshi.Builder()
|
val moshi = Moshi.Builder()
|
||||||
@ -67,7 +70,7 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
.add(DnsRecordTypeAdapter())
|
.add(DnsRecordTypeAdapter())
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val adapter = moshi.adapter<List<String>>(Types.newParameterizedType(List::class.java, String::class.java))
|
// val adapter = moshi.adapter<List<String>>(Types.newParameterizedType(List::class.java, String::class.java))
|
||||||
|
|
||||||
|
|
||||||
val retrofit = Retrofit.Builder()
|
val retrofit = Retrofit.Builder()
|
||||||
@ -76,7 +79,7 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
.client(client)
|
.client(client)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
errorConverter = retrofit.responseBodyConverter<CfErrorResponse>(CfErrorResponse::class.java, CfErrorResponse::class.annotations.toTypedArray())
|
errorConverter = retrofit.responseBodyConverter(CfErrorResponse::class.java, CfErrorResponse::class.annotations.toTypedArray())
|
||||||
|
|
||||||
cloudflare = retrofit.create(CloudflareActions::class.java)
|
cloudflare = retrofit.create(CloudflareActions::class.java)
|
||||||
}
|
}
|
||||||
@ -108,7 +111,14 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun listZones(options: Map<String, String> = emptyMap()): List<Zone> {
|
fun listZones(options: Map<String, String> = emptyMap()): List<Zone> {
|
||||||
return wrap(cloudflare.listZones(xAuthEmail, xAuthKey, options))
|
val zones = wrap(cloudflare.listZones(xAuthEmail, xAuthKey, options))
|
||||||
|
zones.forEach { zone ->
|
||||||
|
// have to assign
|
||||||
|
zone.kloudflare = this;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return zones
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getZoneRatePlans(zone: Zone): RatePlan {
|
fun getZoneRatePlans(zone: Zone): RatePlan {
|
||||||
@ -120,7 +130,8 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun listDnsRecords(zone: Zone): List<DnsRecord> {
|
fun listDnsRecords(zone: Zone): List<DnsRecord> {
|
||||||
val wrap = wrap(cloudflare.listDnsRecords(xAuthEmail, xAuthKey, zone.id))
|
val wrap =
|
||||||
|
wrap(cloudflare.listDnsRecords(xAuthEmail, xAuthKey, zone.id))
|
||||||
wrap.forEach {
|
wrap.forEach {
|
||||||
it.zone = zone
|
it.zone = zone
|
||||||
}
|
}
|
||||||
@ -128,13 +139,20 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun createDnsRecord(dnsRecord: CreateDnsRecord): DnsRecord {
|
fun createDnsRecord(dnsRecord: CreateDnsRecord): DnsRecord {
|
||||||
val wrap = wrap(cloudflare.createDnsRecord(xAuthEmail, xAuthKey, dnsRecord.zone.id, dnsRecord))
|
val wrap =
|
||||||
|
wrap(cloudflare.createDnsRecord(xAuthEmail, xAuthKey, dnsRecord.zone.id, dnsRecord))
|
||||||
wrap.zone = dnsRecord.zone
|
wrap.zone = dnsRecord.zone
|
||||||
return wrap
|
return wrap
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDnsRecord(updatedDnsRecord: UpdateDnsRecord): Any {
|
fun updateDnsRecord(updatedDnsRecord: UpdateDnsRecord): Any {
|
||||||
return wrap(cloudflare.updateDnsRecord(xAuthEmail, xAuthKey, updatedDnsRecord.zone.id, updatedDnsRecord.id, updatedDnsRecord))
|
return wrap(cloudflare.updateDnsRecord(xAuthEmail,
|
||||||
|
xAuthKey,
|
||||||
|
updatedDnsRecord.zone.id,
|
||||||
|
updatedDnsRecord.id,
|
||||||
|
updatedDnsRecord
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteDnsRecord(dnsRecord: DnsRecord): DeleteDnsRecord {
|
fun deleteDnsRecord(dnsRecord: DnsRecord): DeleteDnsRecord {
|
||||||
@ -144,5 +162,13 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
fun listAccessRules(): List<AccessRule> {
|
fun listAccessRules(): List<AccessRule> {
|
||||||
return wrap(cloudflare.listAccessRules(xAuthEmail, xAuthKey))
|
return wrap(cloudflare.listAccessRules(xAuthEmail, xAuthKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun shutdown() {
|
||||||
|
// shutdown the http client stuff
|
||||||
|
client.dispatcher.cancelAll()
|
||||||
|
client.dispatcher.executorService.shutdown()
|
||||||
|
client.connectionPool.evictAll()
|
||||||
|
client.cache?.close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13,22 +13,30 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api
|
package dorkbox.kloudflare.api
|
||||||
|
|
||||||
import dorkbox.api.core.CfResponse
|
import dorkbox.kloudflare.api.core.CfResponse
|
||||||
import dorkbox.api.dns.CreateDnsRecord
|
import dorkbox.kloudflare.api.dns.CreateDnsRecord
|
||||||
import dorkbox.api.dns.DeleteDnsRecord
|
import dorkbox.kloudflare.api.dns.DeleteDnsRecord
|
||||||
import dorkbox.api.dns.DnsRecord
|
import dorkbox.kloudflare.api.dns.DnsRecord
|
||||||
import dorkbox.api.dns.UpdateDnsRecord
|
import dorkbox.kloudflare.api.dns.UpdateDnsRecord
|
||||||
import dorkbox.api.firewall.AccessRule
|
import dorkbox.kloudflare.api.firewall.AccessRule
|
||||||
import dorkbox.api.user.BillingHistory
|
import dorkbox.kloudflare.api.user.BillingHistory
|
||||||
import dorkbox.api.user.BillingProfile
|
import dorkbox.kloudflare.api.user.BillingProfile
|
||||||
import dorkbox.api.user.User
|
import dorkbox.kloudflare.api.user.User
|
||||||
import dorkbox.api.zone.RatePlan
|
import dorkbox.kloudflare.api.zone.RatePlan
|
||||||
import dorkbox.api.zone.Zone
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
import dorkbox.api.zone.settings.ZoneSetting
|
import dorkbox.kloudflare.api.zone.settings.ZoneSetting
|
||||||
import retrofit2.Call
|
import retrofit2.Call
|
||||||
import retrofit2.http.*
|
import retrofit2.http.Body
|
||||||
|
import retrofit2.http.DELETE
|
||||||
|
import retrofit2.http.GET
|
||||||
|
import retrofit2.http.Header
|
||||||
|
import retrofit2.http.Headers
|
||||||
|
import retrofit2.http.POST
|
||||||
|
import retrofit2.http.PUT
|
||||||
|
import retrofit2.http.Path
|
||||||
|
import retrofit2.http.QueryMap
|
||||||
|
|
||||||
interface CloudflareActions {
|
interface CloudflareActions {
|
||||||
/**
|
/**
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,11 +13,11 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.FromJson
|
import com.squareup.moshi.FromJson
|
||||||
import com.squareup.moshi.ToJson
|
import com.squareup.moshi.ToJson
|
||||||
import dorkbox.api.dns.RecordType
|
import dorkbox.kloudflare.api.dns.RecordType
|
||||||
|
|
||||||
/** Converts byte arrays to base64 (so it looks better as a string...) */
|
/** Converts byte arrays to base64 (so it looks better as a string...) */
|
||||||
internal class DnsRecordTypeAdapter {
|
internal class DnsRecordTypeAdapter {
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.FromJson
|
import com.squareup.moshi.FromJson
|
||||||
import com.squareup.moshi.JsonQualifier
|
import com.squareup.moshi.JsonQualifier
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://api.cloudflare.com/#getting-started-requests
|
* https://api.cloudflare.com/#getting-started-requests
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.core
|
package dorkbox.kloudflare.api.core
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,20 +13,26 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record
|
* https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record
|
||||||
*/
|
*/
|
||||||
open class CreateDnsRecord(dnsRecord: DnsRecord) {
|
open class CreateDnsRecord(zone: Zone) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: This is not part of the Cloudflare API
|
||||||
|
*
|
||||||
|
* Used to associate this dns record with it's zone
|
||||||
|
*/
|
||||||
@Transient
|
@Transient
|
||||||
var id = dnsRecord.id
|
val zone = zone
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
var zone = dnsRecord.zone
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Record type
|
* Record type
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://api.cloudflare.com/#dns-records-for-a-zone-properties
|
* https://api.cloudflare.com/#dns-records-for-a-zone-properties
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,11 +13,11 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import dorkbox.api.zone.Zone
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,12 +25,24 @@ import java.time.LocalDateTime
|
|||||||
*/
|
*/
|
||||||
open class DnsRecord {
|
open class DnsRecord {
|
||||||
/**
|
/**
|
||||||
|
* NOTE: This is not part of the Cloudflare API
|
||||||
|
*
|
||||||
* Which zone this DNS record belongs to
|
* Which zone this DNS record belongs to
|
||||||
*/
|
*/
|
||||||
@Transient
|
@Transient
|
||||||
lateinit var zone: Zone
|
lateinit var zone: Zone
|
||||||
|
|
||||||
|
|
||||||
|
fun prettyName(): String {
|
||||||
|
return when (val length = name.length - zone.name.length) {
|
||||||
|
0 -> "@"
|
||||||
|
else ->
|
||||||
|
name.subSequence(0, length - 1) as String // -1 because we don't want the '.'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DNS record identifier tag
|
* DNS record identifier tag
|
||||||
*/
|
*/
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.dns
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
enum class RecordType {
|
enum class RecordType {
|
||||||
A, AAAA, CNAME, TXT, SRV, LOC, MX, NS, SPF, CERT, DNSKEY, DS, NAPTR, SMIMEA, SSHFP, TLSA, URI
|
A, AAAA, CNAME, TXT, SRV, LOC, MX, NS, SPF, CERT, DNSKEY, DS, NAPTR, SMIMEA, SSHFP, TLSA, URI
|
24
src/dorkbox/kloudflare/api/dns/UpdateDnsRecord.kt
Normal file
24
src/dorkbox/kloudflare/api/dns/UpdateDnsRecord.kt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package dorkbox.kloudflare.api.dns
|
||||||
|
|
||||||
|
import com.squareup.moshi.Json
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record
|
||||||
|
*/
|
||||||
|
class UpdateDnsRecord(dnsRecord: DnsRecord) : CreateDnsRecord(dnsRecord.zone) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DNS record identifier tag
|
||||||
|
*/
|
||||||
|
@field:[Json(name = "id")]
|
||||||
|
var id = dnsRecord.id
|
||||||
|
|
||||||
|
init {
|
||||||
|
type = dnsRecord.type
|
||||||
|
name = dnsRecord.name
|
||||||
|
content = dnsRecord.content
|
||||||
|
ttl = dnsRecord.ttl
|
||||||
|
priority = 0
|
||||||
|
proxied = dnsRecord.proxied
|
||||||
|
}
|
||||||
|
}
|
@ -13,10 +13,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.firewall
|
package dorkbox.kloudflare.api.firewall
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.firewall
|
package dorkbox.kloudflare.api.firewall
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.firewall
|
package dorkbox.kloudflare.api.firewall
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,11 +13,11 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user
|
package dorkbox.kloudflare.api.user
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import dorkbox.api.zone.Zone
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,10 +13,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user
|
package dorkbox.kloudflare.api.user
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,10 +13,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user
|
package dorkbox.kloudflare.api.user
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user
|
package dorkbox.kloudflare.api.user
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,10 +13,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.invite
|
package dorkbox.kloudflare.api.user.invite
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.invite
|
package dorkbox.kloudflare.api.user.invite
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.subscription
|
package dorkbox.kloudflare.api.user.subscription
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.subscription
|
package dorkbox.kloudflare.api.user.subscription
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.subscription
|
package dorkbox.kloudflare.api.user.subscription
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,11 +13,11 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.user.subscription
|
package dorkbox.kloudflare.api.user.subscription
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import dorkbox.api.zone.Zone
|
import dorkbox.kloudflare.api.zone.Zone
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,10 +13,12 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone
|
package dorkbox.kloudflare.api.zone
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.Kloudflare
|
||||||
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
|
import dorkbox.kloudflare.api.dns.DnsRecord
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,6 +26,22 @@ import java.time.LocalDateTime
|
|||||||
*/
|
*/
|
||||||
class Zone {
|
class Zone {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: This is not part of the Cloudflare API
|
||||||
|
*/
|
||||||
|
@Transient
|
||||||
|
lateinit var kloudflare: Kloudflare
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOTE: This is not part of the Cloudflare API
|
||||||
|
*
|
||||||
|
* DNS records that were retrieved from this zone.
|
||||||
|
*/
|
||||||
|
@delegate:Transient
|
||||||
|
val dnsRecords: List<DnsRecord> by lazy { kloudflare.listDnsRecords(this) }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@field:[Json(name = "id")]
|
@field:[Json(name = "id")]
|
||||||
val id: String = ""
|
val id: String = ""
|
||||||
|
|
||||||
@ -81,7 +99,6 @@ class Zone {
|
|||||||
@field:[Json(name = "owner")]
|
@field:[Json(name = "owner")]
|
||||||
val owner = Owner()
|
val owner = Owner()
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Information about the account the zone belongs to
|
* Information about the account the zone belongs to
|
||||||
*/
|
*/
|
||||||
@ -119,7 +136,6 @@ class Zone {
|
|||||||
@field:[Json(name = "activated_on") ISO8601]
|
@field:[Json(name = "activated_on") ISO8601]
|
||||||
val activatedOn: LocalDateTime? = null
|
val activatedOn: LocalDateTime? = null
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates if the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
|
* Indicates if the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
|
||||||
*/
|
*/
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone.settings
|
package dorkbox.kloudflare.api.zone.settings
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone.settings
|
package dorkbox.kloudflare.api.zone.settings
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone.settings
|
package dorkbox.kloudflare.api.zone.settings
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
|
|
@ -13,10 +13,10 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dorkbox.api.zone.settings
|
package dorkbox.kloudflare.api.zone.settings
|
||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.kloudflare.api.core.ISO8601
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
Loading…
Reference in New Issue
Block a user