These functions also extract the data required for the plugin.

Signed-off-by: Wolfgang Link <w.l...@proxmox.com>
---
 PVE/API2/ACME.pm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/PVE/API2/ACME.pm b/PVE/API2/ACME.pm
index e69a563b..7bb3ab95 100644
--- a/PVE/API2/ACME.pm
+++ b/PVE/API2/ACME.pm
@@ -45,6 +45,33 @@ __PACKAGE__->register_method ({
        ];
     }});
 
+my $get_plugin_type = sub {
+    my ($domain, $acme_node_config) = @_;
+
+    my $plugin;
+    my $alias;
+    foreach my $index (keys %$acme_node_config) {
+       next if $index eq 'domains';
+
+       my $domain_config = $acme_node_config->{$index};
+       if (defined($domain_config->{domain}) &&
+           $domain_config->{domain} eq $domain) {
+           $plugin = $domain_config->{plugin};
+           $alias = $domain_config->{alias};
+           last;
+       }
+    }
+    return "standalone" if !defined($plugin);
+
+    my $plugin_conf = PVE::API2::ACMEPlugin::load_config();
+    my $data = $plugin_conf->{ids}->{$plugin};
+    my $plugin_type = $data->{type};
+
+    $data->{alias} = $alias;
+
+    return ($plugin_type, $data);
+};
+
 my $order_certificate = sub {
     my ($acme, $domains) = @_;
     print "Placing ACME order\n";
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to