// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

package components

type NameConstraints struct {
	Critical *bool `json:"critical,omitempty"`
	// A record providing excluded names of the type directoryName in leaf certificates whose trust path includes this certificate.
	ExcludedDirectoryNames []DistinguishedName `json:"excluded_directory_names,omitempty"`
	// A record providing excluded names of the type ediPartyName in leaf certificates whose trust path includes this certificate.
	ExcludedEdiPartyNames []EdiPartyName `json:"excluded_edi_party_names,omitempty"`
	// A record providing a range of excluded names of the type rfc822Name in leaf certificates whose trust path includes this certificate.
	ExcludedEmailAddresses []string `json:"excluded_email_addresses,omitempty"`
	// A record providing a range of excluded names of the type iPAddress in leaf certificates whose trust path includes this certificate.
	ExcludedIPAddresses []GeneralSubtreeIP `json:"excluded_ip_addresses,omitempty"`
	// A record providing a range of excluded names of the type dNSName in leaf certificates whose trust path includes this certificate.
	ExcludedNames []string `json:"excluded_names,omitempty"`
	// A record providing excluded names of the type registeredID in leaf certificates whose trust path includes this certificate.
	ExcludedRegisteredIds []string `json:"excluded_registered_ids,omitempty"`
	// A record providing a range of excluded uniform resource identifiers in leaf certificates whose trust path includes this certificate.
	ExcludedUris []string `json:"excluded_uris,omitempty"`
	// A record providing permitted names of the type directoryName in leaf certificates whose trust path includes this certificate.
	PermittedDirectoryNames []DistinguishedName `json:"permitted_directory_names,omitempty"`
	// A record providing permitted names of the type ediPartyName in leaf certificates whose trust path includes this certificate.
	PermittedEdiPartyNames []EdiPartyName `json:"permitted_edi_party_names,omitempty"`
	// A record providing a range of permitted names of the type rfc822Name in leaf certificates whose trust path includes this certificate.
	PermittedEmailAddresses []string `json:"permitted_email_addresses,omitempty"`
	// A record providing a range of permitted names of the type iPAddress in leaf certificates whose trust path includes this certificate.
	PermittedIPAddresses []GeneralSubtreeIP `json:"permitted_ip_addresses,omitempty"`
	// A record providing a range of permitted names of the type dNSName in leaf certificates whose trust path includes this certificate.
	PermittedNames []string `json:"permitted_names,omitempty"`
	// A record providing permitted names of the type registeredID in leaf certificates whose trust path includes this certificate.
	PermittedRegisteredIds []string `json:"permitted_registered_ids,omitempty"`
	// A record providing a range of permitted uniform resource identifiers in leaf certificates whose trust path includes this certificate.
	PermittedUris []string `json:"permitted_uris,omitempty"`
}

func (o *NameConstraints) GetCritical() *bool {
	if o == nil {
		return nil
	}
	return o.Critical
}

func (o *NameConstraints) GetExcludedDirectoryNames() []DistinguishedName {
	if o == nil {
		return nil
	}
	return o.ExcludedDirectoryNames
}

func (o *NameConstraints) GetExcludedEdiPartyNames() []EdiPartyName {
	if o == nil {
		return nil
	}
	return o.ExcludedEdiPartyNames
}

func (o *NameConstraints) GetExcludedEmailAddresses() []string {
	if o == nil {
		return nil
	}
	return o.ExcludedEmailAddresses
}

func (o *NameConstraints) GetExcludedIPAddresses() []GeneralSubtreeIP {
	if o == nil {
		return nil
	}
	return o.ExcludedIPAddresses
}

func (o *NameConstraints) GetExcludedNames() []string {
	if o == nil {
		return nil
	}
	return o.ExcludedNames
}

func (o *NameConstraints) GetExcludedRegisteredIds() []string {
	if o == nil {
		return nil
	}
	return o.ExcludedRegisteredIds
}

func (o *NameConstraints) GetExcludedUris() []string {
	if o == nil {
		return nil
	}
	return o.ExcludedUris
}

func (o *NameConstraints) GetPermittedDirectoryNames() []DistinguishedName {
	if o == nil {
		return nil
	}
	return o.PermittedDirectoryNames
}

func (o *NameConstraints) GetPermittedEdiPartyNames() []EdiPartyName {
	if o == nil {
		return nil
	}
	return o.PermittedEdiPartyNames
}

func (o *NameConstraints) GetPermittedEmailAddresses() []string {
	if o == nil {
		return nil
	}
	return o.PermittedEmailAddresses
}

func (o *NameConstraints) GetPermittedIPAddresses() []GeneralSubtreeIP {
	if o == nil {
		return nil
	}
	return o.PermittedIPAddresses
}

func (o *NameConstraints) GetPermittedNames() []string {
	if o == nil {
		return nil
	}
	return o.PermittedNames
}

func (o *NameConstraints) GetPermittedRegisteredIds() []string {
	if o == nil {
		return nil
	}
	return o.PermittedRegisteredIds
}

func (o *NameConstraints) GetPermittedUris() []string {
	if o == nil {
		return nil
	}
	return o.PermittedUris
}
