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”.



19134
19135
19136
// File 'service/s3/api.go', line 19134

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

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

SetDefaultRetention sets the DefaultRetention field’s value.



19176
19177
19178
19179
// File 'service/s3/api.go', line 19176

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

SetEnablePermanentRetention sets the EnablePermanentRetention field’s value.



19182
19183
19184
19185
// File 'service/s3/api.go', line 19182

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.



19188
19189
19190
19191
// File 'service/s3/api.go', line 19188

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

SetMinimumRetention sets the MinimumRetention field’s value.



19194
19195
19196
19197
// File 'service/s3/api.go', line 19194

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

SetStatus sets the Status field’s value.



19200
19201
19202
19203
// File 'service/s3/api.go', line 19200

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”.



19125
19126
19127
// File 'service/s3/api.go', line 19125

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.



19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
// File 'service/s3/api.go', line 19139

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 }