// WithTags adds the tags to the find params
356904
func (o *FindParams) WithTags(tags []int32) *FindParams {
	o.SetTags(tags)
	return o
}
201182
func (s *DeviceDescription) SetTags(v map[string]*string) *DeviceDescription {
	s.Tags = v
	return s
}
116141
func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier {
	s.Tags = v
	return s
}
805101
func (c *statsClient) WithTags(tags ...string) stats.StatsClient {
	return &statsClient{
		client: c.client,
		tags:   unionStringSlice(c.tags, tags),
		logger: c.logger,
	}
}
785168
func (s *GetCoreDefinitionOutput) SetTags(v map[string]*string) *GetCoreDefinitionOutput {
	s.Tags = v
	return s
}
701013
func (s *Server) PublishWithTags(ctx context.Context, msg interface{}, tags query.Tagged) error {
	select {
	case s.cmds <- cmd{op: pub, msg: msg, tags: tags}:
		return nil
	case <-ctx.Done():
		return ctx.Err()
	}
}
1206710
func (s *Group) SetTags(v []*TagDescription) *Group {
	s.Tags = v
	return s
}
887027
func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
	s.Tags = v
	return s
}
690192
func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput {
	s.Tags = v
	return s
}
1098894
func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
	s.Tags = v
	return s
}
390749
func (s *CreateStreamInput) SetTags(v map[string]*string) *CreateStreamInput {
	s.Tags = v
	return s
}
1204890
func (s *ResourceShare) SetTags(v []*Tag) *ResourceShare {
	s.Tags = v
	return s
}
1081059
func (s *GetFunctionOutput) SetTags(v map[string]*string) *GetFunctionOutput {
	s.Tags = v
	return s
}
200217
func (s *User) SetTags(v []*Tag) *User {
	s.Tags = v
	return s
}
1006319
func (client *Client) AddTags(args *AddTagsArgs) error {
	response := AddTagsResponse{}
	err := client.Invoke("AddTags", args, &response)
	return err
}
363789
func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
	s.Tags = v
	return s
}
549964
func AllTags(next NextTagFunction) []*Tag {
	tags := make([]*Tag, 0)

	tag, _ := next()
	for *tag != NoneTag {
		tags = append(tags, tag)
		tag, _ = next()
	}

	return tags
}