software.amazon.awssdk.services.route53recoveryreadiness.DefaultRoute53RecoveryReadinessAsyncClientBuilder 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 Route53RecoveryReadinessAsyncClientBuilder}.
*/
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultRoute53RecoveryReadinessAsyncClientBuilder
extends
DefaultRoute53RecoveryReadinessBaseClientBuilder
implements Route53RecoveryReadinessAsyncClientBuilder {
@Override
public DefaultRoute53RecoveryReadinessAsyncClientBuilder endpointProvider(
Route53RecoveryReadinessEndpointProvider endpointProvider) {
clientConfiguration.option(SdkClientOption.ENDPOINT_PROVIDER, endpointProvider);
return this;
}
@Override
protected final Route53RecoveryReadinessAsyncClient buildClient() {
SdkClientConfiguration clientConfiguration = super.asyncClientConfiguration();
this.validateClientOptions(clientConfiguration);
Route53RecoveryReadinessServiceClientConfiguration serviceClientConfiguration = initializeServiceClientConfig(clientConfiguration);
Route53RecoveryReadinessAsyncClient client = new DefaultRoute53RecoveryReadinessAsyncClient(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