List of usage examples for com.amazonaws.services.route53.model ListResourceRecordSetsRequest ListResourceRecordSetsRequest
public ListResourceRecordSetsRequest()
From source file:com.carrotgarden.maven.aws.dns.CarrotRoute53.java
License:BSD License
public List<String> listZone(final String source) { final List<String> nameList = new LinkedList<String>(); final HostedZone zone = findZone(source); if (zone == null) { return nameList; }// w w w .jav a 2 s.c o m final ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); request.setHostedZoneId(zone.getId()); while (true) { final ListResourceRecordSetsResult result = amazonClient.listResourceRecordSets(request); final List<ResourceRecordSet> recordList = result.getResourceRecordSets(); for (final ResourceRecordSet record : recordList) { nameList.add(record.getName()); } if (!result.isTruncated()) { break; } request.setStartRecordName(result.getNextRecordName()); } return nameList; }
From source file:com.carrotgarden.maven.aws.dns.CarrotRoute53.java
License:BSD License
public ResourceRecordSet findRecord(final String zoneId, final String source) { final ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); request.setHostedZoneId(zoneId);/*from w ww.j ava 2 s .c om*/ final ListResourceRecordSetsResult result = amazonClient.listResourceRecordSets(request); final List<ResourceRecordSet> recordList = result.getResourceRecordSets(); for (final ResourceRecordSet record : recordList) { final String name = record.getName(); if (name.equals(source)) { return record; } } return null; }
From source file:com.github.blacklocus.rdsecho.utl.Route53Find.java
License:Open Source License
public Iterable<ResourceRecordSet> resourceRecordSets(final String hostedZoneId, final Predicate<ResourceRecordSet> predicate) { return new PagingIterable<ResourceRecordSet>(new Supplier<Iterable<ResourceRecordSet>>() { String nextRecordName = null; boolean isTruncated = true; @Override//from w w w .j a v a2s. co m public Iterable<ResourceRecordSet> get() { if (isTruncated) { ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest() .withHostedZoneId(hostedZoneId).withStartRecordName(nextRecordName); ListResourceRecordSetsResult result = route53.listResourceRecordSets(request); nextRecordName = result.getNextRecordName(); isTruncated = result.isTruncated(); return Iterables.filter(result.getResourceRecordSets(), predicate); } else { return Collections.emptyList(); } } }); }
From source file:com.msi.dns53.server.query.ListResourceRecordSets.java
License:Apache License
public ListResourceRecordSetsRequest unmarshall(HttpServletRequest req) { ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); SlashObject so = new SlashObject(req.getPathInfo()); List<String> paths = so.getList(); if (paths.size() != 4) { throw DNS53Faults.InternalError(); }/* w ww . j a v a2s .co m*/ String zoneId = paths.get(2); request.setHostedZoneId(zoneId); Map<String, String[]> map = req.getParameterMap(); String name = QueryUtil.getString(map, "name"); String type = QueryUtil.getString(map, "type"); String identifier = QueryUtil.getString(map, "identifier"); String maxItems = QueryUtil.getString(map, "maxitems"); request.setStartRecordName(name); request.setStartRecordType(type); request.setStartRecordIdentifier(identifier); request.setMaxItems(maxItems); return request; }
From source file:com.renatodelgaudio.awsupdate.SimpleRecordService.java
License:Open Source License
public ResourceRecordSet getCurrentRecordSet() { if (log.isDebugEnabled()) { log.debug("zoneId:" + config.getZoneId()); log.debug("recordName:" + config.getRecordName()); }// w ww . j a va 2 s . com ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); request.setHostedZoneId(config.getZoneId()); ListResourceRecordSetsResult result = config.getAmazonRoute53Client().listResourceRecordSets(request); List<ResourceRecordSet> recordSets = result.getResourceRecordSets(); for (ResourceRecordSet recordSet : recordSets) { String currName = recordSet.getName(); if (currName == null) continue; currName = currName.trim(); // AWS ends name with dot. if (currName.endsWith(".")) currName = currName.substring(0, currName.length() - 1); if (equalsIgnoreCase(config.getRecordName(), currName)) { return recordSet; } } return null; }
From source file:edu.umass.cs.aws.support.Route53.java
License:Apache License
private static void listRecordSetsForHostedZone() { ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); request.setHostedZoneId(HOSTED_ZONE_ID); ListResourceRecordSetsResult result = route53.listResourceRecordSets(request); List<ResourceRecordSet> recordSets = result.getResourceRecordSets(); for (ResourceRecordSet recordSet : recordSets) { System.out.println(recordSet.toString()); }/* www . j av a 2s . c om*/ }
From source file:fr.xebia.cloud.amazon.aws.tools.AmazonAwsUtils.java
License:Apache License
public static void deleteCnameIfExist(Iterable<String> cnames, HostedZone hostedZone, AmazonRoute53 route53) { // List all/*from w w w . j a va2 s . c om*/ ListResourceRecordSetsRequest listResourceRecordSetsRequest = new ListResourceRecordSetsRequest() // .withStartRecordType(RRType.CNAME) .withHostedZoneId(hostedZone.getId()); ListResourceRecordSetsResult listResourceRecordSetsResult = route53 .listResourceRecordSets(listResourceRecordSetsRequest); if (listResourceRecordSetsResult.isTruncated()) { logger.warn("truncated result"); } Function<ResourceRecordSet, String> cnameExtractor = new Function<ResourceRecordSet, String>() { @Override public String apply(@Nullable ResourceRecordSet resourceRecordSet) { if (resourceRecordSet == null) { return null; } if (!RRType.CNAME.equals(RRType.fromValue(resourceRecordSet.getType()))) { return null; } return resourceRecordSet.getName(); } }; Iterable<ResourceRecordSet> existingCnamesAsResourceRecordSet = Iterables .filter(listResourceRecordSetsResult.getResourceRecordSets(), new Predicate<ResourceRecordSet>() { @Override public boolean apply(@Nullable ResourceRecordSet resourceRecordSet) { return RRType.CNAME.equals(RRType.fromValue(resourceRecordSet.getType())); } }); final ImmutableMap<String, ResourceRecordSet> existingCnames = Maps .uniqueIndex(existingCnamesAsResourceRecordSet, cnameExtractor); Sets.SetView<String> cnamesToDelete = Sets.intersection(Sets.newHashSet(cnames), existingCnames.keySet()); Function<String, Change> cnameToDeleteCnameChange = new Function<String, Change>() { @Override public Change apply(@Nullable String cname) { ResourceRecordSet existingResourceRecordSet = existingCnames.get(cname); return new Change().withAction(ChangeAction.DELETE) .withResourceRecordSet(new ResourceRecordSet().withType(RRType.CNAME).withName(cname) .withTTL(existingResourceRecordSet.getTTL()) .withResourceRecords(existingResourceRecordSet.getResourceRecords())); } }; List<Change> changes = Lists.newArrayList(Iterables.transform(cnamesToDelete, cnameToDeleteCnameChange)); if (changes.isEmpty()) { logger.debug("No CNAME to delete"); return; } logger.info("Delete CNAME changes {}", changes); ChangeResourceRecordSetsRequest changeResourceRecordSetsRequest = new ChangeResourceRecordSetsRequest() .withHostedZoneId(hostedZone.getId()).withChangeBatch(new ChangeBatch().withChanges(changes)); route53.changeResourceRecordSets(changeResourceRecordSetsRequest); }
From source file:io.kodokojo.service.aws.Route53DnsManager.java
License:Open Source License
private List<ResourceRecordSet> getResourceRecordSet(HostedZone hostedZone) { ListResourceRecordSetsRequest listResourceRecordSetsRequest = new ListResourceRecordSetsRequest(); listResourceRecordSetsRequest.setHostedZoneId(getHostedZoneID(hostedZone)); ListResourceRecordSetsResult recordSetsResult = client .listResourceRecordSets(listResourceRecordSetsRequest); return recordSetsResult.getResourceRecordSets(); }
From source file:org.lendingclub.mercator.aws.Route53Scanner.java
License:Apache License
protected void projectHostedZoneResult(GetHostedZoneResult hostedZoneResult) { HostedZone hz = hostedZoneResult.getHostedZone(); ObjectNode n = toJson(hostedZoneResult); getNeoRxClient().execCypher(//from www . ja v a 2 s. c om "merge (a:AwsRoute53HostedZone {aws_id:{aws_id}}) set a+={props}, a.updateTs=timestamp() return a", "aws_id", n.get("aws_id").asText(), "props", n); ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(); request.setHostedZoneId(hz.getId()); ListResourceRecordSetsResult result; int i = 0; long timestamp = System.currentTimeMillis(); do { result = getClient().listResourceRecordSets(request); request.setStartRecordName(result.getNextRecordName()); for (ResourceRecordSet rs : result.getResourceRecordSets()) { projectResourceRecordSet(hz.getId(), rs, timestamp); } } while (result.isTruncated()); getNeoRxClient().execCypher( "match (z:AwsRoute53HostedZone {aws_id:{aws_id}})--(r:AwsRoute53RecordSet) where r.updateTs<{ts} detach delete r", "ts", timestamp, "aws_id", hz.getId()); getNeoRxClient().execCypher( "match (a:AwsRoute53RecordSet) where not (a)-[:CONTAINS]-(:AwsRoute53HostedZone) detach delete a"); }
From source file:tech.greenfield.aws.route53.Tools.java
License:Open Source License
/** * Retrieve a single record set with the specified name and type. * This method relies on {@link Response#getHostedZoneId()} which * requires setting the environment variable HOSTED_ZONE_ID * @param hostname FQDN of record set to retrieve * @param type RR type of record to retrieve * @return The record set retrieved from Route53 or an empty record set *///w w w . j av a 2 s .co m public static ResourceRecordSet getRecordSet(String hostname, String type) { if (!hostname.endsWith(".")) hostname = hostname + "."; final String domainname = hostname; ListResourceRecordSetsRequest req = new ListResourceRecordSetsRequest() .withHostedZoneId(Route53Message.getHostedZoneId()).withStartRecordName(hostname) .withStartRecordType(type).withMaxItems("1"); ListResourceRecordSetsResult res = route53().listResourceRecordSets(req); if (Route53Message.isDebug()) System.err.println("Got recordset for " + hostname + ":" + type + " - " + res); return res.getResourceRecordSets().stream().filter(rr -> rr.getName().equals(domainname)) .filter(rr -> rr.getType().equals(type)).findAny().orElse(null); }