List of usage examples for com.amazonaws.services.route53.model ListResourceRecordSetsResult getResourceRecordSets
public java.util.List<ResourceRecordSet> getResourceRecordSets()
Information about multiple resource record sets.
From source file:br.com.ingenieux.mojo.beanstalk.cmd.dns.BindDomainsCommand.java
License:Apache License
protected void assignDomain(BindDomainsContext ctx, String record, String zoneId) { ChangeBatch changeBatch = new ChangeBatch(); changeBatch.setComment(format("Updated for env %s", ctx.getCurEnv().getCNAME())); /**//from ww w . j a v a 2s.c om * Look for Existing Resource Record Sets */ { ResourceRecordSet resourceRecordSet = null; ListResourceRecordSetsResult listResourceRecordSets = r53 .listResourceRecordSets(new ListResourceRecordSetsRequest(zoneId)); for (ResourceRecordSet rrs : listResourceRecordSets.getResourceRecordSets()) { if (!rrs.getName().equals(record)) { continue; } boolean matchesTypes = "A".equals(rrs.getType()) || "CNAME".equals(rrs.getType()); if (!matchesTypes) { continue; } if (isInfoEnabled()) { info("Excluding resourceRecordSet %s for domain %s", rrs, record); } changeBatch.getChanges().add(new Change(ChangeAction.DELETE, rrs)); } } /** * Then Add Ours */ ResourceRecordSet resourceRecordSet = new ResourceRecordSet(); resourceRecordSet.setName(record); resourceRecordSet.setType(RRType.A); if (ctx.singleInstance) { final String address = ctx.getCurEnv().getEndpointURL(); ResourceRecord resourceRecord = new ResourceRecord(address); resourceRecordSet.setTTL(60L); resourceRecordSet.setResourceRecords(asList(resourceRecord)); if (isInfoEnabled()) { info("Adding resourceRecordSet %s for domain %s mapped to %s", resourceRecordSet, record, address); } } else { AliasTarget aliasTarget = new AliasTarget(); aliasTarget.setHostedZoneId(ctx.getElbHostedZoneId()); aliasTarget.setDNSName(ctx.getCurEnv().getEndpointURL()); resourceRecordSet.setAliasTarget(aliasTarget); if (isInfoEnabled()) { info("Adding resourceRecordSet %s for domain %s mapped to %s", resourceRecordSet, record, aliasTarget.getDNSName()); } } changeBatch.getChanges().add(new Change(ChangeAction.CREATE, resourceRecordSet)); if (isInfoEnabled()) { info("Changes to be sent: %s", changeBatch.getChanges()); } ChangeResourceRecordSetsRequest req = new ChangeResourceRecordSetsRequest(zoneId, changeBatch); r53.changeResourceRecordSets(req); }
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; }/* www . j a v a2 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);//www .jav a2 s . c o m 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/*w ww .j a va2 s. c om*/ 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
@Override public String marshall(MarshallStruct<ListResourceRecordSetsResult> input, HttpServletResponse resp) throws Exception { ListResourceRecordSetsResult result = input.getMainObject(); XMLNode response = new XMLNode(DNS53Constants.LISTRESOURCERECORDSETSRESPONSE); response.addAttr(DNS53Constants.XMLNS, DNS53Constants.XMLNS_VALUE); if (result.getResourceRecordSets() != null) { XMLNode rrSet = QueryUtil.addNode(response, DNS53Constants.RESOURCERECORDSETS); for (ResourceRecordSet rrs : result.getResourceRecordSets()) { XMLNode rr = QueryUtil.addNode(rrSet, DNS53Constants.RESOURCERECORDSET); QueryUtil.addNode(rr, DNS53Constants.NAME, rrs.getName()); QueryUtil.addNode(rr, DNS53Constants.TYPE, rrs.getType()); QueryUtil.addNode(rr, DNS53Constants.TTL, rrs.getTTL()); if (rrs.getSetIdentifier() != null) { QueryUtil.addNode(rr, DNS53Constants.SETIDENTIFIER, rrs.getSetIdentifier()); }/* www .j a v a2 s . co m*/ if (rrs.getWeight() != null && rrs.getWeight() != -1) { QueryUtil.addNode(rr, DNS53Constants.WEIGHT, rrs.getWeight()); } if (rrs.getResourceRecords() != null && rrs.getResourceRecords().size() > 0) { XMLNode records = QueryUtil.addNode(rr, DNS53Constants.RESOURCERECORDS); for (ResourceRecord record : rrs.getResourceRecords()) { XMLNode r = QueryUtil.addNode(records, DNS53Constants.RESOURCERECORD); QueryUtil.addNode(r, DNS53Constants.VALUE, record.getValue()); } } } } QueryUtil.addNode(response, DNS53Constants.ISTRUNCATED, result.getIsTruncated()); QueryUtil.addNode(response, DNS53Constants.MAXITEMS, result.getMaxItems()); if (result.getIsTruncated() && result.getNextRecordName() != null) { QueryUtil.addNode(response, DNS53Constants.NEXTRECORDNAME, result.getNextRecordName()); } if (result.getIsTruncated() && result.getNextRecordType() != null) { QueryUtil.addNode(response, DNS53Constants.NEXTRECORDTYPE, result.getNextRecordType()); } if (result.getIsTruncated() && result.getNextRecordIdentifier() != null) { QueryUtil.addNode(response, DNS53Constants.NEXTRECORDIDENTIFIER, result.getNextRecordIdentifier()); } return response.toString(); }
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()); }//from www . j a va 2 s . co m 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()); }/* ww w .j a v a 2 s . c o m*/ }
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 av a2 s . co m 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 w w w . j ava 2 s .c o m*/ "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"); }