// SetCopyOptions sets the CopyOptions field's value.
425250
func (s *CopyCommand) SetCopyOptions(v string) *CopyCommand {
	s.CopyOptions = &v
	return s
}
335184
func (s *DescribeCopyProductStatusOutput) SetCopyProductStatus(v string) *DescribeCopyProductStatusOutput {
	s.CopyProductStatus = &v
	return s
}
845518
func (s *VideoParameters) SetCodecOptions(v map[string]*string) *VideoParameters {
	s.CodecOptions = v
	return s
}
96355
func (r *request) setWriteOptions(q *WriteOptions) {
	if q == nil {
		return
	}
	if q.Datacenter != "" {
		r.params.Set("dc", q.Datacenter)
	}
	if q.Token != "" {
		r.params.Set("token", q.Token)
	}
}
705996
func (s *SSL) SetOptions(options Options) Options {
	return Options(C.X_SSL_set_options(s.ssl, C.long(options)))
}
1167648
func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput {
	s.CopyObjectResult = v
	return s
}
254791
func (r *PURuntime) SetOptions(options OptionsType) {
	r.Lock()
	defer r.Unlock()

	r.options = &options
}
722805
func (s *AdvancedOptionsStatus) SetOptions(v map[string]*string) *AdvancedOptionsStatus {
	s.Options = v
	return s
}
1194341
func (s *ElasticsearchVersionStatus) SetOptions(v string) *ElasticsearchVersionStatus {
	s.Options = &v
	return s
}
942576
func (s *NodeToNodeEncryptionOptionsStatus) SetOptions(v *NodeToNodeEncryptionOptions) *NodeToNodeEncryptionOptionsStatus {
	s.Options = v
	return s
}
1350209
func (s *Schedule) SetCopyTags(v bool) *Schedule {
	s.CopyTags = &v
	return s
}
524316
func (s *ElasticsearchClusterConfigStatus) SetOptions(v *ElasticsearchClusterConfig) *ElasticsearchClusterConfigStatus {
	s.Options = v
	return s
}
92383
func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
	s.CopyTagsToSnapshot = &v
	return s
}
1256756
func (s *RedshiftDestinationUpdate) SetCopyCommand(v *CopyCommand) *RedshiftDestinationUpdate {
	s.CopyCommand = v
	return s
}
290822
func CopyWithOptions(from interface{}, to interface{}, options CopyOptions) error {
	if !isPointer(to) {
		return errors.New("To must be a pointer")
	}
	// Already check if is a pointer so should never get an error
	fromFields, _ := FieldsNames(from)
	for _, field := range fromFields {
		// Reflecting using FieldsNames so should never get an error
		v, _ := GetField(from, field)
		if !options.CopyZeroValues && IsZeroValue(v) {
			continue
		}
		err := SetField(to, field, v)
		if !options.IgnoreNotFoundFields && err != nil {
			return err
		}
	}
	return nil
}
671943
func (s *CreateElasticsearchDomainInput) SetVPCOptions(v *VPCOptions) *CreateElasticsearchDomainInput {
	s.VPCOptions = v
	return s
}
1148333
func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput {
	s.CopySourceIfMatch = &v
	return s
}