github.com/Venafi/vcert/v5@v5.10.2/pkg/playbook/app/domain/playbookRequest.go (about) 1 /* 2 * Copyright 2023 Venafi, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package domain 18 19 import ( 20 "github.com/Venafi/vcert/v5/pkg/certificate" 21 "github.com/Venafi/vcert/v5/pkg/util" 22 ) 23 24 // PlaybookRequest Contains data needed to generate a certificate request 25 // CSR is a PEM-encoded Certificate Signing PlaybookRequest 26 type PlaybookRequest struct { 27 CADN string `yaml:"cadn,omitempty"` 28 ChainOption certificate.ChainOption `yaml:"chain,omitempty"` 29 CsrOrigin string `yaml:"csr,omitempty"` 30 CustomFields []certificate.CustomField `yaml:"fields,omitempty"` 31 DNSNames []string `yaml:"sanDNS,omitempty"` 32 EmailAddresses []string `yaml:"sanEmail,omitempty"` 33 FriendlyName string `yaml:"nickname,omitempty"` 34 IPAddresses []string `yaml:"sanIP,omitempty"` 35 IssuerHint util.IssuerHint `yaml:"issuerHint,omitempty"` 36 KeyCurve certificate.EllipticCurve `yaml:"keyCurve,omitempty"` 37 KeyLength int `yaml:"keySize,omitempty"` 38 KeyPassword string `yaml:"-"` 39 KeyType certificate.KeyType `yaml:"keyType,omitempty"` 40 Location certificate.Location `yaml:"location,omitempty"` 41 OmitSANs bool `yaml:"omitSans,omitempty"` 42 Origin string `yaml:"appInfo,omitempty"` 43 Subject Subject `yaml:"subject,omitempty"` 44 Timeout int `yaml:"timeout,omitempty"` 45 UPNs []string `yaml:"sanUPN,omitempty"` 46 URIs []string `yaml:"sanURI,omitempty"` 47 ExtKeyUsages certificate.ExtKeyUsageSlice `yaml:"eku,omitempty"` 48 ValidDays string `yaml:"validDays,omitempty"` 49 Zone string `yaml:"zone,omitempty"` 50 }