Package org.jclouds.ultradns.ws.features
Interface DirectionalPoolApi
public interface DirectionalPoolApi
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaddFirstRecordInNonConfiguredGroup(String poolId, DirectionalPoolRecord toCreate) creates a resource record in the pool, creating and assigning it to the special "non configured group".addRecordIntoExistingGroup(String poolId, DirectionalPoolRecord toCreate, String groupId) creates a resource record in the pool.addRecordIntoNewGroup(String poolId, DirectionalPoolRecord toCreate, DirectionalGroup group) creates a resource record in the pool.createForDNameAndType(String name, String dname, int rrType) creates a directional pool forAandCNAME(ipv4) recordsvoidremoves a pool and all its recordsvoiddeleteRecord(String id) deletes a specific directional pool recordcom.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 qualifiedandinvalid reference
hostNameinvalid reference
rrTypevoidupdateRecord(String recordId, DirectionalPoolRecord update) updates such as ttl or rdata for an existing directional record.voidupdateRecordAndGroup(String recordId, DirectionalPoolRecord update, DirectionalGroup group) updates the geo groups of an existing directional record.
-
Method Details
-
list
@Named("getDirectionalPoolsOfZone") @POST com.google.common.collect.FluentIterable<DirectionalPool> list() throws ResourceNotFoundExceptionReturns all directional pools in the zone.- Throws:
ResourceNotFoundException- if the zone doesn't exist
-
listRecordsByDNameAndType
@Named("getDirectionalDNSRecordsForHost") @POST com.google.common.collect.FluentIterable<DirectionalPoolRecordDetail> listRecordsByDNameAndType(String dname, int rrType) throws ResourceNotFoundException Returns all the directional pool records in the zone with the fully qualifiedandinvalid reference
hostNameinvalid reference
rrType- Parameters:
dname- fully qualified hostname including the trailing dot.rrType-value of the existing records.invalid reference
type- Returns:
- empty if there are not pools for the specified host or no records exist for the type.
- Throws:
ResourceNotFoundException- if the zone doesn't exist- See Also:
-
createForDNameAndType
@Named("addDirectionalPool") @POST String createForDNameAndType(String name, String dname, int rrType) throws UltraDNSWSExceptions.ResourceAlreadyExistsException creates a directional pool forAandCNAME(ipv4) records- Parameters:
name-descriptionof the Geo pooldname-dnameof the Geo pool {ex. www.jclouds.org.}rrType-value for the records added to this pool..invalid reference
type- Returns:
- the
idof the new pool - Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException- if a pool already exists with the same attrs
-
addRecordIntoNewGroup
@Named("addDirectionalPoolRecord") @POST 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 theto obtain the regionName and territoryNames. To specify all of a region’s territories, useinvalid reference
UltraDNSWSApi#getRegionsByIdAndName()DirectionalGroup.Builder.mapRegion(String)- Returns:
- the
idof the new record - Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException- if a record already exists with the same attrs
-
addRecordIntoExistingGroup
@Named("addDirectionalPoolRecord") @POST 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 exampleDirectionalPoolRecordDetail.getGeolocationGroup()orDirectionalPoolRecordDetail.getGroup().- Returns:
- the
idof the new record - Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException- if a record already exists with the same attrs
-
addFirstRecordInNonConfiguredGroup
@Named("addDirectionalPoolRecord") @POST 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
idof the new record - Throws:
UltraDNSWSExceptions.ResourceAlreadyExistsException- if a record already exists with the same attrs
-
updateRecord
@Named("updateDirectionalPoolRecord") @POST void updateRecord(String recordId, DirectionalPoolRecord update) throws ResourceNotFoundException updates such as ttl or rdata for an existing directional record.- Parameters:
recordId- id of the record to updateupdate- the updated record.- Throws:
ResourceNotFoundException- if the record doesn't exist
-
updateRecordAndGroup
@Named("updateDirectionalPoolRecord") @POST void updateRecordAndGroup(String recordId, DirectionalPoolRecord update, DirectionalGroup group) throws ResourceNotFoundException, UltraDNSWSExceptions.DirectionalGroupOverlapException updates the geo groups of an existing directional record.- Parameters:
recordId- id of the record to updateupdate- the updated record.group- geo groups associated.- Throws:
ResourceNotFoundException- if the record doesn't existUltraDNSWSExceptions.DirectionalGroupOverlapException- if there's an overlap with another record in the pool. (ex. have the same territories)
-
deleteRecord
deletes a specific directional pool record- Parameters:
id- theidof the record.
-
delete
removes a pool and all its records- Parameters:
id- theid
-