Class HostCreateFlow

java.lang.Object
google.registry.flows.host.HostCreateFlow
All Implemented Interfaces:
Flow, MutatingFlow, TransactionalFlow

@ReportingSpec(HOST_CREATE) public final class HostCreateFlow extends Object implements MutatingFlow
An EPP flow that creates a new host.

Hosts can be "external", or "internal" (also known as "in bailiwick"). Internal hosts are those that are under a top level domain within this registry, and external hosts are all other hosts. Internal hosts must have at least one ip address associated with them, whereas external hosts cannot have any. This flow allows creating a host name, and if necessary enqueues tasks to update DNS.

Expected Error
FlowUtils.IpAddressVersionMismatchException, FlowUtils.NotLoggedInException, ResourceAlreadyExistsForThisClientException, ResourceCreateContentionException, HostFlowUtils.HostNameTooLongException, HostFlowUtils.HostNameTooShallowException, HostFlowUtils.InvalidHostNameException, HostFlowUtils.HostNameNotLowerCaseException, HostFlowUtils.HostNameNotNormalizedException, HostFlowUtils.HostNameNotPunyCodedException, HostFlowUtils.SuperordinateDomainDoesNotExistException, HostFlowUtils.SuperordinateDomainInPendingDeleteException, HostCreateFlow.SubordinateHostMustHaveIpException, HostCreateFlow.UnexpectedExternalHostIpException
  • Method Details

    • run

      public EppResponse run() throws EppException
      Description copied from interface: Flow
      Executes an EPP "flow" and returns a response object (or in the specific case of the "hello" flow a greeting object) that can be converted to XML and returned to the caller.

      Flows should have Flow.run() called once per instance. If a flow needs to be retried, a new instance should be created.

      Flows should get all of their parameters via injection off of FlowComponent.

      Specified by:
      run in interface Flow
      Throws:
      EppException