Class DomainUpdateFlow

java.lang.Object
google.registry.flows.domain.DomainUpdateFlow
All Implemented Interfaces:
Flow, MutatingFlow, TransactionalFlow

@ReportingSpec(DOMAIN_UPDATE) public final class DomainUpdateFlow extends Object implements MutatingFlow
An EPP flow that updates a domain.

Updates can change contacts, nameservers and delegation signer data of a domain. Updates cannot change the domain's name.

Some status values (those of the form "serverSomethingProhibited") can only be applied by the superuser. As such, adding or removing these statuses incurs a billing event. There will be only one charge per update, even if several such statuses are updated at once.

Expected Error
EppException.UnimplementedExtensionException, FlowUtils.NotLoggedInException, ResourceFlowUtils.AddRemoveSameValueException, ResourceFlowUtils.ResourceDoesNotExistException, ResourceFlowUtils.ResourceNotOwnedException, ResourceFlowUtils.StatusNotClientSettableException, OnlyToolCanPassMetadataException, ResourceHasClientUpdateProhibitedException, ResourceStatusProhibitsOperationException, DomainFlowUtils.DuplicateContactForRoleException, DomainFlowUtils.EmptySecDnsUpdateException, DomainFlowUtils.FeesMismatchException, DomainFlowUtils.FeesRequiredForNonFreeOperationException, DomainFlowUtils.InvalidDsRecordException, DomainFlowUtils.LinkedResourcesDoNotExistException, DomainFlowUtils.LinkedResourceInPendingDeleteProhibitsOperationException, DomainFlowUtils.MaxSigLifeChangeNotSupportedException, DomainFlowUtils.MissingAdminContactException, DomainFlowUtils.MissingContactTypeException, DomainFlowUtils.MissingTechnicalContactException, DomainFlowUtils.MissingRegistrantException, DomainFlowUtils.NameserversNotAllowedForTldException, DomainFlowUtils.NameserversNotSpecifiedForTldWithNameserverAllowListException, DomainFlowUtils.NotAuthorizedForTldException, DomainFlowUtils.RegistrantNotAllowedException, DomainFlowUtils.SecDnsAllUsageException, DomainFlowUtils.TooManyDsRecordsException, DomainFlowUtils.TooManyNameserversException, DomainFlowUtils.UrgentAttributeNotSupportedException
  • 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