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(String hostedZoneId) 

Source Link

Document

Constructs a new ListResourceRecordSetsRequest object.

Usage

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

    /**/*w  w  w .  j  a  v  a2s .  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:org.ofbiz.tenant.amazonaws.AwsServices.java

License:Apache License

/**
 * get Amazon Rout53 resource record sets
 * @param ctx/*from  w  w w  .j a v  a2s.co  m*/
 * @param context
 * @return
 */
public static Map<String, Object> getAmazonRoute53ResourceRecordSets(DispatchContext ctx,
        Map<String, Object> context) {
    String hostedZoneId = (String) context.get("hostedZoneId");

    AmazonRoute53 route53 = AwsFactory.getAmazonRoute53();
    ListResourceRecordSetsRequest request = new ListResourceRecordSetsRequest(hostedZoneId);
    ListResourceRecordSetsResult resourceRecordsetsResult = route53.listResourceRecordSets(request);
    List<ResourceRecordSet> resourceRecordSets = resourceRecordsetsResult.getResourceRecordSets();
    Map<String, Object> results = ServiceUtil.returnSuccess();
    results.put("resourceRecordSets", resourceRecordSets);
    return results;
}