Package org.jclouds.ultradns.ws.features
Interface DirectionalPoolApi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 forA
andCNAME
(ipv4) recordsvoid
delete(String id)
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 qualifiedhostName
andrrType
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("getDirectionalPoolsOfZone") @POST com.google.common.collect.FluentIterable<DirectionalPool> list() throws ResourceNotFoundException
Returns 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 qualifiedhostName
andrrType
- 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:
ResourceNotFoundException
- if the zone doesn't exist- See Also:
RecordType#getCode()
-
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
-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("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 theUltraDNSWSApi#getRegionsByIdAndName()
to obtain the regionName and territoryNames. To specify all of a region’s territories, useDirectionalGroup.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
@Named("deleteResourceRecord") @POST void deleteRecord(String id)
deletes a specific directional pool record- Parameters:
id
- theid
of the record.
-
-