func NewSystemToCreateBasedInHostnameToDestinationPort(system SystemBasedInHostname, destinationPort int) *SystemToCreateBasedInHostnameToDestinationPort {
	return &SystemToCreateBasedInHostnameToDestinationPort{System: system, DestinationPort: destinationPort}
}
NewSystemToCreateBasedInHostnameToDestinationPort allows to create a SystemToCreateBasedInHostnameToDestinationPort type
struct providing all the information for it
package papertrail
import "time"
type Options struct {
	GroupName string
	SystemWildcard string
	DestinationPort int
	DestinationId int
	IpAddress string
	SystemType string
	Search string
	Query string
	Action string
	DeleteAllSearches bool
	DeleteOnlySearches bool
	DeleteAllSystems bool
	DeleteOnlySystems bool
	StartDate string
	EndDate string
	Path string
}
type Self struct {
	Href string `json:"href"`
}
type HTML struct {
	Href string `json:"href"`
}
type Search struct {
	Href string `json:"href"`
}
type Links struct {
	Self   `json:"self"`
	HTML   `json:"html"`
	Search `json:"search"`
}
type Syslog struct {
	Hostname    string      `json:"hostname"`
	Port        int         `json:"port"`
	Description interface{} `json:"description"`
}
type Destination struct {
	ID     int         `json:"id"`
	Filter interface{} `json:"filter"`
	Syslog Syslog      `json:"syslog"`
}
type System struct {
	ID          int64     `json:"id"`
	Name        string    `json:"name"`
	LastEventAt time.Time `json:"last_event_at"`
	AutoDelete  bool      `json:"auto_delete"`
	Links       `json:"_links"`
	IPAddress   interface{} `json:"ip_address"`
	Hostname    string      `json:"hostname"`
	Syslog      `json:"syslog"`
}
func NewSystem(ID int64, name string, lastEventAt time.Time, autoDelete bool, links Links, IPAddress interface{}, hostname string, syslog Syslog) *System {
	return &System{ID: ID, Name: name, LastEventAt: lastEventAt, AutoDelete: autoDelete, Links: links, IPAddress: IPAddress, Hostname: hostname, Syslog: syslog}
}
type GroupCreateObject struct {
	Name           string `json:"name"`
	SystemWildcard string `json:"system_wildcard"`
}
type GroupCreationObject struct {
	Group GroupCreateObject `json:"group"`
}
type GroupObject struct {
	ID             int    `json:"id"`
	Name           string `json:"name"`
	SystemWildcard string `json:"system_wildcard"`
	Links          `json:"_links"`
	Systems        []System `json:"systems"`
}
func NewGroupObject(ID int, name string, systemWildcard string, links Links, systems []System) *GroupObject {
	return &GroupObject{ID: ID, Name: name, SystemWildcard: systemWildcard, Links: links, Systems: systems}
}
type SearchToCreate struct {
	Name    string `json:"name"`
	Query   string `json:"query"`
	GroupID int    `json:"group_id"`
}
type SearchToCreateObject struct {
	SearchToCreate `json:"search"`
}
type SearchHref struct {
	Href string `json:"href"`
}
type HTMLSearchHref struct {
	Href string `json:"href"`
}
type SearchGroupLinks struct {
	Self       Self           `json:"self"`
	HTML       HTML           `json:"html"`
	Search     SearchHref     `json:"search"`
	HTMLSearch HTMLSearchHref `json:"html_search"`
}
type SearchGroup struct {
	ID    int              `json:"id"`
	Name  string           `json:"name"`
	Links SearchGroupLinks `json:"_links"`
}
type SearchObject struct {
	ID    int              `json:"id"`
	Name  string           `json:"name"`
	Query string           `json:"query"`
	Group SearchGroup      `json:"group"`
	Links SearchGroupLinks `json:"_links"`
}
func NewSearchObject(ID int, name string, query string, group SearchGroup, links SearchGroupLinks) *SearchObject {
	return &SearchObject{ID: ID, Name: name, Query: query, Group: group, Links: links}
}
type ApiResponse struct {
	Body       []byte
	StatusCode int
	err        error
}
type Item struct {
	ID       int
	ItemType string
	ItemName string
	Created  bool
	Deleted  bool
}
func NewItem(ID int, itemType string, itemName string, created bool, deleted bool) *Item {
	return &Item{ID: ID, ItemType: itemType, ItemName: itemName, Created: created, Deleted: deleted}
}
type SystemBasedInHostname struct {
	Name     string `json:"name"`
	Hostname string `json:"hostname"`
}
type SystemToCreateBasedInHostnameToDestinationID struct {
	System        SystemBasedInHostname `json:"system"`
	DestinationID int                   `json:"destination_id"`
}
func NewSystemToCreateBasedInHostnameToDestinationID(system SystemBasedInHostname, destinationID int) *SystemToCreateBasedInHostnameToDestinationID {
	return &SystemToCreateBasedInHostnameToDestinationID{System: system, DestinationID: destinationID}
}
type SystemToCreateBasedInHostnameToDestinationPort struct {
	System          SystemBasedInHostname `json:"system"`
	DestinationPort int                   `json:"destination_port"`
}