vinyldns / vinyldns-java Goto Github PK
View Code? Open in Web Editor NEWJava client for VinylDNS
License: Apache License 2.0
Java client for VinylDNS
License: Apache License 2.0
https://www.vinyldns.io/api/batchchange-model.html
create/get batch change has already been added (see https://github.com/vinyldns/vinyldns-java/tree/master/src/main/java/io/vinyldns/java/model/batch). We need to add some tests in https://github.com/vinyldns/vinyldns-java/blob/master/src/test/java/io/vinyldns/java/VinylDNSClientTest.java to create a basic batch change (make a batchChange with just one singleChange within it), get the batch change back and validate the fields.
In support of the new shared zones feature coming to VinylDNS we need to add the optional ownerGroupId
field to the BatchRecordChanges create method. Refer to the VinylDNS documentation for more information.
API doc: https://www.vinyldns.io/api/create-batchchange.html
{
"comments": "this is optional",
"ownerGroupId": "f42385e4-5675-38c0-b42f-64105e743bfe"
"changes": [
{
"inputName": "example.com.",
"changeType": "Add",
"type": "A",
"ttl": 3600,
"record": {
"address": "1.1.1.1"
}
},
{
"inputName": "192.0.2.195",
"changeType": "Add",
"type": "PTR",
"ttl": 3600,
"record": {
"ptrdname": "ptrdata.data."
}
},
{
"inputName": "cname.example.com.",
"changeType": "DeleteRecordSet",
"type": "CNAME"
},
{
"inputName": "update.another.example.com.",
"changeType": "DeleteRecordSet",
"type": "AAAA"
},
{
"inputName": "update.another.example.com.",
"changeType": "Add",
"type": "AAAA",
"ttl": 4000,
"record": {
"address": "1:2:3:4:5:6:7:8"
}
}
]
}
Recently got our sonatype / maven central setup complete. We can only publish under the io.vinyldns
groupId.
Change the pom to this.
https://www.vinyldns.io/api/create-zone.html
Note: Zone
model will need to be updated to include an isTest
flag.
Batch changes allow users to submit multiple changes across zones.
The API documentation can be found here - https://www.vinyldns.io/api/batchchange-model.html
We use the parent VinylDNSResponse toString which does not include message body
In support of the new shared zones feature coming to VinylDNS we need to add the optional ownerGroupId field to the RecordSet update method.
{
"id": "dd9c1120-0594-4e61-982e-8ddcbc8b2d21",
"name": "already-exists",
"type": "A",
"ttl": 38400,
"records": [
{
"address": "6.5.4.3"
}
],
"zoneId": "2467dc05-68eb-4498-a9d5-78d24bb0893c",
"ownerGroupId": "f42385e4-5675-38c0-b42f-64105e743bfe"
}
See #45 for more info. Create blocks update as they both share the RecordSetBase changes
The field in the model is named typ, it must be type or else will not serialize correctly. So currently the client does not know record types of delete requests
https://www.vinyldns.io/api/update-group.html
I'd recommend looking at the PRs #42 (getGroup) and #38 (createGroup). Update group is very similar to create group, so should require a similar update.
Please also add an update group test:
According to this report, there are two vulnerable dependencies and several outdated once.
Also, the library has compile dependencies on Maven Plug-in API. There is zero evidence that any on the Java code uses Maven code:
https://github.com/search?q=repo%3Avinyldns%2Fvinyldns-java+%28maven+OR+plexus%29&type=code
It should be removed because it brings unnecessary transitive dependencies into any runtime use of the library.
It seems to have been brought in with the very first commit:
7f38e12
We use Travis CI for building and testing our main repo and tools.
Currently, there is nothing that explicitly allows null
for create+update record set. It is possible for owned zones for the ownerGroupId to be omitted.
Update the different models to allow for null
for ownerGroupId
The VinylDNS API has been updated to include a new global recordset search endpoint at /recordsets
. This client should be updated to support this new endpoint.
In support of the new shared zones feature coming to VinylDNS we need to add the optional ownerGroupId
field to the RecordSet create method.
{
"name": "foo",
"type": "A",
"ttl": 300,
"records": [
{
"address": "10.10.10.10"
}
],
"zoneId": "2467dc05-68eb-4498-a9d5-78d24bb0893c",
"ownerGroupId": "f42385e4-5675-38c0-b42f-64105e743bfe"
}
See api docs at https://www.vinyldns.io/api/create-recordset.html
backendId
was recently added to the Zone
model (with support for create and update; https://github.com/vinyldns/vinyldns/blob/master/modules/core/src/main/scala/vinyldns/core/domain/zone/Zone.scala#L91).
The vinyldns-java client should be updated to support this.
Our delete change input for batch does not let you set record type, this makes it unusable
vinyldns-java
appears to use a mix of 2 and 4 space indentation. Is it reasonable to standardize the indentation?
Setup required for release to Sonatype
Provide a way to load a client from environment variables using no arguments in VinylDNSClientImpl
. The environment variable naming should maintain consistency with our other clients:
VINYLDNS_API_URL
VINYLDNS_ACCESS_KEY_ID
VINYLDNS_SECRET_ACCESS_KEY
Note: A combination of EnvironmentVariableCredentialsProvider
for AWS credentials and System.env
can be used to implement this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.