github.com/Venafi/vcert/v5@v5.10.2/pkg/policy/policySpecification.go (about)

     1  package policy
     2  
     3  type PolicySpecification struct {
     4  	Owners     []string `json:"owners,omitempty" yaml:"owners,omitempty"`
     5  	Users      []string `json:"users,omitempty" yaml:"users,omitempty"`
     6  	UserAccess string   `json:"userAccess,omitempty" yaml:"userAccess,omitempty"`
     7  	Approvers  []string `json:"approvers,omitempty" yaml:"approvers,omitempty"`
     8  	Policy     *Policy  `json:"policy,omitempty" yaml:"policy,omitempty"`
     9  	Default    *Default `json:"defaults,omitempty" yaml:"defaults,omitempty"`
    10  }
    11  
    12  type Policy struct {
    13  	Domains              []string         `json:"domains,omitempty" yaml:"domains,omitempty"`
    14  	WildcardAllowed      *bool            `json:"wildcardAllowed,omitempty" yaml:"wildcardAllowed,omitempty"`
    15  	AutoInstalled        *bool            `json:"autoInstalled,omitempty" yaml:"autoInstalled,omitempty"`
    16  	MaxValidDays         *int             `json:"maxValidDays,omitempty" yaml:"maxValidDays,omitempty"`
    17  	CertificateAuthority *string          `json:"certificateAuthority,omitempty" yaml:"certificateAuthority,omitempty"`
    18  	Subject              *Subject         `json:"subject,omitempty" yaml:"subject,omitempty"`
    19  	KeyPair              *KeyPair         `json:"keyPair,omitempty" yaml:"keyPair,omitempty"`
    20  	SubjectAltNames      *SubjectAltNames `json:"subjectAltNames,omitempty" yaml:"subjectAltNames,omitempty"`
    21  }
    22  
    23  type Subject struct {
    24  	Orgs       []string `json:"orgs,omitempty" yaml:"orgs,omitempty"`
    25  	OrgUnits   []string `json:"orgUnits,omitempty" yaml:"orgUnits,omitempty"`
    26  	Localities []string `json:"localities,omitempty" yaml:"localities,omitempty"`
    27  	States     []string `json:"states,omitempty" yaml:"states,omitempty"`
    28  	Countries  []string `json:"countries,omitempty" yaml:"countries,omitempty"`
    29  }
    30  
    31  type KeyPair struct {
    32  	PkixParameterSet []string `json:"pkixParameterSet,omitempty" yaml:"pkixParameterSet,omitempty"`
    33  	KeyTypes         []string `json:"keyTypes,omitempty" yaml:"keyTypes,omitempty"`
    34  	RsaKeySizes      []int    `json:"rsaKeySizes,omitempty" yaml:"rsaKeySizes,omitempty"`
    35  	EllipticCurves   []string `json:"ellipticCurves,omitempty" yaml:"ellipticCurves,omitempty"`
    36  	ServiceGenerated *bool    `json:"serviceGenerated,omitempty" yaml:"generationType,omitempty"`
    37  	ReuseAllowed     *bool    `json:"reuseAllowed,omitempty" yaml:"reuseAllowed,omitempty"`
    38  }
    39  
    40  type SubjectAltNames struct {
    41  	DnsAllowed    *bool    `json:"dnsAllowed,omitempty" yaml:"dnsAllowed,omitempty"`
    42  	IpAllowed     *bool    `json:"ipAllowed,omitempty" yaml:"ipAllowed,omitempty"`
    43  	EmailAllowed  *bool    `json:"emailAllowed,omitempty" yaml:"emailAllowed,omitempty"`
    44  	UriAllowed    *bool    `json:"uriAllowed,omitempty" yaml:"uriAllowed,omitempty"`
    45  	UpnAllowed    *bool    `json:"upnAllowed,omitempty" yaml:"uriProtocols,omitempty"`
    46  	UriProtocols  []string `json:"uriProtocols,omitempty" yaml:"uriProtocols,omitempty"`
    47  	IpConstraints []string `json:"ipConstraints,omitempty" yaml:"uriProtocols,omitempty"`
    48  }
    49  
    50  type Default struct {
    51  	Domain        *string         `json:"domain,omitempty" yaml:"domain,omitempty"`
    52  	Subject       *DefaultSubject `json:"subject,omitempty" yaml:"subject,omitempty"`
    53  	KeyPair       *DefaultKeyPair `json:"keyPair,omitempty" yaml:"keyPair,omitempty"`
    54  	AutoInstalled *bool           `json:"autoInstalled,omitempty" yaml:"autoInstalled,omitempty"`
    55  }
    56  
    57  type DefaultSubject struct {
    58  	Org      *string  `json:"org,omitempty" yaml:"org,omitempty"`
    59  	OrgUnits []string `json:"orgUnits,omitempty" yaml:"orgUnits,omitempty"`
    60  	Locality *string  `json:"locality,omitempty" yaml:"locality,omitempty"`
    61  	State    *string  `json:"state,omitempty" yaml:"state,omitempty"`
    62  	Country  *string  `json:"country,omitempty" yaml:"country,omitempty"`
    63  }
    64  
    65  type DefaultKeyPair struct {
    66  	PkixParameterSetDefault *string `json:"pkixParameterSetDefault,omitempty" yaml:"pkixParameterSetDefault,omitempty"`
    67  	KeyType                 *string `json:"keyType,omitempty" yaml:"keyType,omitempty"`
    68  	RsaKeySize              *int    `json:"rsaKeySize,omitempty" yaml:"rsaKeySize,omitempty"`
    69  	EllipticCurve           *string `json:"ellipticCurve,omitempty" yaml:"ellipticCurve,omitempty"`
    70  	ServiceGenerated        *bool   `json:"serviceGenerated,omitempty" yaml:"serviceGenerated,omitempty"`
    71  }