| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | package mq// MqClient - type for taking in an MQ client's datatype MqClient struct {	ID       string	Text     string	Password string	Networks []string}// ModifyClient - modifies an existing client's network rolesfunc ModifyClient(client *MqClient) error {	roles := []MqDynSecRole{		{			Rolename: HostGenericRole,			Priority: -1,		},		{			Rolename: getHostRoleName(client.ID),			Priority: -1,		},	}	for i := range client.Networks {		roles = append(roles, MqDynSecRole{			Rolename: client.Networks[i],			Priority: -1,		},		)	}	event := MqDynsecPayload{		Commands: []MqDynSecCmd{			{				Command:  ModifyClientCmd,				Username: client.ID,				Textname: client.Text,				Roles:    roles,				Groups:   make([]MqDynSecGroup, 0),			},		},	}	return publishEventToDynSecTopic(event)}// DeleteMqClient - removes a client from the DynSec systemfunc DeleteMqClient(hostID string) error {	deleteHostRole(hostID)	event := MqDynsecPayload{		Commands: []MqDynSecCmd{			{				Command:  DeleteClientCmd,				Username: hostID,			},		},	}	return publishEventToDynSecTopic(event)}// CreateMqClient - creates an MQ DynSec clientfunc CreateMqClient(client *MqClient) error {	err := createHostRole(client.ID)	if err != nil {		return err	}	roles := []MqDynSecRole{		{			Rolename: HostGenericRole,			Priority: -1,		},		{			Rolename: getHostRoleName(client.ID),			Priority: -1,		},	}	for i := range client.Networks {		roles = append(roles, MqDynSecRole{			Rolename: client.Networks[i],			Priority: -1,		},		)	}	event := MqDynsecPayload{		Commands: []MqDynSecCmd{			{				Command:  CreateClientCmd,				Username: client.ID,				Password: client.Password,				Textname: client.Text,				Roles:    roles,				Groups:   make([]MqDynSecGroup, 0),			},		},	}	return publishEventToDynSecTopic(event)}
 |