software.amazon.awssdk.services.route53recoveryreadiness.DefaultRoute53RecoveryReadinessClientBuilder Maven / Gradle / Ivy
/*
* Copyright Amazon.com, Inc. or its affiliates. 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. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 software.amazon.awssdk.services.route53recoveryreadiness;
import java.net.URI;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.config.AwsClientOption;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.endpoints.EndpointProvider;
import software.amazon.awssdk.services.route53recoveryreadiness.endpoints.Route53RecoveryReadinessEndpointProvider;
/**
* Internal implementation of {@link Route53RecoveryReadinessClientBuilder}.
*/
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultRoute53RecoveryReadinessClientBuilder extends
DefaultRoute53RecoveryReadinessBaseClientBuilder
implements Route53RecoveryReadinessClientBuilder {
@Override
public DefaultRoute53RecoveryReadinessClientBuilder endpointProvider(Route53RecoveryReadinessEndpointProvider endpointProvider) {
clientConfiguration.option(SdkClientOption.ENDPOINT_PROVIDER, endpointProvider);
return this;
}
@Override
protected final Route53RecoveryReadinessClient buildClient() {
SdkClientConfiguration clientConfiguration = super.syncClientConfiguration();
this.validateClientOptions(clientConfiguration);
Route53RecoveryReadinessServiceClientConfiguration serviceClientConfiguration = initializeServiceClientConfig(clientConfiguration);
Route53RecoveryReadinessClient client = new DefaultRoute53RecoveryReadinessClient(serviceClientConfiguration,
clientConfiguration);
return client;
}
private Route53RecoveryReadinessServiceClientConfiguration initializeServiceClientConfig(SdkClientConfiguration clientConfig) {
URI endpointOverride = null;
EndpointProvider endpointProvider = clientConfig.option(SdkClientOption.ENDPOINT_PROVIDER);
if (clientConfig.option(SdkClientOption.ENDPOINT_OVERRIDDEN) != null
&& Boolean.TRUE.equals(clientConfig.option(SdkClientOption.ENDPOINT_OVERRIDDEN))) {
endpointOverride = clientConfig.option(SdkClientOption.ENDPOINT);
}
return Route53RecoveryReadinessServiceClientConfiguration.builder().overrideConfiguration(overrideConfiguration())
.region(clientConfig.option(AwsClientOption.AWS_REGION)).endpointOverride(endpointOverride)
.endpointProvider(endpointProvider).build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy