// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "time"

// ManagedDeviceCertificateState undocumented
type ManagedDeviceCertificateState struct {
	// Entity is the base model of ManagedDeviceCertificateState
	Entity
	// DevicePlatform Device platform
	DevicePlatform *DevicePlatformType `json:"devicePlatform,omitempty"`
	// CertificateKeyUsage Key usage
	CertificateKeyUsage *KeyUsages `json:"certificateKeyUsage,omitempty"`
	// CertificateValidityPeriodUnits Validity period units
	CertificateValidityPeriodUnits *CertificateValidityPeriodScale `json:"certificateValidityPeriodUnits,omitempty"`
	// CertificateIssuanceState Issuance State
	CertificateIssuanceState *CertificateIssuanceStates `json:"certificateIssuanceState,omitempty"`
	// CertificateKeyStorageProvider Key Storage Provider
	CertificateKeyStorageProvider *KeyStorageProviderOption `json:"certificateKeyStorageProvider,omitempty"`
	// CertificateSubjectNameFormat Subject name format
	CertificateSubjectNameFormat *SubjectNameFormat `json:"certificateSubjectNameFormat,omitempty"`
	// CertificateSubjectAlternativeNameFormat Subject alternative name format
	CertificateSubjectAlternativeNameFormat *SubjectAlternativeNameType `json:"certificateSubjectAlternativeNameFormat,omitempty"`
	// CertificateRevokeStatus Revoke status
	CertificateRevokeStatus *CertificateRevocationStatus `json:"certificateRevokeStatus,omitempty"`
	// CertificateProfileDisplayName Certificate profile display name
	CertificateProfileDisplayName *string `json:"certificateProfileDisplayName,omitempty"`
	// DeviceDisplayName Device display name
	DeviceDisplayName *string `json:"deviceDisplayName,omitempty"`
	// UserDisplayName User display name
	UserDisplayName *string `json:"userDisplayName,omitempty"`
	// CertificateExpirationDateTime Certificate expiry date
	CertificateExpirationDateTime *time.Time `json:"certificateExpirationDateTime,omitempty"`
	// CertificateLastIssuanceStateChangedDateTime Last certificate issuance state change
	CertificateLastIssuanceStateChangedDateTime *time.Time `json:"certificateLastIssuanceStateChangedDateTime,omitempty"`
	// LastCertificateStateChangeDateTime Last certificate issuance state change
	LastCertificateStateChangeDateTime *time.Time `json:"lastCertificateStateChangeDateTime,omitempty"`
	// CertificateIssuer Issuer
	CertificateIssuer *string `json:"certificateIssuer,omitempty"`
	// CertificateThumbprint Thumbprint
	CertificateThumbprint *string `json:"certificateThumbprint,omitempty"`
	// CertificateSerialNumber Serial number
	CertificateSerialNumber *string `json:"certificateSerialNumber,omitempty"`
	// CertificateKeyLength Key length
	CertificateKeyLength *int `json:"certificateKeyLength,omitempty"`
	// CertificateEnhancedKeyUsage Extended key usage
	CertificateEnhancedKeyUsage *string `json:"certificateEnhancedKeyUsage,omitempty"`
	// CertificateValidityPeriod Validity period
	CertificateValidityPeriod *int `json:"certificateValidityPeriod,omitempty"`
	// CertificateSubjectNameFormatString Subject name format string for custom subject name formats
	CertificateSubjectNameFormatString *string `json:"certificateSubjectNameFormatString,omitempty"`
	// CertificateSubjectAlternativeNameFormatString Subject alternative name format string for custom formats
	CertificateSubjectAlternativeNameFormatString *string `json:"certificateSubjectAlternativeNameFormatString,omitempty"`
	// CertificateIssuanceDateTime Issuance date
	CertificateIssuanceDateTime *time.Time `json:"certificateIssuanceDateTime,omitempty"`
	// CertificateErrorCode Error code
	CertificateErrorCode *int `json:"certificateErrorCode,omitempty"`
}