github.com/Venafi/vcert/v5@v5.10.2/pkg/playbook/app/installer/selector_windows.go (about) 1 //go:build windows 2 3 /* 4 * Copyright 2023 Venafi, Inc. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package installer 20 21 import ( 22 "fmt" 23 24 "go.uber.org/zap" 25 26 "github.com/Venafi/vcert/v5/pkg/playbook/app/domain" 27 ) 28 29 // GetInstaller returns a proper installer according to the type defined in inst 30 func GetInstaller(inst domain.Installation) Installer { 31 switch inst.Type { 32 case domain.FormatCAPI: 33 return NewCAPIInstaller(inst) 34 case domain.FormatJKS: 35 return NewJKSInstaller(inst) 36 case domain.FormatPEM: 37 return NewPEMInstaller(inst) 38 case domain.FormatPKCS12: 39 return NewPKCS12Installer(inst) 40 default: 41 zap.L().Fatal(fmt.Sprintf("runner not found for installation type: %s", inst.Type.String())) 42 return nil 43 } 44 }