Class S3EndpointUtils
- java.lang.Object
-
- software.amazon.awssdk.services.s3.internal.endpoints.S3EndpointUtils
-
@SdkInternalApi public final class S3EndpointUtils extends Object
Utilities for working with Amazon S3 bucket names and endpoints.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static URIaccelerateDualstackEndpoint(String domain, String protocol)static URIaccelerateEndpoint(String domain, String protocol)static voidchangeToDnsEndpoint(SdkHttpRequest.Builder mutableRequest, String bucketName)Changes from path style addressing (which the marshallers produce by default, to DNS style or virtual style addressing where the bucket name is prepended to the host.static URIdualstackEndpoint(String id, String domain, String protocol)static URIfipsDualstackEndpoint(String id, String domain, String protocol)static URIfipsEndpoint(String id, String domain, String protocol)static booleanisAccelerateEnabled(S3Configuration serviceConfiguration)static booleanisAccelerateSupported(SdkRequest originalRequest)static booleanisArn(String s)static booleanisArnRegionEnabled(S3Configuration serviceConfiguration)static booleanisDualstackEnabled(S3Configuration serviceConfiguration)static booleanisFipsRegion(String region)static booleanisPathStyleAccessEnabled(S3Configuration serviceConfiguration)static StringremoveFipsIfNeeded(String region)
-
-
-
Method Detail
-
isFipsRegion
public static boolean isFipsRegion(String region)
-
isAccelerateEnabled
public static boolean isAccelerateEnabled(S3Configuration serviceConfiguration)
- Returns:
- True if accelerate mode is enabled per
S3Configuration, false if not.
-
isAccelerateSupported
public static boolean isAccelerateSupported(SdkRequest originalRequest)
- Parameters:
originalRequest- Request object to identify the operation.- Returns:
- True if accelerate is supported for the given operation, false if not.
-
accelerateEndpoint
public static URI accelerateEndpoint(String domain, String protocol)
- Returns:
- The endpoint for an S3 accelerate enabled operation. S3 accelerate has a single global endpoint.
-
accelerateDualstackEndpoint
public static URI accelerateDualstackEndpoint(String domain, String protocol)
- Returns:
- The endpoint for an S3 accelerate enabled operation. S3 accelerate has a single global endpoint.
-
isDualstackEnabled
public static boolean isDualstackEnabled(S3Configuration serviceConfiguration)
- Returns:
- True if dualstack is enabled per
S3Configuration, false if not.
-
dualstackEndpoint
public static URI dualstackEndpoint(String id, String domain, String protocol)
- Returns:
- dual stack endpoint from given protocol and region metadata
-
fipsEndpoint
public static URI fipsEndpoint(String id, String domain, String protocol)
- Returns:
- fips endpoint from given protocol and region metadata
-
fipsDualstackEndpoint
public static URI fipsDualstackEndpoint(String id, String domain, String protocol)
- Returns:
- dual stack + fips endpoint from given protocol and region metadata
-
isPathStyleAccessEnabled
public static boolean isPathStyleAccessEnabled(S3Configuration serviceConfiguration)
- Returns:
- True if path style access is enabled per
S3Configuration, false if not.
-
isArnRegionEnabled
public static boolean isArnRegionEnabled(S3Configuration serviceConfiguration)
-
changeToDnsEndpoint
public static void changeToDnsEndpoint(SdkHttpRequest.Builder mutableRequest, String bucketName)
Changes from path style addressing (which the marshallers produce by default, to DNS style or virtual style addressing where the bucket name is prepended to the host. DNS style addressing is preferred due to the better load balancing qualities it provides, path style is an option mainly for proxy based situations and alternative S3 implementations.- Parameters:
mutableRequest- Marshalled HTTP request we are modifying.bucketName- Bucket name for this particular operation.
-
isArn
public static boolean isArn(String s)
-
-