diff options
Diffstat (limited to 'security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java')
-rw-r--r-- | security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java b/security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java index ea3d4cfe002..f713bcb0b08 100644 --- a/security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java +++ b/security-utils/src/main/java/com/yahoo/security/tls/PeerPolicy.java @@ -1,17 +1,25 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.security.tls; +import java.util.Collection; import java.util.List; import java.util.Optional; +import java.util.Set; /** * @author bjorncs */ -public record PeerPolicy(String policyName, Optional<String> description, CapabilitySet capabilities, - List<RequiredPeerCredential> requiredCredentials) { +public record PeerPolicy(String policyName, Optional<String> description, Set<String> capabilityNames, + CapabilitySet capabilities, List<RequiredPeerCredential> requiredCredentials) { public PeerPolicy { requiredCredentials = List.copyOf(requiredCredentials); + capabilityNames = Set.copyOf(capabilityNames); + } + + public PeerPolicy(String policyName, Optional<String> description, + CapabilitySet capabilities, List<RequiredPeerCredential> requiredCredentials) { + this(policyName, description, capabilities.resolveNames(), capabilities, requiredCredentials); } public PeerPolicy(String policyName, List<RequiredPeerCredential> requiredCredentials) { @@ -21,4 +29,16 @@ public record PeerPolicy(String policyName, Optional<String> description, Capabi public PeerPolicy(String policyName, String description, List<RequiredPeerCredential> requiredCredentials) { this(policyName, Optional.ofNullable(description), CapabilitySet.all(), requiredCredentials); } + + public PeerPolicy(String policyName, Optional<String> description, Collection<ToCapabilitySet> capabilities, + List<RequiredPeerCredential> requiredCredentials) { + this(policyName, description, CapabilitySet.resolveNames(capabilities), + CapabilitySet.unionOf(capabilities), requiredCredentials); + } + + public PeerPolicy(String policyName, Optional<String> description, Set<String> capabilities, + List<RequiredPeerCredential> requiredCredentials) { + this(policyName, description, capabilities, CapabilitySet.fromNames(capabilities), + requiredCredentials); + } } |