1 /*
2 * Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 package com.amazonaws;
16
17 import com.amazonaws.internal.config.HttpClientConfig;
18 import com.amazonaws.internal.config.InternalConfig;
19
20 /**
21 * An internal service name factory.
22 */
23 enum ServiceNameFactory {
24 ;
25
26 /**
27 * Returns the serviceName config for the specified service client, or null
28 * if no explicit config is found.
29 */
30 static String getServiceName(String httpClientName) {
31 InternalConfig config = InternalConfig.Factory.getInternalConfig();
32 HttpClientConfig clientConfig = config.getHttpClientConfig(httpClientName);
33 return clientConfig == null ? null : clientConfig.getServiceName();
34 }
35
36 /**
37 * Returns the regionMetadataServiceName config for the specified service
38 * client, or null if no explicit config is found.
39 */
40 static String getServiceNameInRegionMetadata(String httpClientName) {
41 InternalConfig config = InternalConfig.Factory.getInternalConfig();
42 HttpClientConfig clientConfig = config.getHttpClientConfig(httpClientName);
43 return clientConfig == null ? null : clientConfig.getRegionMetadataServiceName();
44 }
45
46 }
47