2017-03-14 3 views
0

Ich arbeite an einem Chef-Code, der das Zertifikat in den persönlichen Speicher importiert mit der pfx-Datei, und fügen Sie die https-Bindung in der IIS und fügen Sie die SSL-Zertifikat. Ich bin erfolgreich mit dem Code und der Code sieht wie folgt aus.SSL-Zertifikat bedingte Überprüfung mit Chef

Allerdings möchte ich eine bedingte Überprüfung, bevor ich diese Schritte ausführen, d. H., Wenn das SSL-Zertifikat ist bereits verfügbar auf der https-Bindung für IIS, ich möchte keine der folgenden Skript ausführen.

Konnten Sie mir mit dieser ersten Zeile von "IF" Aussage helfen, wie man sieht, wenn das SSL bereits installiert ist?

# Import certificates to local machine personal store 
windows_certificate 'cert.pfx' do 
    pfx_password '@password' 
end 

#Setup a HTTPS port on IIS 
iis_site 'Default Web Site' do 
    action :config 
    bindings 'http/*:80:,https/*:443:' 
end 

#Add the certificate to the IIS 
windows_certificate_binding 'ssl certificate name' do 
    address '0.0.0.0' 
end 

Antwort

0

Was Sie wollen, ist Benachrichtigungen zu verwenden:

# Import certificates to local machine personal store 
windows_certificate 'cert.pfx' do 
    pfx_password '@password' 
    notifies :config, 'iis_site[Default Web Site]' 
end 

#Setup a HTTPS port on IIS 
iis_site 'Default Web Site' do 
    action :nothing 
    bindings 'http/*:80:,https/*:443:' 
end 

Oder so ähnlich. Jede Ressource sendet die konfigurierten Benachrichtigungsaktionen genau dann, wenn sie "aktualisiert" ist (wobei "aktualisiert" unterschiedliche Dinge für unterschiedliche Ressourcen bedeutet).