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 }