Class DomainCreateFlow

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

@ReportingSpec(DOMAIN_CREATE) public final class DomainCreateFlow extends Object implements MutatingFlow
An EPP flow that creates a new domain resource.
Expected Error
AllocationTokenFlowUtils.AllocationTokenNotInPromotionException, AllocationTokenFlowUtils.AllocationTokenNotValidForDomainException, AllocationTokenFlowUtils.AllocationTokenNotValidForRegistrarException, AllocationTokenFlowUtils.AllocationTokenNotValidForTldException, AllocationTokenFlowUtils.AlreadyRedeemedAllocationTokenException, AllocationTokenFlowUtils.InvalidAllocationTokenException, OnlyToolCanPassMetadataException, ResourceAlreadyExistsForThisClientException, ResourceCreateContentionException, EppException.UnimplementedExtensionException, ExtensionManager.UndeclaredServiceExtensionException, FlowUtils.NotLoggedInException, FlowUtils.UnknownCurrencyEppException, DomainCreateFlow.AnchorTenantCreatePeriodException, DomainCreateFlow.MustHaveSignedMarksInCurrentPhaseException, DomainCreateFlow.NoGeneralRegistrationsInCurrentPhaseException, DomainCreateFlow.NoTrademarkedRegistrationsBeforeSunriseException, DomainCreateFlow.BulkDomainRegisteredForTooManyYearsException, DomainCreateFlow.SignedMarksOnlyDuringSunriseException, DomainFlowTmchUtils.NoMarksFoundMatchingDomainException, DomainFlowTmchUtils.FoundMarkNotYetValidException, DomainFlowTmchUtils.FoundMarkExpiredException, DomainFlowTmchUtils.SignedMarkRevokedErrorException, DomainFlowUtils.NotAuthorizedForTldException, DomainFlowUtils.AcceptedTooLongAgoException, DomainFlowUtils.BadDomainNameCharacterException, DomainFlowUtils.BadDomainNamePartsCountException, DomainFlowUtils.DomainNameExistsAsTldException, DomainFlowUtils.BadPeriodUnitException, DomainFlowUtils.ClaimsPeriodEndedException, DomainFlowUtils.CurrencyUnitMismatchException, DomainFlowUtils.CurrencyValueScaleException, DomainFlowUtils.DashesInThirdAndFourthException, DomainFlowUtils.DomainLabelBlockedByBsaException, DomainFlowUtils.DomainLabelTooLongException, DomainFlowUtils.DomainReservedException, DomainFlowUtils.DuplicateContactForRoleException, DomainFlowUtils.EmptyDomainNamePartException, DomainFlowUtils.ExceedsMaxRegistrationYearsException, DomainFlowUtils.ExpiredClaimException, DomainFlowUtils.FeeDescriptionMultipleMatchesException, DomainFlowUtils.FeeDescriptionParseException, DomainFlowUtils.FeesMismatchException, DomainFlowUtils.FeesRequiredDuringEarlyAccessProgramException, DomainFlowUtils.FeesRequiredForPremiumNameException, DomainFlowUtils.InvalidDsRecordException, DomainFlowUtils.InvalidIdnDomainLabelException, DomainFlowUtils.InvalidPunycodeException, DomainFlowUtils.InvalidTcnIdChecksumException, DomainFlowUtils.InvalidTrademarkValidatorException, DomainFlowUtils.LeadingDashException, DomainFlowUtils.LinkedResourcesDoNotExistException, DomainFlowUtils.LinkedResourceInPendingDeleteProhibitsOperationException, DomainFlowUtils.MalformedTcnIdException, DomainFlowUtils.MaxSigLifeNotSupportedException, DomainFlowUtils.MissingAdminContactException, DomainFlowUtils.MissingBillingAccountMapException, DomainFlowUtils.MissingClaimsNoticeException, DomainFlowUtils.MissingContactTypeException, DomainFlowUtils.MissingRegistrantException, DomainFlowUtils.MissingTechnicalContactException, DomainFlowUtils.NameserversNotAllowedForTldException, DomainFlowUtils.NameserversNotSpecifiedForTldWithNameserverAllowListException, DomainFlowUtils.PremiumNameBlockedException, DomainFlowUtils.RegistrantNotAllowedException, DomainFlowUtils.RegistrarMustBeActiveForThisOperationException, DomainFlowUtils.TldDoesNotExistException, DomainFlowUtils.TooManyDsRecordsException, DomainFlowUtils.TooManyNameserversException, DomainFlowUtils.TrailingDashException, DomainFlowUtils.UnexpectedClaimsNoticeException, DomainFlowUtils.UnsupportedFeeAttributeException, DomainFlowUtils.UnsupportedMarkTypeException, DomainPricingLogic.AllocationTokenInvalidForPremiumNameException
  • 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