Struct: s3.PutObjectLegalHoldInput

import "../ibm-cos-sdk-go/service/s3"

Implemented Interfaces

s3crypto.Cipher, s3manager.ReadSeekerWriteTo, request.Validator, s3manager.WriterReadFrom

Structure Field Summary collapse

Service Operations collapse

Structure Field Details

Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

The bucket name containing the object that you want to place a legal hold on.

When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points (docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) in the Amazon S3 User Guide.

Bucket is a required field

ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`

Ignored by COS.

Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`

The key name for the object that you want to place a legal hold on.

Key is a required field

LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`

Container element for the Legal Hold configuration you want to apply to the specified object.

RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`

Ignored by COS.

VersionId *string `location:"querystring" locationName:"versionId" type:"string"`

The version ID of the object that you want to place a Legal Hold on.

_ struct{} `locationName:"PutObjectLegalHoldRequest" type:"structure" payload:"LegalHold"`

Method Details

func (s PutObjectLegalHoldInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as “sensitive” in the API will not be included in the string output. The member name will be present, but the value will be replaced with “sensitive”.



20448
20449
20450
// File 'service/s3/api.go', line 20448

func (s PutObjectLegalHoldInput) GoString() string { return s.String() }

func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput

SetBucket sets the Bucket field's value.



20475
20476
20477
20478
// File 'service/s3/api.go', line 20475

func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput { s.Bucket = &v return s }

func (s *PutObjectLegalHoldInput) SetExpectedBucketOwner(v string) *PutObjectLegalHoldInput

SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.



20488
20489
20490
20491
// File 'service/s3/api.go', line 20488

func (s *PutObjectLegalHoldInput) SetExpectedBucketOwner(v string) *PutObjectLegalHoldInput { s.ExpectedBucketOwner = &v return s }

func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput

SetKey sets the Key field's value.



20494
20495
20496
20497
// File 'service/s3/api.go', line 20494

func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput { s.Key = &v return s }

func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput

SetLegalHold sets the LegalHold field's value.



20500
20501
20502
20503
// File 'service/s3/api.go', line 20500

func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput

SetRequestPayer sets the RequestPayer field's value.



20506
20507
20508
20509
// File 'service/s3/api.go', line 20506

func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput { s.RequestPayer = &v return s }

func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput

SetVersionId sets the VersionId field's value.



20512
20513
20514
20515
// File 'service/s3/api.go', line 20512

func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput { s.VersionId = &v return s }

func (s PutObjectLegalHoldInput) String() string

String returns the string representation.

API parameter values that are decorated as “sensitive” in the API will not be included in the string output. The member name will be present, but the value will be replaced with “sensitive”.



20439
20440
20441
// File 'service/s3/api.go', line 20439

func (s PutObjectLegalHoldInput) String() string { return awsutil.Prettify(s) }

func (s *PutObjectLegalHoldInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.



20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
// File 'service/s3/api.go', line 20453

func (s *PutObjectLegalHoldInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Bucket != nil && len(*s.Bucket) < 1 { invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil }