Skip to content

Commit 5b4e5de

Browse files
Add internal API annotation
1 parent ffbfe37 commit 5b4e5de

File tree

73 files changed

+197
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+197
-0
lines changed

NEXT_CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010

1111
### Documentation
1212

13+
* Add `@InternalApi` annotation to clarify the public API surface. Classes
14+
marked with `@InternalApi` are intended for internal use only and may change
15+
without notice. Only unmarked classes (e.g., `DatabricksConfig`, exceptions,
16+
error types, extension interfaces) are part of the stable public API.
17+
1318
### Internal Changes
1419

1520
### API Changes

databricks-sdk-java/src/main/java/com/databricks/sdk/core/ApiClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.databricks.sdk.core.utils.SystemTimer;
1515
import com.databricks.sdk.core.utils.Timer;
1616
import com.databricks.sdk.support.Header;
17+
import com.databricks.sdk.support.InternalApi;
1718
import com.fasterxml.jackson.core.JsonProcessingException;
1819
import com.fasterxml.jackson.databind.JavaType;
1920
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -31,6 +32,7 @@
3132
* Simplified REST API client with retries, JSON POJO SerDe through Jackson and exception POJO
3233
* guessing
3334
*/
35+
@InternalApi
3436
public class ApiClient {
3537
public static class Builder {
3638
private Timer timer;

databricks-sdk-java/src/main/java/com/databricks/sdk/core/AzureCliCredentialsProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import com.databricks.sdk.core.oauth.OAuthHeaderFactory;
55
import com.databricks.sdk.core.oauth.Token;
66
import com.databricks.sdk.core.utils.AzureUtils;
7+
import com.databricks.sdk.support.InternalApi;
78
import com.fasterxml.jackson.databind.ObjectMapper;
89
import java.util.*;
910
import org.slf4j.Logger;
1011
import org.slf4j.LoggerFactory;
1112

13+
@InternalApi
1214
public class AzureCliCredentialsProvider implements CredentialsProvider {
1315
private final ObjectMapper mapper = new ObjectMapper();
1416
private static final Logger LOG = LoggerFactory.getLogger(AzureCliCredentialsProvider.class);

databricks-sdk-java/src/main/java/com/databricks/sdk/core/AzureEnvironment.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.databricks.sdk.core;
22

3+
import com.databricks.sdk.support.InternalApi;
34
import java.util.HashMap;
45
import java.util.Map;
56

@@ -10,6 +11,7 @@
1011
* resources vary depending on the cloud environment: public, germany, govcloud, or china. Depending
1112
* on the operation, tokens scoped to a specific endpoint are needed.
1213
*/
14+
@InternalApi
1315
public class AzureEnvironment {
1416
private String name;
1517
private String serviceManagementEndpoint;

databricks-sdk-java/src/main/java/com/databricks/sdk/core/BasicCredentialsProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.databricks.sdk.core;
22

3+
import com.databricks.sdk.support.InternalApi;
34
import java.util.Base64;
45
import java.util.HashMap;
56
import java.util.Map;
67

8+
@InternalApi
79
public class BasicCredentialsProvider implements CredentialsProvider {
810
public static final String BASIC = "basic";
911

databricks-sdk-java/src/main/java/com/databricks/sdk/core/BodyLogger.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.databricks.sdk.core;
22

3+
import com.databricks.sdk.support.InternalApi;
34
import com.fasterxml.jackson.core.JsonProcessingException;
45
import com.fasterxml.jackson.core.TreeNode;
56
import com.fasterxml.jackson.databind.JsonNode;
67
import com.fasterxml.jackson.databind.ObjectMapper;
78
import com.fasterxml.jackson.databind.node.ArrayNode;
89
import java.util.*;
910

11+
@InternalApi
1012
class BodyLogger {
1113
private final Set<String> redactKeys =
1214
new HashSet<String>() {

databricks-sdk-java/src/main/java/com/databricks/sdk/core/CliTokenSource.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.databricks.sdk.core.oauth.TokenSource;
55
import com.databricks.sdk.core.utils.Environment;
66
import com.databricks.sdk.core.utils.OSUtils;
7+
import com.databricks.sdk.support.InternalApi;
78
import com.fasterxml.jackson.databind.JsonNode;
89
import com.fasterxml.jackson.databind.ObjectMapper;
910
import java.io.IOException;
@@ -18,6 +19,7 @@
1819
import java.util.List;
1920
import org.apache.commons.io.IOUtils;
2021

22+
@InternalApi
2123
public class CliTokenSource implements TokenSource {
2224
private List<String> cmd;
2325
private String tokenTypeField;

databricks-sdk-java/src/main/java/com/databricks/sdk/core/ConfigAttributeAccessor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.databricks.sdk.core;
22

3+
import com.databricks.sdk.support.InternalApi;
34
import java.lang.reflect.Field;
45
import java.time.Duration;
56
import java.util.Map;
67
import java.util.Objects;
78

9+
@InternalApi
810
class ConfigAttributeAccessor {
911
private final ConfigAttribute configAttribute;
1012
private final Field field;

databricks-sdk-java/src/main/java/com/databricks/sdk/core/ConfigLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.databricks.sdk.core;
22

33
import com.databricks.sdk.core.utils.Environment;
4+
import com.databricks.sdk.support.InternalApi;
45
import java.io.FileNotFoundException;
56
import java.io.FileReader;
67
import java.io.IOException;
@@ -15,6 +16,7 @@
1516
import org.slf4j.Logger;
1617
import org.slf4j.LoggerFactory;
1718

19+
@InternalApi
1820
public class ConfigLoader {
1921
private static final Logger LOG = LoggerFactory.getLogger(ConfigLoader.class);
2022

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
11
package com.databricks.sdk.core;
22

3+
/**
4+
* CredentialsProvider is an interface that provides a HeaderFactory to authenticate requests to the
5+
* Databricks API.
6+
*
7+
* <p>Users can implement this interface to provide custom authentication mechanisms. Once
8+
* implemented, the custom provider can be set on {@link DatabricksConfig} using {@link
9+
* DatabricksConfig#setCredentialsProvider(CredentialsProvider)}.
10+
*
11+
* <p><b>Note:</b> The methods in this interface are called internally by the SDK clients
12+
* (WorkspaceClient and AccountClient) during request authentication. Users implementing this
13+
* interface should not call these methods directly.
14+
*/
315
public interface CredentialsProvider {
16+
/**
17+
* Returns the authentication type identifier for this credentials provider.
18+
*
19+
* <p><b>This method is called internally by the SDK</b> and should not be invoked directly by
20+
* users. It is used for logging and user-agent identification purposes.
21+
*
22+
* @return the authentication type as a string
23+
*/
424
String authType();
525

26+
/**
27+
* Creates and returns a new HeaderFactory to authenticate requests to the Databricks API.
28+
*
29+
* <p><b>This method is called internally by the SDK</b> during client initialization and should
30+
* not be invoked directly by users. The SDK will call this method to obtain a HeaderFactory that
31+
* will be used to add authentication headers to each API request.
32+
*
33+
* <p>Note: A new HeaderFactory instance is returned on each invocation.
34+
*
35+
* @param config the Databricks configuration to use for authentication
36+
* @return a new HeaderFactory configured for authenticating API requests
37+
*/
638
HeaderFactory configure(DatabricksConfig config);
739
}

0 commit comments

Comments
 (0)