Struct: s3.ProtectionConfiguration

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

DefaultRetention *BucketProtectionDefaultRetention `type:"structure" required:"true"`

Default retention period for an object, if a PUT of an object does not specify a retention period this value will be converted to seconds and used.

DefaultRetention is a required field

EnablePermanentRetention *bool `type:"boolean"`

Enable permanent retention for an object.

MaximumRetention *BucketProtectionMaximumRetention `type:"structure" required:"true"`

Maximum retention period for an object, if a PUT of an object specifies a longer retention period the PUT object will fail.

MaximumRetention is a required field

MinimumRetention *BucketProtectionMinimumRetention `type:"structure" required:"true"`

Minimum retention period for an object, if a PUT of an object specifies a shorter retention period the PUT object will fail.

MinimumRetention is a required field

Status *string `type:"string" required:"true" enum:"BucketProtectionStatus"`

Retention status of a bucket.

Status is a required field

_ struct{} `type:"structure"`

Method Details

func (s ProtectionConfiguration) 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”.



18445
18446
18447
// File 'service/s3/api.go', line 18445

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

func (s *ProtectionConfiguration) SetDefaultRetention(v *BucketProtectionDefaultRetention) *ProtectionConfiguration

SetDefaultRetention sets the DefaultRetention field's value.



18487
18488
18489
18490
// File 'service/s3/api.go', line 18487

func (s *ProtectionConfiguration) SetEnablePermanentRetention(v bool) *ProtectionConfiguration

SetEnablePermanentRetention sets the EnablePermanentRetention field's value.



18493
18494
18495
18496
// File 'service/s3/api.go', line 18493

func (s *ProtectionConfiguration) SetEnablePermanentRetention(v bool) *ProtectionConfiguration { s.EnablePermanentRetention = &v return s }

func (s *ProtectionConfiguration) SetMaximumRetention(v *BucketProtectionMaximumRetention) *ProtectionConfiguration

SetMaximumRetention sets the MaximumRetention field's value.



18499
18500
18501
18502
// File 'service/s3/api.go', line 18499

func (s *ProtectionConfiguration) SetMinimumRetention(v *BucketProtectionMinimumRetention) *ProtectionConfiguration

SetMinimumRetention sets the MinimumRetention field's value.



18505
18506
18507
18508
// File 'service/s3/api.go', line 18505

func (s *ProtectionConfiguration) SetStatus(v string) *ProtectionConfiguration

SetStatus sets the Status field's value.



18511
18512
18513
18514
// File 'service/s3/api.go', line 18511

func (s *ProtectionConfiguration) SetStatus(v string) *ProtectionConfiguration { s.Status = &v return s }

func (s ProtectionConfiguration) 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”.



18436
18437
18438
// File 'service/s3/api.go', line 18436

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

func (s *ProtectionConfiguration) Validate() error

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



18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
// File 'service/s3/api.go', line 18450

func (s *ProtectionConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ProtectionConfiguration"} if s.DefaultRetention == nil { invalidParams.Add(request.NewErrParamRequired("DefaultRetention")) } if s.MaximumRetention == nil { invalidParams.Add(request.NewErrParamRequired("MaximumRetention")) } if s.MinimumRetention == nil { invalidParams.Add(request.NewErrParamRequired("MinimumRetention")) } if s.Status == nil { invalidParams.Add(request.NewErrParamRequired("Status")) } if s.DefaultRetention != nil { if err := s.DefaultRetention.Validate(); err != nil { invalidParams.AddNested("DefaultRetention", err.(request.ErrInvalidParams)) } } if s.MaximumRetention != nil { if err := s.MaximumRetention.Validate(); err != nil { invalidParams.AddNested("MaximumRetention", err.(request.ErrInvalidParams)) } } if s.MinimumRetention != nil { if err := s.MinimumRetention.Validate(); err != nil { invalidParams.AddNested("MinimumRetention", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil }