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 forA
andCNAME
(ipv4) recordsvoid
removes a pool and all its recordsvoid
deleteRecord
(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 qualifiedinvalid reference
hostName
invalid reference
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 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 qualifiedinvalid reference
hostName
invalid reference
rrType
- Parameters:
dname
- fully qualified hostname including the trailing dot.rrType
-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 forA
andCNAME
(ipv4) records- Parameters:
name
-description
of the Geo pooldname
-dname
of the Geo pool {ex. www.jclouds.org.}rrType
-invalid reference
type
- Returns:
- the
id
of 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 theinvalid reference
UltraDNSWSApi#getRegionsByIdAndName()
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("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
id
of 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
id
of 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
- theid
of the record.
-
delete
removes a pool and all its records- Parameters:
id
- theid
-