Package org.jclouds.dynect.v3.features
Interface ZoneApi
-
public interface ZoneApi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Jobdelete(String fqdn)Deletes the zone.JobdeleteChanges(String fqdn)Deletes changes to the specified zone that have been created during the current session but not yet published to the zone.Jobfreeze(String fqdn)freezes the specified zone.Zoneget(String fqdn)Retrieves information about the specified zone.com.google.common.collect.FluentIterable<String>list()Lists all zone ids.Zonepublish(String fqdn)Publishes the current zoneJobscheduleCreate(CreatePrimaryZone createZone)Schedules addition of a new primary zone into the current session.JobscheduleCreateWithContact(String fqdn, String contact)Schedules addition of a new primary zone with one hour default TTL andSerialStyle#INCREMENTinto the current session.Jobthaw(String fqdn)thaws the specified zone.
-
-
-
Method Detail
-
list
@Named("ListZones") @GET @Path("/Zone") com.google.common.collect.FluentIterable<String> list() throws DynECTExceptions.JobStillRunningExceptionLists all zone ids.- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
scheduleCreate
@Named("CreatePrimaryZone") @POST @Path("/Zone/{fqdn}") @Consumes("application/json") Job scheduleCreate(@PathParam("fqdn") CreatePrimaryZone createZone) throws DynECTExceptions.JobStillRunningException, DynECTExceptions.TargetExistsExceptionSchedules addition of a new primary zone into the current session. Callingpublish(String)will publish the zone, creating the zone.- Parameters:
zone- required parameters to create the zone.- Returns:
- job relating to the scheduled creation.
- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still runningDynECTExceptions.TargetExistsException- if the same fqdn exists
-
scheduleCreateWithContact
@Named("CreatePrimaryZone") @POST @Produces("application/json") @Path("/Zone/{fqdn}") @Consumes("application/json") Job scheduleCreateWithContact(@PathParam("fqdn") String fqdn, String contact) throws DynECTExceptions.JobStillRunningException, DynECTExceptions.TargetExistsExceptionSchedules addition of a new primary zone with one hour default TTL andSerialStyle#INCREMENTinto the current session. Callingpublish(String)will publish the zone, creating the zone.- Parameters:
fqdn- fqdn of the zone to createcontact- email address of the contact- Returns:
- job relating to the scheduled creation.
- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still runningDynECTExceptions.TargetExistsException- if the same fqdn exists
-
get
@Named("GetZone") @GET @Path("/Zone/{fqdn}") @Nullable Zone get(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningExceptionRetrieves information about the specified zone.- Parameters:
fqdn- fqdn of the zone to get information about. exjclouds.org- Returns:
- null if not found
- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
delete
@Named("DeleteZone") @DELETE @Path("/Zone/{fqdn}") @Consumes("application/json") @Nullable Job delete(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningExceptionDeletes the zone. No need to call @link ZoneApi#publish(String)}.- Parameters:
fqdn- zone to delete- Returns:
- job relating to the scheduled deletion or null, if the zone never existed.
- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
deleteChanges
@Named("DeleteZoneChanges") @DELETE @Path("/ZoneChanges/{fqdn}") @Consumes("application/json") Job deleteChanges(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningExceptionDeletes changes to the specified zone that have been created during the current session but not yet published to the zone.- Parameters:
fqdn- fqdn of the zone to delete changes from exjclouds.org- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
publish
@Named("PublishZone") @PUT @Path("/Zone/{fqdn}") @Produces("application/json") Zone publish(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningException, ResourceNotFoundExceptionPublishes the current zone- Parameters:
fqdn- fqdn of the zone to publish. exjclouds.org- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still runningResourceNotFoundException- if the zone doesn't exist
-
freeze
@Named("FreezeZone") @PUT @Path("/Zone/{fqdn}") @Produces("application/json") @Consumes("application/json") Job freeze(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningExceptionfreezes the specified zone.- Parameters:
fqdn- fqdn of the zone to freeze exjclouds.org- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
thaw
@Named("ThawZone") @PUT @Path("/Zone/{fqdn}") @Produces("application/json") @Consumes("application/json") Job thaw(@PathParam("fqdn") String fqdn) throws DynECTExceptions.JobStillRunningExceptionthaws the specified zone.- Parameters:
fqdn- fqdn of the zone to thaw exjclouds.org- Throws:
DynECTExceptions.JobStillRunningException- if a different job in the session is still running
-
-