mirror of
https://github.com/google/nomulus.git
synced 2025-05-01 12:37:52 +02:00
It was failing to send alert emails because the email address it was constructing did not have permission through GAE to send emails. This switches it over to using the send from email address already in use elsewhere in the app that does successfully send emails. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=219812019
183 lines
5.7 KiB
Java
183 lines
5.7 KiB
Java
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package google.registry.config;
|
|
|
|
import java.util.List;
|
|
|
|
/** The POJO that YAML config files are deserialized into. */
|
|
public class RegistryConfigSettings {
|
|
|
|
public AppEngine appEngine;
|
|
public GSuite gSuite;
|
|
public OAuth oAuth;
|
|
public CredentialOAuth credentialOAuth;
|
|
public RegistryPolicy registryPolicy;
|
|
public Datastore datastore;
|
|
public CloudDns cloudDns;
|
|
public Caching caching;
|
|
public IcannReporting icannReporting;
|
|
public Billing billing;
|
|
public Rde rde;
|
|
public RegistrarConsole registrarConsole;
|
|
public Monitoring monitoring;
|
|
public Misc misc;
|
|
public Beam beam;
|
|
public Keyring keyring;
|
|
public RegistryTool registryTool;
|
|
|
|
/** Configuration options that apply to the entire App Engine project. */
|
|
public static class AppEngine {
|
|
public String projectId;
|
|
public boolean isLocal;
|
|
public String defaultServiceUrl;
|
|
public String backendServiceUrl;
|
|
public String toolsServiceUrl;
|
|
public String pubapiServiceUrl;
|
|
}
|
|
|
|
/** Configuration options for OAuth settings for authenticating users. */
|
|
public static class OAuth {
|
|
public List<String> availableOauthScopes;
|
|
public List<String> requiredOauthScopes;
|
|
public List<String> allowedOauthClientIds;
|
|
}
|
|
|
|
/** Configuration options for accessing Google APIs. */
|
|
public static class CredentialOAuth {
|
|
public List<String> defaultCredentialOauthScopes;
|
|
public List<String> delegatedCredentialOauthScopes;
|
|
}
|
|
|
|
/** Configuration options for the G Suite account used by Nomulus. */
|
|
public static class GSuite {
|
|
public String domainName;
|
|
public String outgoingEmailAddress;
|
|
public String outgoingEmailDisplayName;
|
|
public String adminAccountEmailAddress;
|
|
}
|
|
|
|
/** Configuration options for registry policy. */
|
|
public static class RegistryPolicy {
|
|
public String contactAndHostRoidSuffix;
|
|
public String productName;
|
|
public String customLogicFactoryClass;
|
|
public String whoisCommandFactoryClass;
|
|
public String allocationTokenCustomLogicClass;
|
|
public int contactAutomaticTransferDays;
|
|
public String greetingServerId;
|
|
public List<String> registrarChangesNotificationEmailAddresses;
|
|
public String defaultRegistrarWhoisServer;
|
|
public String tmchCaMode;
|
|
public String tmchCrlUrl;
|
|
public String tmchMarksDbUrl;
|
|
public String checkApiServletClientId;
|
|
public String registryAdminClientId;
|
|
public String premiumTermsExportDisclaimer;
|
|
public String reservedTermsExportDisclaimer;
|
|
public String whoisDisclaimer;
|
|
public String rdapTos;
|
|
public String rdapTosStaticUrl;
|
|
public String spec11EmailBodyTemplate;
|
|
}
|
|
|
|
/** Configuration for Cloud Datastore. */
|
|
public static class Datastore {
|
|
public int commitLogBucketsNum;
|
|
public int eppResourceIndexBucketsNum;
|
|
public int baseOfyRetryMillis;
|
|
}
|
|
|
|
/** Configuration for Apache Beam (Cloud Dataflow). */
|
|
public static class Beam {
|
|
public String defaultJobZone;
|
|
}
|
|
|
|
/** Configuration for Cloud DNS. */
|
|
public static class CloudDns {
|
|
public String rootUrl;
|
|
public String servicePath;
|
|
}
|
|
|
|
/** Configuration for caching. */
|
|
public static class Caching {
|
|
public int singletonCacheRefreshSeconds;
|
|
public int domainLabelCachingSeconds;
|
|
public int singletonCachePersistSeconds;
|
|
public int staticPremiumListMaxCachedEntries;
|
|
public boolean eppResourceCachingEnabled;
|
|
public int eppResourceCachingSeconds;
|
|
public int eppResourceMaxCachedEntries;
|
|
}
|
|
|
|
/** Configuration for ICANN monthly reporting. */
|
|
public static class IcannReporting {
|
|
public String icannTransactionsReportingUploadUrl;
|
|
public String icannActivityReportingUploadUrl;
|
|
}
|
|
|
|
/** Configuration for monthly invoices. */
|
|
public static class Billing {
|
|
public List<String> invoiceEmailRecipients;
|
|
}
|
|
|
|
/** Configuration for Registry Data Escrow (RDE). */
|
|
public static class Rde {
|
|
public String reportUrlPrefix;
|
|
public String uploadUrl;
|
|
public String sshIdentityEmailAddress;
|
|
}
|
|
|
|
/** Configuration for the web-based registrar console. */
|
|
public static class RegistrarConsole {
|
|
public String logoFilename;
|
|
public String supportPhoneNumber;
|
|
public String supportEmailAddress;
|
|
public String announcementsEmailAddress;
|
|
public String integrationEmailAddress;
|
|
public String technicalDocsUrl;
|
|
}
|
|
|
|
/** Configuration for monitoring. */
|
|
public static class Monitoring {
|
|
public int stackdriverMaxQps;
|
|
public int stackdriverMaxPointsPerRequest;
|
|
public int writeIntervalSeconds;
|
|
}
|
|
|
|
/** Miscellaneous configuration that doesn't quite fit in anywhere else. */
|
|
public static class Misc {
|
|
public String sheetExportId;
|
|
public String alertRecipientEmailAddress;
|
|
public String spec11ReplyToEmailAddress;
|
|
public int asyncDeleteDelaySeconds;
|
|
}
|
|
|
|
/** Configuration for keyrings (used to store secrets outside of source). */
|
|
public static class Keyring {
|
|
public String activeKeyring;
|
|
public Kms kms;
|
|
}
|
|
|
|
/** Configuration for Cloud KMS. */
|
|
public static class Kms {
|
|
public String keyringName;
|
|
public String projectId;
|
|
}
|
|
|
|
/** Configuration options for the registry tool. */
|
|
public static class RegistryTool {
|
|
public String clientSecretFilename;
|
|
}
|
|
}
|