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

package components

type Ipp struct {
	// The CUPS version, if any, specified in the list of attributes returned in a get-printer-attributes response or CUPS-get-printers response. Generally in the form 'x.y.z'.
	AttributeCupsVersion *string `json:"attribute_cups_version,omitempty"`
	// Each IPP version, if any, specified in the list of attributes returned in a get-printer-attributes response or CUPS-get-printers response. Always in the form 'x.y'.
	AttributeIppVersions []string `json:"attribute_ipp_versions,omitempty"`
	// Each printer URI, if any, specified in the list of attributes returned in a get-printer-attributes response or CUPS-get-printers response. Uses ipp(s) or http(s) scheme, followed by a hostname or IP, and then the path to a particular printer.
	AttributePrinterUris []string `json:"attribute_printer_uris,omitempty"`
	// All IPP attributes included in any contentful responses obtained. Each has a name, list of values (potentially only one), and a tag denoting how the value should be interpreted.
	Attributes []IppAttribute `json:"attributes,omitempty"`
	// The CUPS version, if any, specified in the Server header of an IPP get-attributes response.
	CupsVersion *string `json:"cups_version,omitempty"`
	// Major component of IPP version listed in the Server header of a response to an IPP get-printer-attributes request.
	MajorVersion *int `json:"major_version,omitempty"`
	// Minor component of IPP version listed in the Server header of a response to an IPP get-printer-attributes request.
	MinorVersion *int `json:"minor_version,omitempty"`
	// The specific IPP version returned in response to an IPP get-printer-attributes request. Always in the form 'IPP/x.y'
	VersionString *string `json:"version_string,omitempty"`
}

func (o *Ipp) GetAttributeCupsVersion() *string {
	if o == nil {
		return nil
	}
	return o.AttributeCupsVersion
}

func (o *Ipp) GetAttributeIppVersions() []string {
	if o == nil {
		return nil
	}
	return o.AttributeIppVersions
}

func (o *Ipp) GetAttributePrinterUris() []string {
	if o == nil {
		return nil
	}
	return o.AttributePrinterUris
}

func (o *Ipp) GetAttributes() []IppAttribute {
	if o == nil {
		return nil
	}
	return o.Attributes
}

func (o *Ipp) GetCupsVersion() *string {
	if o == nil {
		return nil
	}
	return o.CupsVersion
}

func (o *Ipp) GetMajorVersion() *int {
	if o == nil {
		return nil
	}
	return o.MajorVersion
}

func (o *Ipp) GetMinorVersion() *int {
	if o == nil {
		return nil
	}
	return o.MinorVersion
}

func (o *Ipp) GetVersionString() *string {
	if o == nil {
		return nil
	}
	return o.VersionString
}
