Skip to content

Commit 95cf145

Browse files
authored
Add getSecret method to ProjectMetadata (elastic#125830)
* Add getSecret method to ProjectState
1 parent 69f388c commit 95cf145

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

server/src/main/java/org/elasticsearch/cluster/metadata/ProjectMetadata.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import org.elasticsearch.common.io.stream.StreamOutput;
2525
import org.elasticsearch.common.io.stream.VersionedNamedWriteable;
2626
import org.elasticsearch.common.regex.Regex;
27+
import org.elasticsearch.common.settings.ProjectSecrets;
28+
import org.elasticsearch.common.settings.SecureString;
2729
import org.elasticsearch.common.settings.Settings;
2830
import org.elasticsearch.common.util.ArrayUtils;
2931
import org.elasticsearch.common.util.Maps;
@@ -1103,6 +1105,10 @@ static boolean isStateEquals(ProjectMetadata project1, ProjectMetadata project2)
11031105
return true;
11041106
}
11051107

1108+
public Optional<SecureString> getSecret(String key) {
1109+
return Optional.ofNullable(this.<ProjectSecrets>custom(ProjectSecrets.TYPE)).map(secrets -> secrets.getSettings().getString(key));
1110+
}
1111+
11061112
public static ProjectMetadata.Builder builder(ProjectId id) {
11071113
return new ProjectMetadata.Builder().id(id);
11081114
}

server/src/main/java/org/elasticsearch/cluster/project/ProjectResolver.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ default ProjectMetadata getProjectMetadata(ClusterState clusterState) {
3939
return getProjectMetadata(clusterState.metadata());
4040
}
4141

42+
default boolean hasProject(ClusterState clusterState) {
43+
return hasProject(clusterState.metadata());
44+
}
45+
46+
default boolean hasProject(Metadata metadata) {
47+
return metadata.hasProject(getProjectId());
48+
}
49+
4250
// TODO: What happens if the context does not have a project? throw or return null?
4351
default ProjectState getProjectState(ClusterState clusterState) {
4452
final ProjectId id = getProjectId();

0 commit comments

Comments
 (0)