"updateTunnelConfigurationIntentSummary ${tunnelName}" = "Update ${tunnelName} configuration";
"updateTunnelConfigurationIntentPeerOptionsUnavailableError" = "Use the output of \"Build Peer Configuration\" action to update tunnel configuration.";
-"updateTunnelConfigurationIntentMissingPeerParameterError" = "Peer parameter value is missing";
"updateTunnelConfigurationIntentMalformedPublicKeyError %@" = "The key \"%1$@\" is not a valid Public Key encoded in Base64 format.";
// Build Peer Configuration
var tunnelsManager: TunnelsManager
func perform() async throws -> some IntentResult {
- guard let peers else { throw AppIntentConfigurationUpdateError.missingPeerParameter }
+ let peers = peers ?? []
guard let tunnelContainer = tunnelsManager.tunnel(named: tunnelName) else {
throw AppIntentConfigurationUpdateError.wrongTunnel(name: tunnelName)
case wrongTunnel(name: String)
case missingConfiguration
case peerOptionsUnavailable
- case missingPeerParameter
case malformedPublicKey(key: String)
var localizedStringResource: LocalizedStringResource {
return LocalizedStringResource("wireguardAppIntentsMissingConfigurationError", table: "AppIntents")
case .peerOptionsUnavailable:
return LocalizedStringResource("updateTunnelConfigurationIntentPeerOptionsUnavailableError", table: "AppIntents")
- case .missingPeerParameter:
- return LocalizedStringResource("updateTunnelConfigurationIntentMissingPeerParameterError", table: "AppIntents")
case .malformedPublicKey(let malformedKey):
return LocalizedStringResource("updateTunnelConfigurationIntentMalformedPublicKeyError \(malformedKey)", table: "AppIntents")
}