Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds ZoneApi.put ZoneApi.delete used by CLI zone add, update and replace #351

Merged
merged 1 commit into from
Apr 6, 2015

Conversation

codefromthecrypt
Copy link
Contributor

Adds Zone write support and backfills functionality for all supported
providers. Adds usage notes to README files.

closes #264

@codefromthecrypt codefromthecrypt force-pushed the adrian.zone-write branch 5 times, most recently from 506bccc to a85f29f Compare March 30, 2015 05:15
@codefromthecrypt codefromthecrypt force-pushed the adrian.zone-write branch 6 times, most recently from 4613cc8 to 6c0c883 Compare April 5, 2015 19:41
@codefromthecrypt codefromthecrypt changed the title Adds zone write support Adds ZoneApi.put ZoneApi.delete used by CLI zone add, update and replace Apr 6, 2015
@codefromthecrypt
Copy link
Contributor Author

going to manually test cli and merge shortly

@cloudbees-pull-request-builder

NetflixOSS » denominator » denominator-pull-requests #128 SUCCESS
This pull request looks good

Adds Zone write support and backfills functionality for all supported
providers. Adds usage notes to README files.

closes #264
@cloudbees-pull-request-builder

NetflixOSS » denominator » denominator-pull-requests #129 SUCCESS
This pull request looks good

@codefromthecrypt
Copy link
Contributor Author

Here's test output from Route53 including making a duplicate zone

$ build/denominator -p route53 zone list
[Route53#listHostedZones] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone HTTP/1.1
[Route53#listHostedZones] <--- HTTP/1.1 200 OK (1179ms)
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z1KHVUKIACU4D7/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (1238ms)
Z1KHVUKIACU4D7           denominator.io.                      fake@denominator.io                  86400
$ build/denominator -p route53 zone delete -i Z1KHVUKIACU4D7
;; deleting zone Z1KHVUKIACU4D7
[Route53#getHostedZone] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z1KHVUKIACU4D7 HTTP/1.1
[Route53#getHostedZone] <--- HTTP/1.1 200 OK (1018ms)
[Route53#deleteHostedZone] ---> DELETE https://route53.amazonaws.com/2012-12-12/hostedzone/Z1KHVUKIACU4D7 HTTP/1.1
[Route53#deleteHostedZone] <--- HTTP/1.1 200 OK (1238ms)
;; ok
$ build/denominator -p route53 zone list
[Route53#listHostedZones] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone HTTP/1.1
[Route53#listHostedZones] <--- HTTP/1.1 200 OK (758ms)
$ build/denominator -p route53 zone add -n denominator.io. -e nil@denominator.io
;; adding zone denominator.io. with ttl 86400 and email nil@denominator.io
[Route53#createHostedZone] ---> POST https://route53.amazonaws.com/2012-12-12/hostedzone HTTP/1.1
[Route53#createHostedZone] <--- HTTP/1.1 201 Created (678ms)
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z14DVSGPV03QCS/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (147ms)
[Route53#changeResourceRecordSets] ---> POST https://route53.amazonaws.com/2012-12-12/hostedzone/Z14DVSGPV03QCS/rrset HTTP/1.1
[Route53#changeResourceRecordSets] <--- HTTP/1.1 200 OK (275ms)
Z14DVSGPV03QCS
;; ok
$ build/denominator -p route53 zone add -n denominator.io. -e nil@denominator.io
;; adding zone denominator.io. with ttl 86400 and email nil@denominator.io
[Route53#createHostedZone] ---> POST https://route53.amazonaws.com/2012-12-12/hostedzone HTTP/1.1
[Route53#createHostedZone] <--- HTTP/1.1 201 Created (889ms)
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (144ms)
[Route53#changeResourceRecordSets] ---> POST https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset HTTP/1.1
[Route53#changeResourceRecordSets] <--- HTTP/1.1 200 OK (172ms)
Z5BMD71CZ5E28
;; ok
$ build/denominator -p route53 zone update -i Z5BMD71CZ5E28 -t 300 -e denominator-dev@googlegroups.com
[Route53#listHostedZones] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone HTTP/1.1
[Route53#listHostedZones] <--- HTTP/1.1 200 OK (564ms)
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (124ms)
;; updating zone Z5BMD71CZ5E28 with ttl 300 and email denominator-dev@googlegroups.com
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (123ms)
[Route53#changeResourceRecordSets] ---> POST https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset HTTP/1.1
[Route53#changeResourceRecordSets] <--- HTTP/1.1 200 OK (163ms)
;; ok
$ build/denominator -p route53 zone list -n denominator.io.
[Route53#listHostedZonesByName] ---> GET https://route53.amazonaws.com/2013-04-01/hostedzonesbyname?dnsname=denominator.io. HTTP/1.1
[Route53#listHostedZonesByName] <--- HTTP/1.1 200 OK (562ms)
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z5BMD71CZ5E28/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (128ms)
Z5BMD71CZ5E28            denominator.io.                      denominator-dev@googlegroups.com     300
[Route53#listResourceRecordSets] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z14DVSGPV03QCS/rrset?name=denominator.io.&type=SOA HTTP/1.1
[Route53#listResourceRecordSets] <--- HTTP/1.1 200 OK (139ms)
Z14DVSGPV03QCS           denominator.io.                      nil@denominator.io                   86400
$ build/denominator -p route53 zone delete -i Z14DVSGPV03QCS
;; deleting zone Z14DVSGPV03QCS
[Route53#getHostedZone] ---> GET https://route53.amazonaws.com/2012-12-12/hostedzone/Z14DVSGPV03QCS HTTP/1.1
[Route53#getHostedZone] <--- HTTP/1.1 200 OK (1691ms)
[Route53#deleteHostedZone] ---> DELETE https://route53.amazonaws.com/2012-12-12/hostedzone/Z14DVSGPV03QCS HTTP/1.1
[Route53#deleteHostedZone] <--- HTTP/1.1 200 OK (226ms)
;; ok

@codefromthecrypt
Copy link
Contributor Author

here's cli output from designate, running on hpcloud

$ build/denominator -p designate zone list
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (1096ms)
[Designate#domains] ---> GET https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains HTTP/1.1
[Designate#domains] <--- HTTP/1.1 200 OK (7791ms)
a19879ba-6e03-4fff-a07a-36f07326a8cf denominator.io.                      adrian.f.cole@gmail.com              3600
$ build/denominator -p designate zone delete -i a19879ba-6e03-4fff-a07a-36f07326a8cf
;; deleting zone a19879ba-6e03-4fff-a07a-36f07326a8cf
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (1160ms)
[Designate#deleteDomain] ---> DELETE https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains/a19879ba-6e03-4fff-a07a-36f07326a8cf HTTP/1.1
[Designate#deleteDomain] <--- HTTP/1.1 200 OK (7916ms)
;; ok
$ build/denominator -p designate zone list
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (584ms)
[Designate#domains] ---> GET https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains HTTP/1.1
[Designate#domains] <--- HTTP/1.1 200 OK (4773ms)
$ build/denominator -p designate zone add -n denominator.io. -e nil@denominator.io
;; adding zone denominator.io. with ttl 86400 and email nil@denominator.io
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (1399ms)
[Designate#createDomain] ---> POST https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains HTTP/1.1
[Designate#createDomain] <--- HTTP/1.1 200 OK (13865ms)
c1ce86da-e2da-4a9e-a970-79a2cab7e993
;; ok
$ build/denominator -p designate zone update -i c1ce86da-e2da-4a9e-a970-79a2cab7e993 -t 300 -e denominator-dev@googlegroups.com
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (1567ms)
[Designate#domains] ---> GET https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains HTTP/1.1
[Designate#domains] <--- HTTP/1.1 200 OK (1625ms)
;; updating zone c1ce86da-e2da-4a9e-a970-79a2cab7e993 with ttl 300 and email denominator-dev@googlegroups.com
[Designate#updateDomain] ---> PUT https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains/c1ce86da-e2da-4a9e-a970-79a2cab7e993 HTTP/1.1
[Designate#updateDomain] <--- HTTP/1.1 200 OK (3171ms)
;; ok
$ build/denominator -p designate zone list -n denominator.io.
[KeystoneV2#passwordAuth] ---> POST https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0//tokens HTTP/1.1
[KeystoneV2#passwordAuth] <--- HTTP/1.1 200 OK (1291ms)
[Designate#domains] ---> GET https://region-a.geo-1.dns.hpcloudsvc.com/v1/domains HTTP/1.1
[Designate#domains] <--- HTTP/1.1 200 OK (1024ms)
c1ce86da-e2da-4a9e-a970-79a2cab7e993 denominator.io.                      denominator-dev@googlegroups.com     300

@codefromthecrypt
Copy link
Contributor Author

dynect cli output

$ build/denominator -p dynect zone list
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (628ms)
[DynECT#zones] ---> GET https://api2.dynect.net/REST/Zone HTTP/1.1
[DynECT#zones] <--- HTTP/1.1 200 OK (101ms)
[DynECT#recordsInZoneByNameAndType] ---> GET https://api2.dynect.net/REST/SOARecord/denominator2.io/denominator2.io?detail=Y HTTP/1.1
[DynECT#recordsInZoneByNameAndType] <--- HTTP/1.1 200 OK (104ms)
denominator2.io          denominator2.io                      fake@denominator.com.                3600
$ build/denominator -p dynect zone delete -i denominator2.io
;; deleting zone denominator2.io
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (849ms)
[DynECT#deleteZone] ---> DELETE https://api2.dynect.net/REST/Zone/denominator2.io HTTP/1.1
[DynECT#deleteZone] <--- HTTP/1.1 200 OK (327ms)
;; ok
$ build/denominator -p dynect zone list
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (543ms)
[DynECT#zones] ---> GET https://api2.dynect.net/REST/Zone HTTP/1.1
[DynECT#zones] <--- HTTP/1.1 200 OK (64ms)
$ build/denominator -p dynect zone add -n denominator2.io -e nil@denominator.io
;; adding zone denominator2.io with ttl 86400 and email nil@denominator.io
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (866ms)
[DynECT#createZone] ---> POST https://api2.dynect.net/REST/Zone/denominator2.io HTTP/1.1
[DynECT#createZone] <--- HTTP/1.1 200 OK (805ms)
[DynECT#publish] ---> PUT https://api2.dynect.net/REST/Zone/denominator2.io HTTP/1.1
[DynECT#publish] <--- HTTP/1.1 200 OK (579ms)
denominator2.io
;; ok
$ build/denominator -p dynect zone update -i denominator2.io -t 300 -e denominator-dev@googlegroups.com
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (612ms)
[DynECT#zones] ---> GET https://api2.dynect.net/REST/Zone HTTP/1.1
[DynECT#zones] <--- HTTP/1.1 200 OK (102ms)
[DynECT#recordsInZoneByNameAndType] ---> GET https://api2.dynect.net/REST/SOARecord/denominator2.io/denominator2.io?detail=Y HTTP/1.1
[DynECT#recordsInZoneByNameAndType] <--- HTTP/1.1 200 OK (106ms)
;; updating zone denominator2.io with ttl 300 and email denominator-dev@googlegroups.com
[DynECT#createZone] ---> POST https://api2.dynect.net/REST/Zone/denominator2.io HTTP/1.1
[DynECT#createZone] <--- HTTP/1.1 400 Bad Request (100ms)
[DynECT#recordsInZoneByNameAndType] ---> GET https://api2.dynect.net/REST/SOARecord/denominator2.io/denominator2.io?detail=Y HTTP/1.1
[DynECT#recordsInZoneByNameAndType] <--- HTTP/1.1 200 OK (101ms)
[DynECT#scheduleUpdateSOA] ---> PUT https://api2.dynect.net/REST/SOARecord/denominator2.io/denominator2.io/156863793 HTTP/1.1
[DynECT#scheduleUpdateSOA] <--- HTTP/1.1 200 OK (156ms)
[DynECT#publish] ---> PUT https://api2.dynect.net/REST/Zone/denominator2.io HTTP/1.1
[DynECT#publish] <--- HTTP/1.1 200 OK (152ms)
;; ok
$ build/denominator -p dynect zone list -n denominator2.io
[Session#login] ---> POST https://api2.dynect.net/REST/Session HTTP/1.1
[Session#login] <--- HTTP/1.1 200 OK (572ms)
[DynECT#recordsInZoneByNameAndType] ---> GET https://api2.dynect.net/REST/SOARecord/denominator2.io/denominator2.io?detail=Y HTTP/1.1
[DynECT#recordsInZoneByNameAndType] <--- HTTP/1.1 200 OK (96ms)
denominator2.io          denominator2.io                      denominator-dev@googlegroups.com.    300

@codefromthecrypt
Copy link
Contributor Author

ultradns cli output

$ build/denominator -p ultradns zone list
[UltraDNS#getAccountsListOfUser] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getAccountsListOfUser] <--- HTTP/1.1 200 OK (1732ms)
[UltraDNS#getZonesOfAccount] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getZonesOfAccount] <--- HTTP/1.1 200 OK (73ms)
[UltraDNS#getResourceRecordsOfDNameByType] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getResourceRecordsOfDNameByType] <--- HTTP/1.1 200 OK (90ms)
denominator.io.          denominator.io.                      adrian\.f\.cole.gmail.com.           86400
$ build/denominator -p ultradns zone delete -i denominator.io.
;; deleting zone denominator.io.
[UltraDNS#deleteZone] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#deleteZone] <--- HTTP/1.1 200 OK (982ms)
;; ok
$ build/denominator -p ultradns zone list
[UltraDNS#getAccountsListOfUser] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getAccountsListOfUser] <--- HTTP/1.1 200 OK (600ms)
[UltraDNS#getZonesOfAccount] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getZonesOfAccount] <--- HTTP/1.1 200 OK (61ms)
$ build/denominator -p ultradns zone add -n denominator.io. -e nil@denominator.io.
;; adding zone denominator.io. with ttl 86400 and email nil@denominator.io.
[UltraDNS#getAccountsListOfUser] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getAccountsListOfUser] <--- HTTP/1.1 200 OK (983ms)
[UltraDNS#createPrimaryZone] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#createPrimaryZone] <--- HTTP/1.1 200 OK (999ms)
[UltraDNS#getResourceRecordsOfDNameByType] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getResourceRecordsOfDNameByType] <--- HTTP/1.1 200 OK (99ms)
[UltraDNS#updateResourceRecord] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#updateResourceRecord] <--- HTTP/1.1 200 OK (223ms)
denominator.io.
;; ok
$ build/denominator -p ultradns zone update -i denominator.io. -t 300 -e denominator-dev@googlegroups.com
[UltraDNS#getAccountsListOfUser] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getAccountsListOfUser] <--- HTTP/1.1 200 OK (626ms)
[UltraDNS#getZonesOfAccount] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getZonesOfAccount] <--- HTTP/1.1 200 OK (66ms)
[UltraDNS#getResourceRecordsOfDNameByType] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getResourceRecordsOfDNameByType] <--- HTTP/1.1 200 OK (76ms)
;; updating zone denominator.io. with ttl 300 and email denominator-dev@googlegroups.com
[UltraDNS#createPrimaryZone] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#createPrimaryZone] <--- HTTP/1.1 500 Server Error (75ms)
[UltraDNS#getResourceRecordsOfDNameByType] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getResourceRecordsOfDNameByType] <--- HTTP/1.1 200 OK (76ms)
[UltraDNS#updateResourceRecord] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#updateResourceRecord] <--- HTTP/1.1 200 OK (209ms)
;; ok
$ build/denominator -p ultradns zone list -n denominator.io.
[UltraDNS#getResourceRecordsOfDNameByType] ---> POST https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01 HTTP/1.1
[UltraDNS#getResourceRecordsOfDNameByType] <--- HTTP/1.1 200 OK (1731ms)
denominator.io.          denominator.io.                      denominator-dev.googlegroups.com.    300

@codefromthecrypt
Copy link
Contributor Author

and last but not least (certainly not least in response time), clouddns

$ build/denominator -p clouddns zone list
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (3863ms)
[CloudDNS#domains] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains HTTP/1.1
[CloudDNS#domains] <--- HTTP/1.1 200 OK (583ms)
[CloudDNS#recordsByNameAndType] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains/4618395/records?name=denominator.com&type=SOA HTTP/1.1
[CloudDNS#recordsByNameAndType] <--- HTTP/1.1 200 OK (219ms)
4618395                  denominator.com                      test@denominator.com                 86400
$ build/denominator -p clouddns zone delete -i 4618395
;; deleting zone 4618395
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (1203ms)
[CloudDNS#deleteDomain] ---> DELETE https://dns.api.rackspacecloud.com/v1.0/829000/domains/4618395 HTTP/1.1
[CloudDNS#deleteDomain] <--- HTTP/1.1 202 Accepted (535ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/b971f821-7d6d-448c-8880-a31f0dd2355c?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (150ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/b971f821-7d6d-448c-8880-a31f0dd2355c?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (146ms)
;; ok
$ build/denominator -p clouddns zone list
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (1170ms)
[CloudDNS#domains] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains HTTP/1.1
[CloudDNS#domains] <--- HTTP/1.1 200 OK (392ms)
$ build/denominator -p clouddns zone add -n denominator.com -e nil@denominator.com
;; adding zone denominator.com with ttl 86400 and email nil@denominator.com
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (1099ms)
[CloudDNS#createDomain] ---> POST https://dns.api.rackspacecloud.com/v1.0/829000/domains HTTP/1.1
[CloudDNS#createDomain] <--- HTTP/1.1 202 Accepted (433ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/cd8cdd51-6c63-4be7-96c3-ee7bbfb18fb4?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (94ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/cd8cdd51-6c63-4be7-96c3-ee7bbfb18fb4?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (150ms)
4618424
;; ok
$ build/denominator -p clouddns zone update -i 4618424 -t 300 -e denominator-dev@googlegroups.com
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (1068ms)
[CloudDNS#domains] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains HTTP/1.1
[CloudDNS#domains] <--- HTTP/1.1 200 OK (532ms)
[CloudDNS#recordsByNameAndType] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains/4618424/records?name=denominator.com&type=SOA HTTP/1.1
[CloudDNS#recordsByNameAndType] <--- HTTP/1.1 200 OK (297ms)
;; updating zone 4618424 with ttl 300 and email denominator-dev@googlegroups.com
[CloudDNS#updateDomain] ---> PUT https://dns.api.rackspacecloud.com/v1.0/829000/domains HTTP/1.1
[CloudDNS#updateDomain] <--- HTTP/1.1 202 Accepted (107ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/66716ea3-5388-4238-8cdb-b6607f52fbda?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (143ms)
[CloudDNS#getStatus] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/status/66716ea3-5388-4238-8cdb-b6607f52fbda?showDetails=true HTTP/1.1
[CloudDNS#getStatus] <--- HTTP/1.1 200 OK (109ms)
;; ok
$ build/denominator -p clouddns zone list -n denominator.com
[CloudIdentity#apiKeyAuth] ---> POST https://identity.api.rackspacecloud.com/v2.0/tokens HTTP/1.1
[CloudIdentity#apiKeyAuth] <--- HTTP/1.1 200 OK (1246ms)
[CloudDNS#domainsByName] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains?name=denominator.com HTTP/1.1
[CloudDNS#domainsByName] <--- HTTP/1.1 200 OK (574ms)
[CloudDNS#recordsByNameAndType] ---> GET https://dns.api.rackspacecloud.com/v1.0/829000/domains/4618424/records?name=denominator.com&type=SOA HTTP/1.1
[CloudDNS#recordsByNameAndType] <--- HTTP/1.1 200 OK (233ms)
4618424                  denominator.com                      denominator-dev@googlegroups.com     300

codefromthecrypt pushed a commit that referenced this pull request Apr 6, 2015
Adds ZoneApi.put ZoneApi.delete used by CLI zone add, update and replace
@codefromthecrypt codefromthecrypt merged commit dc8fb94 into master Apr 6, 2015
@codefromthecrypt codefromthecrypt deleted the adrian.zone-write branch April 6, 2015 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement zone add functionality
2 participants