com.amazonaws.services.s3control.internal.HandlerUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-s3control Show documentation
Show all versions of aws-java-sdk-s3control Show documentation
The AWS Java SDK for AWS S3 Control module holds the client classes that are used for communicating with AWS S3 Control Service
/*
* 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 com.amazonaws.services.s3control.internal;
import com.amazonaws.Request;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.handlers.HandlerContextKey;
import com.amazonaws.services.s3control.S3ControlClientOptions;
import com.amazonaws.util.StringUtils;
@SdkInternalApi
public final class HandlerUtils {
public static final String X_AMZ_ACCOUNT_ID = "x-amz-account-id";
public static final String S3_OUTPOSTS = "s3-outposts";
private HandlerUtils() {
}
public static boolean isDualstackEnabled(Request> request) {
return isAdvancedConfigFlagTrue(request, S3ControlClientOptions.DUALSTACK_ENABLED);
}
public static boolean isFipsEnabledInClientConfig(Request> request) {
return isAdvancedConfigFlagTrue(request, S3ControlClientOptions.FIPS_ENABLED);
}
/**
* @param request Marshalled request.
* @param key Key to check.
* @return True if advanced config is available in the context AND the specified key is present AND has the value true,
* false otherwise.
*/
public static boolean isAdvancedConfigFlagTrue(Request> request, AdvancedConfig.Key key) {
AdvancedConfig advancedConfig = request.getHandlerContext(HandlerContextKey.ADVANCED_CONFIG);
if (advancedConfig == null) {
return false;
}
Boolean flag = advancedConfig.get(key);
return Boolean.TRUE.equals(flag);
}
/**
* Returns whether a FIPS pseudo region is provided.
*/
public static boolean isFipsRegionProvided(String clientRegion, String arnRegion, boolean useArnRegion) {
if (useArnRegion) {
return isFipsRegion(arnRegion);
}
return isFipsRegion(clientRegion);
}
/**
* Returns whether a region is a FIPS pseudo region.
*/
public static boolean isFipsRegion(String regionName) {
if (StringUtils.isNullOrEmpty(regionName)) {
return false;
}
return regionName.startsWith("fips-") || regionName.endsWith("-fips");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy