// SetGroupByKey sets the GroupByKey field's value.
504431
func (s *GetAggregateConfigRuleComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryInput {
	s.GroupByKey = &v
	return s
}
993382
func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
	s.GroupByAttribute = &v
	return s
}
1164417
func (s *GetGroupOutput) SetGroup(v *GroupType) *GetGroupOutput {
	s.Group = v
	return s
}
319352
func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig {
	s.GroupName = &v
	return s
}
524207
func (s *GetAssociatedRoleInput) SetGroupId(v string) *GetAssociatedRoleInput {
	s.GroupId = &v
	return s
}
1355302
func (s *Group) SetGroupId(v string) *Group {
	s.GroupId = &v
	return s
}
943440
func (s *NewDeviceMetadataType) SetDeviceGroupKey(v string) *NewDeviceMetadataType {
	s.DeviceGroupKey = &v
	return s
}
1308359
func (s *S3Tag) SetKey(v string) *S3Tag {
	s.Key = &v
	return s
}
914119
func (s *DisassociateRoleFromGroupInput) SetGroupId(v string) *DisassociateRoleFromGroupInput {
	s.GroupId = &v
	return s
}
128846
func (rb *route) SetGroupBy(groupBy sqlparser.GroupBy) error {
	rb.Select.(*sqlparser.Select).GroupBy = groupBy
	return nil
}
87097
func groupByKeys(entries interface{}, key string) ([]string, error) {
	keys, err := generalizedGroupByKey("groupByKeys", entries, key, func(groups map[string][]interface{}, value interface{}, v interface{}) {
		groups[value.(string)] = append(groups[value.(string)], v)
	})

	if err != nil {
		return nil, err
	}

	ret := []string{}
	for k := range keys {
		ret = append(ret, k)
	}
	return ret, nil
}
93673
func (s *DeleteIpGroupInput) SetGroupId(v string) *DeleteIpGroupInput {
	s.GroupId = &v
	return s
}
217437
func (s *ResetDeploymentsInput) SetGroupId(v string) *ResetDeploymentsInput {
	s.GroupId = &v
	return s
}
1298218
func (v *RadioMenuItem) SetGroup(group *glib.SList) {
	C.gtk_radio_menu_item_set_group(RADIO_MENU_ITEM(v), gslist(group))
}
932384
func (oa *orderedAggregate) SetGroupBy(groupBy sqlparser.GroupBy) error {
	colnum := -1
	for _, expr := range groupBy {
		switch node := expr.(type) {
		case *sqlparser.ColName:
			c := node.Metadata.(*column)
			if c.Origin() == oa {
				return fmt.Errorf("group by expression cannot reference an aggregate function: %v", sqlparser.String(node))
			}
			for i, rc := range oa.resultColumns {
				if rc.column == c {
					colnum = i
					break
				}
			}
			if colnum == -1 {
				return errors.New("unsupported: in scatter query: group by column must reference column in SELECT list")
			}
		case *sqlparser.SQLVal:
			num, err := ResultFromNumber(oa.resultColumns, node)
			if err != nil {
				return err
			}
			colnum = num
		default:
			return errors.New("unsupported: in scatter query: only simple references allowed")
		}
		oa.eaggr.Keys = append(oa.eaggr.Keys, colnum)
	}

	_ = oa.input.SetGroupBy(groupBy)
	return nil
}
1159945
func (s *GetGroupInput) SetGroupId(v string) *GetGroupInput {
	s.GroupId = &v
	return s
}
1279074
func (s *CreateGroupOutput) SetGroup(v *GroupType) *CreateGroupOutput {
	s.Group = v
	return s
}