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  }