@@ -22,23 +22,23 @@ type ComputerGroupListItem struct {
2222 IsSmart bool `xml:"is_smart,omitempty"`
2323}
2424
25- type ComputerGroup struct {
26- ID int `xml:"id"`
27- Name string `xml:"name"`
28- IsSmart bool `xml:"is_smart"`
29- Site Site `xml:"site"`
30- Criteria []ComputerGroupCriterion `xml:"criteria>criterion"`
31- CriteriaSize int `xml:"criteria>size"`
32- Computers []ComputerGroupComputerItem `xml:"computers>computer"`
33- ComputerSize int `xml:"computers>size"`
25+ type ResponseComputerGroup struct {
26+ ID int `xml:"id"`
27+ Name string `xml:"name"`
28+ IsSmart bool `xml:"is_smart"`
29+ Site ComputerGroupSite `xml:"site"`
30+ Criteria []CriterionContainer `xml:"criteria>criterion_container"`
31+ Computers []ComputerContainer `xml:"computers>computer_container"`
3432}
3533
36- type ComputerGroupRequest struct {
37- Name string `xml:"name"`
38- IsSmart bool `xml:"is_smart"`
39- Site ComputerGroupSite `xml:"site"`
40- Criteria []ComputerGroupCriterion `xml:"criteria>criterion"`
41- Computers []ComputerGroupComputerItem `xml:"computers>computer,omitempty"`
34+ type CriterionContainer struct {
35+ Size int `xml:"size"`
36+ Criterion ComputerGroupCriterion `xml:"criterion"`
37+ }
38+
39+ type ComputerContainer struct {
40+ Size int `xml:"size"`
41+ Computer ComputerGroupComputerItem `xml:"computer"`
4242}
4343
4444type ComputerGroupSite struct {
@@ -89,10 +89,10 @@ func (c *Client) GetComputerGroups() (*ComputerGroupsListResponse, error) {
8989}
9090
9191// GetComputerGroupByID retrieves a computer group by its ID.
92- func (c * Client ) GetComputerGroupByID (id int ) (* ComputerGroup , error ) {
92+ func (c * Client ) GetComputerGroupByID (id int ) (* ResponseComputerGroup , error ) {
9393 endpoint := fmt .Sprintf ("%s/id/%d" , uriComputerGroups , id )
9494
95- var group ComputerGroup
95+ var group ResponseComputerGroup
9696 resp , err := c .HTTP .DoRequest ("GET" , endpoint , nil , & group )
9797 if err != nil {
9898 return nil , fmt .Errorf ("failed to fetch Computer Group by ID: %v" , err )
@@ -106,10 +106,10 @@ func (c *Client) GetComputerGroupByID(id int) (*ComputerGroup, error) {
106106}
107107
108108// GetComputerGroupByName retrieves a computer group by its name.
109- func (c * Client ) GetComputerGroupByName (name string ) (* ComputerGroup , error ) {
109+ func (c * Client ) GetComputerGroupByName (name string ) (* ResponseComputerGroup , error ) {
110110 endpoint := fmt .Sprintf ("%s/name/%s" , uriComputerGroups , name )
111111
112- var group ComputerGroup
112+ var group ResponseComputerGroup
113113 resp , err := c .HTTP .DoRequest ("GET" , endpoint , nil , & group )
114114 if err != nil {
115115 return nil , fmt .Errorf ("failed to fetch Computer Group by name: %v" , err )
@@ -123,7 +123,7 @@ func (c *Client) GetComputerGroupByName(name string) (*ComputerGroup, error) {
123123}
124124
125125// CreateComputerGroup creates a new computer group.
126- func (c * Client ) CreateComputerGroup (group * ComputerGroupRequest ) (* ComputerGroup , error ) {
126+ func (c * Client ) CreateComputerGroup (group * ResponseComputerGroup ) (* ResponseComputerGroup , error ) {
127127 endpoint := fmt .Sprintf ("%s/id/0" , uriComputerGroups ) // Using ID 0 for creation as per the pattern
128128
129129 // Check if site is not provided and set default values
@@ -137,12 +137,12 @@ func (c *Client) CreateComputerGroup(group *ComputerGroupRequest) (*ComputerGrou
137137 // Wrap the group request with the desired XML name using an anonymous struct
138138 requestBody := struct {
139139 XMLName xml.Name `xml:"computer_group"`
140- * ComputerGroupRequest
140+ * ResponseComputerGroup
141141 }{
142- ComputerGroupRequest : group ,
142+ ResponseComputerGroup : group ,
143143 }
144144
145- var createdGroup ComputerGroup
145+ var createdGroup ResponseComputerGroup
146146 resp , err := c .HTTP .DoRequest ("POST" , endpoint , & requestBody , & createdGroup )
147147 if err != nil {
148148 return nil , fmt .Errorf ("failed to create Computer Group: %v" , err )
@@ -156,7 +156,7 @@ func (c *Client) CreateComputerGroup(group *ComputerGroupRequest) (*ComputerGrou
156156}
157157
158158// UpdateComputerGroupByID updates an existing computer group by its ID.
159- func (c * Client ) UpdateComputerGroupByID (id int , group * ComputerGroupRequest ) (* ComputerGroup , error ) {
159+ func (c * Client ) UpdateComputerGroupByID (id int , group * ResponseComputerGroup ) (* ResponseComputerGroup , error ) {
160160 endpoint := fmt .Sprintf ("%s/id/%d" , uriComputerGroups , id )
161161
162162 // Check if site is not provided and set default values
@@ -170,12 +170,12 @@ func (c *Client) UpdateComputerGroupByID(id int, group *ComputerGroupRequest) (*
170170 // Wrap the group request with the desired XML name using an anonymous struct
171171 requestBody := struct {
172172 XMLName xml.Name `xml:"computer_group"`
173- * ComputerGroupRequest
173+ * ResponseComputerGroup
174174 }{
175- ComputerGroupRequest : group ,
175+ ResponseComputerGroup : group ,
176176 }
177177
178- var updatedGroup ComputerGroup
178+ var updatedGroup ResponseComputerGroup
179179 resp , err := c .HTTP .DoRequest ("PUT" , endpoint , & requestBody , & updatedGroup )
180180 if err != nil {
181181 return nil , fmt .Errorf ("failed to update Computer Group by ID: %v" , err )
@@ -189,7 +189,7 @@ func (c *Client) UpdateComputerGroupByID(id int, group *ComputerGroupRequest) (*
189189}
190190
191191// UpdateComputerGroupByName updates a computer group by its name.
192- func (c * Client ) UpdateComputerGroupByName (name string , group * ComputerGroupRequest ) (* ComputerGroup , error ) {
192+ func (c * Client ) UpdateComputerGroupByName (name string , group * ResponseComputerGroup ) (* ResponseComputerGroup , error ) {
193193 endpoint := fmt .Sprintf ("%s/name/%s" , uriComputerGroups , name )
194194
195195 // Check if site is not provided and set default values
@@ -203,12 +203,12 @@ func (c *Client) UpdateComputerGroupByName(name string, group *ComputerGroupRequ
203203 // Wrap the group request with the desired XML name using an anonymous struct
204204 requestBody := struct {
205205 XMLName xml.Name `xml:"computer_group"`
206- * ComputerGroupRequest
206+ * ResponseComputerGroup
207207 }{
208- ComputerGroupRequest : group ,
208+ ResponseComputerGroup : group ,
209209 }
210210
211- var updatedGroup ComputerGroup
211+ var updatedGroup ResponseComputerGroup
212212 resp , err := c .HTTP .DoRequest ("PUT" , endpoint , & requestBody , & updatedGroup )
213213 if err != nil {
214214 return nil , fmt .Errorf ("failed to update Computer Group by name: %v" , err )
0 commit comments