Package org.jclouds.dynect.v3.features
Interface ZoneApi
-
public interface ZoneApi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Job
delete(String fqdn)
Deletes the zone.Job
deleteChanges(String fqdn)
Deletes changes to the specified zone that have been created during the current session but not yet published to the zone.Job
freeze(String fqdn)
freezes the specified zone.Zone
get(String fqdn)
Retrieves information about the specified zone.com.google.common.collect.FluentIterable<String>
list()
Lists all zone ids.Zone
publish(String fqdn)
Publishes the current zoneJob
scheduleCreate(CreatePrimaryZone createZone)
Schedules addition of a new primary zone into the current session.Job
scheduleCreateWithContact(String fqdn, String contact)
Schedules addition of a new primary zone with one hour default TTL andSerialStyle#INCREMENT
into the current session.Job
thaw(String fqdn)
thaws the specified zone.
-
-
-
Method Detail
-
list
@Named("ListZones") @GET @Path("/Zone") com.google.common.collect.FluentIterable<String> list() throws DynECTExceptions.JobStillRunningException
Lists 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.TargetExistsException
Schedules 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.TargetExistsException
Schedules addition of a new primary zone with one hour default TTL andSerialStyle#INCREMENT
into 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.JobStillRunningException
Retrieves 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.JobStillRunningException
Deletes 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.JobStillRunningException
Deletes 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, ResourceNotFoundException
Publishes 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.JobStillRunningException
freezes 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.JobStillRunningException
thaws 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
-
-