// set the SelectObjectOutputSerialization struct using options passed in by client. If unspecified,
// default S3 API specified defaults
556296
func selectObjectOutputOpts(selOpts SelectObjectOpts, i minio.SelectObjectInputSerialization) minio.SelectObjectOutputSerialization {
	var isOK bool
	var recDelim, fldDelim, quoteChar, quoteEscChar, qf string

	o := minio.SelectObjectOutputSerialization{}
	if _, ok := selOpts.OutputSerOpts["json"]; ok {
		recDelim, isOK = selOpts.OutputSerOpts["json"][recordDelimiterType]
		if !isOK {
			recDelim = "\n"
		}
		o.JSON = &minio.JSONOutputOptions{RecordDelimiter: recDelim}
	}
	if _, ok := selOpts.OutputSerOpts["csv"]; ok {
		o.CSV = &minio.CSVOutputOptions{RecordDelimiter: defaultRecordDelimiter, FieldDelimiter: defaultFieldDelimiter}
		if recDelim, isOK = selOpts.OutputSerOpts["csv"][recordDelimiterType]; isOK {
			o.CSV.RecordDelimiter = recDelim
		}

		if fldDelim, isOK = selOpts.OutputSerOpts["csv"][fieldDelimiterType]; isOK {
			o.CSV.FieldDelimiter = fldDelim
		}
		if quoteChar, isOK = selOpts.OutputSerOpts["csv"][quoteCharacterType]; isOK {
			o.CSV.QuoteCharacter = quoteChar
		}

		if quoteEscChar, isOK = selOpts.OutputSerOpts["csv"][quoteEscapeCharacterType]; isOK {
			o.CSV.QuoteEscapeCharacter = quoteEscChar
		}
		if qf, isOK = selOpts.OutputSerOpts["csv"][quoteFieldType]; isOK {
			o.CSV.QuoteFields = minio.CSVQuoteFields(qf)
		}
	}
	// default to CSV output if options left unspecified
	if o.CSV == nil && o.JSON == nil {
		if i.JSON != nil {
			o.JSON = &minio.JSONOutputOptions{RecordDelimiter: "\n"}
		} else {
			o.CSV = &minio.CSVOutputOptions{RecordDelimiter: defaultRecordDelimiter, FieldDelimiter: defaultFieldDelimiter}
		}
	}
	return o
}
172981
func (ms *Module) SetOutputValue(name string, value cty.Value, sensitive bool) *OutputValue {
	os := &OutputValue{
		Value:     value,
		Sensitive: sensitive,
	}
	ms.OutputValues[name] = os
	return os
}
1295961
func (s *SyncState) SetOutputValue(addr addrs.AbsOutputValue, value cty.Value, sensitive bool) {
	s.lock.Lock()
	defer s.lock.Unlock()

	ms := s.state.EnsureModule(addr.Module)
	ms.SetOutputValue(addr.OutputValue.Name, value, sensitive)
}
178341
func (s *Bucket) PutObject(objectKey string, input *PutObjectInput) (*PutObjectOutput, error) {
	r, x, err := s.PutObjectRequest(objectKey, input)

	if err != nil {
		return x, err
	}

	err = r.Send()
	if err != nil {
		return nil, err
	}

	requestID := r.HTTPResponse.Header.Get(http.CanonicalHeaderKey("X-QS-Request-ID"))
	x.RequestID = &requestID

	return x, err
}
1335267
func (b *Bucket) PutObject(key string, rs io.ReadSeeker, opts ...option.PutObjectInput) (*s3.PutObjectOutput, error) {
	req := &s3.PutObjectInput{
		Bucket: b.Name,
		Key:    aws.String(key),
		Body:   rs,
	}

	for _, f := range opts {
		f(req)
	}

	return b.S3.PutObject(req)
}
447274
func (c Client) StatObject(bucketName, objectName string, opts StatObjectOptions) (ObjectInfo, error) {
	// Input validation.
	if err := s3utils.CheckValidBucketName(bucketName); err != nil {
		return ObjectInfo{}, err
	}
	if err := s3utils.CheckValidObjectName(objectName); err != nil {
		return ObjectInfo{}, err
	}
	return c.statObject(context.Background(), bucketName, objectName, opts)
}
302132
func (s *S3Location) SetObjectVersion(v string) *S3Location {
	s.ObjectVersion = &v
	return s
}
869685
func (s *Command) SetOutputS3Region(v string) *Command {
	s.OutputS3Region = &v
	return s
}
443859
func (s *RecordOutput) SetOutputValue(v string) *RecordOutput {
	s.OutputValue = &v
	return s
}
300111
func (s *SelectQuery) SelectOption(option string) *SelectQuery {
	s.selectOption = option
	return s
}
1036467
func (a *GetBoxModelArgs) SetObjectID(objectID runtime.RemoteObjectID) *GetBoxModelArgs {
	a.ObjectID = &objectID
	return a
}
1223770
func (a *ResolveNodeArgs) SetObjectGroup(objectGroup string) *ResolveNodeArgs {
	a.ObjectGroup = &objectGroup
	return a
}
102195
func (s *Command) SetOutputS3KeyPrefix(v string) *Command {
	s.OutputS3KeyPrefix = &v
	return s
}
967518
func (a *CallFunctionOnArgs) SetObjectGroup(objectGroup string) *CallFunctionOnArgs {
	a.ObjectGroup = &objectGroup
	return a
}
1074023
func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters {
	s.OutputS3KeyPrefix = &v
	return s
}
458099
func (c *EncryptionClient) PutObject(input *s3.PutObjectInput) (*s3.PutObjectOutput, error) {
	req, out := c.PutObjectRequest(input)
	return out, req.Send()
}
1361635
func (b *Bucket) GetObjectRequest(key string, opts ...option.GetObjectInput) (*request.Request, *s3.GetObjectOutput) {
	req := &s3.GetObjectInput{
		Bucket: b.Name,
		Key:    aws.String(key),
	}

	for _, f := range opts {
		f(req)
	}

	return b.S3.GetObjectRequest(req)
}