@@ -122,6 +122,14 @@ export interface GoogleAuthOptions<T extends AuthClient = JSONClient> {
122122 * Your project ID.
123123 */
124124 projectId ?: string ;
125+
126+ /**
127+ * The default service domain for a given Cloud universe.
128+ *
129+ * This is an ergonomic equivalent to {@link clientOptions}'s `universeDomain`
130+ * property and will be set for all generated {@link AuthClient}s.
131+ */
132+ universeDomain ?: string ;
125133}
126134
127135export const CLOUD_SDK_CLIENT_ID =
@@ -175,7 +183,7 @@ export class GoogleAuth<T extends AuthClient = JSONClient> {
175183 defaultScopes ?: string | string [ ] ;
176184 private keyFilename ?: string ;
177185 private scopes ?: string | string [ ] ;
178- private clientOptions ? : AuthClientOptions ;
186+ private clientOptions : AuthClientOptions = { } ;
179187
180188 /**
181189 * The cached universe domain.
@@ -208,7 +216,12 @@ export class GoogleAuth<T extends AuthClient = JSONClient> {
208216 this . keyFilename = opts . keyFilename || opts . keyFile ;
209217 this . scopes = opts . scopes ;
210218 this . jsonContent = opts . credentials || null ;
211- this . clientOptions = opts . clientOptions ;
219+ this . clientOptions = opts . clientOptions || { } ;
220+
221+ if ( opts . universeDomain ) {
222+ this . clientOptions . universeDomain = opts . universeDomain ;
223+ this . #universeDomain = opts . universeDomain ;
224+ }
212225 }
213226
214227 // GAPIC client libraries should always use self-signed JWTs. The following
0 commit comments