[ML] Move and rename AmazonBedrockSecretSettings (#125323)

In preparation for integrating with SageMaker, we want to reuse the
existing SecretSettings.

- AmazonBedrockSecretSettings moved from services.amazonbedrock to
  common.amazon.
- AmazonBedrockSecretSettings was renamed to AwsSecretSettings.
- accessKey and secretKey are now encapsulated.
This commit is contained in:
Pat Whelan 2025-03-21 10:00:58 -04:00 committed by GitHub
parent e0d4599dad
commit 76260267b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 103 additions and 99 deletions

View File

@ -28,6 +28,7 @@ import org.elasticsearch.xpack.core.inference.results.TextEmbeddingFloatResults;
import org.elasticsearch.xpack.inference.action.task.StreamingTaskManager;
import org.elasticsearch.xpack.inference.chunking.SentenceBoundaryChunkingSettings;
import org.elasticsearch.xpack.inference.chunking.WordBoundaryChunkingSettings;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.AlibabaCloudSearchServiceSettings;
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.completion.AlibabaCloudSearchCompletionServiceSettings;
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.completion.AlibabaCloudSearchCompletionTaskSettings;
@ -37,7 +38,6 @@ import org.elasticsearch.xpack.inference.services.alibabacloudsearch.rerank.Alib
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.rerank.AlibabaCloudSearchRerankTaskSettings;
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.sparse.AlibabaCloudSearchSparseServiceSettings;
import org.elasticsearch.xpack.inference.services.alibabacloudsearch.sparse.AlibabaCloudSearchSparseTaskSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.completion.AmazonBedrockChatCompletionServiceSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.completion.AmazonBedrockChatCompletionTaskSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.embeddings.AmazonBedrockEmbeddingsServiceSettings;
@ -146,6 +146,7 @@ public class InferenceNamedWriteablesProvider {
addCustomElandWriteables(namedWriteables);
addAnthropicNamedWritables(namedWriteables);
addAmazonBedrockNamedWriteables(namedWriteables);
addAwsNamedWriteables(namedWriteables);
addEisNamedWriteables(namedWriteables);
addAlibabaCloudSearchNamedWriteables(namedWriteables);
addJinaAINamedWriteables(namedWriteables);
@ -165,14 +166,6 @@ public class InferenceNamedWriteablesProvider {
}
private static void addAmazonBedrockNamedWriteables(List<NamedWriteableRegistry.Entry> namedWriteables) {
namedWriteables.add(
new NamedWriteableRegistry.Entry(
AmazonBedrockSecretSettings.class,
AmazonBedrockSecretSettings.NAME,
AmazonBedrockSecretSettings::new
)
);
namedWriteables.add(
new NamedWriteableRegistry.Entry(
ServiceSettings.class,
@ -199,6 +192,10 @@ public class InferenceNamedWriteablesProvider {
);
}
private static void addAwsNamedWriteables(List<NamedWriteableRegistry.Entry> namedWriteables) {
namedWriteables.add(new NamedWriteableRegistry.Entry(AwsSecretSettings.class, AwsSecretSettings.NAME, AwsSecretSettings::new));
}
private static void addMistralNamedWriteables(List<NamedWriteableRegistry.Entry> namedWriteables) {
namedWriteables.add(
new NamedWriteableRegistry.Entry(

View File

@ -5,7 +5,7 @@
* 2.0.
*/
package org.elasticsearch.xpack.inference.services.amazonbedrock;
package org.elasticsearch.xpack.inference.common.amazon;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.TransportVersions;
@ -33,13 +33,13 @@ import static org.elasticsearch.xpack.inference.services.ServiceUtils.extractReq
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockConstants.ACCESS_KEY_FIELD;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockConstants.SECRET_KEY_FIELD;
public class AmazonBedrockSecretSettings implements SecretSettings {
public static final String NAME = "amazon_bedrock_secret_settings";
public class AwsSecretSettings implements SecretSettings {
public static final String NAME = "aws_secret_settings";
public final SecureString accessKey;
public final SecureString secretKey;
private final SecureString accessKey;
private final SecureString secretKey;
public static AmazonBedrockSecretSettings fromMap(@Nullable Map<String, Object> map) {
public static AwsSecretSettings fromMap(@Nullable Map<String, Object> map) {
if (map == null) {
return null;
}
@ -62,15 +62,15 @@ public class AmazonBedrockSecretSettings implements SecretSettings {
throw validationException;
}
return new AmazonBedrockSecretSettings(secureAccessKey, secureSecretKey);
return new AwsSecretSettings(secureAccessKey, secureSecretKey);
}
public AmazonBedrockSecretSettings(SecureString accessKey, SecureString secretKey) {
public AwsSecretSettings(SecureString accessKey, SecureString secretKey) {
this.accessKey = Objects.requireNonNull(accessKey);
this.secretKey = Objects.requireNonNull(secretKey);
}
public AmazonBedrockSecretSettings(StreamInput in) throws IOException {
public AwsSecretSettings(StreamInput in) throws IOException {
this.accessKey = in.readSecureString();
this.secretKey = in.readSecureString();
}
@ -106,7 +106,7 @@ public class AmazonBedrockSecretSettings implements SecretSettings {
public boolean equals(Object object) {
if (this == object) return true;
if (object == null || getClass() != object.getClass()) return false;
AmazonBedrockSecretSettings that = (AmazonBedrockSecretSettings) object;
AwsSecretSettings that = (AwsSecretSettings) object;
return Objects.equals(accessKey, that.accessKey) && Objects.equals(secretKey, that.secretKey);
}
@ -120,6 +120,14 @@ public class AmazonBedrockSecretSettings implements SecretSettings {
return fromMap(new HashMap<>(newSecrets));
}
public SecureString accessKey() {
return accessKey;
}
public SecureString secretKey() {
return secretKey;
}
public static class Configuration {
public static Map<String, SettingsConfiguration> get() {
return configuration.getOrCompute();

View File

@ -28,7 +28,7 @@ public abstract class AmazonBedrockBaseClient implements AmazonBedrockClient {
public static Integer getModelKeysAndRegionHashcode(AmazonBedrockModel model, @Nullable TimeValue timeout) {
var secretSettings = model.getSecretSettings();
var serviceSettings = model.getServiceSettings();
return Objects.hash(secretSettings.accessKey, secretSettings.secretKey, serviceSettings.region(), timeout);
return Objects.hash(secretSettings.accessKey(), secretSettings.secretKey(), serviceSettings.region(), timeout);
}
public final void setClock(Clock clock) {

View File

@ -142,7 +142,7 @@ public class AmazonBedrockInferenceClient extends AmazonBedrockBaseClient {
try {
SpecialPermission.check();
return AccessController.doPrivileged((PrivilegedExceptionAction<BedrockRuntimeAsyncClient>) () -> {
var credentials = AwsBasicCredentials.create(secretSettings.accessKey.toString(), secretSettings.secretKey.toString());
var credentials = AwsBasicCredentials.create(secretSettings.accessKey().toString(), secretSettings.secretKey().toString());
var credentialsProvider = StaticCredentialsProvider.create(credentials);
var clientConfig = timeout == null
? NettyNioAsyncHttpClient.builder().connectionTimeout(DEFAULT_CLIENT_TIMEOUT_MS)

View File

@ -43,7 +43,7 @@ public abstract class AmazonBedrockRequestManager implements RequestManager {
var awsSecretSettings = model.getSecretSettings();
return new RateLimitGrouping(Objects.hash(awsSecretSettings.accessKey, awsSecretSettings.secretKey));
return new RateLimitGrouping(Objects.hash(awsSecretSettings.accessKey(), awsSecretSettings.secretKey()));
}
}

View File

@ -12,6 +12,7 @@ import org.elasticsearch.inference.ModelConfigurations;
import org.elasticsearch.inference.ModelSecrets;
import org.elasticsearch.inference.ServiceSettings;
import org.elasticsearch.inference.TaskSettings;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.external.action.ExecutableAction;
import org.elasticsearch.xpack.inference.external.action.amazonbedrock.AmazonBedrockActionVisitor;
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@ -81,8 +82,8 @@ public abstract class AmazonBedrockModel extends Model {
}
@Override
public AmazonBedrockSecretSettings getSecretSettings() {
return (AmazonBedrockSecretSettings) super.getSecretSettings();
public AwsSecretSettings getSecretSettings() {
return (AwsSecretSettings) super.getSecretSettings();
}
}

View File

@ -31,6 +31,7 @@ import org.elasticsearch.inference.configuration.SettingsConfigurationFieldType;
import org.elasticsearch.rest.RestStatus;
import org.elasticsearch.xpack.inference.chunking.ChunkingSettingsBuilder;
import org.elasticsearch.xpack.inference.chunking.EmbeddingRequestChunker;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.external.action.amazonbedrock.AmazonBedrockActionCreator;
import org.elasticsearch.xpack.inference.external.amazonbedrock.AmazonBedrockRequestSender;
import org.elasticsearch.xpack.inference.external.http.sender.EmbeddingsInput;
@ -459,7 +460,7 @@ public class AmazonBedrockService extends SenderService {
.build()
);
configurationMap.putAll(AmazonBedrockSecretSettings.Configuration.get());
configurationMap.putAll(AwsSecretSettings.Configuration.get());
configurationMap.putAll(
RateLimitSettings.toSettingsConfigurationWithDescription(
"By default, the amazonbedrock service sets the number of requests allowed per minute to 240.",

View File

@ -12,11 +12,11 @@ import org.elasticsearch.inference.ModelConfigurations;
import org.elasticsearch.inference.ModelSecrets;
import org.elasticsearch.inference.TaskSettings;
import org.elasticsearch.inference.TaskType;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.external.action.ExecutableAction;
import org.elasticsearch.xpack.inference.external.action.amazonbedrock.AmazonBedrockActionVisitor;
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockModel;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettings;
import java.util.Map;
@ -47,7 +47,7 @@ public class AmazonBedrockChatCompletionModel extends AmazonBedrockModel {
name,
AmazonBedrockChatCompletionServiceSettings.fromMap(serviceSettings, context),
AmazonBedrockChatCompletionTaskSettings.fromMap(taskSettings),
AmazonBedrockSecretSettings.fromMap(secretSettings)
AwsSecretSettings.fromMap(secretSettings)
);
}
@ -57,7 +57,7 @@ public class AmazonBedrockChatCompletionModel extends AmazonBedrockModel {
String service,
AmazonBedrockChatCompletionServiceSettings serviceSettings,
AmazonBedrockChatCompletionTaskSettings taskSettings,
AmazonBedrockSecretSettings secrets
AwsSecretSettings secrets
) {
super(new ModelConfigurations(inferenceEntityId, taskType, service, serviceSettings, taskSettings), new ModelSecrets(secrets));
}

View File

@ -16,11 +16,11 @@ import org.elasticsearch.inference.ModelSecrets;
import org.elasticsearch.inference.ServiceSettings;
import org.elasticsearch.inference.TaskSettings;
import org.elasticsearch.inference.TaskType;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.external.action.ExecutableAction;
import org.elasticsearch.xpack.inference.external.action.amazonbedrock.AmazonBedrockActionVisitor;
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockModel;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettings;
import java.util.Map;
@ -54,7 +54,7 @@ public class AmazonBedrockEmbeddingsModel extends AmazonBedrockModel {
AmazonBedrockEmbeddingsServiceSettings.fromMap(serviceSettings, context),
new EmptyTaskSettings(),
chunkingSettings,
AmazonBedrockSecretSettings.fromMap(secretSettings)
AwsSecretSettings.fromMap(secretSettings)
);
}
@ -65,7 +65,7 @@ public class AmazonBedrockEmbeddingsModel extends AmazonBedrockModel {
AmazonBedrockEmbeddingsServiceSettings serviceSettings,
TaskSettings taskSettings,
ChunkingSettings chunkingSettings,
AmazonBedrockSecretSettings secrets
AwsSecretSettings secrets
) {
super(
new ModelConfigurations(inferenceEntityId, taskType, service, serviceSettings, new EmptyTaskSettings(), chunkingSettings),

View File

@ -5,7 +5,7 @@
* 2.0.
*/
package org.elasticsearch.xpack.inference.services.amazonbedrock;
package org.elasticsearch.xpack.inference.common.amazon;
import org.elasticsearch.TransportVersion;
import org.elasticsearch.common.Strings;
@ -27,48 +27,46 @@ import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBed
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.is;
public class AmazonBedrockSecretSettingsTests extends AbstractBWCWireSerializationTestCase<AmazonBedrockSecretSettings> {
public class AwsSecretSettingsTests extends AbstractBWCWireSerializationTestCase<AwsSecretSettings> {
public void testNewSecretSettings() {
AmazonBedrockSecretSettings initialSettings = createRandom();
AmazonBedrockSecretSettings newSettings = createRandom();
AwsSecretSettings initialSettings = createRandom();
AwsSecretSettings newSettings = createRandom();
AmazonBedrockSecretSettings finalSettings = (AmazonBedrockSecretSettings) initialSettings.newSecretSettings(
Map.of(ACCESS_KEY_FIELD, newSettings.accessKey.toString(), SECRET_KEY_FIELD, newSettings.secretKey.toString())
AwsSecretSettings finalSettings = (AwsSecretSettings) initialSettings.newSecretSettings(
Map.of(ACCESS_KEY_FIELD, newSettings.accessKey().toString(), SECRET_KEY_FIELD, newSettings.secretKey().toString())
);
assertEquals(newSettings, finalSettings);
}
public void testIt_CreatesSettings_ReturnsNullFromMap_null() {
var secrets = AmazonBedrockSecretSettings.fromMap(null);
var secrets = AwsSecretSettings.fromMap(null);
assertNull(secrets);
}
public void testIt_CreatesSettings_FromMap_WithValues() {
var secrets = AmazonBedrockSecretSettings.fromMap(
new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest", SECRET_KEY_FIELD, "secrettest"))
);
var secrets = AwsSecretSettings.fromMap(new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest", SECRET_KEY_FIELD, "secrettest")));
assertThat(
secrets,
is(new AmazonBedrockSecretSettings(new SecureString("accesstest".toCharArray()), new SecureString("secrettest".toCharArray())))
is(new AwsSecretSettings(new SecureString("accesstest".toCharArray()), new SecureString("secrettest".toCharArray())))
);
}
public void testIt_CreatesSettings_FromMap_IgnoresExtraKeys() {
var secrets = AmazonBedrockSecretSettings.fromMap(
var secrets = AwsSecretSettings.fromMap(
new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest", SECRET_KEY_FIELD, "secrettest", "extrakey", "extravalue"))
);
assertThat(
secrets,
is(new AmazonBedrockSecretSettings(new SecureString("accesstest".toCharArray()), new SecureString("secrettest".toCharArray())))
is(new AwsSecretSettings(new SecureString("accesstest".toCharArray()), new SecureString("secrettest".toCharArray())))
);
}
public void testIt_FromMap_ThrowsValidationException_AccessKeyMissing() {
var thrownException = expectThrows(
ValidationException.class,
() -> AmazonBedrockSecretSettings.fromMap(new HashMap<>(Map.of(SECRET_KEY_FIELD, "secrettest")))
() -> AwsSecretSettings.fromMap(new HashMap<>(Map.of(SECRET_KEY_FIELD, "secrettest")))
);
assertThat(
@ -80,7 +78,7 @@ public class AmazonBedrockSecretSettingsTests extends AbstractBWCWireSerializati
public void testIt_FromMap_ThrowsValidationException_SecretKeyMissing() {
var thrownException = expectThrows(
ValidationException.class,
() -> AmazonBedrockSecretSettings.fromMap(new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest")))
() -> AwsSecretSettings.fromMap(new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest")))
);
assertThat(
@ -90,9 +88,7 @@ public class AmazonBedrockSecretSettingsTests extends AbstractBWCWireSerializati
}
public void testToXContent_CreatesProperContent() throws IOException {
var secrets = AmazonBedrockSecretSettings.fromMap(
new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest", SECRET_KEY_FIELD, "secrettest"))
);
var secrets = AwsSecretSettings.fromMap(new HashMap<>(Map.of(ACCESS_KEY_FIELD, "accesstest", SECRET_KEY_FIELD, "secrettest")));
XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON);
secrets.toXContent(builder, null);
@ -106,26 +102,26 @@ public class AmazonBedrockSecretSettingsTests extends AbstractBWCWireSerializati
}
@Override
protected AmazonBedrockSecretSettings mutateInstanceForVersion(AmazonBedrockSecretSettings instance, TransportVersion version) {
protected AwsSecretSettings mutateInstanceForVersion(AwsSecretSettings instance, TransportVersion version) {
return instance;
}
@Override
protected Writeable.Reader<AmazonBedrockSecretSettings> instanceReader() {
return AmazonBedrockSecretSettings::new;
protected Writeable.Reader<AwsSecretSettings> instanceReader() {
return AwsSecretSettings::new;
}
@Override
protected AmazonBedrockSecretSettings createTestInstance() {
protected AwsSecretSettings createTestInstance() {
return createRandom();
}
@Override
protected AmazonBedrockSecretSettings mutateInstance(AmazonBedrockSecretSettings instance) throws IOException {
return randomValueOtherThan(instance, AmazonBedrockSecretSettingsTests::createRandom);
protected AwsSecretSettings mutateInstance(AwsSecretSettings instance) throws IOException {
return randomValueOtherThan(instance, AwsSecretSettingsTests::createRandom);
}
private static AmazonBedrockSecretSettings createRandom() {
return new AmazonBedrockSecretSettings(new SecureString(randomAlphaOfLength(10)), new SecureString(randomAlphaOfLength(10)));
private static AwsSecretSettings createRandom() {
return new AwsSecretSettings(new SecureString(randomAlphaOfLength(10)), new SecureString(randomAlphaOfLength(10)));
}
}

View File

@ -38,6 +38,7 @@ import org.elasticsearch.xpack.core.inference.results.ChatCompletionResults;
import org.elasticsearch.xpack.core.inference.results.ChunkedInferenceEmbedding;
import org.elasticsearch.xpack.core.inference.results.TextEmbeddingFloatResults;
import org.elasticsearch.xpack.inference.Utils;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.external.amazonbedrock.AmazonBedrockMockRequestSender;
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
import org.elasticsearch.xpack.inference.external.http.sender.Sender;
@ -72,9 +73,9 @@ import static org.elasticsearch.xpack.inference.Utils.inferenceUtilityPool;
import static org.elasticsearch.xpack.inference.Utils.mockClusterServiceEmpty;
import static org.elasticsearch.xpack.inference.chunking.ChunkingSettingsTests.createRandomChunkingSettings;
import static org.elasticsearch.xpack.inference.chunking.ChunkingSettingsTests.createRandomChunkingSettingsMap;
import static org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettingsTests.getAmazonBedrockSecretSettingsMap;
import static org.elasticsearch.xpack.inference.services.ServiceComponentsTests.createWithEmptySettings;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockProviderCapabilities.getProviderDefaultSimilarityMeasure;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettingsTests.getAmazonBedrockSecretSettingsMap;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.completion.AmazonBedrockChatCompletionServiceSettingsTests.createChatCompletionRequestSettingsMap;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.completion.AmazonBedrockChatCompletionTaskSettingsTests.getChatCompletionTaskSettingsMap;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.embeddings.AmazonBedrockEmbeddingsServiceSettingsTests.createEmbeddingsRequestSettingsMap;
@ -111,9 +112,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}, exception -> fail("Unexpected exception: " + exception));
service.parseRequestConfig(
@ -393,9 +394,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}, exception -> fail("Unexpected exception: " + exception));
service.parseRequestConfig(
@ -420,9 +421,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
assertThat(model.getConfigurations().getChunkingSettings(), instanceOf(ChunkingSettings.class));
}, exception -> fail("Unexpected exception: " + exception));
@ -449,9 +450,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
assertThat(model.getConfigurations().getChunkingSettings(), instanceOf(ChunkingSettings.class));
}, exception -> fail("Unexpected exception: " + exception));
@ -511,9 +512,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -543,9 +544,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
assertThat(model.getConfigurations().getChunkingSettings(), instanceOf(ChunkingSettings.class));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -571,9 +572,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
assertThat(model.getConfigurations().getChunkingSettings(), instanceOf(ChunkingSettings.class));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -622,9 +623,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -649,9 +650,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -676,9 +677,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -703,9 +704,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(settings.region(), is("region"));
assertThat(settings.modelId(), is("model"));
assertThat(settings.provider(), is(AmazonBedrockProvider.AMAZONTITAN));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}
@ -736,9 +737,9 @@ public class AmazonBedrockServiceTests extends ESTestCase {
assertThat(taskSettings.topP(), is(0.5));
assertThat(taskSettings.topK(), is(0.2));
assertThat(taskSettings.maxNewTokens(), is(128));
var secretSettings = (AmazonBedrockSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey.toString(), is("access"));
assertThat(secretSettings.secretKey.toString(), is("secret"));
var secretSettings = (AwsSecretSettings) model.getSecretSettings();
assertThat(secretSettings.accessKey().toString(), is("access"));
assertThat(secretSettings.secretKey().toString(), is("secret"));
}
}

View File

@ -11,8 +11,8 @@ import org.elasticsearch.common.settings.SecureString;
import org.elasticsearch.core.Nullable;
import org.elasticsearch.inference.TaskType;
import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockProvider;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettings;
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
import static org.elasticsearch.xpack.inference.services.amazonbedrock.completion.AmazonBedrockChatCompletionTaskSettingsTests.getChatCompletionTaskSettingsMap;
@ -214,7 +214,7 @@ public class AmazonBedrockChatCompletionModelTests extends ESTestCase {
"amazonbedrock",
new AmazonBedrockChatCompletionServiceSettings(region, model, provider, rateLimitSettings),
new AmazonBedrockChatCompletionTaskSettings(temperature, topP, topK, maxNewTokens),
new AmazonBedrockSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
new AwsSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
);
}

View File

@ -16,8 +16,8 @@ import org.elasticsearch.inference.InputType;
import org.elasticsearch.inference.SimilarityMeasure;
import org.elasticsearch.inference.TaskType;
import org.elasticsearch.test.ESTestCase;
import org.elasticsearch.xpack.inference.common.amazon.AwsSecretSettings;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockProvider;
import org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockSecretSettings;
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
import java.util.Map;
@ -116,7 +116,7 @@ public class AmazonBedrockEmbeddingsModelTests extends ESTestCase {
),
new EmptyTaskSettings(),
chunkingSettings,
new AmazonBedrockSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
new AwsSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
);
}
@ -149,7 +149,7 @@ public class AmazonBedrockEmbeddingsModelTests extends ESTestCase {
),
new EmptyTaskSettings(),
null,
new AmazonBedrockSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
new AwsSecretSettings(new SecureString(accessKey), new SecureString(secretKey))
);
}
}