From 3c0805def57a2dcde8f708e8d51a376b1c04b893 Mon Sep 17 00:00:00 2001 From: gbrodman Date: Wed, 24 Aug 2022 13:18:53 -0400 Subject: [PATCH] Allow usage of allocation tokens in nomulus create_domain (#1756) Useful when doing internal registrations like get.boo --- .../registry/tools/CreateDomainCommand.java | 8 +++++- .../registry/tools/soy/DomainCreate.soy | 10 ++++++- .../tools/CreateDomainCommandTest.java | 13 ++++++++++ .../tools/server/domain_create_token.xml | 26 +++++++++++++++++++ 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 core/src/test/resources/google/registry/tools/server/domain_create_token.xml diff --git a/core/src/main/java/google/registry/tools/CreateDomainCommand.java b/core/src/main/java/google/registry/tools/CreateDomainCommand.java index c83faa44a..337e04bfd 100644 --- a/core/src/main/java/google/registry/tools/CreateDomainCommand.java +++ b/core/src/main/java/google/registry/tools/CreateDomainCommand.java @@ -46,6 +46,11 @@ final class CreateDomainCommand extends CreateOrUpdateDomainCommand description = "Force the creation of premium domains.") private boolean forcePremiums; + @Parameter( + names = "--allocation_token", + description = "Allocation token to use when creating the domain(s)") + private String allocationToken; + @Inject @Named("base64StringGenerator") StringGenerator passwordGenerator; @@ -92,7 +97,8 @@ final class CreateDomainCommand extends CreateOrUpdateDomainCommand "currency", currency, "price", cost, "dsRecords", DsRecord.convertToSoy(dsRecords), - "reason", reason); + "reason", reason, + "allocationToken", allocationToken); if (requestedByRegistrar != null) { soyMapData.put("requestedByRegistrar", requestedByRegistrar.toString()); } diff --git a/core/src/main/resources/google/registry/tools/soy/DomainCreate.soy b/core/src/main/resources/google/registry/tools/soy/DomainCreate.soy index 8703c81e7..2d8462c21 100644 --- a/core/src/main/resources/google/registry/tools/soy/DomainCreate.soy +++ b/core/src/main/resources/google/registry/tools/soy/DomainCreate.soy @@ -29,6 +29,7 @@ {@param dsRecords: list<[keyTag:int, alg:int, digestType:int, digest:string]>} {@param? reason: string} {@param? requestedByRegistrar: string} + {@param? allocationToken: string} @@ -56,7 +57,7 @@ - {if length($dsRecords) > 0 or $price != null or $reason or $requestedByRegistrar} + {if length($dsRecords) > 0 or $price != null or $reason or $requestedByRegistrar or $allocationToken} {if $price != null} @@ -86,6 +87,13 @@ {/if} {/if} + {if $allocationToken} + + {$allocationToken} + + {/if} {/if} RegistryTool diff --git a/core/src/test/java/google/registry/tools/CreateDomainCommandTest.java b/core/src/test/java/google/registry/tools/CreateDomainCommandTest.java index 2e6da2f94..f3caaf242 100644 --- a/core/src/test/java/google/registry/tools/CreateDomainCommandTest.java +++ b/core/src/test/java/google/registry/tools/CreateDomainCommandTest.java @@ -179,6 +179,19 @@ class CreateDomainCommandTest extends EppToolCommandTestCase + + + + + example.tld + 1 + crr-admin + crr-admin + crr-tech + + abcdefghijklmnop + + + + + + abc123 + + + RegistryTool + +