1
15
16 package software.amazon.awssdk.core.client.config;
17
18 import java.net.URI;
19 import java.time.Duration;
20 import java.util.List;
21 import java.util.Map;
22 import java.util.concurrent.ScheduledExecutorService;
23 import software.amazon.awssdk.annotations.SdkProtectedApi;
24 import software.amazon.awssdk.core.ClientType;
25 import software.amazon.awssdk.core.ServiceConfiguration;
26 import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
27 import software.amazon.awssdk.core.retry.RetryPolicy;
28 import software.amazon.awssdk.http.SdkHttpClient;
29 import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
30 import software.amazon.awssdk.profiles.ProfileFile;
31
32
35 @SdkProtectedApi
36 public final class SdkClientOption<T> extends ClientOption<T> {
37
40 public static final SdkClientOption<Map<String, List<String>>> ADDITIONAL_HTTP_HEADERS =
41 new SdkClientOption<>(new UnsafeValueType(Map.class));
42
43
46 public static final SdkClientOption<RetryPolicy> RETRY_POLICY = new SdkClientOption<>(RetryPolicy.class);
47
48
51 public static final SdkClientOption<List<ExecutionInterceptor>> EXECUTION_INTERCEPTORS =
52 new SdkClientOption<>(new UnsafeValueType(List.class));
53
54
58 public static final SdkClientOption<URI> ENDPOINT = new SdkClientOption<>(URI.class);
59
60
64 public static final SdkClientOption<Boolean> ENDPOINT_OVERRIDDEN = new SdkClientOption<>(Boolean.class);
65
66
69 public static final SdkClientOption<ServiceConfiguration> SERVICE_CONFIGURATION =
70 new SdkClientOption<>(ServiceConfiguration.class);
71
72
75 public static final SdkClientOption<Boolean> CRC32_FROM_COMPRESSED_DATA_ENABLED =
76 new SdkClientOption<>(Boolean.class);
77
78
82 public static final SdkClientOption<ScheduledExecutorService> SCHEDULED_EXECUTOR_SERVICE =
83 new SdkClientOption<>(ScheduledExecutorService.class);
84
85
88 public static final SdkClientOption<SdkAsyncHttpClient> ASYNC_HTTP_CLIENT =
89 new SdkClientOption<>(SdkAsyncHttpClient.class);
90
91
94 public static final SdkClientOption<SdkHttpClient> SYNC_HTTP_CLIENT =
95 new SdkClientOption<>(SdkHttpClient.class);
96
97
100 public static final SdkClientOption<ClientType> CLIENT_TYPE = new SdkClientOption<>(ClientType.class);
101
102
105 public static final SdkClientOption<Duration> API_CALL_ATTEMPT_TIMEOUT = new SdkClientOption<>(Duration.class);
106
107
110 public static final SdkClientOption<Duration> API_CALL_TIMEOUT = new SdkClientOption<>(Duration.class);
111
112
115 public static final SdkClientOption<String> SERVICE_NAME = new SdkClientOption<>(String.class);
116
117
120 public static final SdkClientOption<Boolean> ENDPOINT_DISCOVERY_ENABLED = new SdkClientOption<>(Boolean.class);
121
122
125 public static final SdkClientOption<ProfileFile> PROFILE_FILE = new SdkClientOption<>(ProfileFile.class);
126
127
130 public static final SdkClientOption<String> PROFILE_NAME = new SdkClientOption<>(String.class);
131
132 private SdkClientOption(Class<T> valueClass) {
133 super(valueClass);
134 }
135
136 private SdkClientOption(UnsafeValueType valueType) {
137 super(valueType);
138 }
139 }
140