Example usage for com.amazonaws.services.route53.model ListResourceRecordSetsRequest ListResourceRecordSetsRequest

List of usage examples for com.amazonaws.services.route53.model ListResourceRecordSetsRequest ListResourceRecordSetsRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.route53.model ListResourceRecordSetsRequest ListResourceRecordSetsRequest.

Prototype

public ListResourceRecordSetsRequest() 

Source Link

Document

Default constructor for ListResourceRecordSetsRequest object.

Usage

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);
}