org.jclouds.ultradns.ws.features
Interface DirectionalPoolApi


public interface DirectionalPoolApi

See Also:
,

Method Summary
 String addFirstRecordInNonConfiguredGroup(String poolId, DirectionalPoolRecord toCreate)
          creates a resource record in the pool, creating and assigning it to the special "non configured group".
 String addRecordIntoExistingGroup(String poolId, DirectionalPoolRecord toCreate, String groupId)
          creates a resource record in the pool.
 String addRecordIntoNewGroup(String poolId, DirectionalPoolRecord toCreate, DirectionalGroup group)
          creates a resource record in the pool.
 String createForDNameAndType(String name, String dname, int rrType)
          creates a directional pool for A and CNAME (ipv4) records
 void delete(String id)
          removes a pool and all its records
 void deleteRecord(String id)
          deletes a specific directional pool record
 com.google.common.collect.FluentIterable<DirectionalPool> list()
          Returns all directional pools in the zone.
 com.google.common.collect.FluentIterable<DirectionalPoolRecordDetail> listRecordsByDNameAndType(String dname, int rrType)
          Returns all the directional pool records in the zone with the fully qualified hostName and rrType
 void updateRecord(String recordId, DirectionalPoolRecord update)
          updates such as ttl or rdata for an existing directional record.
 void updateRecordAndGroup(String recordId, DirectionalPoolRecord update, DirectionalGroup group)
          updates the geo groups of an existing directional record.
 

Method Detail

list

@Named(value="getDirectionalPoolsOfZone")
com.google.common.collect.FluentIterable<DirectionalPool> list()
                                                               throws org.jclouds.rest.ResourceNotFoundException
Returns all directional pools in the zone.

Throws:
org.jclouds.rest.ResourceNotFoundException - if the zone doesn't exist

listRecordsByDNameAndType

@Named(value="getDirectionalDNSRecordsForHost")
com.google.common.collect.FluentIterable<DirectionalPoolRecordDetail> listRecordsByDNameAndType(String dname,
                                                                                                      int rrType)
                                                                                                throws org.jclouds.rest.ResourceNotFoundException
Returns all the directional pool records in the zone with the fully qualified hostName and rrType

Parameters:
dname - fully qualified hostname including the trailing dot.
rrType - type value of the existing records.
Returns:
empty if there are not pools for the specified host or no records exist for the type.
Throws:
org.jclouds.rest.ResourceNotFoundException - if the zone doesn't exist
See Also:
RecordType#getCode()

createForDNameAndType

@Named(value="addDirectionalPool")
String createForDNameAndType(String name,
                                   String dname,
                                   int rrType)
                             throws UltraDNSWSExceptions.ResourceAlreadyExistsException
creates a directional pool for A and CNAME (ipv4) records

Parameters:
name - description of the Geo pool
dname - dname of the Geo pool {ex. www.jclouds.org.}
rrType - type value for the records added to this pool..
Returns:
the id of the new pool
Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException - if a pool already exists with the same attrs

addRecordIntoNewGroup

@Named(value="addDirectionalPoolRecord")
String addRecordIntoNewGroup(String poolId,
                                   DirectionalPoolRecord toCreate,
                                   DirectionalGroup group)
                             throws UltraDNSWSExceptions.ResourceAlreadyExistsException
creates a resource record in the pool.

Parameters:
poolId - pool to create the record in.
toCreate - the new record to create.
group - geo groups associated. Use the UltraDNSWSApi#getRegionsByIdAndName() to obtain the regionName and territoryNames. To specify all of a region’s territories, use DirectionalGroup.Builder#mapRegion(String)
Returns:
the id of the new record
Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException - if a record already exists with the same attrs

addRecordIntoExistingGroup

@Named(value="addDirectionalPoolRecord")
String addRecordIntoExistingGroup(String poolId,
                                        DirectionalPoolRecord toCreate,
                                        String groupId)
                                  throws UltraDNSWSExceptions.ResourceAlreadyExistsException
creates a resource record in the pool.

Parameters:
poolId - pool to create the record in.
toCreate - the new record to create.
groupId - existing group from another record of the same dname and type. For example DirectionalPoolRecordDetail.getGeolocationGroup() or DirectionalPoolRecordDetail.getGroup().
Returns:
the id of the new record
Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException - if a record already exists with the same attrs

addFirstRecordInNonConfiguredGroup

@Named(value="addDirectionalPoolRecord")
String addFirstRecordInNonConfiguredGroup(String poolId,
                                                DirectionalPoolRecord toCreate)
                                          throws UltraDNSWSExceptions.ResourceAlreadyExistsException
creates a resource record in the pool, creating and assigning it to the special "non configured group".

Parameters:
poolId - pool to create the record in.
toCreate - the new record to create.
Returns:
the id of the new record
Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException - if a record already exists with the same attrs

updateRecord

@Named(value="updateDirectionalPoolRecord")
void updateRecord(String recordId,
                        DirectionalPoolRecord update)
                  throws org.jclouds.rest.ResourceNotFoundException
updates such as ttl or rdata for an existing directional record.

Parameters:
recordId - id of the record to update
update - the updated record.
Throws:
org.jclouds.rest.ResourceNotFoundException - if the record doesn't exist

updateRecordAndGroup

@Named(value="updateDirectionalPoolRecord")
void updateRecordAndGroup(String recordId,
                                DirectionalPoolRecord update,
                                DirectionalGroup group)
                          throws org.jclouds.rest.ResourceNotFoundException,
                                 UltraDNSWSExceptions.DirectionalGroupOverlapException
updates the geo groups of an existing directional record.

Parameters:
recordId - id of the record to update
update - the updated record.
group - geo groups associated.
Throws:
org.jclouds.rest.ResourceNotFoundException - if the record doesn't exist
UltraDNSWSExceptions.DirectionalGroupOverlapException - if there's an overlap with another record in the pool. (ex. have the same territories)

deleteRecord

@Named(value="deleteResourceRecord")
void deleteRecord(String id)
deletes a specific directional pool record

Parameters:
id - the id of the record.

delete

@Named(value="deleteDirectionalPool")
void delete(String id)
removes a pool and all its records

Parameters:
id - the id


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.