1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package s3 4 5import ( 6 "bytes" 7 "fmt" 8 "io" 9 "sync" 10 "sync/atomic" 11 "time" 12 13 "github.com/aws/aws-sdk-go/aws" 14 "github.com/aws/aws-sdk-go/aws/awserr" 15 "github.com/aws/aws-sdk-go/aws/awsutil" 16 "github.com/aws/aws-sdk-go/aws/client" 17 "github.com/aws/aws-sdk-go/aws/request" 18 "github.com/aws/aws-sdk-go/private/protocol" 19 "github.com/aws/aws-sdk-go/private/protocol/eventstream" 20 "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi" 21 "github.com/aws/aws-sdk-go/private/protocol/rest" 22 "github.com/aws/aws-sdk-go/private/protocol/restxml" 23) 24 25const opAbortMultipartUpload = "AbortMultipartUpload" 26 27// AbortMultipartUploadRequest generates a "aws/request.Request" representing the 28// client's request for the AbortMultipartUpload operation. The "output" return 29// value will be populated with the request's response once the request completes 30// successfully. 31// 32// Use "Send" method on the returned Request to send the API call to the service. 33// the "output" return value is not valid until after Send returns without error. 34// 35// See AbortMultipartUpload for more information on using the AbortMultipartUpload 36// API call, and error handling. 37// 38// This method is useful when you want to inject custom logic or configuration 39// into the SDK's request lifecycle. Such as custom headers, or retry logic. 40// 41// 42// // Example sending a request using the AbortMultipartUploadRequest method. 43// req, resp := client.AbortMultipartUploadRequest(params) 44// 45// err := req.Send() 46// if err == nil { // resp is now filled 47// fmt.Println(resp) 48// } 49// 50// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload 51func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { 52 op := &request.Operation{ 53 Name: opAbortMultipartUpload, 54 HTTPMethod: "DELETE", 55 HTTPPath: "/{Bucket}/{Key+}", 56 } 57 58 if input == nil { 59 input = &AbortMultipartUploadInput{} 60 } 61 62 output = &AbortMultipartUploadOutput{} 63 req = c.newRequest(op, input, output) 64 return 65} 66 67// AbortMultipartUpload API operation for Amazon Simple Storage Service. 68// 69// Aborts a multipart upload. 70// 71// To verify that all parts have been removed, so you don't get charged for 72// the part storage, you should call the List Parts operation and ensure the 73// parts list is empty. 74// 75// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 76// with awserr.Error's Code and Message methods to get detailed information about 77// the error. 78// 79// See the AWS API reference guide for Amazon Simple Storage Service's 80// API operation AbortMultipartUpload for usage and error information. 81// 82// Returned Error Codes: 83// * ErrCodeNoSuchUpload "NoSuchUpload" 84// The specified multipart upload does not exist. 85// 86// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload 87func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { 88 req, out := c.AbortMultipartUploadRequest(input) 89 return out, req.Send() 90} 91 92// AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of 93// the ability to pass a context and additional request options. 94// 95// See AbortMultipartUpload for details on how to use this API operation. 96// 97// The context must be non-nil and will be used for request cancellation. If 98// the context is nil a panic will occur. In the future the SDK may create 99// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 100// for more information on using Contexts. 101func (c *S3) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput, opts ...request.Option) (*AbortMultipartUploadOutput, error) { 102 req, out := c.AbortMultipartUploadRequest(input) 103 req.SetContext(ctx) 104 req.ApplyOptions(opts...) 105 return out, req.Send() 106} 107 108const opCompleteMultipartUpload = "CompleteMultipartUpload" 109 110// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the 111// client's request for the CompleteMultipartUpload operation. The "output" return 112// value will be populated with the request's response once the request completes 113// successfully. 114// 115// Use "Send" method on the returned Request to send the API call to the service. 116// the "output" return value is not valid until after Send returns without error. 117// 118// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload 119// API call, and error handling. 120// 121// This method is useful when you want to inject custom logic or configuration 122// into the SDK's request lifecycle. Such as custom headers, or retry logic. 123// 124// 125// // Example sending a request using the CompleteMultipartUploadRequest method. 126// req, resp := client.CompleteMultipartUploadRequest(params) 127// 128// err := req.Send() 129// if err == nil { // resp is now filled 130// fmt.Println(resp) 131// } 132// 133// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload 134func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) { 135 op := &request.Operation{ 136 Name: opCompleteMultipartUpload, 137 HTTPMethod: "POST", 138 HTTPPath: "/{Bucket}/{Key+}", 139 } 140 141 if input == nil { 142 input = &CompleteMultipartUploadInput{} 143 } 144 145 output = &CompleteMultipartUploadOutput{} 146 req = c.newRequest(op, input, output) 147 return 148} 149 150// CompleteMultipartUpload API operation for Amazon Simple Storage Service. 151// 152// Completes a multipart upload by assembling previously uploaded parts. 153// 154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 155// with awserr.Error's Code and Message methods to get detailed information about 156// the error. 157// 158// See the AWS API reference guide for Amazon Simple Storage Service's 159// API operation CompleteMultipartUpload for usage and error information. 160// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload 161func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) { 162 req, out := c.CompleteMultipartUploadRequest(input) 163 return out, req.Send() 164} 165 166// CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of 167// the ability to pass a context and additional request options. 168// 169// See CompleteMultipartUpload for details on how to use this API operation. 170// 171// The context must be non-nil and will be used for request cancellation. If 172// the context is nil a panic will occur. In the future the SDK may create 173// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 174// for more information on using Contexts. 175func (c *S3) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput, opts ...request.Option) (*CompleteMultipartUploadOutput, error) { 176 req, out := c.CompleteMultipartUploadRequest(input) 177 req.SetContext(ctx) 178 req.ApplyOptions(opts...) 179 return out, req.Send() 180} 181 182const opCopyObject = "CopyObject" 183 184// CopyObjectRequest generates a "aws/request.Request" representing the 185// client's request for the CopyObject operation. The "output" return 186// value will be populated with the request's response once the request completes 187// successfully. 188// 189// Use "Send" method on the returned Request to send the API call to the service. 190// the "output" return value is not valid until after Send returns without error. 191// 192// See CopyObject for more information on using the CopyObject 193// API call, and error handling. 194// 195// This method is useful when you want to inject custom logic or configuration 196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 197// 198// 199// // Example sending a request using the CopyObjectRequest method. 200// req, resp := client.CopyObjectRequest(params) 201// 202// err := req.Send() 203// if err == nil { // resp is now filled 204// fmt.Println(resp) 205// } 206// 207// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject 208func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) { 209 op := &request.Operation{ 210 Name: opCopyObject, 211 HTTPMethod: "PUT", 212 HTTPPath: "/{Bucket}/{Key+}", 213 } 214 215 if input == nil { 216 input = &CopyObjectInput{} 217 } 218 219 output = &CopyObjectOutput{} 220 req = c.newRequest(op, input, output) 221 return 222} 223 224// CopyObject API operation for Amazon Simple Storage Service. 225// 226// Creates a copy of an object that is already stored in Amazon S3. 227// 228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 229// with awserr.Error's Code and Message methods to get detailed information about 230// the error. 231// 232// See the AWS API reference guide for Amazon Simple Storage Service's 233// API operation CopyObject for usage and error information. 234// 235// Returned Error Codes: 236// * ErrCodeObjectNotInActiveTierError "ObjectNotInActiveTierError" 237// The source object of the COPY operation is not in the active tier and is 238// only stored in Amazon Glacier. 239// 240// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject 241func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) { 242 req, out := c.CopyObjectRequest(input) 243 return out, req.Send() 244} 245 246// CopyObjectWithContext is the same as CopyObject with the addition of 247// the ability to pass a context and additional request options. 248// 249// See CopyObject for details on how to use this API operation. 250// 251// The context must be non-nil and will be used for request cancellation. If 252// the context is nil a panic will occur. In the future the SDK may create 253// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 254// for more information on using Contexts. 255func (c *S3) CopyObjectWithContext(ctx aws.Context, input *CopyObjectInput, opts ...request.Option) (*CopyObjectOutput, error) { 256 req, out := c.CopyObjectRequest(input) 257 req.SetContext(ctx) 258 req.ApplyOptions(opts...) 259 return out, req.Send() 260} 261 262const opCreateBucket = "CreateBucket" 263 264// CreateBucketRequest generates a "aws/request.Request" representing the 265// client's request for the CreateBucket operation. The "output" return 266// value will be populated with the request's response once the request completes 267// successfully. 268// 269// Use "Send" method on the returned Request to send the API call to the service. 270// the "output" return value is not valid until after Send returns without error. 271// 272// See CreateBucket for more information on using the CreateBucket 273// API call, and error handling. 274// 275// This method is useful when you want to inject custom logic or configuration 276// into the SDK's request lifecycle. Such as custom headers, or retry logic. 277// 278// 279// // Example sending a request using the CreateBucketRequest method. 280// req, resp := client.CreateBucketRequest(params) 281// 282// err := req.Send() 283// if err == nil { // resp is now filled 284// fmt.Println(resp) 285// } 286// 287// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket 288func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { 289 op := &request.Operation{ 290 Name: opCreateBucket, 291 HTTPMethod: "PUT", 292 HTTPPath: "/{Bucket}", 293 } 294 295 if input == nil { 296 input = &CreateBucketInput{} 297 } 298 299 output = &CreateBucketOutput{} 300 req = c.newRequest(op, input, output) 301 return 302} 303 304// CreateBucket API operation for Amazon Simple Storage Service. 305// 306// Creates a new bucket. 307// 308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 309// with awserr.Error's Code and Message methods to get detailed information about 310// the error. 311// 312// See the AWS API reference guide for Amazon Simple Storage Service's 313// API operation CreateBucket for usage and error information. 314// 315// Returned Error Codes: 316// * ErrCodeBucketAlreadyExists "BucketAlreadyExists" 317// The requested bucket name is not available. The bucket namespace is shared 318// by all users of the system. Please select a different name and try again. 319// 320// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou" 321// 322// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket 323func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { 324 req, out := c.CreateBucketRequest(input) 325 return out, req.Send() 326} 327 328// CreateBucketWithContext is the same as CreateBucket with the addition of 329// the ability to pass a context and additional request options. 330// 331// See CreateBucket for details on how to use this API operation. 332// 333// The context must be non-nil and will be used for request cancellation. If 334// the context is nil a panic will occur. In the future the SDK may create 335// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 336// for more information on using Contexts. 337func (c *S3) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) { 338 req, out := c.CreateBucketRequest(input) 339 req.SetContext(ctx) 340 req.ApplyOptions(opts...) 341 return out, req.Send() 342} 343 344const opCreateMultipartUpload = "CreateMultipartUpload" 345 346// CreateMultipartUploadRequest generates a "aws/request.Request" representing the 347// client's request for the CreateMultipartUpload operation. The "output" return 348// value will be populated with the request's response once the request completes 349// successfully. 350// 351// Use "Send" method on the returned Request to send the API call to the service. 352// the "output" return value is not valid until after Send returns without error. 353// 354// See CreateMultipartUpload for more information on using the CreateMultipartUpload 355// API call, and error handling. 356// 357// This method is useful when you want to inject custom logic or configuration 358// into the SDK's request lifecycle. Such as custom headers, or retry logic. 359// 360// 361// // Example sending a request using the CreateMultipartUploadRequest method. 362// req, resp := client.CreateMultipartUploadRequest(params) 363// 364// err := req.Send() 365// if err == nil { // resp is now filled 366// fmt.Println(resp) 367// } 368// 369// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload 370func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) { 371 op := &request.Operation{ 372 Name: opCreateMultipartUpload, 373 HTTPMethod: "POST", 374 HTTPPath: "/{Bucket}/{Key+}?uploads", 375 } 376 377 if input == nil { 378 input = &CreateMultipartUploadInput{} 379 } 380 381 output = &CreateMultipartUploadOutput{} 382 req = c.newRequest(op, input, output) 383 return 384} 385 386// CreateMultipartUpload API operation for Amazon Simple Storage Service. 387// 388// Initiates a multipart upload and returns an upload ID. 389// 390// Note: After you initiate multipart upload and upload one or more parts, you 391// must either complete or abort multipart upload in order to stop getting charged 392// for storage of the uploaded parts. Only after you either complete or abort 393// multipart upload, Amazon S3 frees up the parts storage and stops charging 394// you for the parts storage. 395// 396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 397// with awserr.Error's Code and Message methods to get detailed information about 398// the error. 399// 400// See the AWS API reference guide for Amazon Simple Storage Service's 401// API operation CreateMultipartUpload for usage and error information. 402// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload 403func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) { 404 req, out := c.CreateMultipartUploadRequest(input) 405 return out, req.Send() 406} 407 408// CreateMultipartUploadWithContext is the same as CreateMultipartUpload with the addition of 409// the ability to pass a context and additional request options. 410// 411// See CreateMultipartUpload for details on how to use this API operation. 412// 413// The context must be non-nil and will be used for request cancellation. If 414// the context is nil a panic will occur. In the future the SDK may create 415// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 416// for more information on using Contexts. 417func (c *S3) CreateMultipartUploadWithContext(ctx aws.Context, input *CreateMultipartUploadInput, opts ...request.Option) (*CreateMultipartUploadOutput, error) { 418 req, out := c.CreateMultipartUploadRequest(input) 419 req.SetContext(ctx) 420 req.ApplyOptions(opts...) 421 return out, req.Send() 422} 423 424const opDeleteBucket = "DeleteBucket" 425 426// DeleteBucketRequest generates a "aws/request.Request" representing the 427// client's request for the DeleteBucket operation. The "output" return 428// value will be populated with the request's response once the request completes 429// successfully. 430// 431// Use "Send" method on the returned Request to send the API call to the service. 432// the "output" return value is not valid until after Send returns without error. 433// 434// See DeleteBucket for more information on using the DeleteBucket 435// API call, and error handling. 436// 437// This method is useful when you want to inject custom logic or configuration 438// into the SDK's request lifecycle. Such as custom headers, or retry logic. 439// 440// 441// // Example sending a request using the DeleteBucketRequest method. 442// req, resp := client.DeleteBucketRequest(params) 443// 444// err := req.Send() 445// if err == nil { // resp is now filled 446// fmt.Println(resp) 447// } 448// 449// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket 450func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { 451 op := &request.Operation{ 452 Name: opDeleteBucket, 453 HTTPMethod: "DELETE", 454 HTTPPath: "/{Bucket}", 455 } 456 457 if input == nil { 458 input = &DeleteBucketInput{} 459 } 460 461 output = &DeleteBucketOutput{} 462 req = c.newRequest(op, input, output) 463 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 464 return 465} 466 467// DeleteBucket API operation for Amazon Simple Storage Service. 468// 469// Deletes the bucket. All objects (including all object versions and Delete 470// Markers) in the bucket must be deleted before the bucket itself can be deleted. 471// 472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 473// with awserr.Error's Code and Message methods to get detailed information about 474// the error. 475// 476// See the AWS API reference guide for Amazon Simple Storage Service's 477// API operation DeleteBucket for usage and error information. 478// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket 479func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 480 req, out := c.DeleteBucketRequest(input) 481 return out, req.Send() 482} 483 484// DeleteBucketWithContext is the same as DeleteBucket with the addition of 485// the ability to pass a context and additional request options. 486// 487// See DeleteBucket for details on how to use this API operation. 488// 489// The context must be non-nil and will be used for request cancellation. If 490// the context is nil a panic will occur. In the future the SDK may create 491// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 492// for more information on using Contexts. 493func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) { 494 req, out := c.DeleteBucketRequest(input) 495 req.SetContext(ctx) 496 req.ApplyOptions(opts...) 497 return out, req.Send() 498} 499 500const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration" 501 502// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 503// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return 504// value will be populated with the request's response once the request completes 505// successfully. 506// 507// Use "Send" method on the returned Request to send the API call to the service. 508// the "output" return value is not valid until after Send returns without error. 509// 510// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration 511// API call, and error handling. 512// 513// This method is useful when you want to inject custom logic or configuration 514// into the SDK's request lifecycle. Such as custom headers, or retry logic. 515// 516// 517// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method. 518// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params) 519// 520// err := req.Send() 521// if err == nil { // resp is now filled 522// fmt.Println(resp) 523// } 524// 525// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 526func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) { 527 op := &request.Operation{ 528 Name: opDeleteBucketAnalyticsConfiguration, 529 HTTPMethod: "DELETE", 530 HTTPPath: "/{Bucket}?analytics", 531 } 532 533 if input == nil { 534 input = &DeleteBucketAnalyticsConfigurationInput{} 535 } 536 537 output = &DeleteBucketAnalyticsConfigurationOutput{} 538 req = c.newRequest(op, input, output) 539 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 540 return 541} 542 543// DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 544// 545// Deletes an analytics configuration for the bucket (specified by the analytics 546// configuration ID). 547// 548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 549// with awserr.Error's Code and Message methods to get detailed information about 550// the error. 551// 552// See the AWS API reference guide for Amazon Simple Storage Service's 553// API operation DeleteBucketAnalyticsConfiguration for usage and error information. 554// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 555func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) { 556 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input) 557 return out, req.Send() 558} 559 560// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of 561// the ability to pass a context and additional request options. 562// 563// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation. 564// 565// The context must be non-nil and will be used for request cancellation. If 566// the context is nil a panic will occur. In the future the SDK may create 567// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 568// for more information on using Contexts. 569func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) { 570 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input) 571 req.SetContext(ctx) 572 req.ApplyOptions(opts...) 573 return out, req.Send() 574} 575 576const opDeleteBucketCors = "DeleteBucketCors" 577 578// DeleteBucketCorsRequest generates a "aws/request.Request" representing the 579// client's request for the DeleteBucketCors operation. The "output" return 580// value will be populated with the request's response once the request completes 581// successfully. 582// 583// Use "Send" method on the returned Request to send the API call to the service. 584// the "output" return value is not valid until after Send returns without error. 585// 586// See DeleteBucketCors for more information on using the DeleteBucketCors 587// API call, and error handling. 588// 589// This method is useful when you want to inject custom logic or configuration 590// into the SDK's request lifecycle. Such as custom headers, or retry logic. 591// 592// 593// // Example sending a request using the DeleteBucketCorsRequest method. 594// req, resp := client.DeleteBucketCorsRequest(params) 595// 596// err := req.Send() 597// if err == nil { // resp is now filled 598// fmt.Println(resp) 599// } 600// 601// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 602func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) { 603 op := &request.Operation{ 604 Name: opDeleteBucketCors, 605 HTTPMethod: "DELETE", 606 HTTPPath: "/{Bucket}?cors", 607 } 608 609 if input == nil { 610 input = &DeleteBucketCorsInput{} 611 } 612 613 output = &DeleteBucketCorsOutput{} 614 req = c.newRequest(op, input, output) 615 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 616 return 617} 618 619// DeleteBucketCors API operation for Amazon Simple Storage Service. 620// 621// Deletes the CORS configuration information set for the bucket. 622// 623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 624// with awserr.Error's Code and Message methods to get detailed information about 625// the error. 626// 627// See the AWS API reference guide for Amazon Simple Storage Service's 628// API operation DeleteBucketCors for usage and error information. 629// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 630func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) { 631 req, out := c.DeleteBucketCorsRequest(input) 632 return out, req.Send() 633} 634 635// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of 636// the ability to pass a context and additional request options. 637// 638// See DeleteBucketCors for details on how to use this API operation. 639// 640// The context must be non-nil and will be used for request cancellation. If 641// the context is nil a panic will occur. In the future the SDK may create 642// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 643// for more information on using Contexts. 644func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) { 645 req, out := c.DeleteBucketCorsRequest(input) 646 req.SetContext(ctx) 647 req.ApplyOptions(opts...) 648 return out, req.Send() 649} 650 651const opDeleteBucketEncryption = "DeleteBucketEncryption" 652 653// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the 654// client's request for the DeleteBucketEncryption operation. The "output" return 655// value will be populated with the request's response once the request completes 656// successfully. 657// 658// Use "Send" method on the returned Request to send the API call to the service. 659// the "output" return value is not valid until after Send returns without error. 660// 661// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption 662// API call, and error handling. 663// 664// This method is useful when you want to inject custom logic or configuration 665// into the SDK's request lifecycle. Such as custom headers, or retry logic. 666// 667// 668// // Example sending a request using the DeleteBucketEncryptionRequest method. 669// req, resp := client.DeleteBucketEncryptionRequest(params) 670// 671// err := req.Send() 672// if err == nil { // resp is now filled 673// fmt.Println(resp) 674// } 675// 676// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption 677func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) { 678 op := &request.Operation{ 679 Name: opDeleteBucketEncryption, 680 HTTPMethod: "DELETE", 681 HTTPPath: "/{Bucket}?encryption", 682 } 683 684 if input == nil { 685 input = &DeleteBucketEncryptionInput{} 686 } 687 688 output = &DeleteBucketEncryptionOutput{} 689 req = c.newRequest(op, input, output) 690 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 691 return 692} 693 694// DeleteBucketEncryption API operation for Amazon Simple Storage Service. 695// 696// Deletes the server-side encryption configuration from the bucket. 697// 698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 699// with awserr.Error's Code and Message methods to get detailed information about 700// the error. 701// 702// See the AWS API reference guide for Amazon Simple Storage Service's 703// API operation DeleteBucketEncryption for usage and error information. 704// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption 705func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) { 706 req, out := c.DeleteBucketEncryptionRequest(input) 707 return out, req.Send() 708} 709 710// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of 711// the ability to pass a context and additional request options. 712// 713// See DeleteBucketEncryption for details on how to use this API operation. 714// 715// The context must be non-nil and will be used for request cancellation. If 716// the context is nil a panic will occur. In the future the SDK may create 717// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 718// for more information on using Contexts. 719func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) { 720 req, out := c.DeleteBucketEncryptionRequest(input) 721 req.SetContext(ctx) 722 req.ApplyOptions(opts...) 723 return out, req.Send() 724} 725 726const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration" 727 728// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 729// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return 730// value will be populated with the request's response once the request completes 731// successfully. 732// 733// Use "Send" method on the returned Request to send the API call to the service. 734// the "output" return value is not valid until after Send returns without error. 735// 736// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration 737// API call, and error handling. 738// 739// This method is useful when you want to inject custom logic or configuration 740// into the SDK's request lifecycle. Such as custom headers, or retry logic. 741// 742// 743// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method. 744// req, resp := client.DeleteBucketInventoryConfigurationRequest(params) 745// 746// err := req.Send() 747// if err == nil { // resp is now filled 748// fmt.Println(resp) 749// } 750// 751// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 752func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) { 753 op := &request.Operation{ 754 Name: opDeleteBucketInventoryConfiguration, 755 HTTPMethod: "DELETE", 756 HTTPPath: "/{Bucket}?inventory", 757 } 758 759 if input == nil { 760 input = &DeleteBucketInventoryConfigurationInput{} 761 } 762 763 output = &DeleteBucketInventoryConfigurationOutput{} 764 req = c.newRequest(op, input, output) 765 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 766 return 767} 768 769// DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 770// 771// Deletes an inventory configuration (identified by the inventory ID) from 772// the bucket. 773// 774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 775// with awserr.Error's Code and Message methods to get detailed information about 776// the error. 777// 778// See the AWS API reference guide for Amazon Simple Storage Service's 779// API operation DeleteBucketInventoryConfiguration for usage and error information. 780// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 781func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) { 782 req, out := c.DeleteBucketInventoryConfigurationRequest(input) 783 return out, req.Send() 784} 785 786// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of 787// the ability to pass a context and additional request options. 788// 789// See DeleteBucketInventoryConfiguration for details on how to use this API operation. 790// 791// The context must be non-nil and will be used for request cancellation. If 792// the context is nil a panic will occur. In the future the SDK may create 793// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 794// for more information on using Contexts. 795func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) { 796 req, out := c.DeleteBucketInventoryConfigurationRequest(input) 797 req.SetContext(ctx) 798 req.ApplyOptions(opts...) 799 return out, req.Send() 800} 801 802const opDeleteBucketLifecycle = "DeleteBucketLifecycle" 803 804// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the 805// client's request for the DeleteBucketLifecycle operation. The "output" return 806// value will be populated with the request's response once the request completes 807// successfully. 808// 809// Use "Send" method on the returned Request to send the API call to the service. 810// the "output" return value is not valid until after Send returns without error. 811// 812// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle 813// API call, and error handling. 814// 815// This method is useful when you want to inject custom logic or configuration 816// into the SDK's request lifecycle. Such as custom headers, or retry logic. 817// 818// 819// // Example sending a request using the DeleteBucketLifecycleRequest method. 820// req, resp := client.DeleteBucketLifecycleRequest(params) 821// 822// err := req.Send() 823// if err == nil { // resp is now filled 824// fmt.Println(resp) 825// } 826// 827// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 828func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) { 829 op := &request.Operation{ 830 Name: opDeleteBucketLifecycle, 831 HTTPMethod: "DELETE", 832 HTTPPath: "/{Bucket}?lifecycle", 833 } 834 835 if input == nil { 836 input = &DeleteBucketLifecycleInput{} 837 } 838 839 output = &DeleteBucketLifecycleOutput{} 840 req = c.newRequest(op, input, output) 841 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 842 return 843} 844 845// DeleteBucketLifecycle API operation for Amazon Simple Storage Service. 846// 847// Deletes the lifecycle configuration from the bucket. 848// 849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 850// with awserr.Error's Code and Message methods to get detailed information about 851// the error. 852// 853// See the AWS API reference guide for Amazon Simple Storage Service's 854// API operation DeleteBucketLifecycle for usage and error information. 855// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 856func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) { 857 req, out := c.DeleteBucketLifecycleRequest(input) 858 return out, req.Send() 859} 860 861// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of 862// the ability to pass a context and additional request options. 863// 864// See DeleteBucketLifecycle for details on how to use this API operation. 865// 866// The context must be non-nil and will be used for request cancellation. If 867// the context is nil a panic will occur. In the future the SDK may create 868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 869// for more information on using Contexts. 870func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) { 871 req, out := c.DeleteBucketLifecycleRequest(input) 872 req.SetContext(ctx) 873 req.ApplyOptions(opts...) 874 return out, req.Send() 875} 876 877const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration" 878 879// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 880// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return 881// value will be populated with the request's response once the request completes 882// successfully. 883// 884// Use "Send" method on the returned Request to send the API call to the service. 885// the "output" return value is not valid until after Send returns without error. 886// 887// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration 888// API call, and error handling. 889// 890// This method is useful when you want to inject custom logic or configuration 891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 892// 893// 894// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method. 895// req, resp := client.DeleteBucketMetricsConfigurationRequest(params) 896// 897// err := req.Send() 898// if err == nil { // resp is now filled 899// fmt.Println(resp) 900// } 901// 902// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 903func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) { 904 op := &request.Operation{ 905 Name: opDeleteBucketMetricsConfiguration, 906 HTTPMethod: "DELETE", 907 HTTPPath: "/{Bucket}?metrics", 908 } 909 910 if input == nil { 911 input = &DeleteBucketMetricsConfigurationInput{} 912 } 913 914 output = &DeleteBucketMetricsConfigurationOutput{} 915 req = c.newRequest(op, input, output) 916 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 917 return 918} 919 920// DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 921// 922// Deletes a metrics configuration (specified by the metrics configuration ID) 923// from the bucket. 924// 925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 926// with awserr.Error's Code and Message methods to get detailed information about 927// the error. 928// 929// See the AWS API reference guide for Amazon Simple Storage Service's 930// API operation DeleteBucketMetricsConfiguration for usage and error information. 931// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 932func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) { 933 req, out := c.DeleteBucketMetricsConfigurationRequest(input) 934 return out, req.Send() 935} 936 937// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of 938// the ability to pass a context and additional request options. 939// 940// See DeleteBucketMetricsConfiguration for details on how to use this API operation. 941// 942// The context must be non-nil and will be used for request cancellation. If 943// the context is nil a panic will occur. In the future the SDK may create 944// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 945// for more information on using Contexts. 946func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) { 947 req, out := c.DeleteBucketMetricsConfigurationRequest(input) 948 req.SetContext(ctx) 949 req.ApplyOptions(opts...) 950 return out, req.Send() 951} 952 953const opDeleteBucketPolicy = "DeleteBucketPolicy" 954 955// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 956// client's request for the DeleteBucketPolicy operation. The "output" return 957// value will be populated with the request's response once the request completes 958// successfully. 959// 960// Use "Send" method on the returned Request to send the API call to the service. 961// the "output" return value is not valid until after Send returns without error. 962// 963// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy 964// API call, and error handling. 965// 966// This method is useful when you want to inject custom logic or configuration 967// into the SDK's request lifecycle. Such as custom headers, or retry logic. 968// 969// 970// // Example sending a request using the DeleteBucketPolicyRequest method. 971// req, resp := client.DeleteBucketPolicyRequest(params) 972// 973// err := req.Send() 974// if err == nil { // resp is now filled 975// fmt.Println(resp) 976// } 977// 978// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 979func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 980 op := &request.Operation{ 981 Name: opDeleteBucketPolicy, 982 HTTPMethod: "DELETE", 983 HTTPPath: "/{Bucket}?policy", 984 } 985 986 if input == nil { 987 input = &DeleteBucketPolicyInput{} 988 } 989 990 output = &DeleteBucketPolicyOutput{} 991 req = c.newRequest(op, input, output) 992 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 993 return 994} 995 996// DeleteBucketPolicy API operation for Amazon Simple Storage Service. 997// 998// Deletes the policy from the bucket. 999// 1000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1001// with awserr.Error's Code and Message methods to get detailed information about 1002// the error. 1003// 1004// See the AWS API reference guide for Amazon Simple Storage Service's 1005// API operation DeleteBucketPolicy for usage and error information. 1006// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 1007func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 1008 req, out := c.DeleteBucketPolicyRequest(input) 1009 return out, req.Send() 1010} 1011 1012// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of 1013// the ability to pass a context and additional request options. 1014// 1015// See DeleteBucketPolicy for details on how to use this API operation. 1016// 1017// The context must be non-nil and will be used for request cancellation. If 1018// the context is nil a panic will occur. In the future the SDK may create 1019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1020// for more information on using Contexts. 1021func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) { 1022 req, out := c.DeleteBucketPolicyRequest(input) 1023 req.SetContext(ctx) 1024 req.ApplyOptions(opts...) 1025 return out, req.Send() 1026} 1027 1028const opDeleteBucketReplication = "DeleteBucketReplication" 1029 1030// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the 1031// client's request for the DeleteBucketReplication operation. The "output" return 1032// value will be populated with the request's response once the request completes 1033// successfully. 1034// 1035// Use "Send" method on the returned Request to send the API call to the service. 1036// the "output" return value is not valid until after Send returns without error. 1037// 1038// See DeleteBucketReplication for more information on using the DeleteBucketReplication 1039// API call, and error handling. 1040// 1041// This method is useful when you want to inject custom logic or configuration 1042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1043// 1044// 1045// // Example sending a request using the DeleteBucketReplicationRequest method. 1046// req, resp := client.DeleteBucketReplicationRequest(params) 1047// 1048// err := req.Send() 1049// if err == nil { // resp is now filled 1050// fmt.Println(resp) 1051// } 1052// 1053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1054func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { 1055 op := &request.Operation{ 1056 Name: opDeleteBucketReplication, 1057 HTTPMethod: "DELETE", 1058 HTTPPath: "/{Bucket}?replication", 1059 } 1060 1061 if input == nil { 1062 input = &DeleteBucketReplicationInput{} 1063 } 1064 1065 output = &DeleteBucketReplicationOutput{} 1066 req = c.newRequest(op, input, output) 1067 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1068 return 1069} 1070 1071// DeleteBucketReplication API operation for Amazon Simple Storage Service. 1072// 1073// Deletes the replication configuration from the bucket. For information about 1074// replication configuration, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 1075// in the Amazon S3 Developer Guide. 1076// 1077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1078// with awserr.Error's Code and Message methods to get detailed information about 1079// the error. 1080// 1081// See the AWS API reference guide for Amazon Simple Storage Service's 1082// API operation DeleteBucketReplication for usage and error information. 1083// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1084func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { 1085 req, out := c.DeleteBucketReplicationRequest(input) 1086 return out, req.Send() 1087} 1088 1089// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of 1090// the ability to pass a context and additional request options. 1091// 1092// See DeleteBucketReplication for details on how to use this API operation. 1093// 1094// The context must be non-nil and will be used for request cancellation. If 1095// the context is nil a panic will occur. In the future the SDK may create 1096// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1097// for more information on using Contexts. 1098func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) { 1099 req, out := c.DeleteBucketReplicationRequest(input) 1100 req.SetContext(ctx) 1101 req.ApplyOptions(opts...) 1102 return out, req.Send() 1103} 1104 1105const opDeleteBucketTagging = "DeleteBucketTagging" 1106 1107// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 1108// client's request for the DeleteBucketTagging operation. The "output" return 1109// value will be populated with the request's response once the request completes 1110// successfully. 1111// 1112// Use "Send" method on the returned Request to send the API call to the service. 1113// the "output" return value is not valid until after Send returns without error. 1114// 1115// See DeleteBucketTagging for more information on using the DeleteBucketTagging 1116// API call, and error handling. 1117// 1118// This method is useful when you want to inject custom logic or configuration 1119// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1120// 1121// 1122// // Example sending a request using the DeleteBucketTaggingRequest method. 1123// req, resp := client.DeleteBucketTaggingRequest(params) 1124// 1125// err := req.Send() 1126// if err == nil { // resp is now filled 1127// fmt.Println(resp) 1128// } 1129// 1130// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1131func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 1132 op := &request.Operation{ 1133 Name: opDeleteBucketTagging, 1134 HTTPMethod: "DELETE", 1135 HTTPPath: "/{Bucket}?tagging", 1136 } 1137 1138 if input == nil { 1139 input = &DeleteBucketTaggingInput{} 1140 } 1141 1142 output = &DeleteBucketTaggingOutput{} 1143 req = c.newRequest(op, input, output) 1144 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1145 return 1146} 1147 1148// DeleteBucketTagging API operation for Amazon Simple Storage Service. 1149// 1150// Deletes the tags from the bucket. 1151// 1152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1153// with awserr.Error's Code and Message methods to get detailed information about 1154// the error. 1155// 1156// See the AWS API reference guide for Amazon Simple Storage Service's 1157// API operation DeleteBucketTagging for usage and error information. 1158// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1159func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 1160 req, out := c.DeleteBucketTaggingRequest(input) 1161 return out, req.Send() 1162} 1163 1164// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of 1165// the ability to pass a context and additional request options. 1166// 1167// See DeleteBucketTagging for details on how to use this API operation. 1168// 1169// The context must be non-nil and will be used for request cancellation. If 1170// the context is nil a panic will occur. In the future the SDK may create 1171// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1172// for more information on using Contexts. 1173func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) { 1174 req, out := c.DeleteBucketTaggingRequest(input) 1175 req.SetContext(ctx) 1176 req.ApplyOptions(opts...) 1177 return out, req.Send() 1178} 1179 1180const opDeleteBucketWebsite = "DeleteBucketWebsite" 1181 1182// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the 1183// client's request for the DeleteBucketWebsite operation. The "output" return 1184// value will be populated with the request's response once the request completes 1185// successfully. 1186// 1187// Use "Send" method on the returned Request to send the API call to the service. 1188// the "output" return value is not valid until after Send returns without error. 1189// 1190// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite 1191// API call, and error handling. 1192// 1193// This method is useful when you want to inject custom logic or configuration 1194// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1195// 1196// 1197// // Example sending a request using the DeleteBucketWebsiteRequest method. 1198// req, resp := client.DeleteBucketWebsiteRequest(params) 1199// 1200// err := req.Send() 1201// if err == nil { // resp is now filled 1202// fmt.Println(resp) 1203// } 1204// 1205// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1206func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) { 1207 op := &request.Operation{ 1208 Name: opDeleteBucketWebsite, 1209 HTTPMethod: "DELETE", 1210 HTTPPath: "/{Bucket}?website", 1211 } 1212 1213 if input == nil { 1214 input = &DeleteBucketWebsiteInput{} 1215 } 1216 1217 output = &DeleteBucketWebsiteOutput{} 1218 req = c.newRequest(op, input, output) 1219 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1220 return 1221} 1222 1223// DeleteBucketWebsite API operation for Amazon Simple Storage Service. 1224// 1225// This operation removes the website configuration from the bucket. 1226// 1227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1228// with awserr.Error's Code and Message methods to get detailed information about 1229// the error. 1230// 1231// See the AWS API reference guide for Amazon Simple Storage Service's 1232// API operation DeleteBucketWebsite for usage and error information. 1233// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1234func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) { 1235 req, out := c.DeleteBucketWebsiteRequest(input) 1236 return out, req.Send() 1237} 1238 1239// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of 1240// the ability to pass a context and additional request options. 1241// 1242// See DeleteBucketWebsite for details on how to use this API operation. 1243// 1244// The context must be non-nil and will be used for request cancellation. If 1245// the context is nil a panic will occur. In the future the SDK may create 1246// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1247// for more information on using Contexts. 1248func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) { 1249 req, out := c.DeleteBucketWebsiteRequest(input) 1250 req.SetContext(ctx) 1251 req.ApplyOptions(opts...) 1252 return out, req.Send() 1253} 1254 1255const opDeleteObject = "DeleteObject" 1256 1257// DeleteObjectRequest generates a "aws/request.Request" representing the 1258// client's request for the DeleteObject operation. The "output" return 1259// value will be populated with the request's response once the request completes 1260// successfully. 1261// 1262// Use "Send" method on the returned Request to send the API call to the service. 1263// the "output" return value is not valid until after Send returns without error. 1264// 1265// See DeleteObject for more information on using the DeleteObject 1266// API call, and error handling. 1267// 1268// This method is useful when you want to inject custom logic or configuration 1269// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1270// 1271// 1272// // Example sending a request using the DeleteObjectRequest method. 1273// req, resp := client.DeleteObjectRequest(params) 1274// 1275// err := req.Send() 1276// if err == nil { // resp is now filled 1277// fmt.Println(resp) 1278// } 1279// 1280// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1281func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { 1282 op := &request.Operation{ 1283 Name: opDeleteObject, 1284 HTTPMethod: "DELETE", 1285 HTTPPath: "/{Bucket}/{Key+}", 1286 } 1287 1288 if input == nil { 1289 input = &DeleteObjectInput{} 1290 } 1291 1292 output = &DeleteObjectOutput{} 1293 req = c.newRequest(op, input, output) 1294 return 1295} 1296 1297// DeleteObject API operation for Amazon Simple Storage Service. 1298// 1299// Removes the null version (if there is one) of an object and inserts a delete 1300// marker, which becomes the latest version of the object. If there isn't a 1301// null version, Amazon S3 does not remove any objects. 1302// 1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1304// with awserr.Error's Code and Message methods to get detailed information about 1305// the error. 1306// 1307// See the AWS API reference guide for Amazon Simple Storage Service's 1308// API operation DeleteObject for usage and error information. 1309// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1310func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { 1311 req, out := c.DeleteObjectRequest(input) 1312 return out, req.Send() 1313} 1314 1315// DeleteObjectWithContext is the same as DeleteObject with the addition of 1316// the ability to pass a context and additional request options. 1317// 1318// See DeleteObject for details on how to use this API operation. 1319// 1320// The context must be non-nil and will be used for request cancellation. If 1321// the context is nil a panic will occur. In the future the SDK may create 1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1323// for more information on using Contexts. 1324func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) { 1325 req, out := c.DeleteObjectRequest(input) 1326 req.SetContext(ctx) 1327 req.ApplyOptions(opts...) 1328 return out, req.Send() 1329} 1330 1331const opDeleteObjectTagging = "DeleteObjectTagging" 1332 1333// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the 1334// client's request for the DeleteObjectTagging operation. The "output" return 1335// value will be populated with the request's response once the request completes 1336// successfully. 1337// 1338// Use "Send" method on the returned Request to send the API call to the service. 1339// the "output" return value is not valid until after Send returns without error. 1340// 1341// See DeleteObjectTagging for more information on using the DeleteObjectTagging 1342// API call, and error handling. 1343// 1344// This method is useful when you want to inject custom logic or configuration 1345// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1346// 1347// 1348// // Example sending a request using the DeleteObjectTaggingRequest method. 1349// req, resp := client.DeleteObjectTaggingRequest(params) 1350// 1351// err := req.Send() 1352// if err == nil { // resp is now filled 1353// fmt.Println(resp) 1354// } 1355// 1356// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1357func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) { 1358 op := &request.Operation{ 1359 Name: opDeleteObjectTagging, 1360 HTTPMethod: "DELETE", 1361 HTTPPath: "/{Bucket}/{Key+}?tagging", 1362 } 1363 1364 if input == nil { 1365 input = &DeleteObjectTaggingInput{} 1366 } 1367 1368 output = &DeleteObjectTaggingOutput{} 1369 req = c.newRequest(op, input, output) 1370 return 1371} 1372 1373// DeleteObjectTagging API operation for Amazon Simple Storage Service. 1374// 1375// Removes the tag-set from an existing object. 1376// 1377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1378// with awserr.Error's Code and Message methods to get detailed information about 1379// the error. 1380// 1381// See the AWS API reference guide for Amazon Simple Storage Service's 1382// API operation DeleteObjectTagging for usage and error information. 1383// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1384func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) { 1385 req, out := c.DeleteObjectTaggingRequest(input) 1386 return out, req.Send() 1387} 1388 1389// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of 1390// the ability to pass a context and additional request options. 1391// 1392// See DeleteObjectTagging for details on how to use this API operation. 1393// 1394// The context must be non-nil and will be used for request cancellation. If 1395// the context is nil a panic will occur. In the future the SDK may create 1396// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1397// for more information on using Contexts. 1398func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) { 1399 req, out := c.DeleteObjectTaggingRequest(input) 1400 req.SetContext(ctx) 1401 req.ApplyOptions(opts...) 1402 return out, req.Send() 1403} 1404 1405const opDeleteObjects = "DeleteObjects" 1406 1407// DeleteObjectsRequest generates a "aws/request.Request" representing the 1408// client's request for the DeleteObjects operation. The "output" return 1409// value will be populated with the request's response once the request completes 1410// successfully. 1411// 1412// Use "Send" method on the returned Request to send the API call to the service. 1413// the "output" return value is not valid until after Send returns without error. 1414// 1415// See DeleteObjects for more information on using the DeleteObjects 1416// API call, and error handling. 1417// 1418// This method is useful when you want to inject custom logic or configuration 1419// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1420// 1421// 1422// // Example sending a request using the DeleteObjectsRequest method. 1423// req, resp := client.DeleteObjectsRequest(params) 1424// 1425// err := req.Send() 1426// if err == nil { // resp is now filled 1427// fmt.Println(resp) 1428// } 1429// 1430// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1431func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) { 1432 op := &request.Operation{ 1433 Name: opDeleteObjects, 1434 HTTPMethod: "POST", 1435 HTTPPath: "/{Bucket}?delete", 1436 } 1437 1438 if input == nil { 1439 input = &DeleteObjectsInput{} 1440 } 1441 1442 output = &DeleteObjectsOutput{} 1443 req = c.newRequest(op, input, output) 1444 return 1445} 1446 1447// DeleteObjects API operation for Amazon Simple Storage Service. 1448// 1449// This operation enables you to delete multiple objects from a bucket using 1450// a single HTTP request. You may specify up to 1000 keys. 1451// 1452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1453// with awserr.Error's Code and Message methods to get detailed information about 1454// the error. 1455// 1456// See the AWS API reference guide for Amazon Simple Storage Service's 1457// API operation DeleteObjects for usage and error information. 1458// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1459func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) { 1460 req, out := c.DeleteObjectsRequest(input) 1461 return out, req.Send() 1462} 1463 1464// DeleteObjectsWithContext is the same as DeleteObjects with the addition of 1465// the ability to pass a context and additional request options. 1466// 1467// See DeleteObjects for details on how to use this API operation. 1468// 1469// The context must be non-nil and will be used for request cancellation. If 1470// the context is nil a panic will occur. In the future the SDK may create 1471// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1472// for more information on using Contexts. 1473func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) { 1474 req, out := c.DeleteObjectsRequest(input) 1475 req.SetContext(ctx) 1476 req.ApplyOptions(opts...) 1477 return out, req.Send() 1478} 1479 1480const opDeletePublicAccessBlock = "DeletePublicAccessBlock" 1481 1482// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the 1483// client's request for the DeletePublicAccessBlock operation. The "output" return 1484// value will be populated with the request's response once the request completes 1485// successfully. 1486// 1487// Use "Send" method on the returned Request to send the API call to the service. 1488// the "output" return value is not valid until after Send returns without error. 1489// 1490// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock 1491// API call, and error handling. 1492// 1493// This method is useful when you want to inject custom logic or configuration 1494// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1495// 1496// 1497// // Example sending a request using the DeletePublicAccessBlockRequest method. 1498// req, resp := client.DeletePublicAccessBlockRequest(params) 1499// 1500// err := req.Send() 1501// if err == nil { // resp is now filled 1502// fmt.Println(resp) 1503// } 1504// 1505// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock 1506func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) { 1507 op := &request.Operation{ 1508 Name: opDeletePublicAccessBlock, 1509 HTTPMethod: "DELETE", 1510 HTTPPath: "/{Bucket}?publicAccessBlock", 1511 } 1512 1513 if input == nil { 1514 input = &DeletePublicAccessBlockInput{} 1515 } 1516 1517 output = &DeletePublicAccessBlockOutput{} 1518 req = c.newRequest(op, input, output) 1519 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1520 return 1521} 1522 1523// DeletePublicAccessBlock API operation for Amazon Simple Storage Service. 1524// 1525// Removes the PublicAccessBlock configuration from an Amazon S3 bucket. 1526// 1527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1528// with awserr.Error's Code and Message methods to get detailed information about 1529// the error. 1530// 1531// See the AWS API reference guide for Amazon Simple Storage Service's 1532// API operation DeletePublicAccessBlock for usage and error information. 1533// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlock 1534func (c *S3) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) { 1535 req, out := c.DeletePublicAccessBlockRequest(input) 1536 return out, req.Send() 1537} 1538 1539// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of 1540// the ability to pass a context and additional request options. 1541// 1542// See DeletePublicAccessBlock for details on how to use this API operation. 1543// 1544// The context must be non-nil and will be used for request cancellation. If 1545// the context is nil a panic will occur. In the future the SDK may create 1546// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1547// for more information on using Contexts. 1548func (c *S3) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) { 1549 req, out := c.DeletePublicAccessBlockRequest(input) 1550 req.SetContext(ctx) 1551 req.ApplyOptions(opts...) 1552 return out, req.Send() 1553} 1554 1555const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration" 1556 1557// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 1558// client's request for the GetBucketAccelerateConfiguration operation. The "output" return 1559// value will be populated with the request's response once the request completes 1560// successfully. 1561// 1562// Use "Send" method on the returned Request to send the API call to the service. 1563// the "output" return value is not valid until after Send returns without error. 1564// 1565// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration 1566// API call, and error handling. 1567// 1568// This method is useful when you want to inject custom logic or configuration 1569// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1570// 1571// 1572// // Example sending a request using the GetBucketAccelerateConfigurationRequest method. 1573// req, resp := client.GetBucketAccelerateConfigurationRequest(params) 1574// 1575// err := req.Send() 1576// if err == nil { // resp is now filled 1577// fmt.Println(resp) 1578// } 1579// 1580// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1581func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) { 1582 op := &request.Operation{ 1583 Name: opGetBucketAccelerateConfiguration, 1584 HTTPMethod: "GET", 1585 HTTPPath: "/{Bucket}?accelerate", 1586 } 1587 1588 if input == nil { 1589 input = &GetBucketAccelerateConfigurationInput{} 1590 } 1591 1592 output = &GetBucketAccelerateConfigurationOutput{} 1593 req = c.newRequest(op, input, output) 1594 return 1595} 1596 1597// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. 1598// 1599// Returns the accelerate configuration of a bucket. 1600// 1601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1602// with awserr.Error's Code and Message methods to get detailed information about 1603// the error. 1604// 1605// See the AWS API reference guide for Amazon Simple Storage Service's 1606// API operation GetBucketAccelerateConfiguration for usage and error information. 1607// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1608func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) { 1609 req, out := c.GetBucketAccelerateConfigurationRequest(input) 1610 return out, req.Send() 1611} 1612 1613// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of 1614// the ability to pass a context and additional request options. 1615// 1616// See GetBucketAccelerateConfiguration for details on how to use this API operation. 1617// 1618// The context must be non-nil and will be used for request cancellation. If 1619// the context is nil a panic will occur. In the future the SDK may create 1620// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1621// for more information on using Contexts. 1622func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) { 1623 req, out := c.GetBucketAccelerateConfigurationRequest(input) 1624 req.SetContext(ctx) 1625 req.ApplyOptions(opts...) 1626 return out, req.Send() 1627} 1628 1629const opGetBucketAcl = "GetBucketAcl" 1630 1631// GetBucketAclRequest generates a "aws/request.Request" representing the 1632// client's request for the GetBucketAcl operation. The "output" return 1633// value will be populated with the request's response once the request completes 1634// successfully. 1635// 1636// Use "Send" method on the returned Request to send the API call to the service. 1637// the "output" return value is not valid until after Send returns without error. 1638// 1639// See GetBucketAcl for more information on using the GetBucketAcl 1640// API call, and error handling. 1641// 1642// This method is useful when you want to inject custom logic or configuration 1643// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1644// 1645// 1646// // Example sending a request using the GetBucketAclRequest method. 1647// req, resp := client.GetBucketAclRequest(params) 1648// 1649// err := req.Send() 1650// if err == nil { // resp is now filled 1651// fmt.Println(resp) 1652// } 1653// 1654// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1655func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) { 1656 op := &request.Operation{ 1657 Name: opGetBucketAcl, 1658 HTTPMethod: "GET", 1659 HTTPPath: "/{Bucket}?acl", 1660 } 1661 1662 if input == nil { 1663 input = &GetBucketAclInput{} 1664 } 1665 1666 output = &GetBucketAclOutput{} 1667 req = c.newRequest(op, input, output) 1668 return 1669} 1670 1671// GetBucketAcl API operation for Amazon Simple Storage Service. 1672// 1673// Gets the access control policy for the bucket. 1674// 1675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1676// with awserr.Error's Code and Message methods to get detailed information about 1677// the error. 1678// 1679// See the AWS API reference guide for Amazon Simple Storage Service's 1680// API operation GetBucketAcl for usage and error information. 1681// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1682func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) { 1683 req, out := c.GetBucketAclRequest(input) 1684 return out, req.Send() 1685} 1686 1687// GetBucketAclWithContext is the same as GetBucketAcl with the addition of 1688// the ability to pass a context and additional request options. 1689// 1690// See GetBucketAcl for details on how to use this API operation. 1691// 1692// The context must be non-nil and will be used for request cancellation. If 1693// the context is nil a panic will occur. In the future the SDK may create 1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1695// for more information on using Contexts. 1696func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) { 1697 req, out := c.GetBucketAclRequest(input) 1698 req.SetContext(ctx) 1699 req.ApplyOptions(opts...) 1700 return out, req.Send() 1701} 1702 1703const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration" 1704 1705// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 1706// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return 1707// value will be populated with the request's response once the request completes 1708// successfully. 1709// 1710// Use "Send" method on the returned Request to send the API call to the service. 1711// the "output" return value is not valid until after Send returns without error. 1712// 1713// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration 1714// API call, and error handling. 1715// 1716// This method is useful when you want to inject custom logic or configuration 1717// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1718// 1719// 1720// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method. 1721// req, resp := client.GetBucketAnalyticsConfigurationRequest(params) 1722// 1723// err := req.Send() 1724// if err == nil { // resp is now filled 1725// fmt.Println(resp) 1726// } 1727// 1728// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1729func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) { 1730 op := &request.Operation{ 1731 Name: opGetBucketAnalyticsConfiguration, 1732 HTTPMethod: "GET", 1733 HTTPPath: "/{Bucket}?analytics", 1734 } 1735 1736 if input == nil { 1737 input = &GetBucketAnalyticsConfigurationInput{} 1738 } 1739 1740 output = &GetBucketAnalyticsConfigurationOutput{} 1741 req = c.newRequest(op, input, output) 1742 return 1743} 1744 1745// GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 1746// 1747// Gets an analytics configuration for the bucket (specified by the analytics 1748// configuration ID). 1749// 1750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1751// with awserr.Error's Code and Message methods to get detailed information about 1752// the error. 1753// 1754// See the AWS API reference guide for Amazon Simple Storage Service's 1755// API operation GetBucketAnalyticsConfiguration for usage and error information. 1756// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1757func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) { 1758 req, out := c.GetBucketAnalyticsConfigurationRequest(input) 1759 return out, req.Send() 1760} 1761 1762// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of 1763// the ability to pass a context and additional request options. 1764// 1765// See GetBucketAnalyticsConfiguration for details on how to use this API operation. 1766// 1767// The context must be non-nil and will be used for request cancellation. If 1768// the context is nil a panic will occur. In the future the SDK may create 1769// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1770// for more information on using Contexts. 1771func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) { 1772 req, out := c.GetBucketAnalyticsConfigurationRequest(input) 1773 req.SetContext(ctx) 1774 req.ApplyOptions(opts...) 1775 return out, req.Send() 1776} 1777 1778const opGetBucketCors = "GetBucketCors" 1779 1780// GetBucketCorsRequest generates a "aws/request.Request" representing the 1781// client's request for the GetBucketCors operation. The "output" return 1782// value will be populated with the request's response once the request completes 1783// successfully. 1784// 1785// Use "Send" method on the returned Request to send the API call to the service. 1786// the "output" return value is not valid until after Send returns without error. 1787// 1788// See GetBucketCors for more information on using the GetBucketCors 1789// API call, and error handling. 1790// 1791// This method is useful when you want to inject custom logic or configuration 1792// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1793// 1794// 1795// // Example sending a request using the GetBucketCorsRequest method. 1796// req, resp := client.GetBucketCorsRequest(params) 1797// 1798// err := req.Send() 1799// if err == nil { // resp is now filled 1800// fmt.Println(resp) 1801// } 1802// 1803// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1804func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) { 1805 op := &request.Operation{ 1806 Name: opGetBucketCors, 1807 HTTPMethod: "GET", 1808 HTTPPath: "/{Bucket}?cors", 1809 } 1810 1811 if input == nil { 1812 input = &GetBucketCorsInput{} 1813 } 1814 1815 output = &GetBucketCorsOutput{} 1816 req = c.newRequest(op, input, output) 1817 return 1818} 1819 1820// GetBucketCors API operation for Amazon Simple Storage Service. 1821// 1822// Returns the CORS configuration for the bucket. 1823// 1824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1825// with awserr.Error's Code and Message methods to get detailed information about 1826// the error. 1827// 1828// See the AWS API reference guide for Amazon Simple Storage Service's 1829// API operation GetBucketCors for usage and error information. 1830// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1831func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) { 1832 req, out := c.GetBucketCorsRequest(input) 1833 return out, req.Send() 1834} 1835 1836// GetBucketCorsWithContext is the same as GetBucketCors with the addition of 1837// the ability to pass a context and additional request options. 1838// 1839// See GetBucketCors for details on how to use this API operation. 1840// 1841// The context must be non-nil and will be used for request cancellation. If 1842// the context is nil a panic will occur. In the future the SDK may create 1843// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1844// for more information on using Contexts. 1845func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) { 1846 req, out := c.GetBucketCorsRequest(input) 1847 req.SetContext(ctx) 1848 req.ApplyOptions(opts...) 1849 return out, req.Send() 1850} 1851 1852const opGetBucketEncryption = "GetBucketEncryption" 1853 1854// GetBucketEncryptionRequest generates a "aws/request.Request" representing the 1855// client's request for the GetBucketEncryption operation. The "output" return 1856// value will be populated with the request's response once the request completes 1857// successfully. 1858// 1859// Use "Send" method on the returned Request to send the API call to the service. 1860// the "output" return value is not valid until after Send returns without error. 1861// 1862// See GetBucketEncryption for more information on using the GetBucketEncryption 1863// API call, and error handling. 1864// 1865// This method is useful when you want to inject custom logic or configuration 1866// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1867// 1868// 1869// // Example sending a request using the GetBucketEncryptionRequest method. 1870// req, resp := client.GetBucketEncryptionRequest(params) 1871// 1872// err := req.Send() 1873// if err == nil { // resp is now filled 1874// fmt.Println(resp) 1875// } 1876// 1877// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption 1878func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) { 1879 op := &request.Operation{ 1880 Name: opGetBucketEncryption, 1881 HTTPMethod: "GET", 1882 HTTPPath: "/{Bucket}?encryption", 1883 } 1884 1885 if input == nil { 1886 input = &GetBucketEncryptionInput{} 1887 } 1888 1889 output = &GetBucketEncryptionOutput{} 1890 req = c.newRequest(op, input, output) 1891 return 1892} 1893 1894// GetBucketEncryption API operation for Amazon Simple Storage Service. 1895// 1896// Returns the server-side encryption configuration of a bucket. 1897// 1898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1899// with awserr.Error's Code and Message methods to get detailed information about 1900// the error. 1901// 1902// See the AWS API reference guide for Amazon Simple Storage Service's 1903// API operation GetBucketEncryption for usage and error information. 1904// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption 1905func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) { 1906 req, out := c.GetBucketEncryptionRequest(input) 1907 return out, req.Send() 1908} 1909 1910// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of 1911// the ability to pass a context and additional request options. 1912// 1913// See GetBucketEncryption for details on how to use this API operation. 1914// 1915// The context must be non-nil and will be used for request cancellation. If 1916// the context is nil a panic will occur. In the future the SDK may create 1917// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1918// for more information on using Contexts. 1919func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) { 1920 req, out := c.GetBucketEncryptionRequest(input) 1921 req.SetContext(ctx) 1922 req.ApplyOptions(opts...) 1923 return out, req.Send() 1924} 1925 1926const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration" 1927 1928// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 1929// client's request for the GetBucketInventoryConfiguration operation. The "output" return 1930// value will be populated with the request's response once the request completes 1931// successfully. 1932// 1933// Use "Send" method on the returned Request to send the API call to the service. 1934// the "output" return value is not valid until after Send returns without error. 1935// 1936// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration 1937// API call, and error handling. 1938// 1939// This method is useful when you want to inject custom logic or configuration 1940// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1941// 1942// 1943// // Example sending a request using the GetBucketInventoryConfigurationRequest method. 1944// req, resp := client.GetBucketInventoryConfigurationRequest(params) 1945// 1946// err := req.Send() 1947// if err == nil { // resp is now filled 1948// fmt.Println(resp) 1949// } 1950// 1951// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1952func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) { 1953 op := &request.Operation{ 1954 Name: opGetBucketInventoryConfiguration, 1955 HTTPMethod: "GET", 1956 HTTPPath: "/{Bucket}?inventory", 1957 } 1958 1959 if input == nil { 1960 input = &GetBucketInventoryConfigurationInput{} 1961 } 1962 1963 output = &GetBucketInventoryConfigurationOutput{} 1964 req = c.newRequest(op, input, output) 1965 return 1966} 1967 1968// GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 1969// 1970// Returns an inventory configuration (identified by the inventory ID) from 1971// the bucket. 1972// 1973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1974// with awserr.Error's Code and Message methods to get detailed information about 1975// the error. 1976// 1977// See the AWS API reference guide for Amazon Simple Storage Service's 1978// API operation GetBucketInventoryConfiguration for usage and error information. 1979// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1980func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) { 1981 req, out := c.GetBucketInventoryConfigurationRequest(input) 1982 return out, req.Send() 1983} 1984 1985// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of 1986// the ability to pass a context and additional request options. 1987// 1988// See GetBucketInventoryConfiguration for details on how to use this API operation. 1989// 1990// The context must be non-nil and will be used for request cancellation. If 1991// the context is nil a panic will occur. In the future the SDK may create 1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1993// for more information on using Contexts. 1994func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) { 1995 req, out := c.GetBucketInventoryConfigurationRequest(input) 1996 req.SetContext(ctx) 1997 req.ApplyOptions(opts...) 1998 return out, req.Send() 1999} 2000 2001const opGetBucketLifecycle = "GetBucketLifecycle" 2002 2003// GetBucketLifecycleRequest generates a "aws/request.Request" representing the 2004// client's request for the GetBucketLifecycle operation. The "output" return 2005// value will be populated with the request's response once the request completes 2006// successfully. 2007// 2008// Use "Send" method on the returned Request to send the API call to the service. 2009// the "output" return value is not valid until after Send returns without error. 2010// 2011// See GetBucketLifecycle for more information on using the GetBucketLifecycle 2012// API call, and error handling. 2013// 2014// This method is useful when you want to inject custom logic or configuration 2015// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2016// 2017// 2018// // Example sending a request using the GetBucketLifecycleRequest method. 2019// req, resp := client.GetBucketLifecycleRequest(params) 2020// 2021// err := req.Send() 2022// if err == nil { // resp is now filled 2023// fmt.Println(resp) 2024// } 2025// 2026// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 2027// 2028// Deprecated: GetBucketLifecycle has been deprecated 2029func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) { 2030 if c.Client.Config.Logger != nil { 2031 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated") 2032 } 2033 op := &request.Operation{ 2034 Name: opGetBucketLifecycle, 2035 HTTPMethod: "GET", 2036 HTTPPath: "/{Bucket}?lifecycle", 2037 } 2038 2039 if input == nil { 2040 input = &GetBucketLifecycleInput{} 2041 } 2042 2043 output = &GetBucketLifecycleOutput{} 2044 req = c.newRequest(op, input, output) 2045 return 2046} 2047 2048// GetBucketLifecycle API operation for Amazon Simple Storage Service. 2049// 2050// No longer used, see the GetBucketLifecycleConfiguration operation. 2051// 2052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2053// with awserr.Error's Code and Message methods to get detailed information about 2054// the error. 2055// 2056// See the AWS API reference guide for Amazon Simple Storage Service's 2057// API operation GetBucketLifecycle for usage and error information. 2058// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 2059// 2060// Deprecated: GetBucketLifecycle has been deprecated 2061func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) { 2062 req, out := c.GetBucketLifecycleRequest(input) 2063 return out, req.Send() 2064} 2065 2066// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of 2067// the ability to pass a context and additional request options. 2068// 2069// See GetBucketLifecycle for details on how to use this API operation. 2070// 2071// The context must be non-nil and will be used for request cancellation. If 2072// the context is nil a panic will occur. In the future the SDK may create 2073// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2074// for more information on using Contexts. 2075// 2076// Deprecated: GetBucketLifecycleWithContext has been deprecated 2077func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) { 2078 req, out := c.GetBucketLifecycleRequest(input) 2079 req.SetContext(ctx) 2080 req.ApplyOptions(opts...) 2081 return out, req.Send() 2082} 2083 2084const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" 2085 2086// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 2087// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 2088// value will be populated with the request's response once the request completes 2089// successfully. 2090// 2091// Use "Send" method on the returned Request to send the API call to the service. 2092// the "output" return value is not valid until after Send returns without error. 2093// 2094// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration 2095// API call, and error handling. 2096// 2097// This method is useful when you want to inject custom logic or configuration 2098// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2099// 2100// 2101// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 2102// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 2103// 2104// err := req.Send() 2105// if err == nil { // resp is now filled 2106// fmt.Println(resp) 2107// } 2108// 2109// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2110func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 2111 op := &request.Operation{ 2112 Name: opGetBucketLifecycleConfiguration, 2113 HTTPMethod: "GET", 2114 HTTPPath: "/{Bucket}?lifecycle", 2115 } 2116 2117 if input == nil { 2118 input = &GetBucketLifecycleConfigurationInput{} 2119 } 2120 2121 output = &GetBucketLifecycleConfigurationOutput{} 2122 req = c.newRequest(op, input, output) 2123 return 2124} 2125 2126// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. 2127// 2128// Returns the lifecycle configuration information set on the bucket. 2129// 2130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2131// with awserr.Error's Code and Message methods to get detailed information about 2132// the error. 2133// 2134// See the AWS API reference guide for Amazon Simple Storage Service's 2135// API operation GetBucketLifecycleConfiguration for usage and error information. 2136// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2137func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 2138 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2139 return out, req.Send() 2140} 2141 2142// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of 2143// the ability to pass a context and additional request options. 2144// 2145// See GetBucketLifecycleConfiguration for details on how to use this API operation. 2146// 2147// The context must be non-nil and will be used for request cancellation. If 2148// the context is nil a panic will occur. In the future the SDK may create 2149// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2150// for more information on using Contexts. 2151func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) { 2152 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2153 req.SetContext(ctx) 2154 req.ApplyOptions(opts...) 2155 return out, req.Send() 2156} 2157 2158const opGetBucketLocation = "GetBucketLocation" 2159 2160// GetBucketLocationRequest generates a "aws/request.Request" representing the 2161// client's request for the GetBucketLocation operation. The "output" return 2162// value will be populated with the request's response once the request completes 2163// successfully. 2164// 2165// Use "Send" method on the returned Request to send the API call to the service. 2166// the "output" return value is not valid until after Send returns without error. 2167// 2168// See GetBucketLocation for more information on using the GetBucketLocation 2169// API call, and error handling. 2170// 2171// This method is useful when you want to inject custom logic or configuration 2172// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2173// 2174// 2175// // Example sending a request using the GetBucketLocationRequest method. 2176// req, resp := client.GetBucketLocationRequest(params) 2177// 2178// err := req.Send() 2179// if err == nil { // resp is now filled 2180// fmt.Println(resp) 2181// } 2182// 2183// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2184func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) { 2185 op := &request.Operation{ 2186 Name: opGetBucketLocation, 2187 HTTPMethod: "GET", 2188 HTTPPath: "/{Bucket}?location", 2189 } 2190 2191 if input == nil { 2192 input = &GetBucketLocationInput{} 2193 } 2194 2195 output = &GetBucketLocationOutput{} 2196 req = c.newRequest(op, input, output) 2197 return 2198} 2199 2200// GetBucketLocation API operation for Amazon Simple Storage Service. 2201// 2202// Returns the region the bucket resides in. 2203// 2204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2205// with awserr.Error's Code and Message methods to get detailed information about 2206// the error. 2207// 2208// See the AWS API reference guide for Amazon Simple Storage Service's 2209// API operation GetBucketLocation for usage and error information. 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2211func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) { 2212 req, out := c.GetBucketLocationRequest(input) 2213 return out, req.Send() 2214} 2215 2216// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of 2217// the ability to pass a context and additional request options. 2218// 2219// See GetBucketLocation for details on how to use this API operation. 2220// 2221// The context must be non-nil and will be used for request cancellation. If 2222// the context is nil a panic will occur. In the future the SDK may create 2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2224// for more information on using Contexts. 2225func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) { 2226 req, out := c.GetBucketLocationRequest(input) 2227 req.SetContext(ctx) 2228 req.ApplyOptions(opts...) 2229 return out, req.Send() 2230} 2231 2232const opGetBucketLogging = "GetBucketLogging" 2233 2234// GetBucketLoggingRequest generates a "aws/request.Request" representing the 2235// client's request for the GetBucketLogging operation. The "output" return 2236// value will be populated with the request's response once the request completes 2237// successfully. 2238// 2239// Use "Send" method on the returned Request to send the API call to the service. 2240// the "output" return value is not valid until after Send returns without error. 2241// 2242// See GetBucketLogging for more information on using the GetBucketLogging 2243// API call, and error handling. 2244// 2245// This method is useful when you want to inject custom logic or configuration 2246// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2247// 2248// 2249// // Example sending a request using the GetBucketLoggingRequest method. 2250// req, resp := client.GetBucketLoggingRequest(params) 2251// 2252// err := req.Send() 2253// if err == nil { // resp is now filled 2254// fmt.Println(resp) 2255// } 2256// 2257// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2258func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) { 2259 op := &request.Operation{ 2260 Name: opGetBucketLogging, 2261 HTTPMethod: "GET", 2262 HTTPPath: "/{Bucket}?logging", 2263 } 2264 2265 if input == nil { 2266 input = &GetBucketLoggingInput{} 2267 } 2268 2269 output = &GetBucketLoggingOutput{} 2270 req = c.newRequest(op, input, output) 2271 return 2272} 2273 2274// GetBucketLogging API operation for Amazon Simple Storage Service. 2275// 2276// Returns the logging status of a bucket and the permissions users have to 2277// view and modify that status. To use GET, you must be the bucket owner. 2278// 2279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2280// with awserr.Error's Code and Message methods to get detailed information about 2281// the error. 2282// 2283// See the AWS API reference guide for Amazon Simple Storage Service's 2284// API operation GetBucketLogging for usage and error information. 2285// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2286func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) { 2287 req, out := c.GetBucketLoggingRequest(input) 2288 return out, req.Send() 2289} 2290 2291// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of 2292// the ability to pass a context and additional request options. 2293// 2294// See GetBucketLogging for details on how to use this API operation. 2295// 2296// The context must be non-nil and will be used for request cancellation. If 2297// the context is nil a panic will occur. In the future the SDK may create 2298// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2299// for more information on using Contexts. 2300func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) { 2301 req, out := c.GetBucketLoggingRequest(input) 2302 req.SetContext(ctx) 2303 req.ApplyOptions(opts...) 2304 return out, req.Send() 2305} 2306 2307const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration" 2308 2309// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 2310// client's request for the GetBucketMetricsConfiguration operation. The "output" return 2311// value will be populated with the request's response once the request completes 2312// successfully. 2313// 2314// Use "Send" method on the returned Request to send the API call to the service. 2315// the "output" return value is not valid until after Send returns without error. 2316// 2317// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration 2318// API call, and error handling. 2319// 2320// This method is useful when you want to inject custom logic or configuration 2321// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2322// 2323// 2324// // Example sending a request using the GetBucketMetricsConfigurationRequest method. 2325// req, resp := client.GetBucketMetricsConfigurationRequest(params) 2326// 2327// err := req.Send() 2328// if err == nil { // resp is now filled 2329// fmt.Println(resp) 2330// } 2331// 2332// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2333func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) { 2334 op := &request.Operation{ 2335 Name: opGetBucketMetricsConfiguration, 2336 HTTPMethod: "GET", 2337 HTTPPath: "/{Bucket}?metrics", 2338 } 2339 2340 if input == nil { 2341 input = &GetBucketMetricsConfigurationInput{} 2342 } 2343 2344 output = &GetBucketMetricsConfigurationOutput{} 2345 req = c.newRequest(op, input, output) 2346 return 2347} 2348 2349// GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 2350// 2351// Gets a metrics configuration (specified by the metrics configuration ID) 2352// from the bucket. 2353// 2354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2355// with awserr.Error's Code and Message methods to get detailed information about 2356// the error. 2357// 2358// See the AWS API reference guide for Amazon Simple Storage Service's 2359// API operation GetBucketMetricsConfiguration for usage and error information. 2360// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2361func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) { 2362 req, out := c.GetBucketMetricsConfigurationRequest(input) 2363 return out, req.Send() 2364} 2365 2366// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of 2367// the ability to pass a context and additional request options. 2368// 2369// See GetBucketMetricsConfiguration for details on how to use this API operation. 2370// 2371// The context must be non-nil and will be used for request cancellation. If 2372// the context is nil a panic will occur. In the future the SDK may create 2373// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2374// for more information on using Contexts. 2375func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) { 2376 req, out := c.GetBucketMetricsConfigurationRequest(input) 2377 req.SetContext(ctx) 2378 req.ApplyOptions(opts...) 2379 return out, req.Send() 2380} 2381 2382const opGetBucketNotification = "GetBucketNotification" 2383 2384// GetBucketNotificationRequest generates a "aws/request.Request" representing the 2385// client's request for the GetBucketNotification operation. The "output" return 2386// value will be populated with the request's response once the request completes 2387// successfully. 2388// 2389// Use "Send" method on the returned Request to send the API call to the service. 2390// the "output" return value is not valid until after Send returns without error. 2391// 2392// See GetBucketNotification for more information on using the GetBucketNotification 2393// API call, and error handling. 2394// 2395// This method is useful when you want to inject custom logic or configuration 2396// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2397// 2398// 2399// // Example sending a request using the GetBucketNotificationRequest method. 2400// req, resp := client.GetBucketNotificationRequest(params) 2401// 2402// err := req.Send() 2403// if err == nil { // resp is now filled 2404// fmt.Println(resp) 2405// } 2406// 2407// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2408// 2409// Deprecated: GetBucketNotification has been deprecated 2410func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) { 2411 if c.Client.Config.Logger != nil { 2412 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated") 2413 } 2414 op := &request.Operation{ 2415 Name: opGetBucketNotification, 2416 HTTPMethod: "GET", 2417 HTTPPath: "/{Bucket}?notification", 2418 } 2419 2420 if input == nil { 2421 input = &GetBucketNotificationConfigurationRequest{} 2422 } 2423 2424 output = &NotificationConfigurationDeprecated{} 2425 req = c.newRequest(op, input, output) 2426 return 2427} 2428 2429// GetBucketNotification API operation for Amazon Simple Storage Service. 2430// 2431// No longer used, see the GetBucketNotificationConfiguration operation. 2432// 2433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2434// with awserr.Error's Code and Message methods to get detailed information about 2435// the error. 2436// 2437// See the AWS API reference guide for Amazon Simple Storage Service's 2438// API operation GetBucketNotification for usage and error information. 2439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2440// 2441// Deprecated: GetBucketNotification has been deprecated 2442func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) { 2443 req, out := c.GetBucketNotificationRequest(input) 2444 return out, req.Send() 2445} 2446 2447// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of 2448// the ability to pass a context and additional request options. 2449// 2450// See GetBucketNotification for details on how to use this API operation. 2451// 2452// The context must be non-nil and will be used for request cancellation. If 2453// the context is nil a panic will occur. In the future the SDK may create 2454// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2455// for more information on using Contexts. 2456// 2457// Deprecated: GetBucketNotificationWithContext has been deprecated 2458func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) { 2459 req, out := c.GetBucketNotificationRequest(input) 2460 req.SetContext(ctx) 2461 req.ApplyOptions(opts...) 2462 return out, req.Send() 2463} 2464 2465const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration" 2466 2467// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 2468// client's request for the GetBucketNotificationConfiguration operation. The "output" return 2469// value will be populated with the request's response once the request completes 2470// successfully. 2471// 2472// Use "Send" method on the returned Request to send the API call to the service. 2473// the "output" return value is not valid until after Send returns without error. 2474// 2475// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration 2476// API call, and error handling. 2477// 2478// This method is useful when you want to inject custom logic or configuration 2479// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2480// 2481// 2482// // Example sending a request using the GetBucketNotificationConfigurationRequest method. 2483// req, resp := client.GetBucketNotificationConfigurationRequest(params) 2484// 2485// err := req.Send() 2486// if err == nil { // resp is now filled 2487// fmt.Println(resp) 2488// } 2489// 2490// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2491func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) { 2492 op := &request.Operation{ 2493 Name: opGetBucketNotificationConfiguration, 2494 HTTPMethod: "GET", 2495 HTTPPath: "/{Bucket}?notification", 2496 } 2497 2498 if input == nil { 2499 input = &GetBucketNotificationConfigurationRequest{} 2500 } 2501 2502 output = &NotificationConfiguration{} 2503 req = c.newRequest(op, input, output) 2504 return 2505} 2506 2507// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service. 2508// 2509// Returns the notification configuration of a bucket. 2510// 2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2512// with awserr.Error's Code and Message methods to get detailed information about 2513// the error. 2514// 2515// See the AWS API reference guide for Amazon Simple Storage Service's 2516// API operation GetBucketNotificationConfiguration for usage and error information. 2517// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2518func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) { 2519 req, out := c.GetBucketNotificationConfigurationRequest(input) 2520 return out, req.Send() 2521} 2522 2523// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of 2524// the ability to pass a context and additional request options. 2525// 2526// See GetBucketNotificationConfiguration for details on how to use this API operation. 2527// 2528// The context must be non-nil and will be used for request cancellation. If 2529// the context is nil a panic will occur. In the future the SDK may create 2530// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2531// for more information on using Contexts. 2532func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) { 2533 req, out := c.GetBucketNotificationConfigurationRequest(input) 2534 req.SetContext(ctx) 2535 req.ApplyOptions(opts...) 2536 return out, req.Send() 2537} 2538 2539const opGetBucketPolicy = "GetBucketPolicy" 2540 2541// GetBucketPolicyRequest generates a "aws/request.Request" representing the 2542// client's request for the GetBucketPolicy operation. The "output" return 2543// value will be populated with the request's response once the request completes 2544// successfully. 2545// 2546// Use "Send" method on the returned Request to send the API call to the service. 2547// the "output" return value is not valid until after Send returns without error. 2548// 2549// See GetBucketPolicy for more information on using the GetBucketPolicy 2550// API call, and error handling. 2551// 2552// This method is useful when you want to inject custom logic or configuration 2553// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2554// 2555// 2556// // Example sending a request using the GetBucketPolicyRequest method. 2557// req, resp := client.GetBucketPolicyRequest(params) 2558// 2559// err := req.Send() 2560// if err == nil { // resp is now filled 2561// fmt.Println(resp) 2562// } 2563// 2564// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2565func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 2566 op := &request.Operation{ 2567 Name: opGetBucketPolicy, 2568 HTTPMethod: "GET", 2569 HTTPPath: "/{Bucket}?policy", 2570 } 2571 2572 if input == nil { 2573 input = &GetBucketPolicyInput{} 2574 } 2575 2576 output = &GetBucketPolicyOutput{} 2577 req = c.newRequest(op, input, output) 2578 return 2579} 2580 2581// GetBucketPolicy API operation for Amazon Simple Storage Service. 2582// 2583// Returns the policy of a specified bucket. 2584// 2585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2586// with awserr.Error's Code and Message methods to get detailed information about 2587// the error. 2588// 2589// See the AWS API reference guide for Amazon Simple Storage Service's 2590// API operation GetBucketPolicy for usage and error information. 2591// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2592func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2593 req, out := c.GetBucketPolicyRequest(input) 2594 return out, req.Send() 2595} 2596 2597// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of 2598// the ability to pass a context and additional request options. 2599// 2600// See GetBucketPolicy for details on how to use this API operation. 2601// 2602// The context must be non-nil and will be used for request cancellation. If 2603// the context is nil a panic will occur. In the future the SDK may create 2604// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2605// for more information on using Contexts. 2606func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) { 2607 req, out := c.GetBucketPolicyRequest(input) 2608 req.SetContext(ctx) 2609 req.ApplyOptions(opts...) 2610 return out, req.Send() 2611} 2612 2613const opGetBucketPolicyStatus = "GetBucketPolicyStatus" 2614 2615// GetBucketPolicyStatusRequest generates a "aws/request.Request" representing the 2616// client's request for the GetBucketPolicyStatus operation. The "output" return 2617// value will be populated with the request's response once the request completes 2618// successfully. 2619// 2620// Use "Send" method on the returned Request to send the API call to the service. 2621// the "output" return value is not valid until after Send returns without error. 2622// 2623// See GetBucketPolicyStatus for more information on using the GetBucketPolicyStatus 2624// API call, and error handling. 2625// 2626// This method is useful when you want to inject custom logic or configuration 2627// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2628// 2629// 2630// // Example sending a request using the GetBucketPolicyStatusRequest method. 2631// req, resp := client.GetBucketPolicyStatusRequest(params) 2632// 2633// err := req.Send() 2634// if err == nil { // resp is now filled 2635// fmt.Println(resp) 2636// } 2637// 2638// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus 2639func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (req *request.Request, output *GetBucketPolicyStatusOutput) { 2640 op := &request.Operation{ 2641 Name: opGetBucketPolicyStatus, 2642 HTTPMethod: "GET", 2643 HTTPPath: "/{Bucket}?policyStatus", 2644 } 2645 2646 if input == nil { 2647 input = &GetBucketPolicyStatusInput{} 2648 } 2649 2650 output = &GetBucketPolicyStatusOutput{} 2651 req = c.newRequest(op, input, output) 2652 return 2653} 2654 2655// GetBucketPolicyStatus API operation for Amazon Simple Storage Service. 2656// 2657// Retrieves the policy status for an Amazon S3 bucket, indicating whether the 2658// bucket is public. 2659// 2660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2661// with awserr.Error's Code and Message methods to get detailed information about 2662// the error. 2663// 2664// See the AWS API reference guide for Amazon Simple Storage Service's 2665// API operation GetBucketPolicyStatus for usage and error information. 2666// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatus 2667func (c *S3) GetBucketPolicyStatus(input *GetBucketPolicyStatusInput) (*GetBucketPolicyStatusOutput, error) { 2668 req, out := c.GetBucketPolicyStatusRequest(input) 2669 return out, req.Send() 2670} 2671 2672// GetBucketPolicyStatusWithContext is the same as GetBucketPolicyStatus with the addition of 2673// the ability to pass a context and additional request options. 2674// 2675// See GetBucketPolicyStatus for details on how to use this API operation. 2676// 2677// The context must be non-nil and will be used for request cancellation. If 2678// the context is nil a panic will occur. In the future the SDK may create 2679// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2680// for more information on using Contexts. 2681func (c *S3) GetBucketPolicyStatusWithContext(ctx aws.Context, input *GetBucketPolicyStatusInput, opts ...request.Option) (*GetBucketPolicyStatusOutput, error) { 2682 req, out := c.GetBucketPolicyStatusRequest(input) 2683 req.SetContext(ctx) 2684 req.ApplyOptions(opts...) 2685 return out, req.Send() 2686} 2687 2688const opGetBucketReplication = "GetBucketReplication" 2689 2690// GetBucketReplicationRequest generates a "aws/request.Request" representing the 2691// client's request for the GetBucketReplication operation. The "output" return 2692// value will be populated with the request's response once the request completes 2693// successfully. 2694// 2695// Use "Send" method on the returned Request to send the API call to the service. 2696// the "output" return value is not valid until after Send returns without error. 2697// 2698// See GetBucketReplication for more information on using the GetBucketReplication 2699// API call, and error handling. 2700// 2701// This method is useful when you want to inject custom logic or configuration 2702// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2703// 2704// 2705// // Example sending a request using the GetBucketReplicationRequest method. 2706// req, resp := client.GetBucketReplicationRequest(params) 2707// 2708// err := req.Send() 2709// if err == nil { // resp is now filled 2710// fmt.Println(resp) 2711// } 2712// 2713// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2714func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { 2715 op := &request.Operation{ 2716 Name: opGetBucketReplication, 2717 HTTPMethod: "GET", 2718 HTTPPath: "/{Bucket}?replication", 2719 } 2720 2721 if input == nil { 2722 input = &GetBucketReplicationInput{} 2723 } 2724 2725 output = &GetBucketReplicationOutput{} 2726 req = c.newRequest(op, input, output) 2727 return 2728} 2729 2730// GetBucketReplication API operation for Amazon Simple Storage Service. 2731// 2732// Returns the replication configuration of a bucket. 2733// 2734// It can take a while to propagate the put or delete a replication configuration 2735// to all Amazon S3 systems. Therefore, a get request soon after put or delete 2736// can return a wrong result. 2737// 2738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2739// with awserr.Error's Code and Message methods to get detailed information about 2740// the error. 2741// 2742// See the AWS API reference guide for Amazon Simple Storage Service's 2743// API operation GetBucketReplication for usage and error information. 2744// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2745func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { 2746 req, out := c.GetBucketReplicationRequest(input) 2747 return out, req.Send() 2748} 2749 2750// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of 2751// the ability to pass a context and additional request options. 2752// 2753// See GetBucketReplication for details on how to use this API operation. 2754// 2755// The context must be non-nil and will be used for request cancellation. If 2756// the context is nil a panic will occur. In the future the SDK may create 2757// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2758// for more information on using Contexts. 2759func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) { 2760 req, out := c.GetBucketReplicationRequest(input) 2761 req.SetContext(ctx) 2762 req.ApplyOptions(opts...) 2763 return out, req.Send() 2764} 2765 2766const opGetBucketRequestPayment = "GetBucketRequestPayment" 2767 2768// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the 2769// client's request for the GetBucketRequestPayment operation. The "output" return 2770// value will be populated with the request's response once the request completes 2771// successfully. 2772// 2773// Use "Send" method on the returned Request to send the API call to the service. 2774// the "output" return value is not valid until after Send returns without error. 2775// 2776// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment 2777// API call, and error handling. 2778// 2779// This method is useful when you want to inject custom logic or configuration 2780// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2781// 2782// 2783// // Example sending a request using the GetBucketRequestPaymentRequest method. 2784// req, resp := client.GetBucketRequestPaymentRequest(params) 2785// 2786// err := req.Send() 2787// if err == nil { // resp is now filled 2788// fmt.Println(resp) 2789// } 2790// 2791// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2792func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) { 2793 op := &request.Operation{ 2794 Name: opGetBucketRequestPayment, 2795 HTTPMethod: "GET", 2796 HTTPPath: "/{Bucket}?requestPayment", 2797 } 2798 2799 if input == nil { 2800 input = &GetBucketRequestPaymentInput{} 2801 } 2802 2803 output = &GetBucketRequestPaymentOutput{} 2804 req = c.newRequest(op, input, output) 2805 return 2806} 2807 2808// GetBucketRequestPayment API operation for Amazon Simple Storage Service. 2809// 2810// Returns the request payment configuration of a bucket. 2811// 2812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2813// with awserr.Error's Code and Message methods to get detailed information about 2814// the error. 2815// 2816// See the AWS API reference guide for Amazon Simple Storage Service's 2817// API operation GetBucketRequestPayment for usage and error information. 2818// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2819func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) { 2820 req, out := c.GetBucketRequestPaymentRequest(input) 2821 return out, req.Send() 2822} 2823 2824// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of 2825// the ability to pass a context and additional request options. 2826// 2827// See GetBucketRequestPayment for details on how to use this API operation. 2828// 2829// The context must be non-nil and will be used for request cancellation. If 2830// the context is nil a panic will occur. In the future the SDK may create 2831// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2832// for more information on using Contexts. 2833func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) { 2834 req, out := c.GetBucketRequestPaymentRequest(input) 2835 req.SetContext(ctx) 2836 req.ApplyOptions(opts...) 2837 return out, req.Send() 2838} 2839 2840const opGetBucketTagging = "GetBucketTagging" 2841 2842// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2843// client's request for the GetBucketTagging operation. The "output" return 2844// value will be populated with the request's response once the request completes 2845// successfully. 2846// 2847// Use "Send" method on the returned Request to send the API call to the service. 2848// the "output" return value is not valid until after Send returns without error. 2849// 2850// See GetBucketTagging for more information on using the GetBucketTagging 2851// API call, and error handling. 2852// 2853// This method is useful when you want to inject custom logic or configuration 2854// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2855// 2856// 2857// // Example sending a request using the GetBucketTaggingRequest method. 2858// req, resp := client.GetBucketTaggingRequest(params) 2859// 2860// err := req.Send() 2861// if err == nil { // resp is now filled 2862// fmt.Println(resp) 2863// } 2864// 2865// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2866func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2867 op := &request.Operation{ 2868 Name: opGetBucketTagging, 2869 HTTPMethod: "GET", 2870 HTTPPath: "/{Bucket}?tagging", 2871 } 2872 2873 if input == nil { 2874 input = &GetBucketTaggingInput{} 2875 } 2876 2877 output = &GetBucketTaggingOutput{} 2878 req = c.newRequest(op, input, output) 2879 return 2880} 2881 2882// GetBucketTagging API operation for Amazon Simple Storage Service. 2883// 2884// Returns the tag set associated with the bucket. 2885// 2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2887// with awserr.Error's Code and Message methods to get detailed information about 2888// the error. 2889// 2890// See the AWS API reference guide for Amazon Simple Storage Service's 2891// API operation GetBucketTagging for usage and error information. 2892// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2893func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2894 req, out := c.GetBucketTaggingRequest(input) 2895 return out, req.Send() 2896} 2897 2898// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of 2899// the ability to pass a context and additional request options. 2900// 2901// See GetBucketTagging for details on how to use this API operation. 2902// 2903// The context must be non-nil and will be used for request cancellation. If 2904// the context is nil a panic will occur. In the future the SDK may create 2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2906// for more information on using Contexts. 2907func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) { 2908 req, out := c.GetBucketTaggingRequest(input) 2909 req.SetContext(ctx) 2910 req.ApplyOptions(opts...) 2911 return out, req.Send() 2912} 2913 2914const opGetBucketVersioning = "GetBucketVersioning" 2915 2916// GetBucketVersioningRequest generates a "aws/request.Request" representing the 2917// client's request for the GetBucketVersioning operation. The "output" return 2918// value will be populated with the request's response once the request completes 2919// successfully. 2920// 2921// Use "Send" method on the returned Request to send the API call to the service. 2922// the "output" return value is not valid until after Send returns without error. 2923// 2924// See GetBucketVersioning for more information on using the GetBucketVersioning 2925// API call, and error handling. 2926// 2927// This method is useful when you want to inject custom logic or configuration 2928// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2929// 2930// 2931// // Example sending a request using the GetBucketVersioningRequest method. 2932// req, resp := client.GetBucketVersioningRequest(params) 2933// 2934// err := req.Send() 2935// if err == nil { // resp is now filled 2936// fmt.Println(resp) 2937// } 2938// 2939// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2940func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) { 2941 op := &request.Operation{ 2942 Name: opGetBucketVersioning, 2943 HTTPMethod: "GET", 2944 HTTPPath: "/{Bucket}?versioning", 2945 } 2946 2947 if input == nil { 2948 input = &GetBucketVersioningInput{} 2949 } 2950 2951 output = &GetBucketVersioningOutput{} 2952 req = c.newRequest(op, input, output) 2953 return 2954} 2955 2956// GetBucketVersioning API operation for Amazon Simple Storage Service. 2957// 2958// Returns the versioning state of a bucket. 2959// 2960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2961// with awserr.Error's Code and Message methods to get detailed information about 2962// the error. 2963// 2964// See the AWS API reference guide for Amazon Simple Storage Service's 2965// API operation GetBucketVersioning for usage and error information. 2966// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2967func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) { 2968 req, out := c.GetBucketVersioningRequest(input) 2969 return out, req.Send() 2970} 2971 2972// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of 2973// the ability to pass a context and additional request options. 2974// 2975// See GetBucketVersioning for details on how to use this API operation. 2976// 2977// The context must be non-nil and will be used for request cancellation. If 2978// the context is nil a panic will occur. In the future the SDK may create 2979// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2980// for more information on using Contexts. 2981func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) { 2982 req, out := c.GetBucketVersioningRequest(input) 2983 req.SetContext(ctx) 2984 req.ApplyOptions(opts...) 2985 return out, req.Send() 2986} 2987 2988const opGetBucketWebsite = "GetBucketWebsite" 2989 2990// GetBucketWebsiteRequest generates a "aws/request.Request" representing the 2991// client's request for the GetBucketWebsite operation. The "output" return 2992// value will be populated with the request's response once the request completes 2993// successfully. 2994// 2995// Use "Send" method on the returned Request to send the API call to the service. 2996// the "output" return value is not valid until after Send returns without error. 2997// 2998// See GetBucketWebsite for more information on using the GetBucketWebsite 2999// API call, and error handling. 3000// 3001// This method is useful when you want to inject custom logic or configuration 3002// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3003// 3004// 3005// // Example sending a request using the GetBucketWebsiteRequest method. 3006// req, resp := client.GetBucketWebsiteRequest(params) 3007// 3008// err := req.Send() 3009// if err == nil { // resp is now filled 3010// fmt.Println(resp) 3011// } 3012// 3013// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 3014func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) { 3015 op := &request.Operation{ 3016 Name: opGetBucketWebsite, 3017 HTTPMethod: "GET", 3018 HTTPPath: "/{Bucket}?website", 3019 } 3020 3021 if input == nil { 3022 input = &GetBucketWebsiteInput{} 3023 } 3024 3025 output = &GetBucketWebsiteOutput{} 3026 req = c.newRequest(op, input, output) 3027 return 3028} 3029 3030// GetBucketWebsite API operation for Amazon Simple Storage Service. 3031// 3032// Returns the website configuration for a bucket. 3033// 3034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3035// with awserr.Error's Code and Message methods to get detailed information about 3036// the error. 3037// 3038// See the AWS API reference guide for Amazon Simple Storage Service's 3039// API operation GetBucketWebsite for usage and error information. 3040// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 3041func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) { 3042 req, out := c.GetBucketWebsiteRequest(input) 3043 return out, req.Send() 3044} 3045 3046// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of 3047// the ability to pass a context and additional request options. 3048// 3049// See GetBucketWebsite for details on how to use this API operation. 3050// 3051// The context must be non-nil and will be used for request cancellation. If 3052// the context is nil a panic will occur. In the future the SDK may create 3053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3054// for more information on using Contexts. 3055func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) { 3056 req, out := c.GetBucketWebsiteRequest(input) 3057 req.SetContext(ctx) 3058 req.ApplyOptions(opts...) 3059 return out, req.Send() 3060} 3061 3062const opGetObject = "GetObject" 3063 3064// GetObjectRequest generates a "aws/request.Request" representing the 3065// client's request for the GetObject operation. The "output" return 3066// value will be populated with the request's response once the request completes 3067// successfully. 3068// 3069// Use "Send" method on the returned Request to send the API call to the service. 3070// the "output" return value is not valid until after Send returns without error. 3071// 3072// See GetObject for more information on using the GetObject 3073// API call, and error handling. 3074// 3075// This method is useful when you want to inject custom logic or configuration 3076// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3077// 3078// 3079// // Example sending a request using the GetObjectRequest method. 3080// req, resp := client.GetObjectRequest(params) 3081// 3082// err := req.Send() 3083// if err == nil { // resp is now filled 3084// fmt.Println(resp) 3085// } 3086// 3087// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 3088func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { 3089 op := &request.Operation{ 3090 Name: opGetObject, 3091 HTTPMethod: "GET", 3092 HTTPPath: "/{Bucket}/{Key+}", 3093 } 3094 3095 if input == nil { 3096 input = &GetObjectInput{} 3097 } 3098 3099 output = &GetObjectOutput{} 3100 req = c.newRequest(op, input, output) 3101 return 3102} 3103 3104// GetObject API operation for Amazon Simple Storage Service. 3105// 3106// Retrieves objects from Amazon S3. 3107// 3108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3109// with awserr.Error's Code and Message methods to get detailed information about 3110// the error. 3111// 3112// See the AWS API reference guide for Amazon Simple Storage Service's 3113// API operation GetObject for usage and error information. 3114// 3115// Returned Error Codes: 3116// * ErrCodeNoSuchKey "NoSuchKey" 3117// The specified key does not exist. 3118// 3119// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 3120func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { 3121 req, out := c.GetObjectRequest(input) 3122 return out, req.Send() 3123} 3124 3125// GetObjectWithContext is the same as GetObject with the addition of 3126// the ability to pass a context and additional request options. 3127// 3128// See GetObject for details on how to use this API operation. 3129// 3130// The context must be non-nil and will be used for request cancellation. If 3131// the context is nil a panic will occur. In the future the SDK may create 3132// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3133// for more information on using Contexts. 3134func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) { 3135 req, out := c.GetObjectRequest(input) 3136 req.SetContext(ctx) 3137 req.ApplyOptions(opts...) 3138 return out, req.Send() 3139} 3140 3141const opGetObjectAcl = "GetObjectAcl" 3142 3143// GetObjectAclRequest generates a "aws/request.Request" representing the 3144// client's request for the GetObjectAcl operation. The "output" return 3145// value will be populated with the request's response once the request completes 3146// successfully. 3147// 3148// Use "Send" method on the returned Request to send the API call to the service. 3149// the "output" return value is not valid until after Send returns without error. 3150// 3151// See GetObjectAcl for more information on using the GetObjectAcl 3152// API call, and error handling. 3153// 3154// This method is useful when you want to inject custom logic or configuration 3155// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3156// 3157// 3158// // Example sending a request using the GetObjectAclRequest method. 3159// req, resp := client.GetObjectAclRequest(params) 3160// 3161// err := req.Send() 3162// if err == nil { // resp is now filled 3163// fmt.Println(resp) 3164// } 3165// 3166// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3167func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) { 3168 op := &request.Operation{ 3169 Name: opGetObjectAcl, 3170 HTTPMethod: "GET", 3171 HTTPPath: "/{Bucket}/{Key+}?acl", 3172 } 3173 3174 if input == nil { 3175 input = &GetObjectAclInput{} 3176 } 3177 3178 output = &GetObjectAclOutput{} 3179 req = c.newRequest(op, input, output) 3180 return 3181} 3182 3183// GetObjectAcl API operation for Amazon Simple Storage Service. 3184// 3185// Returns the access control list (ACL) of an object. 3186// 3187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3188// with awserr.Error's Code and Message methods to get detailed information about 3189// the error. 3190// 3191// See the AWS API reference guide for Amazon Simple Storage Service's 3192// API operation GetObjectAcl for usage and error information. 3193// 3194// Returned Error Codes: 3195// * ErrCodeNoSuchKey "NoSuchKey" 3196// The specified key does not exist. 3197// 3198// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3199func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) { 3200 req, out := c.GetObjectAclRequest(input) 3201 return out, req.Send() 3202} 3203 3204// GetObjectAclWithContext is the same as GetObjectAcl with the addition of 3205// the ability to pass a context and additional request options. 3206// 3207// See GetObjectAcl for details on how to use this API operation. 3208// 3209// The context must be non-nil and will be used for request cancellation. If 3210// the context is nil a panic will occur. In the future the SDK may create 3211// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3212// for more information on using Contexts. 3213func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) { 3214 req, out := c.GetObjectAclRequest(input) 3215 req.SetContext(ctx) 3216 req.ApplyOptions(opts...) 3217 return out, req.Send() 3218} 3219 3220const opGetObjectLegalHold = "GetObjectLegalHold" 3221 3222// GetObjectLegalHoldRequest generates a "aws/request.Request" representing the 3223// client's request for the GetObjectLegalHold operation. The "output" return 3224// value will be populated with the request's response once the request completes 3225// successfully. 3226// 3227// Use "Send" method on the returned Request to send the API call to the service. 3228// the "output" return value is not valid until after Send returns without error. 3229// 3230// See GetObjectLegalHold for more information on using the GetObjectLegalHold 3231// API call, and error handling. 3232// 3233// This method is useful when you want to inject custom logic or configuration 3234// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3235// 3236// 3237// // Example sending a request using the GetObjectLegalHoldRequest method. 3238// req, resp := client.GetObjectLegalHoldRequest(params) 3239// 3240// err := req.Send() 3241// if err == nil { // resp is now filled 3242// fmt.Println(resp) 3243// } 3244// 3245// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold 3246func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *request.Request, output *GetObjectLegalHoldOutput) { 3247 op := &request.Operation{ 3248 Name: opGetObjectLegalHold, 3249 HTTPMethod: "GET", 3250 HTTPPath: "/{Bucket}/{Key+}?legal-hold", 3251 } 3252 3253 if input == nil { 3254 input = &GetObjectLegalHoldInput{} 3255 } 3256 3257 output = &GetObjectLegalHoldOutput{} 3258 req = c.newRequest(op, input, output) 3259 return 3260} 3261 3262// GetObjectLegalHold API operation for Amazon Simple Storage Service. 3263// 3264// Gets an object's current Legal Hold status. 3265// 3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3267// with awserr.Error's Code and Message methods to get detailed information about 3268// the error. 3269// 3270// See the AWS API reference guide for Amazon Simple Storage Service's 3271// API operation GetObjectLegalHold for usage and error information. 3272// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold 3273func (c *S3) GetObjectLegalHold(input *GetObjectLegalHoldInput) (*GetObjectLegalHoldOutput, error) { 3274 req, out := c.GetObjectLegalHoldRequest(input) 3275 return out, req.Send() 3276} 3277 3278// GetObjectLegalHoldWithContext is the same as GetObjectLegalHold with the addition of 3279// the ability to pass a context and additional request options. 3280// 3281// See GetObjectLegalHold for details on how to use this API operation. 3282// 3283// The context must be non-nil and will be used for request cancellation. If 3284// the context is nil a panic will occur. In the future the SDK may create 3285// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3286// for more information on using Contexts. 3287func (c *S3) GetObjectLegalHoldWithContext(ctx aws.Context, input *GetObjectLegalHoldInput, opts ...request.Option) (*GetObjectLegalHoldOutput, error) { 3288 req, out := c.GetObjectLegalHoldRequest(input) 3289 req.SetContext(ctx) 3290 req.ApplyOptions(opts...) 3291 return out, req.Send() 3292} 3293 3294const opGetObjectLockConfiguration = "GetObjectLockConfiguration" 3295 3296// GetObjectLockConfigurationRequest generates a "aws/request.Request" representing the 3297// client's request for the GetObjectLockConfiguration operation. The "output" return 3298// value will be populated with the request's response once the request completes 3299// successfully. 3300// 3301// Use "Send" method on the returned Request to send the API call to the service. 3302// the "output" return value is not valid until after Send returns without error. 3303// 3304// See GetObjectLockConfiguration for more information on using the GetObjectLockConfiguration 3305// API call, and error handling. 3306// 3307// This method is useful when you want to inject custom logic or configuration 3308// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3309// 3310// 3311// // Example sending a request using the GetObjectLockConfigurationRequest method. 3312// req, resp := client.GetObjectLockConfigurationRequest(params) 3313// 3314// err := req.Send() 3315// if err == nil { // resp is now filled 3316// fmt.Println(resp) 3317// } 3318// 3319// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration 3320func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfigurationInput) (req *request.Request, output *GetObjectLockConfigurationOutput) { 3321 op := &request.Operation{ 3322 Name: opGetObjectLockConfiguration, 3323 HTTPMethod: "GET", 3324 HTTPPath: "/{Bucket}?object-lock", 3325 } 3326 3327 if input == nil { 3328 input = &GetObjectLockConfigurationInput{} 3329 } 3330 3331 output = &GetObjectLockConfigurationOutput{} 3332 req = c.newRequest(op, input, output) 3333 return 3334} 3335 3336// GetObjectLockConfiguration API operation for Amazon Simple Storage Service. 3337// 3338// Gets the Object Lock configuration for a bucket. The rule specified in the 3339// Object Lock configuration will be applied by default to every new object 3340// placed in the specified bucket. 3341// 3342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3343// with awserr.Error's Code and Message methods to get detailed information about 3344// the error. 3345// 3346// See the AWS API reference guide for Amazon Simple Storage Service's 3347// API operation GetObjectLockConfiguration for usage and error information. 3348// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration 3349func (c *S3) GetObjectLockConfiguration(input *GetObjectLockConfigurationInput) (*GetObjectLockConfigurationOutput, error) { 3350 req, out := c.GetObjectLockConfigurationRequest(input) 3351 return out, req.Send() 3352} 3353 3354// GetObjectLockConfigurationWithContext is the same as GetObjectLockConfiguration with the addition of 3355// the ability to pass a context and additional request options. 3356// 3357// See GetObjectLockConfiguration for details on how to use this API operation. 3358// 3359// The context must be non-nil and will be used for request cancellation. If 3360// the context is nil a panic will occur. In the future the SDK may create 3361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3362// for more information on using Contexts. 3363func (c *S3) GetObjectLockConfigurationWithContext(ctx aws.Context, input *GetObjectLockConfigurationInput, opts ...request.Option) (*GetObjectLockConfigurationOutput, error) { 3364 req, out := c.GetObjectLockConfigurationRequest(input) 3365 req.SetContext(ctx) 3366 req.ApplyOptions(opts...) 3367 return out, req.Send() 3368} 3369 3370const opGetObjectRetention = "GetObjectRetention" 3371 3372// GetObjectRetentionRequest generates a "aws/request.Request" representing the 3373// client's request for the GetObjectRetention operation. The "output" return 3374// value will be populated with the request's response once the request completes 3375// successfully. 3376// 3377// Use "Send" method on the returned Request to send the API call to the service. 3378// the "output" return value is not valid until after Send returns without error. 3379// 3380// See GetObjectRetention for more information on using the GetObjectRetention 3381// API call, and error handling. 3382// 3383// This method is useful when you want to inject custom logic or configuration 3384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3385// 3386// 3387// // Example sending a request using the GetObjectRetentionRequest method. 3388// req, resp := client.GetObjectRetentionRequest(params) 3389// 3390// err := req.Send() 3391// if err == nil { // resp is now filled 3392// fmt.Println(resp) 3393// } 3394// 3395// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention 3396func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *request.Request, output *GetObjectRetentionOutput) { 3397 op := &request.Operation{ 3398 Name: opGetObjectRetention, 3399 HTTPMethod: "GET", 3400 HTTPPath: "/{Bucket}/{Key+}?retention", 3401 } 3402 3403 if input == nil { 3404 input = &GetObjectRetentionInput{} 3405 } 3406 3407 output = &GetObjectRetentionOutput{} 3408 req = c.newRequest(op, input, output) 3409 return 3410} 3411 3412// GetObjectRetention API operation for Amazon Simple Storage Service. 3413// 3414// Retrieves an object's retention settings. 3415// 3416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3417// with awserr.Error's Code and Message methods to get detailed information about 3418// the error. 3419// 3420// See the AWS API reference guide for Amazon Simple Storage Service's 3421// API operation GetObjectRetention for usage and error information. 3422// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention 3423func (c *S3) GetObjectRetention(input *GetObjectRetentionInput) (*GetObjectRetentionOutput, error) { 3424 req, out := c.GetObjectRetentionRequest(input) 3425 return out, req.Send() 3426} 3427 3428// GetObjectRetentionWithContext is the same as GetObjectRetention with the addition of 3429// the ability to pass a context and additional request options. 3430// 3431// See GetObjectRetention for details on how to use this API operation. 3432// 3433// The context must be non-nil and will be used for request cancellation. If 3434// the context is nil a panic will occur. In the future the SDK may create 3435// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3436// for more information on using Contexts. 3437func (c *S3) GetObjectRetentionWithContext(ctx aws.Context, input *GetObjectRetentionInput, opts ...request.Option) (*GetObjectRetentionOutput, error) { 3438 req, out := c.GetObjectRetentionRequest(input) 3439 req.SetContext(ctx) 3440 req.ApplyOptions(opts...) 3441 return out, req.Send() 3442} 3443 3444const opGetObjectTagging = "GetObjectTagging" 3445 3446// GetObjectTaggingRequest generates a "aws/request.Request" representing the 3447// client's request for the GetObjectTagging operation. The "output" return 3448// value will be populated with the request's response once the request completes 3449// successfully. 3450// 3451// Use "Send" method on the returned Request to send the API call to the service. 3452// the "output" return value is not valid until after Send returns without error. 3453// 3454// See GetObjectTagging for more information on using the GetObjectTagging 3455// API call, and error handling. 3456// 3457// This method is useful when you want to inject custom logic or configuration 3458// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3459// 3460// 3461// // Example sending a request using the GetObjectTaggingRequest method. 3462// req, resp := client.GetObjectTaggingRequest(params) 3463// 3464// err := req.Send() 3465// if err == nil { // resp is now filled 3466// fmt.Println(resp) 3467// } 3468// 3469// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3470func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) { 3471 op := &request.Operation{ 3472 Name: opGetObjectTagging, 3473 HTTPMethod: "GET", 3474 HTTPPath: "/{Bucket}/{Key+}?tagging", 3475 } 3476 3477 if input == nil { 3478 input = &GetObjectTaggingInput{} 3479 } 3480 3481 output = &GetObjectTaggingOutput{} 3482 req = c.newRequest(op, input, output) 3483 return 3484} 3485 3486// GetObjectTagging API operation for Amazon Simple Storage Service. 3487// 3488// Returns the tag-set of an object. 3489// 3490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3491// with awserr.Error's Code and Message methods to get detailed information about 3492// the error. 3493// 3494// See the AWS API reference guide for Amazon Simple Storage Service's 3495// API operation GetObjectTagging for usage and error information. 3496// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3497func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) { 3498 req, out := c.GetObjectTaggingRequest(input) 3499 return out, req.Send() 3500} 3501 3502// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of 3503// the ability to pass a context and additional request options. 3504// 3505// See GetObjectTagging for details on how to use this API operation. 3506// 3507// The context must be non-nil and will be used for request cancellation. If 3508// the context is nil a panic will occur. In the future the SDK may create 3509// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3510// for more information on using Contexts. 3511func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) { 3512 req, out := c.GetObjectTaggingRequest(input) 3513 req.SetContext(ctx) 3514 req.ApplyOptions(opts...) 3515 return out, req.Send() 3516} 3517 3518const opGetObjectTorrent = "GetObjectTorrent" 3519 3520// GetObjectTorrentRequest generates a "aws/request.Request" representing the 3521// client's request for the GetObjectTorrent operation. The "output" return 3522// value will be populated with the request's response once the request completes 3523// successfully. 3524// 3525// Use "Send" method on the returned Request to send the API call to the service. 3526// the "output" return value is not valid until after Send returns without error. 3527// 3528// See GetObjectTorrent for more information on using the GetObjectTorrent 3529// API call, and error handling. 3530// 3531// This method is useful when you want to inject custom logic or configuration 3532// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3533// 3534// 3535// // Example sending a request using the GetObjectTorrentRequest method. 3536// req, resp := client.GetObjectTorrentRequest(params) 3537// 3538// err := req.Send() 3539// if err == nil { // resp is now filled 3540// fmt.Println(resp) 3541// } 3542// 3543// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3544func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) { 3545 op := &request.Operation{ 3546 Name: opGetObjectTorrent, 3547 HTTPMethod: "GET", 3548 HTTPPath: "/{Bucket}/{Key+}?torrent", 3549 } 3550 3551 if input == nil { 3552 input = &GetObjectTorrentInput{} 3553 } 3554 3555 output = &GetObjectTorrentOutput{} 3556 req = c.newRequest(op, input, output) 3557 return 3558} 3559 3560// GetObjectTorrent API operation for Amazon Simple Storage Service. 3561// 3562// Return torrent files from a bucket. 3563// 3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3565// with awserr.Error's Code and Message methods to get detailed information about 3566// the error. 3567// 3568// See the AWS API reference guide for Amazon Simple Storage Service's 3569// API operation GetObjectTorrent for usage and error information. 3570// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3571func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) { 3572 req, out := c.GetObjectTorrentRequest(input) 3573 return out, req.Send() 3574} 3575 3576// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of 3577// the ability to pass a context and additional request options. 3578// 3579// See GetObjectTorrent for details on how to use this API operation. 3580// 3581// The context must be non-nil and will be used for request cancellation. If 3582// the context is nil a panic will occur. In the future the SDK may create 3583// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3584// for more information on using Contexts. 3585func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) { 3586 req, out := c.GetObjectTorrentRequest(input) 3587 req.SetContext(ctx) 3588 req.ApplyOptions(opts...) 3589 return out, req.Send() 3590} 3591 3592const opGetPublicAccessBlock = "GetPublicAccessBlock" 3593 3594// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the 3595// client's request for the GetPublicAccessBlock operation. The "output" return 3596// value will be populated with the request's response once the request completes 3597// successfully. 3598// 3599// Use "Send" method on the returned Request to send the API call to the service. 3600// the "output" return value is not valid until after Send returns without error. 3601// 3602// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock 3603// API call, and error handling. 3604// 3605// This method is useful when you want to inject custom logic or configuration 3606// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3607// 3608// 3609// // Example sending a request using the GetPublicAccessBlockRequest method. 3610// req, resp := client.GetPublicAccessBlockRequest(params) 3611// 3612// err := req.Send() 3613// if err == nil { // resp is now filled 3614// fmt.Println(resp) 3615// } 3616// 3617// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock 3618func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) { 3619 op := &request.Operation{ 3620 Name: opGetPublicAccessBlock, 3621 HTTPMethod: "GET", 3622 HTTPPath: "/{Bucket}?publicAccessBlock", 3623 } 3624 3625 if input == nil { 3626 input = &GetPublicAccessBlockInput{} 3627 } 3628 3629 output = &GetPublicAccessBlockOutput{} 3630 req = c.newRequest(op, input, output) 3631 return 3632} 3633 3634// GetPublicAccessBlock API operation for Amazon Simple Storage Service. 3635// 3636// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. 3637// 3638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3639// with awserr.Error's Code and Message methods to get detailed information about 3640// the error. 3641// 3642// See the AWS API reference guide for Amazon Simple Storage Service's 3643// API operation GetPublicAccessBlock for usage and error information. 3644// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlock 3645func (c *S3) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) { 3646 req, out := c.GetPublicAccessBlockRequest(input) 3647 return out, req.Send() 3648} 3649 3650// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of 3651// the ability to pass a context and additional request options. 3652// 3653// See GetPublicAccessBlock for details on how to use this API operation. 3654// 3655// The context must be non-nil and will be used for request cancellation. If 3656// the context is nil a panic will occur. In the future the SDK may create 3657// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3658// for more information on using Contexts. 3659func (c *S3) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) { 3660 req, out := c.GetPublicAccessBlockRequest(input) 3661 req.SetContext(ctx) 3662 req.ApplyOptions(opts...) 3663 return out, req.Send() 3664} 3665 3666const opHeadBucket = "HeadBucket" 3667 3668// HeadBucketRequest generates a "aws/request.Request" representing the 3669// client's request for the HeadBucket operation. The "output" return 3670// value will be populated with the request's response once the request completes 3671// successfully. 3672// 3673// Use "Send" method on the returned Request to send the API call to the service. 3674// the "output" return value is not valid until after Send returns without error. 3675// 3676// See HeadBucket for more information on using the HeadBucket 3677// API call, and error handling. 3678// 3679// This method is useful when you want to inject custom logic or configuration 3680// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3681// 3682// 3683// // Example sending a request using the HeadBucketRequest method. 3684// req, resp := client.HeadBucketRequest(params) 3685// 3686// err := req.Send() 3687// if err == nil { // resp is now filled 3688// fmt.Println(resp) 3689// } 3690// 3691// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3692func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) { 3693 op := &request.Operation{ 3694 Name: opHeadBucket, 3695 HTTPMethod: "HEAD", 3696 HTTPPath: "/{Bucket}", 3697 } 3698 3699 if input == nil { 3700 input = &HeadBucketInput{} 3701 } 3702 3703 output = &HeadBucketOutput{} 3704 req = c.newRequest(op, input, output) 3705 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3706 return 3707} 3708 3709// HeadBucket API operation for Amazon Simple Storage Service. 3710// 3711// This operation is useful to determine if a bucket exists and you have permission 3712// to access it. 3713// 3714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3715// with awserr.Error's Code and Message methods to get detailed information about 3716// the error. 3717// 3718// See the AWS API reference guide for Amazon Simple Storage Service's 3719// API operation HeadBucket for usage and error information. 3720// 3721// Returned Error Codes: 3722// * ErrCodeNoSuchBucket "NoSuchBucket" 3723// The specified bucket does not exist. 3724// 3725// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3726func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { 3727 req, out := c.HeadBucketRequest(input) 3728 return out, req.Send() 3729} 3730 3731// HeadBucketWithContext is the same as HeadBucket with the addition of 3732// the ability to pass a context and additional request options. 3733// 3734// See HeadBucket for details on how to use this API operation. 3735// 3736// The context must be non-nil and will be used for request cancellation. If 3737// the context is nil a panic will occur. In the future the SDK may create 3738// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3739// for more information on using Contexts. 3740func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) { 3741 req, out := c.HeadBucketRequest(input) 3742 req.SetContext(ctx) 3743 req.ApplyOptions(opts...) 3744 return out, req.Send() 3745} 3746 3747const opHeadObject = "HeadObject" 3748 3749// HeadObjectRequest generates a "aws/request.Request" representing the 3750// client's request for the HeadObject operation. The "output" return 3751// value will be populated with the request's response once the request completes 3752// successfully. 3753// 3754// Use "Send" method on the returned Request to send the API call to the service. 3755// the "output" return value is not valid until after Send returns without error. 3756// 3757// See HeadObject for more information on using the HeadObject 3758// API call, and error handling. 3759// 3760// This method is useful when you want to inject custom logic or configuration 3761// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3762// 3763// 3764// // Example sending a request using the HeadObjectRequest method. 3765// req, resp := client.HeadObjectRequest(params) 3766// 3767// err := req.Send() 3768// if err == nil { // resp is now filled 3769// fmt.Println(resp) 3770// } 3771// 3772// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3773func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) { 3774 op := &request.Operation{ 3775 Name: opHeadObject, 3776 HTTPMethod: "HEAD", 3777 HTTPPath: "/{Bucket}/{Key+}", 3778 } 3779 3780 if input == nil { 3781 input = &HeadObjectInput{} 3782 } 3783 3784 output = &HeadObjectOutput{} 3785 req = c.newRequest(op, input, output) 3786 return 3787} 3788 3789// HeadObject API operation for Amazon Simple Storage Service. 3790// 3791// The HEAD operation retrieves metadata from an object without returning the 3792// object itself. This operation is useful if you're only interested in an object's 3793// metadata. To use HEAD, you must have READ access to the object. 3794// 3795// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses 3796// for more information on returned errors. 3797// 3798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3799// with awserr.Error's Code and Message methods to get detailed information about 3800// the error. 3801// 3802// See the AWS API reference guide for Amazon Simple Storage Service's 3803// API operation HeadObject for usage and error information. 3804// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3805func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { 3806 req, out := c.HeadObjectRequest(input) 3807 return out, req.Send() 3808} 3809 3810// HeadObjectWithContext is the same as HeadObject with the addition of 3811// the ability to pass a context and additional request options. 3812// 3813// See HeadObject for details on how to use this API operation. 3814// 3815// The context must be non-nil and will be used for request cancellation. If 3816// the context is nil a panic will occur. In the future the SDK may create 3817// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3818// for more information on using Contexts. 3819func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) { 3820 req, out := c.HeadObjectRequest(input) 3821 req.SetContext(ctx) 3822 req.ApplyOptions(opts...) 3823 return out, req.Send() 3824} 3825 3826const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations" 3827 3828// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the 3829// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return 3830// value will be populated with the request's response once the request completes 3831// successfully. 3832// 3833// Use "Send" method on the returned Request to send the API call to the service. 3834// the "output" return value is not valid until after Send returns without error. 3835// 3836// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations 3837// API call, and error handling. 3838// 3839// This method is useful when you want to inject custom logic or configuration 3840// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3841// 3842// 3843// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method. 3844// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params) 3845// 3846// err := req.Send() 3847// if err == nil { // resp is now filled 3848// fmt.Println(resp) 3849// } 3850// 3851// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3852func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) { 3853 op := &request.Operation{ 3854 Name: opListBucketAnalyticsConfigurations, 3855 HTTPMethod: "GET", 3856 HTTPPath: "/{Bucket}?analytics", 3857 } 3858 3859 if input == nil { 3860 input = &ListBucketAnalyticsConfigurationsInput{} 3861 } 3862 3863 output = &ListBucketAnalyticsConfigurationsOutput{} 3864 req = c.newRequest(op, input, output) 3865 return 3866} 3867 3868// ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service. 3869// 3870// Lists the analytics configurations for the bucket. 3871// 3872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3873// with awserr.Error's Code and Message methods to get detailed information about 3874// the error. 3875// 3876// See the AWS API reference guide for Amazon Simple Storage Service's 3877// API operation ListBucketAnalyticsConfigurations for usage and error information. 3878// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3879func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) { 3880 req, out := c.ListBucketAnalyticsConfigurationsRequest(input) 3881 return out, req.Send() 3882} 3883 3884// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of 3885// the ability to pass a context and additional request options. 3886// 3887// See ListBucketAnalyticsConfigurations for details on how to use this API operation. 3888// 3889// The context must be non-nil and will be used for request cancellation. If 3890// the context is nil a panic will occur. In the future the SDK may create 3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3892// for more information on using Contexts. 3893func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) { 3894 req, out := c.ListBucketAnalyticsConfigurationsRequest(input) 3895 req.SetContext(ctx) 3896 req.ApplyOptions(opts...) 3897 return out, req.Send() 3898} 3899 3900const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations" 3901 3902// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the 3903// client's request for the ListBucketInventoryConfigurations operation. The "output" return 3904// value will be populated with the request's response once the request completes 3905// successfully. 3906// 3907// Use "Send" method on the returned Request to send the API call to the service. 3908// the "output" return value is not valid until after Send returns without error. 3909// 3910// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations 3911// API call, and error handling. 3912// 3913// This method is useful when you want to inject custom logic or configuration 3914// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3915// 3916// 3917// // Example sending a request using the ListBucketInventoryConfigurationsRequest method. 3918// req, resp := client.ListBucketInventoryConfigurationsRequest(params) 3919// 3920// err := req.Send() 3921// if err == nil { // resp is now filled 3922// fmt.Println(resp) 3923// } 3924// 3925// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3926func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) { 3927 op := &request.Operation{ 3928 Name: opListBucketInventoryConfigurations, 3929 HTTPMethod: "GET", 3930 HTTPPath: "/{Bucket}?inventory", 3931 } 3932 3933 if input == nil { 3934 input = &ListBucketInventoryConfigurationsInput{} 3935 } 3936 3937 output = &ListBucketInventoryConfigurationsOutput{} 3938 req = c.newRequest(op, input, output) 3939 return 3940} 3941 3942// ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service. 3943// 3944// Returns a list of inventory configurations for the bucket. 3945// 3946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3947// with awserr.Error's Code and Message methods to get detailed information about 3948// the error. 3949// 3950// See the AWS API reference guide for Amazon Simple Storage Service's 3951// API operation ListBucketInventoryConfigurations for usage and error information. 3952// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3953func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) { 3954 req, out := c.ListBucketInventoryConfigurationsRequest(input) 3955 return out, req.Send() 3956} 3957 3958// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of 3959// the ability to pass a context and additional request options. 3960// 3961// See ListBucketInventoryConfigurations for details on how to use this API operation. 3962// 3963// The context must be non-nil and will be used for request cancellation. If 3964// the context is nil a panic will occur. In the future the SDK may create 3965// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3966// for more information on using Contexts. 3967func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) { 3968 req, out := c.ListBucketInventoryConfigurationsRequest(input) 3969 req.SetContext(ctx) 3970 req.ApplyOptions(opts...) 3971 return out, req.Send() 3972} 3973 3974const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations" 3975 3976// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the 3977// client's request for the ListBucketMetricsConfigurations operation. The "output" return 3978// value will be populated with the request's response once the request completes 3979// successfully. 3980// 3981// Use "Send" method on the returned Request to send the API call to the service. 3982// the "output" return value is not valid until after Send returns without error. 3983// 3984// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations 3985// API call, and error handling. 3986// 3987// This method is useful when you want to inject custom logic or configuration 3988// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3989// 3990// 3991// // Example sending a request using the ListBucketMetricsConfigurationsRequest method. 3992// req, resp := client.ListBucketMetricsConfigurationsRequest(params) 3993// 3994// err := req.Send() 3995// if err == nil { // resp is now filled 3996// fmt.Println(resp) 3997// } 3998// 3999// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 4000func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) { 4001 op := &request.Operation{ 4002 Name: opListBucketMetricsConfigurations, 4003 HTTPMethod: "GET", 4004 HTTPPath: "/{Bucket}?metrics", 4005 } 4006 4007 if input == nil { 4008 input = &ListBucketMetricsConfigurationsInput{} 4009 } 4010 4011 output = &ListBucketMetricsConfigurationsOutput{} 4012 req = c.newRequest(op, input, output) 4013 return 4014} 4015 4016// ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service. 4017// 4018// Lists the metrics configurations for the bucket. 4019// 4020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4021// with awserr.Error's Code and Message methods to get detailed information about 4022// the error. 4023// 4024// See the AWS API reference guide for Amazon Simple Storage Service's 4025// API operation ListBucketMetricsConfigurations for usage and error information. 4026// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 4027func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) { 4028 req, out := c.ListBucketMetricsConfigurationsRequest(input) 4029 return out, req.Send() 4030} 4031 4032// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of 4033// the ability to pass a context and additional request options. 4034// 4035// See ListBucketMetricsConfigurations for details on how to use this API operation. 4036// 4037// The context must be non-nil and will be used for request cancellation. If 4038// the context is nil a panic will occur. In the future the SDK may create 4039// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4040// for more information on using Contexts. 4041func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) { 4042 req, out := c.ListBucketMetricsConfigurationsRequest(input) 4043 req.SetContext(ctx) 4044 req.ApplyOptions(opts...) 4045 return out, req.Send() 4046} 4047 4048const opListBuckets = "ListBuckets" 4049 4050// ListBucketsRequest generates a "aws/request.Request" representing the 4051// client's request for the ListBuckets operation. The "output" return 4052// value will be populated with the request's response once the request completes 4053// successfully. 4054// 4055// Use "Send" method on the returned Request to send the API call to the service. 4056// the "output" return value is not valid until after Send returns without error. 4057// 4058// See ListBuckets for more information on using the ListBuckets 4059// API call, and error handling. 4060// 4061// This method is useful when you want to inject custom logic or configuration 4062// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4063// 4064// 4065// // Example sending a request using the ListBucketsRequest method. 4066// req, resp := client.ListBucketsRequest(params) 4067// 4068// err := req.Send() 4069// if err == nil { // resp is now filled 4070// fmt.Println(resp) 4071// } 4072// 4073// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 4074func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) { 4075 op := &request.Operation{ 4076 Name: opListBuckets, 4077 HTTPMethod: "GET", 4078 HTTPPath: "/", 4079 } 4080 4081 if input == nil { 4082 input = &ListBucketsInput{} 4083 } 4084 4085 output = &ListBucketsOutput{} 4086 req = c.newRequest(op, input, output) 4087 return 4088} 4089 4090// ListBuckets API operation for Amazon Simple Storage Service. 4091// 4092// Returns a list of all buckets owned by the authenticated sender of the request. 4093// 4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4095// with awserr.Error's Code and Message methods to get detailed information about 4096// the error. 4097// 4098// See the AWS API reference guide for Amazon Simple Storage Service's 4099// API operation ListBuckets for usage and error information. 4100// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 4101func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { 4102 req, out := c.ListBucketsRequest(input) 4103 return out, req.Send() 4104} 4105 4106// ListBucketsWithContext is the same as ListBuckets with the addition of 4107// the ability to pass a context and additional request options. 4108// 4109// See ListBuckets for details on how to use this API operation. 4110// 4111// The context must be non-nil and will be used for request cancellation. If 4112// the context is nil a panic will occur. In the future the SDK may create 4113// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4114// for more information on using Contexts. 4115func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) { 4116 req, out := c.ListBucketsRequest(input) 4117 req.SetContext(ctx) 4118 req.ApplyOptions(opts...) 4119 return out, req.Send() 4120} 4121 4122const opListMultipartUploads = "ListMultipartUploads" 4123 4124// ListMultipartUploadsRequest generates a "aws/request.Request" representing the 4125// client's request for the ListMultipartUploads operation. The "output" return 4126// value will be populated with the request's response once the request completes 4127// successfully. 4128// 4129// Use "Send" method on the returned Request to send the API call to the service. 4130// the "output" return value is not valid until after Send returns without error. 4131// 4132// See ListMultipartUploads for more information on using the ListMultipartUploads 4133// API call, and error handling. 4134// 4135// This method is useful when you want to inject custom logic or configuration 4136// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4137// 4138// 4139// // Example sending a request using the ListMultipartUploadsRequest method. 4140// req, resp := client.ListMultipartUploadsRequest(params) 4141// 4142// err := req.Send() 4143// if err == nil { // resp is now filled 4144// fmt.Println(resp) 4145// } 4146// 4147// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 4148func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { 4149 op := &request.Operation{ 4150 Name: opListMultipartUploads, 4151 HTTPMethod: "GET", 4152 HTTPPath: "/{Bucket}?uploads", 4153 Paginator: &request.Paginator{ 4154 InputTokens: []string{"KeyMarker", "UploadIdMarker"}, 4155 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"}, 4156 LimitToken: "MaxUploads", 4157 TruncationToken: "IsTruncated", 4158 }, 4159 } 4160 4161 if input == nil { 4162 input = &ListMultipartUploadsInput{} 4163 } 4164 4165 output = &ListMultipartUploadsOutput{} 4166 req = c.newRequest(op, input, output) 4167 return 4168} 4169 4170// ListMultipartUploads API operation for Amazon Simple Storage Service. 4171// 4172// This operation lists in-progress multipart uploads. 4173// 4174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4175// with awserr.Error's Code and Message methods to get detailed information about 4176// the error. 4177// 4178// See the AWS API reference guide for Amazon Simple Storage Service's 4179// API operation ListMultipartUploads for usage and error information. 4180// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 4181func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { 4182 req, out := c.ListMultipartUploadsRequest(input) 4183 return out, req.Send() 4184} 4185 4186// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of 4187// the ability to pass a context and additional request options. 4188// 4189// See ListMultipartUploads for details on how to use this API operation. 4190// 4191// The context must be non-nil and will be used for request cancellation. If 4192// the context is nil a panic will occur. In the future the SDK may create 4193// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4194// for more information on using Contexts. 4195func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) { 4196 req, out := c.ListMultipartUploadsRequest(input) 4197 req.SetContext(ctx) 4198 req.ApplyOptions(opts...) 4199 return out, req.Send() 4200} 4201 4202// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, 4203// calling the "fn" function with the response data for each page. To stop 4204// iterating, return false from the fn function. 4205// 4206// See ListMultipartUploads method for more information on how to use this operation. 4207// 4208// Note: This operation can generate multiple requests to a service. 4209// 4210// // Example iterating over at most 3 pages of a ListMultipartUploads operation. 4211// pageNum := 0 4212// err := client.ListMultipartUploadsPages(params, 4213// func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool { 4214// pageNum++ 4215// fmt.Println(page) 4216// return pageNum <= 3 4217// }) 4218// 4219func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error { 4220 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn) 4221} 4222 4223// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except 4224// it takes a Context and allows setting request options on the pages. 4225// 4226// The context must be non-nil and will be used for request cancellation. If 4227// the context is nil a panic will occur. In the future the SDK may create 4228// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4229// for more information on using Contexts. 4230func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error { 4231 p := request.Pagination{ 4232 NewRequest: func() (*request.Request, error) { 4233 var inCpy *ListMultipartUploadsInput 4234 if input != nil { 4235 tmp := *input 4236 inCpy = &tmp 4237 } 4238 req, _ := c.ListMultipartUploadsRequest(inCpy) 4239 req.SetContext(ctx) 4240 req.ApplyOptions(opts...) 4241 return req, nil 4242 }, 4243 } 4244 4245 cont := true 4246 for p.Next() && cont { 4247 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage()) 4248 } 4249 return p.Err() 4250} 4251 4252const opListObjectVersions = "ListObjectVersions" 4253 4254// ListObjectVersionsRequest generates a "aws/request.Request" representing the 4255// client's request for the ListObjectVersions operation. The "output" return 4256// value will be populated with the request's response once the request completes 4257// successfully. 4258// 4259// Use "Send" method on the returned Request to send the API call to the service. 4260// the "output" return value is not valid until after Send returns without error. 4261// 4262// See ListObjectVersions for more information on using the ListObjectVersions 4263// API call, and error handling. 4264// 4265// This method is useful when you want to inject custom logic or configuration 4266// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4267// 4268// 4269// // Example sending a request using the ListObjectVersionsRequest method. 4270// req, resp := client.ListObjectVersionsRequest(params) 4271// 4272// err := req.Send() 4273// if err == nil { // resp is now filled 4274// fmt.Println(resp) 4275// } 4276// 4277// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 4278func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) { 4279 op := &request.Operation{ 4280 Name: opListObjectVersions, 4281 HTTPMethod: "GET", 4282 HTTPPath: "/{Bucket}?versions", 4283 Paginator: &request.Paginator{ 4284 InputTokens: []string{"KeyMarker", "VersionIdMarker"}, 4285 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"}, 4286 LimitToken: "MaxKeys", 4287 TruncationToken: "IsTruncated", 4288 }, 4289 } 4290 4291 if input == nil { 4292 input = &ListObjectVersionsInput{} 4293 } 4294 4295 output = &ListObjectVersionsOutput{} 4296 req = c.newRequest(op, input, output) 4297 return 4298} 4299 4300// ListObjectVersions API operation for Amazon Simple Storage Service. 4301// 4302// Returns metadata about all of the versions of objects in a bucket. 4303// 4304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4305// with awserr.Error's Code and Message methods to get detailed information about 4306// the error. 4307// 4308// See the AWS API reference guide for Amazon Simple Storage Service's 4309// API operation ListObjectVersions for usage and error information. 4310// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 4311func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) { 4312 req, out := c.ListObjectVersionsRequest(input) 4313 return out, req.Send() 4314} 4315 4316// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of 4317// the ability to pass a context and additional request options. 4318// 4319// See ListObjectVersions for details on how to use this API operation. 4320// 4321// The context must be non-nil and will be used for request cancellation. If 4322// the context is nil a panic will occur. In the future the SDK may create 4323// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4324// for more information on using Contexts. 4325func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) { 4326 req, out := c.ListObjectVersionsRequest(input) 4327 req.SetContext(ctx) 4328 req.ApplyOptions(opts...) 4329 return out, req.Send() 4330} 4331 4332// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation, 4333// calling the "fn" function with the response data for each page. To stop 4334// iterating, return false from the fn function. 4335// 4336// See ListObjectVersions method for more information on how to use this operation. 4337// 4338// Note: This operation can generate multiple requests to a service. 4339// 4340// // Example iterating over at most 3 pages of a ListObjectVersions operation. 4341// pageNum := 0 4342// err := client.ListObjectVersionsPages(params, 4343// func(page *s3.ListObjectVersionsOutput, lastPage bool) bool { 4344// pageNum++ 4345// fmt.Println(page) 4346// return pageNum <= 3 4347// }) 4348// 4349func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error { 4350 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 4351} 4352 4353// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except 4354// it takes a Context and allows setting request options on the pages. 4355// 4356// The context must be non-nil and will be used for request cancellation. If 4357// the context is nil a panic will occur. In the future the SDK may create 4358// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4359// for more information on using Contexts. 4360func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error { 4361 p := request.Pagination{ 4362 NewRequest: func() (*request.Request, error) { 4363 var inCpy *ListObjectVersionsInput 4364 if input != nil { 4365 tmp := *input 4366 inCpy = &tmp 4367 } 4368 req, _ := c.ListObjectVersionsRequest(inCpy) 4369 req.SetContext(ctx) 4370 req.ApplyOptions(opts...) 4371 return req, nil 4372 }, 4373 } 4374 4375 cont := true 4376 for p.Next() && cont { 4377 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage()) 4378 } 4379 return p.Err() 4380} 4381 4382const opListObjects = "ListObjects" 4383 4384// ListObjectsRequest generates a "aws/request.Request" representing the 4385// client's request for the ListObjects operation. The "output" return 4386// value will be populated with the request's response once the request completes 4387// successfully. 4388// 4389// Use "Send" method on the returned Request to send the API call to the service. 4390// the "output" return value is not valid until after Send returns without error. 4391// 4392// See ListObjects for more information on using the ListObjects 4393// API call, and error handling. 4394// 4395// This method is useful when you want to inject custom logic or configuration 4396// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4397// 4398// 4399// // Example sending a request using the ListObjectsRequest method. 4400// req, resp := client.ListObjectsRequest(params) 4401// 4402// err := req.Send() 4403// if err == nil { // resp is now filled 4404// fmt.Println(resp) 4405// } 4406// 4407// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 4408func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) { 4409 op := &request.Operation{ 4410 Name: opListObjects, 4411 HTTPMethod: "GET", 4412 HTTPPath: "/{Bucket}", 4413 Paginator: &request.Paginator{ 4414 InputTokens: []string{"Marker"}, 4415 OutputTokens: []string{"NextMarker || Contents[-1].Key"}, 4416 LimitToken: "MaxKeys", 4417 TruncationToken: "IsTruncated", 4418 }, 4419 } 4420 4421 if input == nil { 4422 input = &ListObjectsInput{} 4423 } 4424 4425 output = &ListObjectsOutput{} 4426 req = c.newRequest(op, input, output) 4427 return 4428} 4429 4430// ListObjects API operation for Amazon Simple Storage Service. 4431// 4432// Returns some or all (up to 1000) of the objects in a bucket. You can use 4433// the request parameters as selection criteria to return a subset of the objects 4434// in a bucket. 4435// 4436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4437// with awserr.Error's Code and Message methods to get detailed information about 4438// the error. 4439// 4440// See the AWS API reference guide for Amazon Simple Storage Service's 4441// API operation ListObjects for usage and error information. 4442// 4443// Returned Error Codes: 4444// * ErrCodeNoSuchBucket "NoSuchBucket" 4445// The specified bucket does not exist. 4446// 4447// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 4448func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) { 4449 req, out := c.ListObjectsRequest(input) 4450 return out, req.Send() 4451} 4452 4453// ListObjectsWithContext is the same as ListObjects with the addition of 4454// the ability to pass a context and additional request options. 4455// 4456// See ListObjects for details on how to use this API operation. 4457// 4458// The context must be non-nil and will be used for request cancellation. If 4459// the context is nil a panic will occur. In the future the SDK may create 4460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4461// for more information on using Contexts. 4462func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) { 4463 req, out := c.ListObjectsRequest(input) 4464 req.SetContext(ctx) 4465 req.ApplyOptions(opts...) 4466 return out, req.Send() 4467} 4468 4469// ListObjectsPages iterates over the pages of a ListObjects operation, 4470// calling the "fn" function with the response data for each page. To stop 4471// iterating, return false from the fn function. 4472// 4473// See ListObjects method for more information on how to use this operation. 4474// 4475// Note: This operation can generate multiple requests to a service. 4476// 4477// // Example iterating over at most 3 pages of a ListObjects operation. 4478// pageNum := 0 4479// err := client.ListObjectsPages(params, 4480// func(page *s3.ListObjectsOutput, lastPage bool) bool { 4481// pageNum++ 4482// fmt.Println(page) 4483// return pageNum <= 3 4484// }) 4485// 4486func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error { 4487 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn) 4488} 4489 4490// ListObjectsPagesWithContext same as ListObjectsPages except 4491// it takes a Context and allows setting request options on the pages. 4492// 4493// The context must be non-nil and will be used for request cancellation. If 4494// the context is nil a panic will occur. In the future the SDK may create 4495// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4496// for more information on using Contexts. 4497func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error { 4498 p := request.Pagination{ 4499 NewRequest: func() (*request.Request, error) { 4500 var inCpy *ListObjectsInput 4501 if input != nil { 4502 tmp := *input 4503 inCpy = &tmp 4504 } 4505 req, _ := c.ListObjectsRequest(inCpy) 4506 req.SetContext(ctx) 4507 req.ApplyOptions(opts...) 4508 return req, nil 4509 }, 4510 } 4511 4512 cont := true 4513 for p.Next() && cont { 4514 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage()) 4515 } 4516 return p.Err() 4517} 4518 4519const opListObjectsV2 = "ListObjectsV2" 4520 4521// ListObjectsV2Request generates a "aws/request.Request" representing the 4522// client's request for the ListObjectsV2 operation. The "output" return 4523// value will be populated with the request's response once the request completes 4524// successfully. 4525// 4526// Use "Send" method on the returned Request to send the API call to the service. 4527// the "output" return value is not valid until after Send returns without error. 4528// 4529// See ListObjectsV2 for more information on using the ListObjectsV2 4530// API call, and error handling. 4531// 4532// This method is useful when you want to inject custom logic or configuration 4533// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4534// 4535// 4536// // Example sending a request using the ListObjectsV2Request method. 4537// req, resp := client.ListObjectsV2Request(params) 4538// 4539// err := req.Send() 4540// if err == nil { // resp is now filled 4541// fmt.Println(resp) 4542// } 4543// 4544// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4545func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) { 4546 op := &request.Operation{ 4547 Name: opListObjectsV2, 4548 HTTPMethod: "GET", 4549 HTTPPath: "/{Bucket}?list-type=2", 4550 Paginator: &request.Paginator{ 4551 InputTokens: []string{"ContinuationToken"}, 4552 OutputTokens: []string{"NextContinuationToken"}, 4553 LimitToken: "MaxKeys", 4554 TruncationToken: "", 4555 }, 4556 } 4557 4558 if input == nil { 4559 input = &ListObjectsV2Input{} 4560 } 4561 4562 output = &ListObjectsV2Output{} 4563 req = c.newRequest(op, input, output) 4564 return 4565} 4566 4567// ListObjectsV2 API operation for Amazon Simple Storage Service. 4568// 4569// Returns some or all (up to 1000) of the objects in a bucket. You can use 4570// the request parameters as selection criteria to return a subset of the objects 4571// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend 4572// you use this revised API for new application development. 4573// 4574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4575// with awserr.Error's Code and Message methods to get detailed information about 4576// the error. 4577// 4578// See the AWS API reference guide for Amazon Simple Storage Service's 4579// API operation ListObjectsV2 for usage and error information. 4580// 4581// Returned Error Codes: 4582// * ErrCodeNoSuchBucket "NoSuchBucket" 4583// The specified bucket does not exist. 4584// 4585// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4586func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) { 4587 req, out := c.ListObjectsV2Request(input) 4588 return out, req.Send() 4589} 4590 4591// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of 4592// the ability to pass a context and additional request options. 4593// 4594// See ListObjectsV2 for details on how to use this API operation. 4595// 4596// The context must be non-nil and will be used for request cancellation. If 4597// the context is nil a panic will occur. In the future the SDK may create 4598// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4599// for more information on using Contexts. 4600func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) { 4601 req, out := c.ListObjectsV2Request(input) 4602 req.SetContext(ctx) 4603 req.ApplyOptions(opts...) 4604 return out, req.Send() 4605} 4606 4607// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation, 4608// calling the "fn" function with the response data for each page. To stop 4609// iterating, return false from the fn function. 4610// 4611// See ListObjectsV2 method for more information on how to use this operation. 4612// 4613// Note: This operation can generate multiple requests to a service. 4614// 4615// // Example iterating over at most 3 pages of a ListObjectsV2 operation. 4616// pageNum := 0 4617// err := client.ListObjectsV2Pages(params, 4618// func(page *s3.ListObjectsV2Output, lastPage bool) bool { 4619// pageNum++ 4620// fmt.Println(page) 4621// return pageNum <= 3 4622// }) 4623// 4624func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error { 4625 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn) 4626} 4627 4628// ListObjectsV2PagesWithContext same as ListObjectsV2Pages except 4629// it takes a Context and allows setting request options on the pages. 4630// 4631// The context must be non-nil and will be used for request cancellation. If 4632// the context is nil a panic will occur. In the future the SDK may create 4633// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4634// for more information on using Contexts. 4635func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error { 4636 p := request.Pagination{ 4637 NewRequest: func() (*request.Request, error) { 4638 var inCpy *ListObjectsV2Input 4639 if input != nil { 4640 tmp := *input 4641 inCpy = &tmp 4642 } 4643 req, _ := c.ListObjectsV2Request(inCpy) 4644 req.SetContext(ctx) 4645 req.ApplyOptions(opts...) 4646 return req, nil 4647 }, 4648 } 4649 4650 cont := true 4651 for p.Next() && cont { 4652 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage()) 4653 } 4654 return p.Err() 4655} 4656 4657const opListParts = "ListParts" 4658 4659// ListPartsRequest generates a "aws/request.Request" representing the 4660// client's request for the ListParts operation. The "output" return 4661// value will be populated with the request's response once the request completes 4662// successfully. 4663// 4664// Use "Send" method on the returned Request to send the API call to the service. 4665// the "output" return value is not valid until after Send returns without error. 4666// 4667// See ListParts for more information on using the ListParts 4668// API call, and error handling. 4669// 4670// This method is useful when you want to inject custom logic or configuration 4671// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4672// 4673// 4674// // Example sending a request using the ListPartsRequest method. 4675// req, resp := client.ListPartsRequest(params) 4676// 4677// err := req.Send() 4678// if err == nil { // resp is now filled 4679// fmt.Println(resp) 4680// } 4681// 4682// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4683func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { 4684 op := &request.Operation{ 4685 Name: opListParts, 4686 HTTPMethod: "GET", 4687 HTTPPath: "/{Bucket}/{Key+}", 4688 Paginator: &request.Paginator{ 4689 InputTokens: []string{"PartNumberMarker"}, 4690 OutputTokens: []string{"NextPartNumberMarker"}, 4691 LimitToken: "MaxParts", 4692 TruncationToken: "IsTruncated", 4693 }, 4694 } 4695 4696 if input == nil { 4697 input = &ListPartsInput{} 4698 } 4699 4700 output = &ListPartsOutput{} 4701 req = c.newRequest(op, input, output) 4702 return 4703} 4704 4705// ListParts API operation for Amazon Simple Storage Service. 4706// 4707// Lists the parts that have been uploaded for a specific multipart upload. 4708// 4709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4710// with awserr.Error's Code and Message methods to get detailed information about 4711// the error. 4712// 4713// See the AWS API reference guide for Amazon Simple Storage Service's 4714// API operation ListParts for usage and error information. 4715// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4716func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { 4717 req, out := c.ListPartsRequest(input) 4718 return out, req.Send() 4719} 4720 4721// ListPartsWithContext is the same as ListParts with the addition of 4722// the ability to pass a context and additional request options. 4723// 4724// See ListParts for details on how to use this API operation. 4725// 4726// The context must be non-nil and will be used for request cancellation. If 4727// the context is nil a panic will occur. In the future the SDK may create 4728// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4729// for more information on using Contexts. 4730func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) { 4731 req, out := c.ListPartsRequest(input) 4732 req.SetContext(ctx) 4733 req.ApplyOptions(opts...) 4734 return out, req.Send() 4735} 4736 4737// ListPartsPages iterates over the pages of a ListParts operation, 4738// calling the "fn" function with the response data for each page. To stop 4739// iterating, return false from the fn function. 4740// 4741// See ListParts method for more information on how to use this operation. 4742// 4743// Note: This operation can generate multiple requests to a service. 4744// 4745// // Example iterating over at most 3 pages of a ListParts operation. 4746// pageNum := 0 4747// err := client.ListPartsPages(params, 4748// func(page *s3.ListPartsOutput, lastPage bool) bool { 4749// pageNum++ 4750// fmt.Println(page) 4751// return pageNum <= 3 4752// }) 4753// 4754func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error { 4755 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn) 4756} 4757 4758// ListPartsPagesWithContext same as ListPartsPages except 4759// it takes a Context and allows setting request options on the pages. 4760// 4761// The context must be non-nil and will be used for request cancellation. If 4762// the context is nil a panic will occur. In the future the SDK may create 4763// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4764// for more information on using Contexts. 4765func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error { 4766 p := request.Pagination{ 4767 NewRequest: func() (*request.Request, error) { 4768 var inCpy *ListPartsInput 4769 if input != nil { 4770 tmp := *input 4771 inCpy = &tmp 4772 } 4773 req, _ := c.ListPartsRequest(inCpy) 4774 req.SetContext(ctx) 4775 req.ApplyOptions(opts...) 4776 return req, nil 4777 }, 4778 } 4779 4780 cont := true 4781 for p.Next() && cont { 4782 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage()) 4783 } 4784 return p.Err() 4785} 4786 4787const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration" 4788 4789// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 4790// client's request for the PutBucketAccelerateConfiguration operation. The "output" return 4791// value will be populated with the request's response once the request completes 4792// successfully. 4793// 4794// Use "Send" method on the returned Request to send the API call to the service. 4795// the "output" return value is not valid until after Send returns without error. 4796// 4797// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration 4798// API call, and error handling. 4799// 4800// This method is useful when you want to inject custom logic or configuration 4801// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4802// 4803// 4804// // Example sending a request using the PutBucketAccelerateConfigurationRequest method. 4805// req, resp := client.PutBucketAccelerateConfigurationRequest(params) 4806// 4807// err := req.Send() 4808// if err == nil { // resp is now filled 4809// fmt.Println(resp) 4810// } 4811// 4812// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4813func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) { 4814 op := &request.Operation{ 4815 Name: opPutBucketAccelerateConfiguration, 4816 HTTPMethod: "PUT", 4817 HTTPPath: "/{Bucket}?accelerate", 4818 } 4819 4820 if input == nil { 4821 input = &PutBucketAccelerateConfigurationInput{} 4822 } 4823 4824 output = &PutBucketAccelerateConfigurationOutput{} 4825 req = c.newRequest(op, input, output) 4826 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4827 return 4828} 4829 4830// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. 4831// 4832// Sets the accelerate configuration of an existing bucket. 4833// 4834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4835// with awserr.Error's Code and Message methods to get detailed information about 4836// the error. 4837// 4838// See the AWS API reference guide for Amazon Simple Storage Service's 4839// API operation PutBucketAccelerateConfiguration for usage and error information. 4840// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4841func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) { 4842 req, out := c.PutBucketAccelerateConfigurationRequest(input) 4843 return out, req.Send() 4844} 4845 4846// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of 4847// the ability to pass a context and additional request options. 4848// 4849// See PutBucketAccelerateConfiguration for details on how to use this API operation. 4850// 4851// The context must be non-nil and will be used for request cancellation. If 4852// the context is nil a panic will occur. In the future the SDK may create 4853// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4854// for more information on using Contexts. 4855func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) { 4856 req, out := c.PutBucketAccelerateConfigurationRequest(input) 4857 req.SetContext(ctx) 4858 req.ApplyOptions(opts...) 4859 return out, req.Send() 4860} 4861 4862const opPutBucketAcl = "PutBucketAcl" 4863 4864// PutBucketAclRequest generates a "aws/request.Request" representing the 4865// client's request for the PutBucketAcl operation. The "output" return 4866// value will be populated with the request's response once the request completes 4867// successfully. 4868// 4869// Use "Send" method on the returned Request to send the API call to the service. 4870// the "output" return value is not valid until after Send returns without error. 4871// 4872// See PutBucketAcl for more information on using the PutBucketAcl 4873// API call, and error handling. 4874// 4875// This method is useful when you want to inject custom logic or configuration 4876// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4877// 4878// 4879// // Example sending a request using the PutBucketAclRequest method. 4880// req, resp := client.PutBucketAclRequest(params) 4881// 4882// err := req.Send() 4883// if err == nil { // resp is now filled 4884// fmt.Println(resp) 4885// } 4886// 4887// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4888func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) { 4889 op := &request.Operation{ 4890 Name: opPutBucketAcl, 4891 HTTPMethod: "PUT", 4892 HTTPPath: "/{Bucket}?acl", 4893 } 4894 4895 if input == nil { 4896 input = &PutBucketAclInput{} 4897 } 4898 4899 output = &PutBucketAclOutput{} 4900 req = c.newRequest(op, input, output) 4901 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4902 return 4903} 4904 4905// PutBucketAcl API operation for Amazon Simple Storage Service. 4906// 4907// Sets the permissions on a bucket using access control lists (ACL). 4908// 4909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4910// with awserr.Error's Code and Message methods to get detailed information about 4911// the error. 4912// 4913// See the AWS API reference guide for Amazon Simple Storage Service's 4914// API operation PutBucketAcl for usage and error information. 4915// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4916func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) { 4917 req, out := c.PutBucketAclRequest(input) 4918 return out, req.Send() 4919} 4920 4921// PutBucketAclWithContext is the same as PutBucketAcl with the addition of 4922// the ability to pass a context and additional request options. 4923// 4924// See PutBucketAcl for details on how to use this API operation. 4925// 4926// The context must be non-nil and will be used for request cancellation. If 4927// the context is nil a panic will occur. In the future the SDK may create 4928// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4929// for more information on using Contexts. 4930func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) { 4931 req, out := c.PutBucketAclRequest(input) 4932 req.SetContext(ctx) 4933 req.ApplyOptions(opts...) 4934 return out, req.Send() 4935} 4936 4937const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration" 4938 4939// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 4940// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return 4941// value will be populated with the request's response once the request completes 4942// successfully. 4943// 4944// Use "Send" method on the returned Request to send the API call to the service. 4945// the "output" return value is not valid until after Send returns without error. 4946// 4947// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration 4948// API call, and error handling. 4949// 4950// This method is useful when you want to inject custom logic or configuration 4951// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4952// 4953// 4954// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method. 4955// req, resp := client.PutBucketAnalyticsConfigurationRequest(params) 4956// 4957// err := req.Send() 4958// if err == nil { // resp is now filled 4959// fmt.Println(resp) 4960// } 4961// 4962// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4963func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) { 4964 op := &request.Operation{ 4965 Name: opPutBucketAnalyticsConfiguration, 4966 HTTPMethod: "PUT", 4967 HTTPPath: "/{Bucket}?analytics", 4968 } 4969 4970 if input == nil { 4971 input = &PutBucketAnalyticsConfigurationInput{} 4972 } 4973 4974 output = &PutBucketAnalyticsConfigurationOutput{} 4975 req = c.newRequest(op, input, output) 4976 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4977 return 4978} 4979 4980// PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 4981// 4982// Sets an analytics configuration for the bucket (specified by the analytics 4983// configuration ID). 4984// 4985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4986// with awserr.Error's Code and Message methods to get detailed information about 4987// the error. 4988// 4989// See the AWS API reference guide for Amazon Simple Storage Service's 4990// API operation PutBucketAnalyticsConfiguration for usage and error information. 4991// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4992func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) { 4993 req, out := c.PutBucketAnalyticsConfigurationRequest(input) 4994 return out, req.Send() 4995} 4996 4997// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of 4998// the ability to pass a context and additional request options. 4999// 5000// See PutBucketAnalyticsConfiguration for details on how to use this API operation. 5001// 5002// The context must be non-nil and will be used for request cancellation. If 5003// the context is nil a panic will occur. In the future the SDK may create 5004// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5005// for more information on using Contexts. 5006func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) { 5007 req, out := c.PutBucketAnalyticsConfigurationRequest(input) 5008 req.SetContext(ctx) 5009 req.ApplyOptions(opts...) 5010 return out, req.Send() 5011} 5012 5013const opPutBucketCors = "PutBucketCors" 5014 5015// PutBucketCorsRequest generates a "aws/request.Request" representing the 5016// client's request for the PutBucketCors operation. The "output" return 5017// value will be populated with the request's response once the request completes 5018// successfully. 5019// 5020// Use "Send" method on the returned Request to send the API call to the service. 5021// the "output" return value is not valid until after Send returns without error. 5022// 5023// See PutBucketCors for more information on using the PutBucketCors 5024// API call, and error handling. 5025// 5026// This method is useful when you want to inject custom logic or configuration 5027// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5028// 5029// 5030// // Example sending a request using the PutBucketCorsRequest method. 5031// req, resp := client.PutBucketCorsRequest(params) 5032// 5033// err := req.Send() 5034// if err == nil { // resp is now filled 5035// fmt.Println(resp) 5036// } 5037// 5038// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 5039func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) { 5040 op := &request.Operation{ 5041 Name: opPutBucketCors, 5042 HTTPMethod: "PUT", 5043 HTTPPath: "/{Bucket}?cors", 5044 } 5045 5046 if input == nil { 5047 input = &PutBucketCorsInput{} 5048 } 5049 5050 output = &PutBucketCorsOutput{} 5051 req = c.newRequest(op, input, output) 5052 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5053 return 5054} 5055 5056// PutBucketCors API operation for Amazon Simple Storage Service. 5057// 5058// Sets the CORS configuration for a bucket. 5059// 5060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5061// with awserr.Error's Code and Message methods to get detailed information about 5062// the error. 5063// 5064// See the AWS API reference guide for Amazon Simple Storage Service's 5065// API operation PutBucketCors for usage and error information. 5066// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 5067func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) { 5068 req, out := c.PutBucketCorsRequest(input) 5069 return out, req.Send() 5070} 5071 5072// PutBucketCorsWithContext is the same as PutBucketCors with the addition of 5073// the ability to pass a context and additional request options. 5074// 5075// See PutBucketCors for details on how to use this API operation. 5076// 5077// The context must be non-nil and will be used for request cancellation. If 5078// the context is nil a panic will occur. In the future the SDK may create 5079// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5080// for more information on using Contexts. 5081func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) { 5082 req, out := c.PutBucketCorsRequest(input) 5083 req.SetContext(ctx) 5084 req.ApplyOptions(opts...) 5085 return out, req.Send() 5086} 5087 5088const opPutBucketEncryption = "PutBucketEncryption" 5089 5090// PutBucketEncryptionRequest generates a "aws/request.Request" representing the 5091// client's request for the PutBucketEncryption operation. The "output" return 5092// value will be populated with the request's response once the request completes 5093// successfully. 5094// 5095// Use "Send" method on the returned Request to send the API call to the service. 5096// the "output" return value is not valid until after Send returns without error. 5097// 5098// See PutBucketEncryption for more information on using the PutBucketEncryption 5099// API call, and error handling. 5100// 5101// This method is useful when you want to inject custom logic or configuration 5102// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5103// 5104// 5105// // Example sending a request using the PutBucketEncryptionRequest method. 5106// req, resp := client.PutBucketEncryptionRequest(params) 5107// 5108// err := req.Send() 5109// if err == nil { // resp is now filled 5110// fmt.Println(resp) 5111// } 5112// 5113// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption 5114func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) { 5115 op := &request.Operation{ 5116 Name: opPutBucketEncryption, 5117 HTTPMethod: "PUT", 5118 HTTPPath: "/{Bucket}?encryption", 5119 } 5120 5121 if input == nil { 5122 input = &PutBucketEncryptionInput{} 5123 } 5124 5125 output = &PutBucketEncryptionOutput{} 5126 req = c.newRequest(op, input, output) 5127 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5128 return 5129} 5130 5131// PutBucketEncryption API operation for Amazon Simple Storage Service. 5132// 5133// Creates a new server-side encryption configuration (or replaces an existing 5134// one, if present). 5135// 5136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5137// with awserr.Error's Code and Message methods to get detailed information about 5138// the error. 5139// 5140// See the AWS API reference guide for Amazon Simple Storage Service's 5141// API operation PutBucketEncryption for usage and error information. 5142// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption 5143func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) { 5144 req, out := c.PutBucketEncryptionRequest(input) 5145 return out, req.Send() 5146} 5147 5148// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of 5149// the ability to pass a context and additional request options. 5150// 5151// See PutBucketEncryption for details on how to use this API operation. 5152// 5153// The context must be non-nil and will be used for request cancellation. If 5154// the context is nil a panic will occur. In the future the SDK may create 5155// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5156// for more information on using Contexts. 5157func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) { 5158 req, out := c.PutBucketEncryptionRequest(input) 5159 req.SetContext(ctx) 5160 req.ApplyOptions(opts...) 5161 return out, req.Send() 5162} 5163 5164const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration" 5165 5166// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 5167// client's request for the PutBucketInventoryConfiguration operation. The "output" return 5168// value will be populated with the request's response once the request completes 5169// successfully. 5170// 5171// Use "Send" method on the returned Request to send the API call to the service. 5172// the "output" return value is not valid until after Send returns without error. 5173// 5174// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration 5175// API call, and error handling. 5176// 5177// This method is useful when you want to inject custom logic or configuration 5178// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5179// 5180// 5181// // Example sending a request using the PutBucketInventoryConfigurationRequest method. 5182// req, resp := client.PutBucketInventoryConfigurationRequest(params) 5183// 5184// err := req.Send() 5185// if err == nil { // resp is now filled 5186// fmt.Println(resp) 5187// } 5188// 5189// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 5190func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) { 5191 op := &request.Operation{ 5192 Name: opPutBucketInventoryConfiguration, 5193 HTTPMethod: "PUT", 5194 HTTPPath: "/{Bucket}?inventory", 5195 } 5196 5197 if input == nil { 5198 input = &PutBucketInventoryConfigurationInput{} 5199 } 5200 5201 output = &PutBucketInventoryConfigurationOutput{} 5202 req = c.newRequest(op, input, output) 5203 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5204 return 5205} 5206 5207// PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 5208// 5209// Adds an inventory configuration (identified by the inventory ID) from the 5210// bucket. 5211// 5212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5213// with awserr.Error's Code and Message methods to get detailed information about 5214// the error. 5215// 5216// See the AWS API reference guide for Amazon Simple Storage Service's 5217// API operation PutBucketInventoryConfiguration for usage and error information. 5218// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 5219func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) { 5220 req, out := c.PutBucketInventoryConfigurationRequest(input) 5221 return out, req.Send() 5222} 5223 5224// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of 5225// the ability to pass a context and additional request options. 5226// 5227// See PutBucketInventoryConfiguration for details on how to use this API operation. 5228// 5229// The context must be non-nil and will be used for request cancellation. If 5230// the context is nil a panic will occur. In the future the SDK may create 5231// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5232// for more information on using Contexts. 5233func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) { 5234 req, out := c.PutBucketInventoryConfigurationRequest(input) 5235 req.SetContext(ctx) 5236 req.ApplyOptions(opts...) 5237 return out, req.Send() 5238} 5239 5240const opPutBucketLifecycle = "PutBucketLifecycle" 5241 5242// PutBucketLifecycleRequest generates a "aws/request.Request" representing the 5243// client's request for the PutBucketLifecycle operation. The "output" return 5244// value will be populated with the request's response once the request completes 5245// successfully. 5246// 5247// Use "Send" method on the returned Request to send the API call to the service. 5248// the "output" return value is not valid until after Send returns without error. 5249// 5250// See PutBucketLifecycle for more information on using the PutBucketLifecycle 5251// API call, and error handling. 5252// 5253// This method is useful when you want to inject custom logic or configuration 5254// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5255// 5256// 5257// // Example sending a request using the PutBucketLifecycleRequest method. 5258// req, resp := client.PutBucketLifecycleRequest(params) 5259// 5260// err := req.Send() 5261// if err == nil { // resp is now filled 5262// fmt.Println(resp) 5263// } 5264// 5265// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 5266// 5267// Deprecated: PutBucketLifecycle has been deprecated 5268func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) { 5269 if c.Client.Config.Logger != nil { 5270 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated") 5271 } 5272 op := &request.Operation{ 5273 Name: opPutBucketLifecycle, 5274 HTTPMethod: "PUT", 5275 HTTPPath: "/{Bucket}?lifecycle", 5276 } 5277 5278 if input == nil { 5279 input = &PutBucketLifecycleInput{} 5280 } 5281 5282 output = &PutBucketLifecycleOutput{} 5283 req = c.newRequest(op, input, output) 5284 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5285 return 5286} 5287 5288// PutBucketLifecycle API operation for Amazon Simple Storage Service. 5289// 5290// No longer used, see the PutBucketLifecycleConfiguration operation. 5291// 5292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5293// with awserr.Error's Code and Message methods to get detailed information about 5294// the error. 5295// 5296// See the AWS API reference guide for Amazon Simple Storage Service's 5297// API operation PutBucketLifecycle for usage and error information. 5298// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 5299// 5300// Deprecated: PutBucketLifecycle has been deprecated 5301func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) { 5302 req, out := c.PutBucketLifecycleRequest(input) 5303 return out, req.Send() 5304} 5305 5306// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of 5307// the ability to pass a context and additional request options. 5308// 5309// See PutBucketLifecycle for details on how to use this API operation. 5310// 5311// The context must be non-nil and will be used for request cancellation. If 5312// the context is nil a panic will occur. In the future the SDK may create 5313// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5314// for more information on using Contexts. 5315// 5316// Deprecated: PutBucketLifecycleWithContext has been deprecated 5317func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) { 5318 req, out := c.PutBucketLifecycleRequest(input) 5319 req.SetContext(ctx) 5320 req.ApplyOptions(opts...) 5321 return out, req.Send() 5322} 5323 5324const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" 5325 5326// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 5327// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 5328// value will be populated with the request's response once the request completes 5329// successfully. 5330// 5331// Use "Send" method on the returned Request to send the API call to the service. 5332// the "output" return value is not valid until after Send returns without error. 5333// 5334// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration 5335// API call, and error handling. 5336// 5337// This method is useful when you want to inject custom logic or configuration 5338// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5339// 5340// 5341// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 5342// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 5343// 5344// err := req.Send() 5345// if err == nil { // resp is now filled 5346// fmt.Println(resp) 5347// } 5348// 5349// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 5350func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 5351 op := &request.Operation{ 5352 Name: opPutBucketLifecycleConfiguration, 5353 HTTPMethod: "PUT", 5354 HTTPPath: "/{Bucket}?lifecycle", 5355 } 5356 5357 if input == nil { 5358 input = &PutBucketLifecycleConfigurationInput{} 5359 } 5360 5361 output = &PutBucketLifecycleConfigurationOutput{} 5362 req = c.newRequest(op, input, output) 5363 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5364 return 5365} 5366 5367// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. 5368// 5369// Sets lifecycle configuration for your bucket. If a lifecycle configuration 5370// exists, it replaces it. 5371// 5372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5373// with awserr.Error's Code and Message methods to get detailed information about 5374// the error. 5375// 5376// See the AWS API reference guide for Amazon Simple Storage Service's 5377// API operation PutBucketLifecycleConfiguration for usage and error information. 5378// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 5379func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 5380 req, out := c.PutBucketLifecycleConfigurationRequest(input) 5381 return out, req.Send() 5382} 5383 5384// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of 5385// the ability to pass a context and additional request options. 5386// 5387// See PutBucketLifecycleConfiguration for details on how to use this API operation. 5388// 5389// The context must be non-nil and will be used for request cancellation. If 5390// the context is nil a panic will occur. In the future the SDK may create 5391// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5392// for more information on using Contexts. 5393func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) { 5394 req, out := c.PutBucketLifecycleConfigurationRequest(input) 5395 req.SetContext(ctx) 5396 req.ApplyOptions(opts...) 5397 return out, req.Send() 5398} 5399 5400const opPutBucketLogging = "PutBucketLogging" 5401 5402// PutBucketLoggingRequest generates a "aws/request.Request" representing the 5403// client's request for the PutBucketLogging operation. The "output" return 5404// value will be populated with the request's response once the request completes 5405// successfully. 5406// 5407// Use "Send" method on the returned Request to send the API call to the service. 5408// the "output" return value is not valid until after Send returns without error. 5409// 5410// See PutBucketLogging for more information on using the PutBucketLogging 5411// API call, and error handling. 5412// 5413// This method is useful when you want to inject custom logic or configuration 5414// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5415// 5416// 5417// // Example sending a request using the PutBucketLoggingRequest method. 5418// req, resp := client.PutBucketLoggingRequest(params) 5419// 5420// err := req.Send() 5421// if err == nil { // resp is now filled 5422// fmt.Println(resp) 5423// } 5424// 5425// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 5426func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) { 5427 op := &request.Operation{ 5428 Name: opPutBucketLogging, 5429 HTTPMethod: "PUT", 5430 HTTPPath: "/{Bucket}?logging", 5431 } 5432 5433 if input == nil { 5434 input = &PutBucketLoggingInput{} 5435 } 5436 5437 output = &PutBucketLoggingOutput{} 5438 req = c.newRequest(op, input, output) 5439 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5440 return 5441} 5442 5443// PutBucketLogging API operation for Amazon Simple Storage Service. 5444// 5445// Set the logging parameters for a bucket and to specify permissions for who 5446// can view and modify the logging parameters. To set the logging status of 5447// a bucket, you must be the bucket owner. 5448// 5449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5450// with awserr.Error's Code and Message methods to get detailed information about 5451// the error. 5452// 5453// See the AWS API reference guide for Amazon Simple Storage Service's 5454// API operation PutBucketLogging for usage and error information. 5455// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 5456func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) { 5457 req, out := c.PutBucketLoggingRequest(input) 5458 return out, req.Send() 5459} 5460 5461// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of 5462// the ability to pass a context and additional request options. 5463// 5464// See PutBucketLogging for details on how to use this API operation. 5465// 5466// The context must be non-nil and will be used for request cancellation. If 5467// the context is nil a panic will occur. In the future the SDK may create 5468// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5469// for more information on using Contexts. 5470func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) { 5471 req, out := c.PutBucketLoggingRequest(input) 5472 req.SetContext(ctx) 5473 req.ApplyOptions(opts...) 5474 return out, req.Send() 5475} 5476 5477const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration" 5478 5479// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 5480// client's request for the PutBucketMetricsConfiguration operation. The "output" return 5481// value will be populated with the request's response once the request completes 5482// successfully. 5483// 5484// Use "Send" method on the returned Request to send the API call to the service. 5485// the "output" return value is not valid until after Send returns without error. 5486// 5487// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration 5488// API call, and error handling. 5489// 5490// This method is useful when you want to inject custom logic or configuration 5491// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5492// 5493// 5494// // Example sending a request using the PutBucketMetricsConfigurationRequest method. 5495// req, resp := client.PutBucketMetricsConfigurationRequest(params) 5496// 5497// err := req.Send() 5498// if err == nil { // resp is now filled 5499// fmt.Println(resp) 5500// } 5501// 5502// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5503func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) { 5504 op := &request.Operation{ 5505 Name: opPutBucketMetricsConfiguration, 5506 HTTPMethod: "PUT", 5507 HTTPPath: "/{Bucket}?metrics", 5508 } 5509 5510 if input == nil { 5511 input = &PutBucketMetricsConfigurationInput{} 5512 } 5513 5514 output = &PutBucketMetricsConfigurationOutput{} 5515 req = c.newRequest(op, input, output) 5516 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5517 return 5518} 5519 5520// PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 5521// 5522// Sets a metrics configuration (specified by the metrics configuration ID) 5523// for the bucket. 5524// 5525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5526// with awserr.Error's Code and Message methods to get detailed information about 5527// the error. 5528// 5529// See the AWS API reference guide for Amazon Simple Storage Service's 5530// API operation PutBucketMetricsConfiguration for usage and error information. 5531// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5532func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) { 5533 req, out := c.PutBucketMetricsConfigurationRequest(input) 5534 return out, req.Send() 5535} 5536 5537// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of 5538// the ability to pass a context and additional request options. 5539// 5540// See PutBucketMetricsConfiguration for details on how to use this API operation. 5541// 5542// The context must be non-nil and will be used for request cancellation. If 5543// the context is nil a panic will occur. In the future the SDK may create 5544// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5545// for more information on using Contexts. 5546func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) { 5547 req, out := c.PutBucketMetricsConfigurationRequest(input) 5548 req.SetContext(ctx) 5549 req.ApplyOptions(opts...) 5550 return out, req.Send() 5551} 5552 5553const opPutBucketNotification = "PutBucketNotification" 5554 5555// PutBucketNotificationRequest generates a "aws/request.Request" representing the 5556// client's request for the PutBucketNotification operation. The "output" return 5557// value will be populated with the request's response once the request completes 5558// successfully. 5559// 5560// Use "Send" method on the returned Request to send the API call to the service. 5561// the "output" return value is not valid until after Send returns without error. 5562// 5563// See PutBucketNotification for more information on using the PutBucketNotification 5564// API call, and error handling. 5565// 5566// This method is useful when you want to inject custom logic or configuration 5567// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5568// 5569// 5570// // Example sending a request using the PutBucketNotificationRequest method. 5571// req, resp := client.PutBucketNotificationRequest(params) 5572// 5573// err := req.Send() 5574// if err == nil { // resp is now filled 5575// fmt.Println(resp) 5576// } 5577// 5578// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5579// 5580// Deprecated: PutBucketNotification has been deprecated 5581func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) { 5582 if c.Client.Config.Logger != nil { 5583 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated") 5584 } 5585 op := &request.Operation{ 5586 Name: opPutBucketNotification, 5587 HTTPMethod: "PUT", 5588 HTTPPath: "/{Bucket}?notification", 5589 } 5590 5591 if input == nil { 5592 input = &PutBucketNotificationInput{} 5593 } 5594 5595 output = &PutBucketNotificationOutput{} 5596 req = c.newRequest(op, input, output) 5597 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5598 return 5599} 5600 5601// PutBucketNotification API operation for Amazon Simple Storage Service. 5602// 5603// No longer used, see the PutBucketNotificationConfiguration operation. 5604// 5605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5606// with awserr.Error's Code and Message methods to get detailed information about 5607// the error. 5608// 5609// See the AWS API reference guide for Amazon Simple Storage Service's 5610// API operation PutBucketNotification for usage and error information. 5611// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5612// 5613// Deprecated: PutBucketNotification has been deprecated 5614func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) { 5615 req, out := c.PutBucketNotificationRequest(input) 5616 return out, req.Send() 5617} 5618 5619// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of 5620// the ability to pass a context and additional request options. 5621// 5622// See PutBucketNotification for details on how to use this API operation. 5623// 5624// The context must be non-nil and will be used for request cancellation. If 5625// the context is nil a panic will occur. In the future the SDK may create 5626// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5627// for more information on using Contexts. 5628// 5629// Deprecated: PutBucketNotificationWithContext has been deprecated 5630func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) { 5631 req, out := c.PutBucketNotificationRequest(input) 5632 req.SetContext(ctx) 5633 req.ApplyOptions(opts...) 5634 return out, req.Send() 5635} 5636 5637const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration" 5638 5639// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 5640// client's request for the PutBucketNotificationConfiguration operation. The "output" return 5641// value will be populated with the request's response once the request completes 5642// successfully. 5643// 5644// Use "Send" method on the returned Request to send the API call to the service. 5645// the "output" return value is not valid until after Send returns without error. 5646// 5647// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration 5648// API call, and error handling. 5649// 5650// This method is useful when you want to inject custom logic or configuration 5651// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5652// 5653// 5654// // Example sending a request using the PutBucketNotificationConfigurationRequest method. 5655// req, resp := client.PutBucketNotificationConfigurationRequest(params) 5656// 5657// err := req.Send() 5658// if err == nil { // resp is now filled 5659// fmt.Println(resp) 5660// } 5661// 5662// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5663func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) { 5664 op := &request.Operation{ 5665 Name: opPutBucketNotificationConfiguration, 5666 HTTPMethod: "PUT", 5667 HTTPPath: "/{Bucket}?notification", 5668 } 5669 5670 if input == nil { 5671 input = &PutBucketNotificationConfigurationInput{} 5672 } 5673 5674 output = &PutBucketNotificationConfigurationOutput{} 5675 req = c.newRequest(op, input, output) 5676 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5677 return 5678} 5679 5680// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service. 5681// 5682// Enables notifications of specified events for a bucket. 5683// 5684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5685// with awserr.Error's Code and Message methods to get detailed information about 5686// the error. 5687// 5688// See the AWS API reference guide for Amazon Simple Storage Service's 5689// API operation PutBucketNotificationConfiguration for usage and error information. 5690// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5691func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) { 5692 req, out := c.PutBucketNotificationConfigurationRequest(input) 5693 return out, req.Send() 5694} 5695 5696// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of 5697// the ability to pass a context and additional request options. 5698// 5699// See PutBucketNotificationConfiguration for details on how to use this API operation. 5700// 5701// The context must be non-nil and will be used for request cancellation. If 5702// the context is nil a panic will occur. In the future the SDK may create 5703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5704// for more information on using Contexts. 5705func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) { 5706 req, out := c.PutBucketNotificationConfigurationRequest(input) 5707 req.SetContext(ctx) 5708 req.ApplyOptions(opts...) 5709 return out, req.Send() 5710} 5711 5712const opPutBucketPolicy = "PutBucketPolicy" 5713 5714// PutBucketPolicyRequest generates a "aws/request.Request" representing the 5715// client's request for the PutBucketPolicy operation. The "output" return 5716// value will be populated with the request's response once the request completes 5717// successfully. 5718// 5719// Use "Send" method on the returned Request to send the API call to the service. 5720// the "output" return value is not valid until after Send returns without error. 5721// 5722// See PutBucketPolicy for more information on using the PutBucketPolicy 5723// API call, and error handling. 5724// 5725// This method is useful when you want to inject custom logic or configuration 5726// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5727// 5728// 5729// // Example sending a request using the PutBucketPolicyRequest method. 5730// req, resp := client.PutBucketPolicyRequest(params) 5731// 5732// err := req.Send() 5733// if err == nil { // resp is now filled 5734// fmt.Println(resp) 5735// } 5736// 5737// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5738func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 5739 op := &request.Operation{ 5740 Name: opPutBucketPolicy, 5741 HTTPMethod: "PUT", 5742 HTTPPath: "/{Bucket}?policy", 5743 } 5744 5745 if input == nil { 5746 input = &PutBucketPolicyInput{} 5747 } 5748 5749 output = &PutBucketPolicyOutput{} 5750 req = c.newRequest(op, input, output) 5751 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5752 return 5753} 5754 5755// PutBucketPolicy API operation for Amazon Simple Storage Service. 5756// 5757// Replaces a policy on a bucket. If the bucket already has a policy, the one 5758// in this request completely replaces it. 5759// 5760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5761// with awserr.Error's Code and Message methods to get detailed information about 5762// the error. 5763// 5764// See the AWS API reference guide for Amazon Simple Storage Service's 5765// API operation PutBucketPolicy for usage and error information. 5766// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5767func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 5768 req, out := c.PutBucketPolicyRequest(input) 5769 return out, req.Send() 5770} 5771 5772// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of 5773// the ability to pass a context and additional request options. 5774// 5775// See PutBucketPolicy for details on how to use this API operation. 5776// 5777// The context must be non-nil and will be used for request cancellation. If 5778// the context is nil a panic will occur. In the future the SDK may create 5779// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5780// for more information on using Contexts. 5781func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) { 5782 req, out := c.PutBucketPolicyRequest(input) 5783 req.SetContext(ctx) 5784 req.ApplyOptions(opts...) 5785 return out, req.Send() 5786} 5787 5788const opPutBucketReplication = "PutBucketReplication" 5789 5790// PutBucketReplicationRequest generates a "aws/request.Request" representing the 5791// client's request for the PutBucketReplication operation. The "output" return 5792// value will be populated with the request's response once the request completes 5793// successfully. 5794// 5795// Use "Send" method on the returned Request to send the API call to the service. 5796// the "output" return value is not valid until after Send returns without error. 5797// 5798// See PutBucketReplication for more information on using the PutBucketReplication 5799// API call, and error handling. 5800// 5801// This method is useful when you want to inject custom logic or configuration 5802// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5803// 5804// 5805// // Example sending a request using the PutBucketReplicationRequest method. 5806// req, resp := client.PutBucketReplicationRequest(params) 5807// 5808// err := req.Send() 5809// if err == nil { // resp is now filled 5810// fmt.Println(resp) 5811// } 5812// 5813// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5814func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { 5815 op := &request.Operation{ 5816 Name: opPutBucketReplication, 5817 HTTPMethod: "PUT", 5818 HTTPPath: "/{Bucket}?replication", 5819 } 5820 5821 if input == nil { 5822 input = &PutBucketReplicationInput{} 5823 } 5824 5825 output = &PutBucketReplicationOutput{} 5826 req = c.newRequest(op, input, output) 5827 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5828 return 5829} 5830 5831// PutBucketReplication API operation for Amazon Simple Storage Service. 5832// 5833// Creates a replication configuration or replaces an existing one. For more 5834// information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 5835// in the Amazon S3 Developer Guide. 5836// 5837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5838// with awserr.Error's Code and Message methods to get detailed information about 5839// the error. 5840// 5841// See the AWS API reference guide for Amazon Simple Storage Service's 5842// API operation PutBucketReplication for usage and error information. 5843// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5844func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { 5845 req, out := c.PutBucketReplicationRequest(input) 5846 return out, req.Send() 5847} 5848 5849// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of 5850// the ability to pass a context and additional request options. 5851// 5852// See PutBucketReplication for details on how to use this API operation. 5853// 5854// The context must be non-nil and will be used for request cancellation. If 5855// the context is nil a panic will occur. In the future the SDK may create 5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5857// for more information on using Contexts. 5858func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) { 5859 req, out := c.PutBucketReplicationRequest(input) 5860 req.SetContext(ctx) 5861 req.ApplyOptions(opts...) 5862 return out, req.Send() 5863} 5864 5865const opPutBucketRequestPayment = "PutBucketRequestPayment" 5866 5867// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the 5868// client's request for the PutBucketRequestPayment operation. The "output" return 5869// value will be populated with the request's response once the request completes 5870// successfully. 5871// 5872// Use "Send" method on the returned Request to send the API call to the service. 5873// the "output" return value is not valid until after Send returns without error. 5874// 5875// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment 5876// API call, and error handling. 5877// 5878// This method is useful when you want to inject custom logic or configuration 5879// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5880// 5881// 5882// // Example sending a request using the PutBucketRequestPaymentRequest method. 5883// req, resp := client.PutBucketRequestPaymentRequest(params) 5884// 5885// err := req.Send() 5886// if err == nil { // resp is now filled 5887// fmt.Println(resp) 5888// } 5889// 5890// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5891func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) { 5892 op := &request.Operation{ 5893 Name: opPutBucketRequestPayment, 5894 HTTPMethod: "PUT", 5895 HTTPPath: "/{Bucket}?requestPayment", 5896 } 5897 5898 if input == nil { 5899 input = &PutBucketRequestPaymentInput{} 5900 } 5901 5902 output = &PutBucketRequestPaymentOutput{} 5903 req = c.newRequest(op, input, output) 5904 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5905 return 5906} 5907 5908// PutBucketRequestPayment API operation for Amazon Simple Storage Service. 5909// 5910// Sets the request payment configuration for a bucket. By default, the bucket 5911// owner pays for downloads from the bucket. This configuration parameter enables 5912// the bucket owner (only) to specify that the person requesting the download 5913// will be charged for the download. Documentation on requester pays buckets 5914// can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html 5915// 5916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5917// with awserr.Error's Code and Message methods to get detailed information about 5918// the error. 5919// 5920// See the AWS API reference guide for Amazon Simple Storage Service's 5921// API operation PutBucketRequestPayment for usage and error information. 5922// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5923func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) { 5924 req, out := c.PutBucketRequestPaymentRequest(input) 5925 return out, req.Send() 5926} 5927 5928// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of 5929// the ability to pass a context and additional request options. 5930// 5931// See PutBucketRequestPayment for details on how to use this API operation. 5932// 5933// The context must be non-nil and will be used for request cancellation. If 5934// the context is nil a panic will occur. In the future the SDK may create 5935// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5936// for more information on using Contexts. 5937func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) { 5938 req, out := c.PutBucketRequestPaymentRequest(input) 5939 req.SetContext(ctx) 5940 req.ApplyOptions(opts...) 5941 return out, req.Send() 5942} 5943 5944const opPutBucketTagging = "PutBucketTagging" 5945 5946// PutBucketTaggingRequest generates a "aws/request.Request" representing the 5947// client's request for the PutBucketTagging operation. The "output" return 5948// value will be populated with the request's response once the request completes 5949// successfully. 5950// 5951// Use "Send" method on the returned Request to send the API call to the service. 5952// the "output" return value is not valid until after Send returns without error. 5953// 5954// See PutBucketTagging for more information on using the PutBucketTagging 5955// API call, and error handling. 5956// 5957// This method is useful when you want to inject custom logic or configuration 5958// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5959// 5960// 5961// // Example sending a request using the PutBucketTaggingRequest method. 5962// req, resp := client.PutBucketTaggingRequest(params) 5963// 5964// err := req.Send() 5965// if err == nil { // resp is now filled 5966// fmt.Println(resp) 5967// } 5968// 5969// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5970func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 5971 op := &request.Operation{ 5972 Name: opPutBucketTagging, 5973 HTTPMethod: "PUT", 5974 HTTPPath: "/{Bucket}?tagging", 5975 } 5976 5977 if input == nil { 5978 input = &PutBucketTaggingInput{} 5979 } 5980 5981 output = &PutBucketTaggingOutput{} 5982 req = c.newRequest(op, input, output) 5983 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5984 return 5985} 5986 5987// PutBucketTagging API operation for Amazon Simple Storage Service. 5988// 5989// Sets the tags for a bucket. 5990// 5991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5992// with awserr.Error's Code and Message methods to get detailed information about 5993// the error. 5994// 5995// See the AWS API reference guide for Amazon Simple Storage Service's 5996// API operation PutBucketTagging for usage and error information. 5997// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5998func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 5999 req, out := c.PutBucketTaggingRequest(input) 6000 return out, req.Send() 6001} 6002 6003// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 6004// the ability to pass a context and additional request options. 6005// 6006// See PutBucketTagging for details on how to use this API operation. 6007// 6008// The context must be non-nil and will be used for request cancellation. If 6009// the context is nil a panic will occur. In the future the SDK may create 6010// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6011// for more information on using Contexts. 6012func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 6013 req, out := c.PutBucketTaggingRequest(input) 6014 req.SetContext(ctx) 6015 req.ApplyOptions(opts...) 6016 return out, req.Send() 6017} 6018 6019const opPutBucketVersioning = "PutBucketVersioning" 6020 6021// PutBucketVersioningRequest generates a "aws/request.Request" representing the 6022// client's request for the PutBucketVersioning operation. The "output" return 6023// value will be populated with the request's response once the request completes 6024// successfully. 6025// 6026// Use "Send" method on the returned Request to send the API call to the service. 6027// the "output" return value is not valid until after Send returns without error. 6028// 6029// See PutBucketVersioning for more information on using the PutBucketVersioning 6030// API call, and error handling. 6031// 6032// This method is useful when you want to inject custom logic or configuration 6033// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6034// 6035// 6036// // Example sending a request using the PutBucketVersioningRequest method. 6037// req, resp := client.PutBucketVersioningRequest(params) 6038// 6039// err := req.Send() 6040// if err == nil { // resp is now filled 6041// fmt.Println(resp) 6042// } 6043// 6044// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 6045func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) { 6046 op := &request.Operation{ 6047 Name: opPutBucketVersioning, 6048 HTTPMethod: "PUT", 6049 HTTPPath: "/{Bucket}?versioning", 6050 } 6051 6052 if input == nil { 6053 input = &PutBucketVersioningInput{} 6054 } 6055 6056 output = &PutBucketVersioningOutput{} 6057 req = c.newRequest(op, input, output) 6058 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 6059 return 6060} 6061 6062// PutBucketVersioning API operation for Amazon Simple Storage Service. 6063// 6064// Sets the versioning state of an existing bucket. To set the versioning state, 6065// you must be the bucket owner. 6066// 6067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6068// with awserr.Error's Code and Message methods to get detailed information about 6069// the error. 6070// 6071// See the AWS API reference guide for Amazon Simple Storage Service's 6072// API operation PutBucketVersioning for usage and error information. 6073// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 6074func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) { 6075 req, out := c.PutBucketVersioningRequest(input) 6076 return out, req.Send() 6077} 6078 6079// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of 6080// the ability to pass a context and additional request options. 6081// 6082// See PutBucketVersioning for details on how to use this API operation. 6083// 6084// The context must be non-nil and will be used for request cancellation. If 6085// the context is nil a panic will occur. In the future the SDK may create 6086// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6087// for more information on using Contexts. 6088func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) { 6089 req, out := c.PutBucketVersioningRequest(input) 6090 req.SetContext(ctx) 6091 req.ApplyOptions(opts...) 6092 return out, req.Send() 6093} 6094 6095const opPutBucketWebsite = "PutBucketWebsite" 6096 6097// PutBucketWebsiteRequest generates a "aws/request.Request" representing the 6098// client's request for the PutBucketWebsite operation. The "output" return 6099// value will be populated with the request's response once the request completes 6100// successfully. 6101// 6102// Use "Send" method on the returned Request to send the API call to the service. 6103// the "output" return value is not valid until after Send returns without error. 6104// 6105// See PutBucketWebsite for more information on using the PutBucketWebsite 6106// API call, and error handling. 6107// 6108// This method is useful when you want to inject custom logic or configuration 6109// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6110// 6111// 6112// // Example sending a request using the PutBucketWebsiteRequest method. 6113// req, resp := client.PutBucketWebsiteRequest(params) 6114// 6115// err := req.Send() 6116// if err == nil { // resp is now filled 6117// fmt.Println(resp) 6118// } 6119// 6120// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 6121func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) { 6122 op := &request.Operation{ 6123 Name: opPutBucketWebsite, 6124 HTTPMethod: "PUT", 6125 HTTPPath: "/{Bucket}?website", 6126 } 6127 6128 if input == nil { 6129 input = &PutBucketWebsiteInput{} 6130 } 6131 6132 output = &PutBucketWebsiteOutput{} 6133 req = c.newRequest(op, input, output) 6134 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 6135 return 6136} 6137 6138// PutBucketWebsite API operation for Amazon Simple Storage Service. 6139// 6140// Set the website configuration for a bucket. 6141// 6142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6143// with awserr.Error's Code and Message methods to get detailed information about 6144// the error. 6145// 6146// See the AWS API reference guide for Amazon Simple Storage Service's 6147// API operation PutBucketWebsite for usage and error information. 6148// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 6149func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) { 6150 req, out := c.PutBucketWebsiteRequest(input) 6151 return out, req.Send() 6152} 6153 6154// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of 6155// the ability to pass a context and additional request options. 6156// 6157// See PutBucketWebsite for details on how to use this API operation. 6158// 6159// The context must be non-nil and will be used for request cancellation. If 6160// the context is nil a panic will occur. In the future the SDK may create 6161// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6162// for more information on using Contexts. 6163func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) { 6164 req, out := c.PutBucketWebsiteRequest(input) 6165 req.SetContext(ctx) 6166 req.ApplyOptions(opts...) 6167 return out, req.Send() 6168} 6169 6170const opPutObject = "PutObject" 6171 6172// PutObjectRequest generates a "aws/request.Request" representing the 6173// client's request for the PutObject operation. The "output" return 6174// value will be populated with the request's response once the request completes 6175// successfully. 6176// 6177// Use "Send" method on the returned Request to send the API call to the service. 6178// the "output" return value is not valid until after Send returns without error. 6179// 6180// See PutObject for more information on using the PutObject 6181// API call, and error handling. 6182// 6183// This method is useful when you want to inject custom logic or configuration 6184// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6185// 6186// 6187// // Example sending a request using the PutObjectRequest method. 6188// req, resp := client.PutObjectRequest(params) 6189// 6190// err := req.Send() 6191// if err == nil { // resp is now filled 6192// fmt.Println(resp) 6193// } 6194// 6195// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 6196func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { 6197 op := &request.Operation{ 6198 Name: opPutObject, 6199 HTTPMethod: "PUT", 6200 HTTPPath: "/{Bucket}/{Key+}", 6201 } 6202 6203 if input == nil { 6204 input = &PutObjectInput{} 6205 } 6206 6207 output = &PutObjectOutput{} 6208 req = c.newRequest(op, input, output) 6209 return 6210} 6211 6212// PutObject API operation for Amazon Simple Storage Service. 6213// 6214// Adds an object to a bucket. 6215// 6216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6217// with awserr.Error's Code and Message methods to get detailed information about 6218// the error. 6219// 6220// See the AWS API reference guide for Amazon Simple Storage Service's 6221// API operation PutObject for usage and error information. 6222// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 6223func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { 6224 req, out := c.PutObjectRequest(input) 6225 return out, req.Send() 6226} 6227 6228// PutObjectWithContext is the same as PutObject with the addition of 6229// the ability to pass a context and additional request options. 6230// 6231// See PutObject for details on how to use this API operation. 6232// 6233// The context must be non-nil and will be used for request cancellation. If 6234// the context is nil a panic will occur. In the future the SDK may create 6235// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6236// for more information on using Contexts. 6237func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) { 6238 req, out := c.PutObjectRequest(input) 6239 req.SetContext(ctx) 6240 req.ApplyOptions(opts...) 6241 return out, req.Send() 6242} 6243 6244const opPutObjectAcl = "PutObjectAcl" 6245 6246// PutObjectAclRequest generates a "aws/request.Request" representing the 6247// client's request for the PutObjectAcl operation. The "output" return 6248// value will be populated with the request's response once the request completes 6249// successfully. 6250// 6251// Use "Send" method on the returned Request to send the API call to the service. 6252// the "output" return value is not valid until after Send returns without error. 6253// 6254// See PutObjectAcl for more information on using the PutObjectAcl 6255// API call, and error handling. 6256// 6257// This method is useful when you want to inject custom logic or configuration 6258// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6259// 6260// 6261// // Example sending a request using the PutObjectAclRequest method. 6262// req, resp := client.PutObjectAclRequest(params) 6263// 6264// err := req.Send() 6265// if err == nil { // resp is now filled 6266// fmt.Println(resp) 6267// } 6268// 6269// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 6270func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) { 6271 op := &request.Operation{ 6272 Name: opPutObjectAcl, 6273 HTTPMethod: "PUT", 6274 HTTPPath: "/{Bucket}/{Key+}?acl", 6275 } 6276 6277 if input == nil { 6278 input = &PutObjectAclInput{} 6279 } 6280 6281 output = &PutObjectAclOutput{} 6282 req = c.newRequest(op, input, output) 6283 return 6284} 6285 6286// PutObjectAcl API operation for Amazon Simple Storage Service. 6287// 6288// uses the acl subresource to set the access control list (ACL) permissions 6289// for an object that already exists in a bucket 6290// 6291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6292// with awserr.Error's Code and Message methods to get detailed information about 6293// the error. 6294// 6295// See the AWS API reference guide for Amazon Simple Storage Service's 6296// API operation PutObjectAcl for usage and error information. 6297// 6298// Returned Error Codes: 6299// * ErrCodeNoSuchKey "NoSuchKey" 6300// The specified key does not exist. 6301// 6302// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 6303func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) { 6304 req, out := c.PutObjectAclRequest(input) 6305 return out, req.Send() 6306} 6307 6308// PutObjectAclWithContext is the same as PutObjectAcl with the addition of 6309// the ability to pass a context and additional request options. 6310// 6311// See PutObjectAcl for details on how to use this API operation. 6312// 6313// The context must be non-nil and will be used for request cancellation. If 6314// the context is nil a panic will occur. In the future the SDK may create 6315// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6316// for more information on using Contexts. 6317func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) { 6318 req, out := c.PutObjectAclRequest(input) 6319 req.SetContext(ctx) 6320 req.ApplyOptions(opts...) 6321 return out, req.Send() 6322} 6323 6324const opPutObjectLegalHold = "PutObjectLegalHold" 6325 6326// PutObjectLegalHoldRequest generates a "aws/request.Request" representing the 6327// client's request for the PutObjectLegalHold operation. The "output" return 6328// value will be populated with the request's response once the request completes 6329// successfully. 6330// 6331// Use "Send" method on the returned Request to send the API call to the service. 6332// the "output" return value is not valid until after Send returns without error. 6333// 6334// See PutObjectLegalHold for more information on using the PutObjectLegalHold 6335// API call, and error handling. 6336// 6337// This method is useful when you want to inject custom logic or configuration 6338// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6339// 6340// 6341// // Example sending a request using the PutObjectLegalHoldRequest method. 6342// req, resp := client.PutObjectLegalHoldRequest(params) 6343// 6344// err := req.Send() 6345// if err == nil { // resp is now filled 6346// fmt.Println(resp) 6347// } 6348// 6349// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold 6350func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *request.Request, output *PutObjectLegalHoldOutput) { 6351 op := &request.Operation{ 6352 Name: opPutObjectLegalHold, 6353 HTTPMethod: "PUT", 6354 HTTPPath: "/{Bucket}/{Key+}?legal-hold", 6355 } 6356 6357 if input == nil { 6358 input = &PutObjectLegalHoldInput{} 6359 } 6360 6361 output = &PutObjectLegalHoldOutput{} 6362 req = c.newRequest(op, input, output) 6363 return 6364} 6365 6366// PutObjectLegalHold API operation for Amazon Simple Storage Service. 6367// 6368// Applies a Legal Hold configuration to the specified object. 6369// 6370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6371// with awserr.Error's Code and Message methods to get detailed information about 6372// the error. 6373// 6374// See the AWS API reference guide for Amazon Simple Storage Service's 6375// API operation PutObjectLegalHold for usage and error information. 6376// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold 6377func (c *S3) PutObjectLegalHold(input *PutObjectLegalHoldInput) (*PutObjectLegalHoldOutput, error) { 6378 req, out := c.PutObjectLegalHoldRequest(input) 6379 return out, req.Send() 6380} 6381 6382// PutObjectLegalHoldWithContext is the same as PutObjectLegalHold with the addition of 6383// the ability to pass a context and additional request options. 6384// 6385// See PutObjectLegalHold for details on how to use this API operation. 6386// 6387// The context must be non-nil and will be used for request cancellation. If 6388// the context is nil a panic will occur. In the future the SDK may create 6389// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6390// for more information on using Contexts. 6391func (c *S3) PutObjectLegalHoldWithContext(ctx aws.Context, input *PutObjectLegalHoldInput, opts ...request.Option) (*PutObjectLegalHoldOutput, error) { 6392 req, out := c.PutObjectLegalHoldRequest(input) 6393 req.SetContext(ctx) 6394 req.ApplyOptions(opts...) 6395 return out, req.Send() 6396} 6397 6398const opPutObjectLockConfiguration = "PutObjectLockConfiguration" 6399 6400// PutObjectLockConfigurationRequest generates a "aws/request.Request" representing the 6401// client's request for the PutObjectLockConfiguration operation. The "output" return 6402// value will be populated with the request's response once the request completes 6403// successfully. 6404// 6405// Use "Send" method on the returned Request to send the API call to the service. 6406// the "output" return value is not valid until after Send returns without error. 6407// 6408// See PutObjectLockConfiguration for more information on using the PutObjectLockConfiguration 6409// API call, and error handling. 6410// 6411// This method is useful when you want to inject custom logic or configuration 6412// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6413// 6414// 6415// // Example sending a request using the PutObjectLockConfigurationRequest method. 6416// req, resp := client.PutObjectLockConfigurationRequest(params) 6417// 6418// err := req.Send() 6419// if err == nil { // resp is now filled 6420// fmt.Println(resp) 6421// } 6422// 6423// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration 6424func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfigurationInput) (req *request.Request, output *PutObjectLockConfigurationOutput) { 6425 op := &request.Operation{ 6426 Name: opPutObjectLockConfiguration, 6427 HTTPMethod: "PUT", 6428 HTTPPath: "/{Bucket}?object-lock", 6429 } 6430 6431 if input == nil { 6432 input = &PutObjectLockConfigurationInput{} 6433 } 6434 6435 output = &PutObjectLockConfigurationOutput{} 6436 req = c.newRequest(op, input, output) 6437 return 6438} 6439 6440// PutObjectLockConfiguration API operation for Amazon Simple Storage Service. 6441// 6442// Places an Object Lock configuration on the specified bucket. The rule specified 6443// in the Object Lock configuration will be applied by default to every new 6444// object placed in the specified bucket. 6445// 6446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6447// with awserr.Error's Code and Message methods to get detailed information about 6448// the error. 6449// 6450// See the AWS API reference guide for Amazon Simple Storage Service's 6451// API operation PutObjectLockConfiguration for usage and error information. 6452// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration 6453func (c *S3) PutObjectLockConfiguration(input *PutObjectLockConfigurationInput) (*PutObjectLockConfigurationOutput, error) { 6454 req, out := c.PutObjectLockConfigurationRequest(input) 6455 return out, req.Send() 6456} 6457 6458// PutObjectLockConfigurationWithContext is the same as PutObjectLockConfiguration with the addition of 6459// the ability to pass a context and additional request options. 6460// 6461// See PutObjectLockConfiguration for details on how to use this API operation. 6462// 6463// The context must be non-nil and will be used for request cancellation. If 6464// the context is nil a panic will occur. In the future the SDK may create 6465// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6466// for more information on using Contexts. 6467func (c *S3) PutObjectLockConfigurationWithContext(ctx aws.Context, input *PutObjectLockConfigurationInput, opts ...request.Option) (*PutObjectLockConfigurationOutput, error) { 6468 req, out := c.PutObjectLockConfigurationRequest(input) 6469 req.SetContext(ctx) 6470 req.ApplyOptions(opts...) 6471 return out, req.Send() 6472} 6473 6474const opPutObjectRetention = "PutObjectRetention" 6475 6476// PutObjectRetentionRequest generates a "aws/request.Request" representing the 6477// client's request for the PutObjectRetention operation. The "output" return 6478// value will be populated with the request's response once the request completes 6479// successfully. 6480// 6481// Use "Send" method on the returned Request to send the API call to the service. 6482// the "output" return value is not valid until after Send returns without error. 6483// 6484// See PutObjectRetention for more information on using the PutObjectRetention 6485// API call, and error handling. 6486// 6487// This method is useful when you want to inject custom logic or configuration 6488// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6489// 6490// 6491// // Example sending a request using the PutObjectRetentionRequest method. 6492// req, resp := client.PutObjectRetentionRequest(params) 6493// 6494// err := req.Send() 6495// if err == nil { // resp is now filled 6496// fmt.Println(resp) 6497// } 6498// 6499// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention 6500func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *request.Request, output *PutObjectRetentionOutput) { 6501 op := &request.Operation{ 6502 Name: opPutObjectRetention, 6503 HTTPMethod: "PUT", 6504 HTTPPath: "/{Bucket}/{Key+}?retention", 6505 } 6506 6507 if input == nil { 6508 input = &PutObjectRetentionInput{} 6509 } 6510 6511 output = &PutObjectRetentionOutput{} 6512 req = c.newRequest(op, input, output) 6513 return 6514} 6515 6516// PutObjectRetention API operation for Amazon Simple Storage Service. 6517// 6518// Places an Object Retention configuration on an object. 6519// 6520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6521// with awserr.Error's Code and Message methods to get detailed information about 6522// the error. 6523// 6524// See the AWS API reference guide for Amazon Simple Storage Service's 6525// API operation PutObjectRetention for usage and error information. 6526// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention 6527func (c *S3) PutObjectRetention(input *PutObjectRetentionInput) (*PutObjectRetentionOutput, error) { 6528 req, out := c.PutObjectRetentionRequest(input) 6529 return out, req.Send() 6530} 6531 6532// PutObjectRetentionWithContext is the same as PutObjectRetention with the addition of 6533// the ability to pass a context and additional request options. 6534// 6535// See PutObjectRetention for details on how to use this API operation. 6536// 6537// The context must be non-nil and will be used for request cancellation. If 6538// the context is nil a panic will occur. In the future the SDK may create 6539// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6540// for more information on using Contexts. 6541func (c *S3) PutObjectRetentionWithContext(ctx aws.Context, input *PutObjectRetentionInput, opts ...request.Option) (*PutObjectRetentionOutput, error) { 6542 req, out := c.PutObjectRetentionRequest(input) 6543 req.SetContext(ctx) 6544 req.ApplyOptions(opts...) 6545 return out, req.Send() 6546} 6547 6548const opPutObjectTagging = "PutObjectTagging" 6549 6550// PutObjectTaggingRequest generates a "aws/request.Request" representing the 6551// client's request for the PutObjectTagging operation. The "output" return 6552// value will be populated with the request's response once the request completes 6553// successfully. 6554// 6555// Use "Send" method on the returned Request to send the API call to the service. 6556// the "output" return value is not valid until after Send returns without error. 6557// 6558// See PutObjectTagging for more information on using the PutObjectTagging 6559// API call, and error handling. 6560// 6561// This method is useful when you want to inject custom logic or configuration 6562// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6563// 6564// 6565// // Example sending a request using the PutObjectTaggingRequest method. 6566// req, resp := client.PutObjectTaggingRequest(params) 6567// 6568// err := req.Send() 6569// if err == nil { // resp is now filled 6570// fmt.Println(resp) 6571// } 6572// 6573// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 6574func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) { 6575 op := &request.Operation{ 6576 Name: opPutObjectTagging, 6577 HTTPMethod: "PUT", 6578 HTTPPath: "/{Bucket}/{Key+}?tagging", 6579 } 6580 6581 if input == nil { 6582 input = &PutObjectTaggingInput{} 6583 } 6584 6585 output = &PutObjectTaggingOutput{} 6586 req = c.newRequest(op, input, output) 6587 return 6588} 6589 6590// PutObjectTagging API operation for Amazon Simple Storage Service. 6591// 6592// Sets the supplied tag-set to an object that already exists in a bucket 6593// 6594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6595// with awserr.Error's Code and Message methods to get detailed information about 6596// the error. 6597// 6598// See the AWS API reference guide for Amazon Simple Storage Service's 6599// API operation PutObjectTagging for usage and error information. 6600// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 6601func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) { 6602 req, out := c.PutObjectTaggingRequest(input) 6603 return out, req.Send() 6604} 6605 6606// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of 6607// the ability to pass a context and additional request options. 6608// 6609// See PutObjectTagging for details on how to use this API operation. 6610// 6611// The context must be non-nil and will be used for request cancellation. If 6612// the context is nil a panic will occur. In the future the SDK may create 6613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6614// for more information on using Contexts. 6615func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) { 6616 req, out := c.PutObjectTaggingRequest(input) 6617 req.SetContext(ctx) 6618 req.ApplyOptions(opts...) 6619 return out, req.Send() 6620} 6621 6622const opPutPublicAccessBlock = "PutPublicAccessBlock" 6623 6624// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the 6625// client's request for the PutPublicAccessBlock operation. The "output" return 6626// value will be populated with the request's response once the request completes 6627// successfully. 6628// 6629// Use "Send" method on the returned Request to send the API call to the service. 6630// the "output" return value is not valid until after Send returns without error. 6631// 6632// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock 6633// API call, and error handling. 6634// 6635// This method is useful when you want to inject custom logic or configuration 6636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6637// 6638// 6639// // Example sending a request using the PutPublicAccessBlockRequest method. 6640// req, resp := client.PutPublicAccessBlockRequest(params) 6641// 6642// err := req.Send() 6643// if err == nil { // resp is now filled 6644// fmt.Println(resp) 6645// } 6646// 6647// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock 6648func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { 6649 op := &request.Operation{ 6650 Name: opPutPublicAccessBlock, 6651 HTTPMethod: "PUT", 6652 HTTPPath: "/{Bucket}?publicAccessBlock", 6653 } 6654 6655 if input == nil { 6656 input = &PutPublicAccessBlockInput{} 6657 } 6658 6659 output = &PutPublicAccessBlockOutput{} 6660 req = c.newRequest(op, input, output) 6661 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 6662 return 6663} 6664 6665// PutPublicAccessBlock API operation for Amazon Simple Storage Service. 6666// 6667// Creates or modifies the PublicAccessBlock configuration for an Amazon S3 6668// bucket. 6669// 6670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6671// with awserr.Error's Code and Message methods to get detailed information about 6672// the error. 6673// 6674// See the AWS API reference guide for Amazon Simple Storage Service's 6675// API operation PutPublicAccessBlock for usage and error information. 6676// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlock 6677func (c *S3) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { 6678 req, out := c.PutPublicAccessBlockRequest(input) 6679 return out, req.Send() 6680} 6681 6682// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of 6683// the ability to pass a context and additional request options. 6684// 6685// See PutPublicAccessBlock for details on how to use this API operation. 6686// 6687// The context must be non-nil and will be used for request cancellation. If 6688// the context is nil a panic will occur. In the future the SDK may create 6689// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6690// for more information on using Contexts. 6691func (c *S3) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { 6692 req, out := c.PutPublicAccessBlockRequest(input) 6693 req.SetContext(ctx) 6694 req.ApplyOptions(opts...) 6695 return out, req.Send() 6696} 6697 6698const opRestoreObject = "RestoreObject" 6699 6700// RestoreObjectRequest generates a "aws/request.Request" representing the 6701// client's request for the RestoreObject operation. The "output" return 6702// value will be populated with the request's response once the request completes 6703// successfully. 6704// 6705// Use "Send" method on the returned Request to send the API call to the service. 6706// the "output" return value is not valid until after Send returns without error. 6707// 6708// See RestoreObject for more information on using the RestoreObject 6709// API call, and error handling. 6710// 6711// This method is useful when you want to inject custom logic or configuration 6712// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6713// 6714// 6715// // Example sending a request using the RestoreObjectRequest method. 6716// req, resp := client.RestoreObjectRequest(params) 6717// 6718// err := req.Send() 6719// if err == nil { // resp is now filled 6720// fmt.Println(resp) 6721// } 6722// 6723// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 6724func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) { 6725 op := &request.Operation{ 6726 Name: opRestoreObject, 6727 HTTPMethod: "POST", 6728 HTTPPath: "/{Bucket}/{Key+}?restore", 6729 } 6730 6731 if input == nil { 6732 input = &RestoreObjectInput{} 6733 } 6734 6735 output = &RestoreObjectOutput{} 6736 req = c.newRequest(op, input, output) 6737 return 6738} 6739 6740// RestoreObject API operation for Amazon Simple Storage Service. 6741// 6742// Restores an archived copy of an object back into Amazon S3 6743// 6744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6745// with awserr.Error's Code and Message methods to get detailed information about 6746// the error. 6747// 6748// See the AWS API reference guide for Amazon Simple Storage Service's 6749// API operation RestoreObject for usage and error information. 6750// 6751// Returned Error Codes: 6752// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError" 6753// This operation is not allowed against this storage tier 6754// 6755// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 6756func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) { 6757 req, out := c.RestoreObjectRequest(input) 6758 return out, req.Send() 6759} 6760 6761// RestoreObjectWithContext is the same as RestoreObject with the addition of 6762// the ability to pass a context and additional request options. 6763// 6764// See RestoreObject for details on how to use this API operation. 6765// 6766// The context must be non-nil and will be used for request cancellation. If 6767// the context is nil a panic will occur. In the future the SDK may create 6768// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6769// for more information on using Contexts. 6770func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) { 6771 req, out := c.RestoreObjectRequest(input) 6772 req.SetContext(ctx) 6773 req.ApplyOptions(opts...) 6774 return out, req.Send() 6775} 6776 6777const opSelectObjectContent = "SelectObjectContent" 6778 6779// SelectObjectContentRequest generates a "aws/request.Request" representing the 6780// client's request for the SelectObjectContent operation. The "output" return 6781// value will be populated with the request's response once the request completes 6782// successfully. 6783// 6784// Use "Send" method on the returned Request to send the API call to the service. 6785// the "output" return value is not valid until after Send returns without error. 6786// 6787// See SelectObjectContent for more information on using the SelectObjectContent 6788// API call, and error handling. 6789// 6790// This method is useful when you want to inject custom logic or configuration 6791// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6792// 6793// 6794// // Example sending a request using the SelectObjectContentRequest method. 6795// req, resp := client.SelectObjectContentRequest(params) 6796// 6797// err := req.Send() 6798// if err == nil { // resp is now filled 6799// fmt.Println(resp) 6800// } 6801// 6802// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent 6803func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) { 6804 op := &request.Operation{ 6805 Name: opSelectObjectContent, 6806 HTTPMethod: "POST", 6807 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2", 6808 } 6809 6810 if input == nil { 6811 input = &SelectObjectContentInput{} 6812 } 6813 6814 output = &SelectObjectContentOutput{} 6815 req = c.newRequest(op, input, output) 6816 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler) 6817 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler) 6818 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop) 6819 return 6820} 6821 6822// SelectObjectContent API operation for Amazon Simple Storage Service. 6823// 6824// This operation filters the contents of an Amazon S3 object based on a simple 6825// Structured Query Language (SQL) statement. In the request, along with the 6826// SQL expression, you must also specify a data serialization format (JSON or 6827// CSV) of the object. Amazon S3 uses this to parse object data into records, 6828// and returns only records that match the specified SQL expression. You must 6829// also specify the data serialization format for the response. 6830// 6831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6832// with awserr.Error's Code and Message methods to get detailed information about 6833// the error. 6834// 6835// See the AWS API reference guide for Amazon Simple Storage Service's 6836// API operation SelectObjectContent for usage and error information. 6837// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent 6838func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) { 6839 req, out := c.SelectObjectContentRequest(input) 6840 return out, req.Send() 6841} 6842 6843// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of 6844// the ability to pass a context and additional request options. 6845// 6846// See SelectObjectContent for details on how to use this API operation. 6847// 6848// The context must be non-nil and will be used for request cancellation. If 6849// the context is nil a panic will occur. In the future the SDK may create 6850// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6851// for more information on using Contexts. 6852func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) { 6853 req, out := c.SelectObjectContentRequest(input) 6854 req.SetContext(ctx) 6855 req.ApplyOptions(opts...) 6856 return out, req.Send() 6857} 6858 6859const opUploadPart = "UploadPart" 6860 6861// UploadPartRequest generates a "aws/request.Request" representing the 6862// client's request for the UploadPart operation. The "output" return 6863// value will be populated with the request's response once the request completes 6864// successfully. 6865// 6866// Use "Send" method on the returned Request to send the API call to the service. 6867// the "output" return value is not valid until after Send returns without error. 6868// 6869// See UploadPart for more information on using the UploadPart 6870// API call, and error handling. 6871// 6872// This method is useful when you want to inject custom logic or configuration 6873// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6874// 6875// 6876// // Example sending a request using the UploadPartRequest method. 6877// req, resp := client.UploadPartRequest(params) 6878// 6879// err := req.Send() 6880// if err == nil { // resp is now filled 6881// fmt.Println(resp) 6882// } 6883// 6884// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6885func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) { 6886 op := &request.Operation{ 6887 Name: opUploadPart, 6888 HTTPMethod: "PUT", 6889 HTTPPath: "/{Bucket}/{Key+}", 6890 } 6891 6892 if input == nil { 6893 input = &UploadPartInput{} 6894 } 6895 6896 output = &UploadPartOutput{} 6897 req = c.newRequest(op, input, output) 6898 return 6899} 6900 6901// UploadPart API operation for Amazon Simple Storage Service. 6902// 6903// Uploads a part in a multipart upload. 6904// 6905// Note: After you initiate multipart upload and upload one or more parts, you 6906// must either complete or abort multipart upload in order to stop getting charged 6907// for storage of the uploaded parts. Only after you either complete or abort 6908// multipart upload, Amazon S3 frees up the parts storage and stops charging 6909// you for the parts storage. 6910// 6911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6912// with awserr.Error's Code and Message methods to get detailed information about 6913// the error. 6914// 6915// See the AWS API reference guide for Amazon Simple Storage Service's 6916// API operation UploadPart for usage and error information. 6917// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6918func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { 6919 req, out := c.UploadPartRequest(input) 6920 return out, req.Send() 6921} 6922 6923// UploadPartWithContext is the same as UploadPart with the addition of 6924// the ability to pass a context and additional request options. 6925// 6926// See UploadPart for details on how to use this API operation. 6927// 6928// The context must be non-nil and will be used for request cancellation. If 6929// the context is nil a panic will occur. In the future the SDK may create 6930// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6931// for more information on using Contexts. 6932func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) { 6933 req, out := c.UploadPartRequest(input) 6934 req.SetContext(ctx) 6935 req.ApplyOptions(opts...) 6936 return out, req.Send() 6937} 6938 6939const opUploadPartCopy = "UploadPartCopy" 6940 6941// UploadPartCopyRequest generates a "aws/request.Request" representing the 6942// client's request for the UploadPartCopy operation. The "output" return 6943// value will be populated with the request's response once the request completes 6944// successfully. 6945// 6946// Use "Send" method on the returned Request to send the API call to the service. 6947// the "output" return value is not valid until after Send returns without error. 6948// 6949// See UploadPartCopy for more information on using the UploadPartCopy 6950// API call, and error handling. 6951// 6952// This method is useful when you want to inject custom logic or configuration 6953// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6954// 6955// 6956// // Example sending a request using the UploadPartCopyRequest method. 6957// req, resp := client.UploadPartCopyRequest(params) 6958// 6959// err := req.Send() 6960// if err == nil { // resp is now filled 6961// fmt.Println(resp) 6962// } 6963// 6964// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6965func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) { 6966 op := &request.Operation{ 6967 Name: opUploadPartCopy, 6968 HTTPMethod: "PUT", 6969 HTTPPath: "/{Bucket}/{Key+}", 6970 } 6971 6972 if input == nil { 6973 input = &UploadPartCopyInput{} 6974 } 6975 6976 output = &UploadPartCopyOutput{} 6977 req = c.newRequest(op, input, output) 6978 return 6979} 6980 6981// UploadPartCopy API operation for Amazon Simple Storage Service. 6982// 6983// Uploads a part by copying data from an existing object as data source. 6984// 6985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6986// with awserr.Error's Code and Message methods to get detailed information about 6987// the error. 6988// 6989// See the AWS API reference guide for Amazon Simple Storage Service's 6990// API operation UploadPartCopy for usage and error information. 6991// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6992func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) { 6993 req, out := c.UploadPartCopyRequest(input) 6994 return out, req.Send() 6995} 6996 6997// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of 6998// the ability to pass a context and additional request options. 6999// 7000// See UploadPartCopy for details on how to use this API operation. 7001// 7002// The context must be non-nil and will be used for request cancellation. If 7003// the context is nil a panic will occur. In the future the SDK may create 7004// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7005// for more information on using Contexts. 7006func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) { 7007 req, out := c.UploadPartCopyRequest(input) 7008 req.SetContext(ctx) 7009 req.ApplyOptions(opts...) 7010 return out, req.Send() 7011} 7012 7013// Specifies the days since the initiation of an Incomplete Multipart Upload 7014// that Lifecycle will wait before permanently removing all parts of the upload. 7015type AbortIncompleteMultipartUpload struct { 7016 _ struct{} `type:"structure"` 7017 7018 // Indicates the number of days that must pass since initiation for Lifecycle 7019 // to abort an Incomplete Multipart Upload. 7020 DaysAfterInitiation *int64 `type:"integer"` 7021} 7022 7023// String returns the string representation 7024func (s AbortIncompleteMultipartUpload) String() string { 7025 return awsutil.Prettify(s) 7026} 7027 7028// GoString returns the string representation 7029func (s AbortIncompleteMultipartUpload) GoString() string { 7030 return s.String() 7031} 7032 7033// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 7034func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 7035 s.DaysAfterInitiation = &v 7036 return s 7037} 7038 7039type AbortMultipartUploadInput struct { 7040 _ struct{} `type:"structure"` 7041 7042 // Bucket is a required field 7043 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 7044 7045 // Key is a required field 7046 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 7047 7048 // Confirms that the requester knows that she or he will be charged for the 7049 // request. Bucket owners need not specify this parameter in their requests. 7050 // Documentation on downloading objects from requester pays buckets can be found 7051 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 7052 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 7053 7054 // UploadId is a required field 7055 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 7056} 7057 7058// String returns the string representation 7059func (s AbortMultipartUploadInput) String() string { 7060 return awsutil.Prettify(s) 7061} 7062 7063// GoString returns the string representation 7064func (s AbortMultipartUploadInput) GoString() string { 7065 return s.String() 7066} 7067 7068// Validate inspects the fields of the type to determine if they are valid. 7069func (s *AbortMultipartUploadInput) Validate() error { 7070 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"} 7071 if s.Bucket == nil { 7072 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7073 } 7074 if s.Bucket != nil && len(*s.Bucket) < 1 { 7075 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 7076 } 7077 if s.Key == nil { 7078 invalidParams.Add(request.NewErrParamRequired("Key")) 7079 } 7080 if s.Key != nil && len(*s.Key) < 1 { 7081 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7082 } 7083 if s.UploadId == nil { 7084 invalidParams.Add(request.NewErrParamRequired("UploadId")) 7085 } 7086 7087 if invalidParams.Len() > 0 { 7088 return invalidParams 7089 } 7090 return nil 7091} 7092 7093// SetBucket sets the Bucket field's value. 7094func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput { 7095 s.Bucket = &v 7096 return s 7097} 7098 7099func (s *AbortMultipartUploadInput) getBucket() (v string) { 7100 if s.Bucket == nil { 7101 return v 7102 } 7103 return *s.Bucket 7104} 7105 7106// SetKey sets the Key field's value. 7107func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput { 7108 s.Key = &v 7109 return s 7110} 7111 7112// SetRequestPayer sets the RequestPayer field's value. 7113func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput { 7114 s.RequestPayer = &v 7115 return s 7116} 7117 7118// SetUploadId sets the UploadId field's value. 7119func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput { 7120 s.UploadId = &v 7121 return s 7122} 7123 7124type AbortMultipartUploadOutput struct { 7125 _ struct{} `type:"structure"` 7126 7127 // If present, indicates that the requester was successfully charged for the 7128 // request. 7129 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 7130} 7131 7132// String returns the string representation 7133func (s AbortMultipartUploadOutput) String() string { 7134 return awsutil.Prettify(s) 7135} 7136 7137// GoString returns the string representation 7138func (s AbortMultipartUploadOutput) GoString() string { 7139 return s.String() 7140} 7141 7142// SetRequestCharged sets the RequestCharged field's value. 7143func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput { 7144 s.RequestCharged = &v 7145 return s 7146} 7147 7148type AccelerateConfiguration struct { 7149 _ struct{} `type:"structure"` 7150 7151 // The accelerate configuration of the bucket. 7152 Status *string `type:"string" enum:"BucketAccelerateStatus"` 7153} 7154 7155// String returns the string representation 7156func (s AccelerateConfiguration) String() string { 7157 return awsutil.Prettify(s) 7158} 7159 7160// GoString returns the string representation 7161func (s AccelerateConfiguration) GoString() string { 7162 return s.String() 7163} 7164 7165// SetStatus sets the Status field's value. 7166func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration { 7167 s.Status = &v 7168 return s 7169} 7170 7171type AccessControlPolicy struct { 7172 _ struct{} `type:"structure"` 7173 7174 // A list of grants. 7175 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 7176 7177 Owner *Owner `type:"structure"` 7178} 7179 7180// String returns the string representation 7181func (s AccessControlPolicy) String() string { 7182 return awsutil.Prettify(s) 7183} 7184 7185// GoString returns the string representation 7186func (s AccessControlPolicy) GoString() string { 7187 return s.String() 7188} 7189 7190// Validate inspects the fields of the type to determine if they are valid. 7191func (s *AccessControlPolicy) Validate() error { 7192 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"} 7193 if s.Grants != nil { 7194 for i, v := range s.Grants { 7195 if v == nil { 7196 continue 7197 } 7198 if err := v.Validate(); err != nil { 7199 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 7200 } 7201 } 7202 } 7203 7204 if invalidParams.Len() > 0 { 7205 return invalidParams 7206 } 7207 return nil 7208} 7209 7210// SetGrants sets the Grants field's value. 7211func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy { 7212 s.Grants = v 7213 return s 7214} 7215 7216// SetOwner sets the Owner field's value. 7217func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy { 7218 s.Owner = v 7219 return s 7220} 7221 7222// A container for information about access control for replicas. 7223type AccessControlTranslation struct { 7224 _ struct{} `type:"structure"` 7225 7226 // The override value for the owner of the replica object. 7227 // 7228 // Owner is a required field 7229 Owner *string `type:"string" required:"true" enum:"OwnerOverride"` 7230} 7231 7232// String returns the string representation 7233func (s AccessControlTranslation) String() string { 7234 return awsutil.Prettify(s) 7235} 7236 7237// GoString returns the string representation 7238func (s AccessControlTranslation) GoString() string { 7239 return s.String() 7240} 7241 7242// Validate inspects the fields of the type to determine if they are valid. 7243func (s *AccessControlTranslation) Validate() error { 7244 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"} 7245 if s.Owner == nil { 7246 invalidParams.Add(request.NewErrParamRequired("Owner")) 7247 } 7248 7249 if invalidParams.Len() > 0 { 7250 return invalidParams 7251 } 7252 return nil 7253} 7254 7255// SetOwner sets the Owner field's value. 7256func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation { 7257 s.Owner = &v 7258 return s 7259} 7260 7261type AnalyticsAndOperator struct { 7262 _ struct{} `type:"structure"` 7263 7264 // The prefix to use when evaluating an AND predicate. 7265 Prefix *string `type:"string"` 7266 7267 // The list of tags to use when evaluating an AND predicate. 7268 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 7269} 7270 7271// String returns the string representation 7272func (s AnalyticsAndOperator) String() string { 7273 return awsutil.Prettify(s) 7274} 7275 7276// GoString returns the string representation 7277func (s AnalyticsAndOperator) GoString() string { 7278 return s.String() 7279} 7280 7281// Validate inspects the fields of the type to determine if they are valid. 7282func (s *AnalyticsAndOperator) Validate() error { 7283 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"} 7284 if s.Tags != nil { 7285 for i, v := range s.Tags { 7286 if v == nil { 7287 continue 7288 } 7289 if err := v.Validate(); err != nil { 7290 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7291 } 7292 } 7293 } 7294 7295 if invalidParams.Len() > 0 { 7296 return invalidParams 7297 } 7298 return nil 7299} 7300 7301// SetPrefix sets the Prefix field's value. 7302func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator { 7303 s.Prefix = &v 7304 return s 7305} 7306 7307// SetTags sets the Tags field's value. 7308func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator { 7309 s.Tags = v 7310 return s 7311} 7312 7313type AnalyticsConfiguration struct { 7314 _ struct{} `type:"structure"` 7315 7316 // The filter used to describe a set of objects for analyses. A filter must 7317 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). 7318 // If no filter is provided, all objects will be considered in any analysis. 7319 Filter *AnalyticsFilter `type:"structure"` 7320 7321 // The identifier used to represent an analytics configuration. 7322 // 7323 // Id is a required field 7324 Id *string `type:"string" required:"true"` 7325 7326 // If present, it indicates that data related to access patterns will be collected 7327 // and made available to analyze the tradeoffs between different storage classes. 7328 // 7329 // StorageClassAnalysis is a required field 7330 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"` 7331} 7332 7333// String returns the string representation 7334func (s AnalyticsConfiguration) String() string { 7335 return awsutil.Prettify(s) 7336} 7337 7338// GoString returns the string representation 7339func (s AnalyticsConfiguration) GoString() string { 7340 return s.String() 7341} 7342 7343// Validate inspects the fields of the type to determine if they are valid. 7344func (s *AnalyticsConfiguration) Validate() error { 7345 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"} 7346 if s.Id == nil { 7347 invalidParams.Add(request.NewErrParamRequired("Id")) 7348 } 7349 if s.StorageClassAnalysis == nil { 7350 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis")) 7351 } 7352 if s.Filter != nil { 7353 if err := s.Filter.Validate(); err != nil { 7354 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 7355 } 7356 } 7357 if s.StorageClassAnalysis != nil { 7358 if err := s.StorageClassAnalysis.Validate(); err != nil { 7359 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams)) 7360 } 7361 } 7362 7363 if invalidParams.Len() > 0 { 7364 return invalidParams 7365 } 7366 return nil 7367} 7368 7369// SetFilter sets the Filter field's value. 7370func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration { 7371 s.Filter = v 7372 return s 7373} 7374 7375// SetId sets the Id field's value. 7376func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration { 7377 s.Id = &v 7378 return s 7379} 7380 7381// SetStorageClassAnalysis sets the StorageClassAnalysis field's value. 7382func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration { 7383 s.StorageClassAnalysis = v 7384 return s 7385} 7386 7387type AnalyticsExportDestination struct { 7388 _ struct{} `type:"structure"` 7389 7390 // A destination signifying output to an S3 bucket. 7391 // 7392 // S3BucketDestination is a required field 7393 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"` 7394} 7395 7396// String returns the string representation 7397func (s AnalyticsExportDestination) String() string { 7398 return awsutil.Prettify(s) 7399} 7400 7401// GoString returns the string representation 7402func (s AnalyticsExportDestination) GoString() string { 7403 return s.String() 7404} 7405 7406// Validate inspects the fields of the type to determine if they are valid. 7407func (s *AnalyticsExportDestination) Validate() error { 7408 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"} 7409 if s.S3BucketDestination == nil { 7410 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 7411 } 7412 if s.S3BucketDestination != nil { 7413 if err := s.S3BucketDestination.Validate(); err != nil { 7414 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 7415 } 7416 } 7417 7418 if invalidParams.Len() > 0 { 7419 return invalidParams 7420 } 7421 return nil 7422} 7423 7424// SetS3BucketDestination sets the S3BucketDestination field's value. 7425func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination { 7426 s.S3BucketDestination = v 7427 return s 7428} 7429 7430type AnalyticsFilter struct { 7431 _ struct{} `type:"structure"` 7432 7433 // A conjunction (logical AND) of predicates, which is used in evaluating an 7434 // analytics filter. The operator must have at least two predicates. 7435 And *AnalyticsAndOperator `type:"structure"` 7436 7437 // The prefix to use when evaluating an analytics filter. 7438 Prefix *string `type:"string"` 7439 7440 // The tag to use when evaluating an analytics filter. 7441 Tag *Tag `type:"structure"` 7442} 7443 7444// String returns the string representation 7445func (s AnalyticsFilter) String() string { 7446 return awsutil.Prettify(s) 7447} 7448 7449// GoString returns the string representation 7450func (s AnalyticsFilter) GoString() string { 7451 return s.String() 7452} 7453 7454// Validate inspects the fields of the type to determine if they are valid. 7455func (s *AnalyticsFilter) Validate() error { 7456 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"} 7457 if s.And != nil { 7458 if err := s.And.Validate(); err != nil { 7459 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 7460 } 7461 } 7462 if s.Tag != nil { 7463 if err := s.Tag.Validate(); err != nil { 7464 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 7465 } 7466 } 7467 7468 if invalidParams.Len() > 0 { 7469 return invalidParams 7470 } 7471 return nil 7472} 7473 7474// SetAnd sets the And field's value. 7475func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter { 7476 s.And = v 7477 return s 7478} 7479 7480// SetPrefix sets the Prefix field's value. 7481func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter { 7482 s.Prefix = &v 7483 return s 7484} 7485 7486// SetTag sets the Tag field's value. 7487func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter { 7488 s.Tag = v 7489 return s 7490} 7491 7492type AnalyticsS3BucketDestination struct { 7493 _ struct{} `type:"structure"` 7494 7495 // The Amazon resource name (ARN) of the bucket to which data is exported. 7496 // 7497 // Bucket is a required field 7498 Bucket *string `type:"string" required:"true"` 7499 7500 // The account ID that owns the destination bucket. If no account ID is provided, 7501 // the owner will not be validated prior to exporting data. 7502 BucketAccountId *string `type:"string"` 7503 7504 // The file format used when exporting data to Amazon S3. 7505 // 7506 // Format is a required field 7507 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"` 7508 7509 // The prefix to use when exporting data. The exported data begins with this 7510 // prefix. 7511 Prefix *string `type:"string"` 7512} 7513 7514// String returns the string representation 7515func (s AnalyticsS3BucketDestination) String() string { 7516 return awsutil.Prettify(s) 7517} 7518 7519// GoString returns the string representation 7520func (s AnalyticsS3BucketDestination) GoString() string { 7521 return s.String() 7522} 7523 7524// Validate inspects the fields of the type to determine if they are valid. 7525func (s *AnalyticsS3BucketDestination) Validate() error { 7526 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"} 7527 if s.Bucket == nil { 7528 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7529 } 7530 if s.Format == nil { 7531 invalidParams.Add(request.NewErrParamRequired("Format")) 7532 } 7533 7534 if invalidParams.Len() > 0 { 7535 return invalidParams 7536 } 7537 return nil 7538} 7539 7540// SetBucket sets the Bucket field's value. 7541func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination { 7542 s.Bucket = &v 7543 return s 7544} 7545 7546func (s *AnalyticsS3BucketDestination) getBucket() (v string) { 7547 if s.Bucket == nil { 7548 return v 7549 } 7550 return *s.Bucket 7551} 7552 7553// SetBucketAccountId sets the BucketAccountId field's value. 7554func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination { 7555 s.BucketAccountId = &v 7556 return s 7557} 7558 7559// SetFormat sets the Format field's value. 7560func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination { 7561 s.Format = &v 7562 return s 7563} 7564 7565// SetPrefix sets the Prefix field's value. 7566func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination { 7567 s.Prefix = &v 7568 return s 7569} 7570 7571type Bucket struct { 7572 _ struct{} `type:"structure"` 7573 7574 // Date the bucket was created. 7575 CreationDate *time.Time `type:"timestamp"` 7576 7577 // The name of the bucket. 7578 Name *string `type:"string"` 7579} 7580 7581// String returns the string representation 7582func (s Bucket) String() string { 7583 return awsutil.Prettify(s) 7584} 7585 7586// GoString returns the string representation 7587func (s Bucket) GoString() string { 7588 return s.String() 7589} 7590 7591// SetCreationDate sets the CreationDate field's value. 7592func (s *Bucket) SetCreationDate(v time.Time) *Bucket { 7593 s.CreationDate = &v 7594 return s 7595} 7596 7597// SetName sets the Name field's value. 7598func (s *Bucket) SetName(v string) *Bucket { 7599 s.Name = &v 7600 return s 7601} 7602 7603type BucketLifecycleConfiguration struct { 7604 _ struct{} `type:"structure"` 7605 7606 // Rules is a required field 7607 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 7608} 7609 7610// String returns the string representation 7611func (s BucketLifecycleConfiguration) String() string { 7612 return awsutil.Prettify(s) 7613} 7614 7615// GoString returns the string representation 7616func (s BucketLifecycleConfiguration) GoString() string { 7617 return s.String() 7618} 7619 7620// Validate inspects the fields of the type to determine if they are valid. 7621func (s *BucketLifecycleConfiguration) Validate() error { 7622 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"} 7623 if s.Rules == nil { 7624 invalidParams.Add(request.NewErrParamRequired("Rules")) 7625 } 7626 if s.Rules != nil { 7627 for i, v := range s.Rules { 7628 if v == nil { 7629 continue 7630 } 7631 if err := v.Validate(); err != nil { 7632 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 7633 } 7634 } 7635 } 7636 7637 if invalidParams.Len() > 0 { 7638 return invalidParams 7639 } 7640 return nil 7641} 7642 7643// SetRules sets the Rules field's value. 7644func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration { 7645 s.Rules = v 7646 return s 7647} 7648 7649type BucketLoggingStatus struct { 7650 _ struct{} `type:"structure"` 7651 7652 // Container for logging information. Presence of this element indicates that 7653 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 7654 // in this case. 7655 LoggingEnabled *LoggingEnabled `type:"structure"` 7656} 7657 7658// String returns the string representation 7659func (s BucketLoggingStatus) String() string { 7660 return awsutil.Prettify(s) 7661} 7662 7663// GoString returns the string representation 7664func (s BucketLoggingStatus) GoString() string { 7665 return s.String() 7666} 7667 7668// Validate inspects the fields of the type to determine if they are valid. 7669func (s *BucketLoggingStatus) Validate() error { 7670 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"} 7671 if s.LoggingEnabled != nil { 7672 if err := s.LoggingEnabled.Validate(); err != nil { 7673 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams)) 7674 } 7675 } 7676 7677 if invalidParams.Len() > 0 { 7678 return invalidParams 7679 } 7680 return nil 7681} 7682 7683// SetLoggingEnabled sets the LoggingEnabled field's value. 7684func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus { 7685 s.LoggingEnabled = v 7686 return s 7687} 7688 7689type CORSConfiguration struct { 7690 _ struct{} `type:"structure"` 7691 7692 // CORSRules is a required field 7693 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` 7694} 7695 7696// String returns the string representation 7697func (s CORSConfiguration) String() string { 7698 return awsutil.Prettify(s) 7699} 7700 7701// GoString returns the string representation 7702func (s CORSConfiguration) GoString() string { 7703 return s.String() 7704} 7705 7706// Validate inspects the fields of the type to determine if they are valid. 7707func (s *CORSConfiguration) Validate() error { 7708 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"} 7709 if s.CORSRules == nil { 7710 invalidParams.Add(request.NewErrParamRequired("CORSRules")) 7711 } 7712 if s.CORSRules != nil { 7713 for i, v := range s.CORSRules { 7714 if v == nil { 7715 continue 7716 } 7717 if err := v.Validate(); err != nil { 7718 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams)) 7719 } 7720 } 7721 } 7722 7723 if invalidParams.Len() > 0 { 7724 return invalidParams 7725 } 7726 return nil 7727} 7728 7729// SetCORSRules sets the CORSRules field's value. 7730func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration { 7731 s.CORSRules = v 7732 return s 7733} 7734 7735type CORSRule struct { 7736 _ struct{} `type:"structure"` 7737 7738 // Specifies which headers are allowed in a pre-flight OPTIONS request. 7739 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"` 7740 7741 // Identifies HTTP methods that the domain/origin specified in the rule is allowed 7742 // to execute. 7743 // 7744 // AllowedMethods is a required field 7745 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` 7746 7747 // One or more origins you want customers to be able to access the bucket from. 7748 // 7749 // AllowedOrigins is a required field 7750 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"` 7751 7752 // One or more headers in the response that you want customers to be able to 7753 // access from their applications (for example, from a JavaScript XMLHttpRequest 7754 // object). 7755 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"` 7756 7757 // The time in seconds that your browser is to cache the preflight response 7758 // for the specified resource. 7759 MaxAgeSeconds *int64 `type:"integer"` 7760} 7761 7762// String returns the string representation 7763func (s CORSRule) String() string { 7764 return awsutil.Prettify(s) 7765} 7766 7767// GoString returns the string representation 7768func (s CORSRule) GoString() string { 7769 return s.String() 7770} 7771 7772// Validate inspects the fields of the type to determine if they are valid. 7773func (s *CORSRule) Validate() error { 7774 invalidParams := request.ErrInvalidParams{Context: "CORSRule"} 7775 if s.AllowedMethods == nil { 7776 invalidParams.Add(request.NewErrParamRequired("AllowedMethods")) 7777 } 7778 if s.AllowedOrigins == nil { 7779 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins")) 7780 } 7781 7782 if invalidParams.Len() > 0 { 7783 return invalidParams 7784 } 7785 return nil 7786} 7787 7788// SetAllowedHeaders sets the AllowedHeaders field's value. 7789func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule { 7790 s.AllowedHeaders = v 7791 return s 7792} 7793 7794// SetAllowedMethods sets the AllowedMethods field's value. 7795func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule { 7796 s.AllowedMethods = v 7797 return s 7798} 7799 7800// SetAllowedOrigins sets the AllowedOrigins field's value. 7801func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule { 7802 s.AllowedOrigins = v 7803 return s 7804} 7805 7806// SetExposeHeaders sets the ExposeHeaders field's value. 7807func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule { 7808 s.ExposeHeaders = v 7809 return s 7810} 7811 7812// SetMaxAgeSeconds sets the MaxAgeSeconds field's value. 7813func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule { 7814 s.MaxAgeSeconds = &v 7815 return s 7816} 7817 7818// Describes how a CSV-formatted input object is formatted. 7819type CSVInput struct { 7820 _ struct{} `type:"structure"` 7821 7822 // Specifies that CSV field values may contain quoted record delimiters and 7823 // such records should be allowed. Default value is FALSE. Setting this value 7824 // to TRUE may lower performance. 7825 AllowQuotedRecordDelimiter *bool `type:"boolean"` 7826 7827 // The single character used to indicate a row should be ignored when present 7828 // at the start of a row. 7829 Comments *string `type:"string"` 7830 7831 // The value used to separate individual fields in a record. 7832 FieldDelimiter *string `type:"string"` 7833 7834 // Describes the first line of input. Valid values: None, Ignore, Use. 7835 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"` 7836 7837 // Value used for escaping where the field delimiter is part of the value. 7838 QuoteCharacter *string `type:"string"` 7839 7840 // The single character used for escaping the quote character inside an already 7841 // escaped value. 7842 QuoteEscapeCharacter *string `type:"string"` 7843 7844 // The value used to separate individual records. 7845 RecordDelimiter *string `type:"string"` 7846} 7847 7848// String returns the string representation 7849func (s CSVInput) String() string { 7850 return awsutil.Prettify(s) 7851} 7852 7853// GoString returns the string representation 7854func (s CSVInput) GoString() string { 7855 return s.String() 7856} 7857 7858// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value. 7859func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput { 7860 s.AllowQuotedRecordDelimiter = &v 7861 return s 7862} 7863 7864// SetComments sets the Comments field's value. 7865func (s *CSVInput) SetComments(v string) *CSVInput { 7866 s.Comments = &v 7867 return s 7868} 7869 7870// SetFieldDelimiter sets the FieldDelimiter field's value. 7871func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput { 7872 s.FieldDelimiter = &v 7873 return s 7874} 7875 7876// SetFileHeaderInfo sets the FileHeaderInfo field's value. 7877func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput { 7878 s.FileHeaderInfo = &v 7879 return s 7880} 7881 7882// SetQuoteCharacter sets the QuoteCharacter field's value. 7883func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput { 7884 s.QuoteCharacter = &v 7885 return s 7886} 7887 7888// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 7889func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput { 7890 s.QuoteEscapeCharacter = &v 7891 return s 7892} 7893 7894// SetRecordDelimiter sets the RecordDelimiter field's value. 7895func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput { 7896 s.RecordDelimiter = &v 7897 return s 7898} 7899 7900// Describes how CSV-formatted results are formatted. 7901type CSVOutput struct { 7902 _ struct{} `type:"structure"` 7903 7904 // The value used to separate individual fields in a record. 7905 FieldDelimiter *string `type:"string"` 7906 7907 // The value used for escaping where the field delimiter is part of the value. 7908 QuoteCharacter *string `type:"string"` 7909 7910 // Th single character used for escaping the quote character inside an already 7911 // escaped value. 7912 QuoteEscapeCharacter *string `type:"string"` 7913 7914 // Indicates whether or not all output fields should be quoted. 7915 QuoteFields *string `type:"string" enum:"QuoteFields"` 7916 7917 // The value used to separate individual records. 7918 RecordDelimiter *string `type:"string"` 7919} 7920 7921// String returns the string representation 7922func (s CSVOutput) String() string { 7923 return awsutil.Prettify(s) 7924} 7925 7926// GoString returns the string representation 7927func (s CSVOutput) GoString() string { 7928 return s.String() 7929} 7930 7931// SetFieldDelimiter sets the FieldDelimiter field's value. 7932func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput { 7933 s.FieldDelimiter = &v 7934 return s 7935} 7936 7937// SetQuoteCharacter sets the QuoteCharacter field's value. 7938func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput { 7939 s.QuoteCharacter = &v 7940 return s 7941} 7942 7943// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 7944func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput { 7945 s.QuoteEscapeCharacter = &v 7946 return s 7947} 7948 7949// SetQuoteFields sets the QuoteFields field's value. 7950func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput { 7951 s.QuoteFields = &v 7952 return s 7953} 7954 7955// SetRecordDelimiter sets the RecordDelimiter field's value. 7956func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput { 7957 s.RecordDelimiter = &v 7958 return s 7959} 7960 7961type CloudFunctionConfiguration struct { 7962 _ struct{} `type:"structure"` 7963 7964 CloudFunction *string `type:"string"` 7965 7966 // The bucket event for which to send notifications. 7967 // 7968 // Deprecated: Event has been deprecated 7969 Event *string `deprecated:"true" type:"string" enum:"Event"` 7970 7971 Events []*string `locationName:"Event" type:"list" flattened:"true"` 7972 7973 // An optional unique identifier for configurations in a notification configuration. 7974 // If you don't provide one, Amazon S3 will assign an ID. 7975 Id *string `type:"string"` 7976 7977 InvocationRole *string `type:"string"` 7978} 7979 7980// String returns the string representation 7981func (s CloudFunctionConfiguration) String() string { 7982 return awsutil.Prettify(s) 7983} 7984 7985// GoString returns the string representation 7986func (s CloudFunctionConfiguration) GoString() string { 7987 return s.String() 7988} 7989 7990// SetCloudFunction sets the CloudFunction field's value. 7991func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration { 7992 s.CloudFunction = &v 7993 return s 7994} 7995 7996// SetEvent sets the Event field's value. 7997func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration { 7998 s.Event = &v 7999 return s 8000} 8001 8002// SetEvents sets the Events field's value. 8003func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration { 8004 s.Events = v 8005 return s 8006} 8007 8008// SetId sets the Id field's value. 8009func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration { 8010 s.Id = &v 8011 return s 8012} 8013 8014// SetInvocationRole sets the InvocationRole field's value. 8015func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration { 8016 s.InvocationRole = &v 8017 return s 8018} 8019 8020type CommonPrefix struct { 8021 _ struct{} `type:"structure"` 8022 8023 Prefix *string `type:"string"` 8024} 8025 8026// String returns the string representation 8027func (s CommonPrefix) String() string { 8028 return awsutil.Prettify(s) 8029} 8030 8031// GoString returns the string representation 8032func (s CommonPrefix) GoString() string { 8033 return s.String() 8034} 8035 8036// SetPrefix sets the Prefix field's value. 8037func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix { 8038 s.Prefix = &v 8039 return s 8040} 8041 8042type CompleteMultipartUploadInput struct { 8043 _ struct{} `type:"structure" payload:"MultipartUpload"` 8044 8045 // Bucket is a required field 8046 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8047 8048 // Key is a required field 8049 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 8050 8051 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 8052 8053 // Confirms that the requester knows that she or he will be charged for the 8054 // request. Bucket owners need not specify this parameter in their requests. 8055 // Documentation on downloading objects from requester pays buckets can be found 8056 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 8057 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 8058 8059 // UploadId is a required field 8060 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 8061} 8062 8063// String returns the string representation 8064func (s CompleteMultipartUploadInput) String() string { 8065 return awsutil.Prettify(s) 8066} 8067 8068// GoString returns the string representation 8069func (s CompleteMultipartUploadInput) GoString() string { 8070 return s.String() 8071} 8072 8073// Validate inspects the fields of the type to determine if they are valid. 8074func (s *CompleteMultipartUploadInput) Validate() error { 8075 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"} 8076 if s.Bucket == nil { 8077 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8078 } 8079 if s.Bucket != nil && len(*s.Bucket) < 1 { 8080 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 8081 } 8082 if s.Key == nil { 8083 invalidParams.Add(request.NewErrParamRequired("Key")) 8084 } 8085 if s.Key != nil && len(*s.Key) < 1 { 8086 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 8087 } 8088 if s.UploadId == nil { 8089 invalidParams.Add(request.NewErrParamRequired("UploadId")) 8090 } 8091 8092 if invalidParams.Len() > 0 { 8093 return invalidParams 8094 } 8095 return nil 8096} 8097 8098// SetBucket sets the Bucket field's value. 8099func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput { 8100 s.Bucket = &v 8101 return s 8102} 8103 8104func (s *CompleteMultipartUploadInput) getBucket() (v string) { 8105 if s.Bucket == nil { 8106 return v 8107 } 8108 return *s.Bucket 8109} 8110 8111// SetKey sets the Key field's value. 8112func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput { 8113 s.Key = &v 8114 return s 8115} 8116 8117// SetMultipartUpload sets the MultipartUpload field's value. 8118func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput { 8119 s.MultipartUpload = v 8120 return s 8121} 8122 8123// SetRequestPayer sets the RequestPayer field's value. 8124func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput { 8125 s.RequestPayer = &v 8126 return s 8127} 8128 8129// SetUploadId sets the UploadId field's value. 8130func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput { 8131 s.UploadId = &v 8132 return s 8133} 8134 8135type CompleteMultipartUploadOutput struct { 8136 _ struct{} `type:"structure"` 8137 8138 Bucket *string `type:"string"` 8139 8140 // Entity tag of the object. 8141 ETag *string `type:"string"` 8142 8143 // If the object expiration is configured, this will contain the expiration 8144 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. 8145 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 8146 8147 Key *string `min:"1" type:"string"` 8148 8149 Location *string `type:"string"` 8150 8151 // If present, indicates that the requester was successfully charged for the 8152 // request. 8153 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 8154 8155 // If present, specifies the ID of the AWS Key Management Service (KMS) master 8156 // encryption key that was used for the object. 8157 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 8158 8159 // The Server-side encryption algorithm used when storing this object in S3 8160 // (e.g., AES256, aws:kms). 8161 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8162 8163 // Version of the object. 8164 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 8165} 8166 8167// String returns the string representation 8168func (s CompleteMultipartUploadOutput) String() string { 8169 return awsutil.Prettify(s) 8170} 8171 8172// GoString returns the string representation 8173func (s CompleteMultipartUploadOutput) GoString() string { 8174 return s.String() 8175} 8176 8177// SetBucket sets the Bucket field's value. 8178func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput { 8179 s.Bucket = &v 8180 return s 8181} 8182 8183func (s *CompleteMultipartUploadOutput) getBucket() (v string) { 8184 if s.Bucket == nil { 8185 return v 8186 } 8187 return *s.Bucket 8188} 8189 8190// SetETag sets the ETag field's value. 8191func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput { 8192 s.ETag = &v 8193 return s 8194} 8195 8196// SetExpiration sets the Expiration field's value. 8197func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput { 8198 s.Expiration = &v 8199 return s 8200} 8201 8202// SetKey sets the Key field's value. 8203func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput { 8204 s.Key = &v 8205 return s 8206} 8207 8208// SetLocation sets the Location field's value. 8209func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput { 8210 s.Location = &v 8211 return s 8212} 8213 8214// SetRequestCharged sets the RequestCharged field's value. 8215func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput { 8216 s.RequestCharged = &v 8217 return s 8218} 8219 8220// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8221func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput { 8222 s.SSEKMSKeyId = &v 8223 return s 8224} 8225 8226// SetServerSideEncryption sets the ServerSideEncryption field's value. 8227func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput { 8228 s.ServerSideEncryption = &v 8229 return s 8230} 8231 8232// SetVersionId sets the VersionId field's value. 8233func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput { 8234 s.VersionId = &v 8235 return s 8236} 8237 8238type CompletedMultipartUpload struct { 8239 _ struct{} `type:"structure"` 8240 8241 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"` 8242} 8243 8244// String returns the string representation 8245func (s CompletedMultipartUpload) String() string { 8246 return awsutil.Prettify(s) 8247} 8248 8249// GoString returns the string representation 8250func (s CompletedMultipartUpload) GoString() string { 8251 return s.String() 8252} 8253 8254// SetParts sets the Parts field's value. 8255func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload { 8256 s.Parts = v 8257 return s 8258} 8259 8260type CompletedPart struct { 8261 _ struct{} `type:"structure"` 8262 8263 // Entity tag returned when the part was uploaded. 8264 ETag *string `type:"string"` 8265 8266 // Part number that identifies the part. This is a positive integer between 8267 // 1 and 10,000. 8268 PartNumber *int64 `type:"integer"` 8269} 8270 8271// String returns the string representation 8272func (s CompletedPart) String() string { 8273 return awsutil.Prettify(s) 8274} 8275 8276// GoString returns the string representation 8277func (s CompletedPart) GoString() string { 8278 return s.String() 8279} 8280 8281// SetETag sets the ETag field's value. 8282func (s *CompletedPart) SetETag(v string) *CompletedPart { 8283 s.ETag = &v 8284 return s 8285} 8286 8287// SetPartNumber sets the PartNumber field's value. 8288func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart { 8289 s.PartNumber = &v 8290 return s 8291} 8292 8293type Condition struct { 8294 _ struct{} `type:"structure"` 8295 8296 // The HTTP error code when the redirect is applied. In the event of an error, 8297 // if the error code equals this value, then the specified redirect is applied. 8298 // Required when parent element Condition is specified and sibling KeyPrefixEquals 8299 // is not specified. If both are specified, then both must be true for the redirect 8300 // to be applied. 8301 HttpErrorCodeReturnedEquals *string `type:"string"` 8302 8303 // The object key name prefix when the redirect is applied. For example, to 8304 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. 8305 // To redirect request for all pages with the prefix docs/, the key prefix will 8306 // be /docs, which identifies all objects in the docs/ folder. Required when 8307 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals 8308 // is not specified. If both conditions are specified, both must be true for 8309 // the redirect to be applied. 8310 KeyPrefixEquals *string `type:"string"` 8311} 8312 8313// String returns the string representation 8314func (s Condition) String() string { 8315 return awsutil.Prettify(s) 8316} 8317 8318// GoString returns the string representation 8319func (s Condition) GoString() string { 8320 return s.String() 8321} 8322 8323// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value. 8324func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition { 8325 s.HttpErrorCodeReturnedEquals = &v 8326 return s 8327} 8328 8329// SetKeyPrefixEquals sets the KeyPrefixEquals field's value. 8330func (s *Condition) SetKeyPrefixEquals(v string) *Condition { 8331 s.KeyPrefixEquals = &v 8332 return s 8333} 8334 8335type ContinuationEvent struct { 8336 _ struct{} `locationName:"ContinuationEvent" type:"structure"` 8337} 8338 8339// String returns the string representation 8340func (s ContinuationEvent) String() string { 8341 return awsutil.Prettify(s) 8342} 8343 8344// GoString returns the string representation 8345func (s ContinuationEvent) GoString() string { 8346 return s.String() 8347} 8348 8349// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events. 8350func (s *ContinuationEvent) eventSelectObjectContentEventStream() {} 8351 8352// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value. 8353// This method is only used internally within the SDK's EventStream handling. 8354func (s *ContinuationEvent) UnmarshalEvent( 8355 payloadUnmarshaler protocol.PayloadUnmarshaler, 8356 msg eventstream.Message, 8357) error { 8358 return nil 8359} 8360 8361type CopyObjectInput struct { 8362 _ struct{} `type:"structure"` 8363 8364 // The canned ACL to apply to the object. 8365 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 8366 8367 // Bucket is a required field 8368 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8369 8370 // Specifies caching behavior along the request/reply chain. 8371 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 8372 8373 // Specifies presentational information for the object. 8374 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 8375 8376 // Specifies what content encodings have been applied to the object and thus 8377 // what decoding mechanisms must be applied to obtain the media-type referenced 8378 // by the Content-Type header field. 8379 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 8380 8381 // The language the content is in. 8382 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 8383 8384 // A standard MIME type describing the format of the object data. 8385 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 8386 8387 // The name of the source bucket and key name of the source object, separated 8388 // by a slash (/). Must be URL-encoded. 8389 // 8390 // CopySource is a required field 8391 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` 8392 8393 // Copies the object if its entity tag (ETag) matches the specified tag. 8394 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 8395 8396 // Copies the object if it has been modified since the specified time. 8397 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"` 8398 8399 // Copies the object if its entity tag (ETag) is different than the specified 8400 // ETag. 8401 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 8402 8403 // Copies the object if it hasn't been modified since the specified time. 8404 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"` 8405 8406 // Specifies the algorithm to use when decrypting the source object (e.g., AES256). 8407 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` 8408 8409 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 8410 // the source object. The encryption key provided in this header must be one 8411 // that was used when the source object was created. 8412 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` 8413 8414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 8415 // Amazon S3 uses this header for a message integrity check to ensure the encryption 8416 // key was transmitted without error. 8417 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` 8418 8419 // The date and time at which the object is no longer cacheable. 8420 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 8421 8422 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 8423 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 8424 8425 // Allows grantee to read the object data and its metadata. 8426 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 8427 8428 // Allows grantee to read the object ACL. 8429 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 8430 8431 // Allows grantee to write the ACL for the applicable object. 8432 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 8433 8434 // Key is a required field 8435 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 8436 8437 // A map of metadata to store with the object in S3. 8438 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 8439 8440 // Specifies whether the metadata is copied from the source object or replaced 8441 // with metadata provided in the request. 8442 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"` 8443 8444 // Specifies whether you want to apply a Legal Hold to the copied object. 8445 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 8446 8447 // The Object Lock mode that you want to apply to the copied object. 8448 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 8449 8450 // The date and time when you want the copied object's Object Lock to expire. 8451 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 8452 8453 // Confirms that the requester knows that she or he will be charged for the 8454 // request. Bucket owners need not specify this parameter in their requests. 8455 // Documentation on downloading objects from requester pays buckets can be found 8456 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 8457 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 8458 8459 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 8460 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 8461 8462 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 8463 // data. This value is used to store the object and then it is discarded; Amazon 8464 // does not store the encryption key. The key must be appropriate for use with 8465 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 8466 // header. 8467 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 8468 8469 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 8470 // Amazon S3 uses this header for a message integrity check to ensure the encryption 8471 // key was transmitted without error. 8472 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8473 8474 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 8475 // requests for an object protected by AWS KMS will fail if not made via SSL 8476 // or using SigV4. Documentation on configuring any of the officially supported 8477 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 8478 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 8479 8480 // The Server-side encryption algorithm used when storing this object in S3 8481 // (e.g., AES256, aws:kms). 8482 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8483 8484 // The type of storage to use for the object. Defaults to 'STANDARD'. 8485 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 8486 8487 // The tag-set for the object destination object this value must be used in 8488 // conjunction with the TaggingDirective. The tag-set must be encoded as URL 8489 // Query parameters 8490 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 8491 8492 // Specifies whether the object tag-set are copied from the source object or 8493 // replaced with tag-set provided in the request. 8494 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"` 8495 8496 // If the bucket is configured as a website, redirects requests for this object 8497 // to another object in the same bucket or to an external URL. Amazon S3 stores 8498 // the value of this header in the object metadata. 8499 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 8500} 8501 8502// String returns the string representation 8503func (s CopyObjectInput) String() string { 8504 return awsutil.Prettify(s) 8505} 8506 8507// GoString returns the string representation 8508func (s CopyObjectInput) GoString() string { 8509 return s.String() 8510} 8511 8512// Validate inspects the fields of the type to determine if they are valid. 8513func (s *CopyObjectInput) Validate() error { 8514 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"} 8515 if s.Bucket == nil { 8516 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8517 } 8518 if s.Bucket != nil && len(*s.Bucket) < 1 { 8519 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 8520 } 8521 if s.CopySource == nil { 8522 invalidParams.Add(request.NewErrParamRequired("CopySource")) 8523 } 8524 if s.Key == nil { 8525 invalidParams.Add(request.NewErrParamRequired("Key")) 8526 } 8527 if s.Key != nil && len(*s.Key) < 1 { 8528 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 8529 } 8530 8531 if invalidParams.Len() > 0 { 8532 return invalidParams 8533 } 8534 return nil 8535} 8536 8537// SetACL sets the ACL field's value. 8538func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput { 8539 s.ACL = &v 8540 return s 8541} 8542 8543// SetBucket sets the Bucket field's value. 8544func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput { 8545 s.Bucket = &v 8546 return s 8547} 8548 8549func (s *CopyObjectInput) getBucket() (v string) { 8550 if s.Bucket == nil { 8551 return v 8552 } 8553 return *s.Bucket 8554} 8555 8556// SetCacheControl sets the CacheControl field's value. 8557func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput { 8558 s.CacheControl = &v 8559 return s 8560} 8561 8562// SetContentDisposition sets the ContentDisposition field's value. 8563func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput { 8564 s.ContentDisposition = &v 8565 return s 8566} 8567 8568// SetContentEncoding sets the ContentEncoding field's value. 8569func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput { 8570 s.ContentEncoding = &v 8571 return s 8572} 8573 8574// SetContentLanguage sets the ContentLanguage field's value. 8575func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput { 8576 s.ContentLanguage = &v 8577 return s 8578} 8579 8580// SetContentType sets the ContentType field's value. 8581func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput { 8582 s.ContentType = &v 8583 return s 8584} 8585 8586// SetCopySource sets the CopySource field's value. 8587func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput { 8588 s.CopySource = &v 8589 return s 8590} 8591 8592// SetCopySourceIfMatch sets the CopySourceIfMatch field's value. 8593func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput { 8594 s.CopySourceIfMatch = &v 8595 return s 8596} 8597 8598// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value. 8599func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput { 8600 s.CopySourceIfModifiedSince = &v 8601 return s 8602} 8603 8604// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value. 8605func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput { 8606 s.CopySourceIfNoneMatch = &v 8607 return s 8608} 8609 8610// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value. 8611func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput { 8612 s.CopySourceIfUnmodifiedSince = &v 8613 return s 8614} 8615 8616// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value. 8617func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput { 8618 s.CopySourceSSECustomerAlgorithm = &v 8619 return s 8620} 8621 8622// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value. 8623func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput { 8624 s.CopySourceSSECustomerKey = &v 8625 return s 8626} 8627 8628func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) { 8629 if s.CopySourceSSECustomerKey == nil { 8630 return v 8631 } 8632 return *s.CopySourceSSECustomerKey 8633} 8634 8635// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 8636func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput { 8637 s.CopySourceSSECustomerKeyMD5 = &v 8638 return s 8639} 8640 8641// SetExpires sets the Expires field's value. 8642func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput { 8643 s.Expires = &v 8644 return s 8645} 8646 8647// SetGrantFullControl sets the GrantFullControl field's value. 8648func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput { 8649 s.GrantFullControl = &v 8650 return s 8651} 8652 8653// SetGrantRead sets the GrantRead field's value. 8654func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput { 8655 s.GrantRead = &v 8656 return s 8657} 8658 8659// SetGrantReadACP sets the GrantReadACP field's value. 8660func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput { 8661 s.GrantReadACP = &v 8662 return s 8663} 8664 8665// SetGrantWriteACP sets the GrantWriteACP field's value. 8666func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput { 8667 s.GrantWriteACP = &v 8668 return s 8669} 8670 8671// SetKey sets the Key field's value. 8672func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput { 8673 s.Key = &v 8674 return s 8675} 8676 8677// SetMetadata sets the Metadata field's value. 8678func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput { 8679 s.Metadata = v 8680 return s 8681} 8682 8683// SetMetadataDirective sets the MetadataDirective field's value. 8684func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput { 8685 s.MetadataDirective = &v 8686 return s 8687} 8688 8689// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 8690func (s *CopyObjectInput) SetObjectLockLegalHoldStatus(v string) *CopyObjectInput { 8691 s.ObjectLockLegalHoldStatus = &v 8692 return s 8693} 8694 8695// SetObjectLockMode sets the ObjectLockMode field's value. 8696func (s *CopyObjectInput) SetObjectLockMode(v string) *CopyObjectInput { 8697 s.ObjectLockMode = &v 8698 return s 8699} 8700 8701// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 8702func (s *CopyObjectInput) SetObjectLockRetainUntilDate(v time.Time) *CopyObjectInput { 8703 s.ObjectLockRetainUntilDate = &v 8704 return s 8705} 8706 8707// SetRequestPayer sets the RequestPayer field's value. 8708func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput { 8709 s.RequestPayer = &v 8710 return s 8711} 8712 8713// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 8714func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput { 8715 s.SSECustomerAlgorithm = &v 8716 return s 8717} 8718 8719// SetSSECustomerKey sets the SSECustomerKey field's value. 8720func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput { 8721 s.SSECustomerKey = &v 8722 return s 8723} 8724 8725func (s *CopyObjectInput) getSSECustomerKey() (v string) { 8726 if s.SSECustomerKey == nil { 8727 return v 8728 } 8729 return *s.SSECustomerKey 8730} 8731 8732// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8733func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput { 8734 s.SSECustomerKeyMD5 = &v 8735 return s 8736} 8737 8738// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8739func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput { 8740 s.SSEKMSKeyId = &v 8741 return s 8742} 8743 8744// SetServerSideEncryption sets the ServerSideEncryption field's value. 8745func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput { 8746 s.ServerSideEncryption = &v 8747 return s 8748} 8749 8750// SetStorageClass sets the StorageClass field's value. 8751func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput { 8752 s.StorageClass = &v 8753 return s 8754} 8755 8756// SetTagging sets the Tagging field's value. 8757func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput { 8758 s.Tagging = &v 8759 return s 8760} 8761 8762// SetTaggingDirective sets the TaggingDirective field's value. 8763func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput { 8764 s.TaggingDirective = &v 8765 return s 8766} 8767 8768// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 8769func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput { 8770 s.WebsiteRedirectLocation = &v 8771 return s 8772} 8773 8774type CopyObjectOutput struct { 8775 _ struct{} `type:"structure" payload:"CopyObjectResult"` 8776 8777 CopyObjectResult *CopyObjectResult `type:"structure"` 8778 8779 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` 8780 8781 // If the object expiration is configured, the response includes this header. 8782 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 8783 8784 // If present, indicates that the requester was successfully charged for the 8785 // request. 8786 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 8787 8788 // If server-side encryption with a customer-provided encryption key was requested, 8789 // the response will include this header confirming the encryption algorithm 8790 // used. 8791 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 8792 8793 // If server-side encryption with a customer-provided encryption key was requested, 8794 // the response will include this header to provide round trip message integrity 8795 // verification of the customer-provided encryption key. 8796 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8797 8798 // If present, specifies the ID of the AWS Key Management Service (KMS) master 8799 // encryption key that was used for the object. 8800 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 8801 8802 // The Server-side encryption algorithm used when storing this object in S3 8803 // (e.g., AES256, aws:kms). 8804 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8805 8806 // Version ID of the newly created copy. 8807 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 8808} 8809 8810// String returns the string representation 8811func (s CopyObjectOutput) String() string { 8812 return awsutil.Prettify(s) 8813} 8814 8815// GoString returns the string representation 8816func (s CopyObjectOutput) GoString() string { 8817 return s.String() 8818} 8819 8820// SetCopyObjectResult sets the CopyObjectResult field's value. 8821func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput { 8822 s.CopyObjectResult = v 8823 return s 8824} 8825 8826// SetCopySourceVersionId sets the CopySourceVersionId field's value. 8827func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput { 8828 s.CopySourceVersionId = &v 8829 return s 8830} 8831 8832// SetExpiration sets the Expiration field's value. 8833func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput { 8834 s.Expiration = &v 8835 return s 8836} 8837 8838// SetRequestCharged sets the RequestCharged field's value. 8839func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput { 8840 s.RequestCharged = &v 8841 return s 8842} 8843 8844// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 8845func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput { 8846 s.SSECustomerAlgorithm = &v 8847 return s 8848} 8849 8850// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8851func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput { 8852 s.SSECustomerKeyMD5 = &v 8853 return s 8854} 8855 8856// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8857func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput { 8858 s.SSEKMSKeyId = &v 8859 return s 8860} 8861 8862// SetServerSideEncryption sets the ServerSideEncryption field's value. 8863func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput { 8864 s.ServerSideEncryption = &v 8865 return s 8866} 8867 8868// SetVersionId sets the VersionId field's value. 8869func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput { 8870 s.VersionId = &v 8871 return s 8872} 8873 8874type CopyObjectResult struct { 8875 _ struct{} `type:"structure"` 8876 8877 ETag *string `type:"string"` 8878 8879 LastModified *time.Time `type:"timestamp"` 8880} 8881 8882// String returns the string representation 8883func (s CopyObjectResult) String() string { 8884 return awsutil.Prettify(s) 8885} 8886 8887// GoString returns the string representation 8888func (s CopyObjectResult) GoString() string { 8889 return s.String() 8890} 8891 8892// SetETag sets the ETag field's value. 8893func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult { 8894 s.ETag = &v 8895 return s 8896} 8897 8898// SetLastModified sets the LastModified field's value. 8899func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult { 8900 s.LastModified = &v 8901 return s 8902} 8903 8904type CopyPartResult struct { 8905 _ struct{} `type:"structure"` 8906 8907 // Entity tag of the object. 8908 ETag *string `type:"string"` 8909 8910 // Date and time at which the object was uploaded. 8911 LastModified *time.Time `type:"timestamp"` 8912} 8913 8914// String returns the string representation 8915func (s CopyPartResult) String() string { 8916 return awsutil.Prettify(s) 8917} 8918 8919// GoString returns the string representation 8920func (s CopyPartResult) GoString() string { 8921 return s.String() 8922} 8923 8924// SetETag sets the ETag field's value. 8925func (s *CopyPartResult) SetETag(v string) *CopyPartResult { 8926 s.ETag = &v 8927 return s 8928} 8929 8930// SetLastModified sets the LastModified field's value. 8931func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult { 8932 s.LastModified = &v 8933 return s 8934} 8935 8936type CreateBucketConfiguration struct { 8937 _ struct{} `type:"structure"` 8938 8939 // Specifies the region where the bucket will be created. If you don't specify 8940 // a region, the bucket is created in US East (N. Virginia) Region (us-east-1). 8941 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 8942} 8943 8944// String returns the string representation 8945func (s CreateBucketConfiguration) String() string { 8946 return awsutil.Prettify(s) 8947} 8948 8949// GoString returns the string representation 8950func (s CreateBucketConfiguration) GoString() string { 8951 return s.String() 8952} 8953 8954// SetLocationConstraint sets the LocationConstraint field's value. 8955func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 8956 s.LocationConstraint = &v 8957 return s 8958} 8959 8960type CreateBucketInput struct { 8961 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"` 8962 8963 // The canned ACL to apply to the bucket. 8964 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 8965 8966 // Bucket is a required field 8967 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8968 8969 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 8970 8971 // Allows grantee the read, write, read ACP, and write ACP permissions on the 8972 // bucket. 8973 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 8974 8975 // Allows grantee to list the objects in the bucket. 8976 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 8977 8978 // Allows grantee to read the bucket ACL. 8979 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 8980 8981 // Allows grantee to create, overwrite, and delete any object in the bucket. 8982 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 8983 8984 // Allows grantee to write the ACL for the applicable bucket. 8985 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 8986 8987 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 8988 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 8989} 8990 8991// String returns the string representation 8992func (s CreateBucketInput) String() string { 8993 return awsutil.Prettify(s) 8994} 8995 8996// GoString returns the string representation 8997func (s CreateBucketInput) GoString() string { 8998 return s.String() 8999} 9000 9001// Validate inspects the fields of the type to determine if they are valid. 9002func (s *CreateBucketInput) Validate() error { 9003 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 9004 if s.Bucket == nil { 9005 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9006 } 9007 if s.Bucket != nil && len(*s.Bucket) < 1 { 9008 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9009 } 9010 9011 if invalidParams.Len() > 0 { 9012 return invalidParams 9013 } 9014 return nil 9015} 9016 9017// SetACL sets the ACL field's value. 9018func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 9019 s.ACL = &v 9020 return s 9021} 9022 9023// SetBucket sets the Bucket field's value. 9024func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 9025 s.Bucket = &v 9026 return s 9027} 9028 9029func (s *CreateBucketInput) getBucket() (v string) { 9030 if s.Bucket == nil { 9031 return v 9032 } 9033 return *s.Bucket 9034} 9035 9036// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 9037func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 9038 s.CreateBucketConfiguration = v 9039 return s 9040} 9041 9042// SetGrantFullControl sets the GrantFullControl field's value. 9043func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 9044 s.GrantFullControl = &v 9045 return s 9046} 9047 9048// SetGrantRead sets the GrantRead field's value. 9049func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 9050 s.GrantRead = &v 9051 return s 9052} 9053 9054// SetGrantReadACP sets the GrantReadACP field's value. 9055func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 9056 s.GrantReadACP = &v 9057 return s 9058} 9059 9060// SetGrantWrite sets the GrantWrite field's value. 9061func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 9062 s.GrantWrite = &v 9063 return s 9064} 9065 9066// SetGrantWriteACP sets the GrantWriteACP field's value. 9067func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 9068 s.GrantWriteACP = &v 9069 return s 9070} 9071 9072// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 9073func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 9074 s.ObjectLockEnabledForBucket = &v 9075 return s 9076} 9077 9078type CreateBucketOutput struct { 9079 _ struct{} `type:"structure"` 9080 9081 Location *string `location:"header" locationName:"Location" type:"string"` 9082} 9083 9084// String returns the string representation 9085func (s CreateBucketOutput) String() string { 9086 return awsutil.Prettify(s) 9087} 9088 9089// GoString returns the string representation 9090func (s CreateBucketOutput) GoString() string { 9091 return s.String() 9092} 9093 9094// SetLocation sets the Location field's value. 9095func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 9096 s.Location = &v 9097 return s 9098} 9099 9100type CreateMultipartUploadInput struct { 9101 _ struct{} `type:"structure"` 9102 9103 // The canned ACL to apply to the object. 9104 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 9105 9106 // Bucket is a required field 9107 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9108 9109 // Specifies caching behavior along the request/reply chain. 9110 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 9111 9112 // Specifies presentational information for the object. 9113 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 9114 9115 // Specifies what content encodings have been applied to the object and thus 9116 // what decoding mechanisms must be applied to obtain the media-type referenced 9117 // by the Content-Type header field. 9118 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 9119 9120 // The language the content is in. 9121 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 9122 9123 // A standard MIME type describing the format of the object data. 9124 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 9125 9126 // The date and time at which the object is no longer cacheable. 9127 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 9128 9129 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 9130 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 9131 9132 // Allows grantee to read the object data and its metadata. 9133 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 9134 9135 // Allows grantee to read the object ACL. 9136 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 9137 9138 // Allows grantee to write the ACL for the applicable object. 9139 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 9140 9141 // Key is a required field 9142 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 9143 9144 // A map of metadata to store with the object in S3. 9145 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 9146 9147 // Specifies whether you want to apply a Legal Hold to the uploaded object. 9148 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 9149 9150 // Specifies the Object Lock mode that you want to apply to the uploaded object. 9151 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 9152 9153 // Specifies the date and time when you want the Object Lock to expire. 9154 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 9155 9156 // Confirms that the requester knows that she or he will be charged for the 9157 // request. Bucket owners need not specify this parameter in their requests. 9158 // Documentation on downloading objects from requester pays buckets can be found 9159 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 9160 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 9161 9162 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 9163 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 9164 9165 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 9166 // data. This value is used to store the object and then it is discarded; Amazon 9167 // does not store the encryption key. The key must be appropriate for use with 9168 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 9169 // header. 9170 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 9171 9172 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 9173 // Amazon S3 uses this header for a message integrity check to ensure the encryption 9174 // key was transmitted without error. 9175 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 9176 9177 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 9178 // requests for an object protected by AWS KMS will fail if not made via SSL 9179 // or using SigV4. Documentation on configuring any of the officially supported 9180 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 9181 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 9182 9183 // The Server-side encryption algorithm used when storing this object in S3 9184 // (e.g., AES256, aws:kms). 9185 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 9186 9187 // The type of storage to use for the object. Defaults to 'STANDARD'. 9188 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 9189 9190 // The tag-set for the object. The tag-set must be encoded as URL Query parameters 9191 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 9192 9193 // If the bucket is configured as a website, redirects requests for this object 9194 // to another object in the same bucket or to an external URL. Amazon S3 stores 9195 // the value of this header in the object metadata. 9196 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 9197} 9198 9199// String returns the string representation 9200func (s CreateMultipartUploadInput) String() string { 9201 return awsutil.Prettify(s) 9202} 9203 9204// GoString returns the string representation 9205func (s CreateMultipartUploadInput) GoString() string { 9206 return s.String() 9207} 9208 9209// Validate inspects the fields of the type to determine if they are valid. 9210func (s *CreateMultipartUploadInput) Validate() error { 9211 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"} 9212 if s.Bucket == nil { 9213 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9214 } 9215 if s.Bucket != nil && len(*s.Bucket) < 1 { 9216 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9217 } 9218 if s.Key == nil { 9219 invalidParams.Add(request.NewErrParamRequired("Key")) 9220 } 9221 if s.Key != nil && len(*s.Key) < 1 { 9222 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9223 } 9224 9225 if invalidParams.Len() > 0 { 9226 return invalidParams 9227 } 9228 return nil 9229} 9230 9231// SetACL sets the ACL field's value. 9232func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput { 9233 s.ACL = &v 9234 return s 9235} 9236 9237// SetBucket sets the Bucket field's value. 9238func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput { 9239 s.Bucket = &v 9240 return s 9241} 9242 9243func (s *CreateMultipartUploadInput) getBucket() (v string) { 9244 if s.Bucket == nil { 9245 return v 9246 } 9247 return *s.Bucket 9248} 9249 9250// SetCacheControl sets the CacheControl field's value. 9251func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput { 9252 s.CacheControl = &v 9253 return s 9254} 9255 9256// SetContentDisposition sets the ContentDisposition field's value. 9257func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput { 9258 s.ContentDisposition = &v 9259 return s 9260} 9261 9262// SetContentEncoding sets the ContentEncoding field's value. 9263func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput { 9264 s.ContentEncoding = &v 9265 return s 9266} 9267 9268// SetContentLanguage sets the ContentLanguage field's value. 9269func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput { 9270 s.ContentLanguage = &v 9271 return s 9272} 9273 9274// SetContentType sets the ContentType field's value. 9275func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput { 9276 s.ContentType = &v 9277 return s 9278} 9279 9280// SetExpires sets the Expires field's value. 9281func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput { 9282 s.Expires = &v 9283 return s 9284} 9285 9286// SetGrantFullControl sets the GrantFullControl field's value. 9287func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput { 9288 s.GrantFullControl = &v 9289 return s 9290} 9291 9292// SetGrantRead sets the GrantRead field's value. 9293func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput { 9294 s.GrantRead = &v 9295 return s 9296} 9297 9298// SetGrantReadACP sets the GrantReadACP field's value. 9299func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput { 9300 s.GrantReadACP = &v 9301 return s 9302} 9303 9304// SetGrantWriteACP sets the GrantWriteACP field's value. 9305func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput { 9306 s.GrantWriteACP = &v 9307 return s 9308} 9309 9310// SetKey sets the Key field's value. 9311func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput { 9312 s.Key = &v 9313 return s 9314} 9315 9316// SetMetadata sets the Metadata field's value. 9317func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput { 9318 s.Metadata = v 9319 return s 9320} 9321 9322// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 9323func (s *CreateMultipartUploadInput) SetObjectLockLegalHoldStatus(v string) *CreateMultipartUploadInput { 9324 s.ObjectLockLegalHoldStatus = &v 9325 return s 9326} 9327 9328// SetObjectLockMode sets the ObjectLockMode field's value. 9329func (s *CreateMultipartUploadInput) SetObjectLockMode(v string) *CreateMultipartUploadInput { 9330 s.ObjectLockMode = &v 9331 return s 9332} 9333 9334// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 9335func (s *CreateMultipartUploadInput) SetObjectLockRetainUntilDate(v time.Time) *CreateMultipartUploadInput { 9336 s.ObjectLockRetainUntilDate = &v 9337 return s 9338} 9339 9340// SetRequestPayer sets the RequestPayer field's value. 9341func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput { 9342 s.RequestPayer = &v 9343 return s 9344} 9345 9346// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 9347func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput { 9348 s.SSECustomerAlgorithm = &v 9349 return s 9350} 9351 9352// SetSSECustomerKey sets the SSECustomerKey field's value. 9353func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput { 9354 s.SSECustomerKey = &v 9355 return s 9356} 9357 9358func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) { 9359 if s.SSECustomerKey == nil { 9360 return v 9361 } 9362 return *s.SSECustomerKey 9363} 9364 9365// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 9366func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput { 9367 s.SSECustomerKeyMD5 = &v 9368 return s 9369} 9370 9371// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 9372func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput { 9373 s.SSEKMSKeyId = &v 9374 return s 9375} 9376 9377// SetServerSideEncryption sets the ServerSideEncryption field's value. 9378func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput { 9379 s.ServerSideEncryption = &v 9380 return s 9381} 9382 9383// SetStorageClass sets the StorageClass field's value. 9384func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput { 9385 s.StorageClass = &v 9386 return s 9387} 9388 9389// SetTagging sets the Tagging field's value. 9390func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput { 9391 s.Tagging = &v 9392 return s 9393} 9394 9395// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 9396func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput { 9397 s.WebsiteRedirectLocation = &v 9398 return s 9399} 9400 9401type CreateMultipartUploadOutput struct { 9402 _ struct{} `type:"structure"` 9403 9404 // Date when multipart upload will become eligible for abort operation by lifecycle. 9405 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"` 9406 9407 // Id of the lifecycle rule that makes a multipart upload eligible for abort 9408 // operation. 9409 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` 9410 9411 // Name of the bucket to which the multipart upload was initiated. 9412 Bucket *string `locationName:"Bucket" type:"string"` 9413 9414 // Object key for which the multipart upload was initiated. 9415 Key *string `min:"1" type:"string"` 9416 9417 // If present, indicates that the requester was successfully charged for the 9418 // request. 9419 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 9420 9421 // If server-side encryption with a customer-provided encryption key was requested, 9422 // the response will include this header confirming the encryption algorithm 9423 // used. 9424 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 9425 9426 // If server-side encryption with a customer-provided encryption key was requested, 9427 // the response will include this header to provide round trip message integrity 9428 // verification of the customer-provided encryption key. 9429 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 9430 9431 // If present, specifies the ID of the AWS Key Management Service (KMS) master 9432 // encryption key that was used for the object. 9433 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 9434 9435 // The Server-side encryption algorithm used when storing this object in S3 9436 // (e.g., AES256, aws:kms). 9437 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 9438 9439 // ID for the initiated multipart upload. 9440 UploadId *string `type:"string"` 9441} 9442 9443// String returns the string representation 9444func (s CreateMultipartUploadOutput) String() string { 9445 return awsutil.Prettify(s) 9446} 9447 9448// GoString returns the string representation 9449func (s CreateMultipartUploadOutput) GoString() string { 9450 return s.String() 9451} 9452 9453// SetAbortDate sets the AbortDate field's value. 9454func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput { 9455 s.AbortDate = &v 9456 return s 9457} 9458 9459// SetAbortRuleId sets the AbortRuleId field's value. 9460func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput { 9461 s.AbortRuleId = &v 9462 return s 9463} 9464 9465// SetBucket sets the Bucket field's value. 9466func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput { 9467 s.Bucket = &v 9468 return s 9469} 9470 9471func (s *CreateMultipartUploadOutput) getBucket() (v string) { 9472 if s.Bucket == nil { 9473 return v 9474 } 9475 return *s.Bucket 9476} 9477 9478// SetKey sets the Key field's value. 9479func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput { 9480 s.Key = &v 9481 return s 9482} 9483 9484// SetRequestCharged sets the RequestCharged field's value. 9485func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput { 9486 s.RequestCharged = &v 9487 return s 9488} 9489 9490// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 9491func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput { 9492 s.SSECustomerAlgorithm = &v 9493 return s 9494} 9495 9496// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 9497func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput { 9498 s.SSECustomerKeyMD5 = &v 9499 return s 9500} 9501 9502// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 9503func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput { 9504 s.SSEKMSKeyId = &v 9505 return s 9506} 9507 9508// SetServerSideEncryption sets the ServerSideEncryption field's value. 9509func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput { 9510 s.ServerSideEncryption = &v 9511 return s 9512} 9513 9514// SetUploadId sets the UploadId field's value. 9515func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput { 9516 s.UploadId = &v 9517 return s 9518} 9519 9520// The container element for specifying the default Object Lock retention settings 9521// for new objects placed in the specified bucket. 9522type DefaultRetention struct { 9523 _ struct{} `type:"structure"` 9524 9525 // The number of days that you want to specify for the default retention period. 9526 Days *int64 `type:"integer"` 9527 9528 // The default Object Lock retention mode you want to apply to new objects placed 9529 // in the specified bucket. 9530 Mode *string `type:"string" enum:"ObjectLockRetentionMode"` 9531 9532 // The number of years that you want to specify for the default retention period. 9533 Years *int64 `type:"integer"` 9534} 9535 9536// String returns the string representation 9537func (s DefaultRetention) String() string { 9538 return awsutil.Prettify(s) 9539} 9540 9541// GoString returns the string representation 9542func (s DefaultRetention) GoString() string { 9543 return s.String() 9544} 9545 9546// SetDays sets the Days field's value. 9547func (s *DefaultRetention) SetDays(v int64) *DefaultRetention { 9548 s.Days = &v 9549 return s 9550} 9551 9552// SetMode sets the Mode field's value. 9553func (s *DefaultRetention) SetMode(v string) *DefaultRetention { 9554 s.Mode = &v 9555 return s 9556} 9557 9558// SetYears sets the Years field's value. 9559func (s *DefaultRetention) SetYears(v int64) *DefaultRetention { 9560 s.Years = &v 9561 return s 9562} 9563 9564type Delete struct { 9565 _ struct{} `type:"structure"` 9566 9567 // Objects is a required field 9568 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"` 9569 9570 // Element to enable quiet mode for the request. When you add this element, 9571 // you must set its value to true. 9572 Quiet *bool `type:"boolean"` 9573} 9574 9575// String returns the string representation 9576func (s Delete) String() string { 9577 return awsutil.Prettify(s) 9578} 9579 9580// GoString returns the string representation 9581func (s Delete) GoString() string { 9582 return s.String() 9583} 9584 9585// Validate inspects the fields of the type to determine if they are valid. 9586func (s *Delete) Validate() error { 9587 invalidParams := request.ErrInvalidParams{Context: "Delete"} 9588 if s.Objects == nil { 9589 invalidParams.Add(request.NewErrParamRequired("Objects")) 9590 } 9591 if s.Objects != nil { 9592 for i, v := range s.Objects { 9593 if v == nil { 9594 continue 9595 } 9596 if err := v.Validate(); err != nil { 9597 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams)) 9598 } 9599 } 9600 } 9601 9602 if invalidParams.Len() > 0 { 9603 return invalidParams 9604 } 9605 return nil 9606} 9607 9608// SetObjects sets the Objects field's value. 9609func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete { 9610 s.Objects = v 9611 return s 9612} 9613 9614// SetQuiet sets the Quiet field's value. 9615func (s *Delete) SetQuiet(v bool) *Delete { 9616 s.Quiet = &v 9617 return s 9618} 9619 9620type DeleteBucketAnalyticsConfigurationInput struct { 9621 _ struct{} `type:"structure"` 9622 9623 // The name of the bucket from which an analytics configuration is deleted. 9624 // 9625 // Bucket is a required field 9626 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9627 9628 // The identifier used to represent an analytics configuration. 9629 // 9630 // Id is a required field 9631 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 9632} 9633 9634// String returns the string representation 9635func (s DeleteBucketAnalyticsConfigurationInput) String() string { 9636 return awsutil.Prettify(s) 9637} 9638 9639// GoString returns the string representation 9640func (s DeleteBucketAnalyticsConfigurationInput) GoString() string { 9641 return s.String() 9642} 9643 9644// Validate inspects the fields of the type to determine if they are valid. 9645func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error { 9646 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"} 9647 if s.Bucket == nil { 9648 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9649 } 9650 if s.Bucket != nil && len(*s.Bucket) < 1 { 9651 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9652 } 9653 if s.Id == nil { 9654 invalidParams.Add(request.NewErrParamRequired("Id")) 9655 } 9656 9657 if invalidParams.Len() > 0 { 9658 return invalidParams 9659 } 9660 return nil 9661} 9662 9663// SetBucket sets the Bucket field's value. 9664func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput { 9665 s.Bucket = &v 9666 return s 9667} 9668 9669func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) { 9670 if s.Bucket == nil { 9671 return v 9672 } 9673 return *s.Bucket 9674} 9675 9676// SetId sets the Id field's value. 9677func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput { 9678 s.Id = &v 9679 return s 9680} 9681 9682type DeleteBucketAnalyticsConfigurationOutput struct { 9683 _ struct{} `type:"structure"` 9684} 9685 9686// String returns the string representation 9687func (s DeleteBucketAnalyticsConfigurationOutput) String() string { 9688 return awsutil.Prettify(s) 9689} 9690 9691// GoString returns the string representation 9692func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string { 9693 return s.String() 9694} 9695 9696type DeleteBucketCorsInput struct { 9697 _ struct{} `type:"structure"` 9698 9699 // Bucket is a required field 9700 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9701} 9702 9703// String returns the string representation 9704func (s DeleteBucketCorsInput) String() string { 9705 return awsutil.Prettify(s) 9706} 9707 9708// GoString returns the string representation 9709func (s DeleteBucketCorsInput) GoString() string { 9710 return s.String() 9711} 9712 9713// Validate inspects the fields of the type to determine if they are valid. 9714func (s *DeleteBucketCorsInput) Validate() error { 9715 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"} 9716 if s.Bucket == nil { 9717 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9718 } 9719 if s.Bucket != nil && len(*s.Bucket) < 1 { 9720 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9721 } 9722 9723 if invalidParams.Len() > 0 { 9724 return invalidParams 9725 } 9726 return nil 9727} 9728 9729// SetBucket sets the Bucket field's value. 9730func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput { 9731 s.Bucket = &v 9732 return s 9733} 9734 9735func (s *DeleteBucketCorsInput) getBucket() (v string) { 9736 if s.Bucket == nil { 9737 return v 9738 } 9739 return *s.Bucket 9740} 9741 9742type DeleteBucketCorsOutput struct { 9743 _ struct{} `type:"structure"` 9744} 9745 9746// String returns the string representation 9747func (s DeleteBucketCorsOutput) String() string { 9748 return awsutil.Prettify(s) 9749} 9750 9751// GoString returns the string representation 9752func (s DeleteBucketCorsOutput) GoString() string { 9753 return s.String() 9754} 9755 9756type DeleteBucketEncryptionInput struct { 9757 _ struct{} `type:"structure"` 9758 9759 // The name of the bucket containing the server-side encryption configuration 9760 // to delete. 9761 // 9762 // Bucket is a required field 9763 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9764} 9765 9766// String returns the string representation 9767func (s DeleteBucketEncryptionInput) String() string { 9768 return awsutil.Prettify(s) 9769} 9770 9771// GoString returns the string representation 9772func (s DeleteBucketEncryptionInput) GoString() string { 9773 return s.String() 9774} 9775 9776// Validate inspects the fields of the type to determine if they are valid. 9777func (s *DeleteBucketEncryptionInput) Validate() error { 9778 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"} 9779 if s.Bucket == nil { 9780 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9781 } 9782 if s.Bucket != nil && len(*s.Bucket) < 1 { 9783 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9784 } 9785 9786 if invalidParams.Len() > 0 { 9787 return invalidParams 9788 } 9789 return nil 9790} 9791 9792// SetBucket sets the Bucket field's value. 9793func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput { 9794 s.Bucket = &v 9795 return s 9796} 9797 9798func (s *DeleteBucketEncryptionInput) getBucket() (v string) { 9799 if s.Bucket == nil { 9800 return v 9801 } 9802 return *s.Bucket 9803} 9804 9805type DeleteBucketEncryptionOutput struct { 9806 _ struct{} `type:"structure"` 9807} 9808 9809// String returns the string representation 9810func (s DeleteBucketEncryptionOutput) String() string { 9811 return awsutil.Prettify(s) 9812} 9813 9814// GoString returns the string representation 9815func (s DeleteBucketEncryptionOutput) GoString() string { 9816 return s.String() 9817} 9818 9819type DeleteBucketInput struct { 9820 _ struct{} `type:"structure"` 9821 9822 // Bucket is a required field 9823 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9824} 9825 9826// String returns the string representation 9827func (s DeleteBucketInput) String() string { 9828 return awsutil.Prettify(s) 9829} 9830 9831// GoString returns the string representation 9832func (s DeleteBucketInput) GoString() string { 9833 return s.String() 9834} 9835 9836// Validate inspects the fields of the type to determine if they are valid. 9837func (s *DeleteBucketInput) Validate() error { 9838 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 9839 if s.Bucket == nil { 9840 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9841 } 9842 if s.Bucket != nil && len(*s.Bucket) < 1 { 9843 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9844 } 9845 9846 if invalidParams.Len() > 0 { 9847 return invalidParams 9848 } 9849 return nil 9850} 9851 9852// SetBucket sets the Bucket field's value. 9853func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 9854 s.Bucket = &v 9855 return s 9856} 9857 9858func (s *DeleteBucketInput) getBucket() (v string) { 9859 if s.Bucket == nil { 9860 return v 9861 } 9862 return *s.Bucket 9863} 9864 9865type DeleteBucketInventoryConfigurationInput struct { 9866 _ struct{} `type:"structure"` 9867 9868 // The name of the bucket containing the inventory configuration to delete. 9869 // 9870 // Bucket is a required field 9871 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9872 9873 // The ID used to identify the inventory configuration. 9874 // 9875 // Id is a required field 9876 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 9877} 9878 9879// String returns the string representation 9880func (s DeleteBucketInventoryConfigurationInput) String() string { 9881 return awsutil.Prettify(s) 9882} 9883 9884// GoString returns the string representation 9885func (s DeleteBucketInventoryConfigurationInput) GoString() string { 9886 return s.String() 9887} 9888 9889// Validate inspects the fields of the type to determine if they are valid. 9890func (s *DeleteBucketInventoryConfigurationInput) Validate() error { 9891 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"} 9892 if s.Bucket == nil { 9893 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9894 } 9895 if s.Bucket != nil && len(*s.Bucket) < 1 { 9896 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9897 } 9898 if s.Id == nil { 9899 invalidParams.Add(request.NewErrParamRequired("Id")) 9900 } 9901 9902 if invalidParams.Len() > 0 { 9903 return invalidParams 9904 } 9905 return nil 9906} 9907 9908// SetBucket sets the Bucket field's value. 9909func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput { 9910 s.Bucket = &v 9911 return s 9912} 9913 9914func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) { 9915 if s.Bucket == nil { 9916 return v 9917 } 9918 return *s.Bucket 9919} 9920 9921// SetId sets the Id field's value. 9922func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput { 9923 s.Id = &v 9924 return s 9925} 9926 9927type DeleteBucketInventoryConfigurationOutput struct { 9928 _ struct{} `type:"structure"` 9929} 9930 9931// String returns the string representation 9932func (s DeleteBucketInventoryConfigurationOutput) String() string { 9933 return awsutil.Prettify(s) 9934} 9935 9936// GoString returns the string representation 9937func (s DeleteBucketInventoryConfigurationOutput) GoString() string { 9938 return s.String() 9939} 9940 9941type DeleteBucketLifecycleInput struct { 9942 _ struct{} `type:"structure"` 9943 9944 // Bucket is a required field 9945 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9946} 9947 9948// String returns the string representation 9949func (s DeleteBucketLifecycleInput) String() string { 9950 return awsutil.Prettify(s) 9951} 9952 9953// GoString returns the string representation 9954func (s DeleteBucketLifecycleInput) GoString() string { 9955 return s.String() 9956} 9957 9958// Validate inspects the fields of the type to determine if they are valid. 9959func (s *DeleteBucketLifecycleInput) Validate() error { 9960 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"} 9961 if s.Bucket == nil { 9962 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9963 } 9964 if s.Bucket != nil && len(*s.Bucket) < 1 { 9965 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 9966 } 9967 9968 if invalidParams.Len() > 0 { 9969 return invalidParams 9970 } 9971 return nil 9972} 9973 9974// SetBucket sets the Bucket field's value. 9975func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput { 9976 s.Bucket = &v 9977 return s 9978} 9979 9980func (s *DeleteBucketLifecycleInput) getBucket() (v string) { 9981 if s.Bucket == nil { 9982 return v 9983 } 9984 return *s.Bucket 9985} 9986 9987type DeleteBucketLifecycleOutput struct { 9988 _ struct{} `type:"structure"` 9989} 9990 9991// String returns the string representation 9992func (s DeleteBucketLifecycleOutput) String() string { 9993 return awsutil.Prettify(s) 9994} 9995 9996// GoString returns the string representation 9997func (s DeleteBucketLifecycleOutput) GoString() string { 9998 return s.String() 9999} 10000 10001type DeleteBucketMetricsConfigurationInput struct { 10002 _ struct{} `type:"structure"` 10003 10004 // The name of the bucket containing the metrics configuration to delete. 10005 // 10006 // Bucket is a required field 10007 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10008 10009 // The ID used to identify the metrics configuration. 10010 // 10011 // Id is a required field 10012 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 10013} 10014 10015// String returns the string representation 10016func (s DeleteBucketMetricsConfigurationInput) String() string { 10017 return awsutil.Prettify(s) 10018} 10019 10020// GoString returns the string representation 10021func (s DeleteBucketMetricsConfigurationInput) GoString() string { 10022 return s.String() 10023} 10024 10025// Validate inspects the fields of the type to determine if they are valid. 10026func (s *DeleteBucketMetricsConfigurationInput) Validate() error { 10027 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"} 10028 if s.Bucket == nil { 10029 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10030 } 10031 if s.Bucket != nil && len(*s.Bucket) < 1 { 10032 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10033 } 10034 if s.Id == nil { 10035 invalidParams.Add(request.NewErrParamRequired("Id")) 10036 } 10037 10038 if invalidParams.Len() > 0 { 10039 return invalidParams 10040 } 10041 return nil 10042} 10043 10044// SetBucket sets the Bucket field's value. 10045func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput { 10046 s.Bucket = &v 10047 return s 10048} 10049 10050func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) { 10051 if s.Bucket == nil { 10052 return v 10053 } 10054 return *s.Bucket 10055} 10056 10057// SetId sets the Id field's value. 10058func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput { 10059 s.Id = &v 10060 return s 10061} 10062 10063type DeleteBucketMetricsConfigurationOutput struct { 10064 _ struct{} `type:"structure"` 10065} 10066 10067// String returns the string representation 10068func (s DeleteBucketMetricsConfigurationOutput) String() string { 10069 return awsutil.Prettify(s) 10070} 10071 10072// GoString returns the string representation 10073func (s DeleteBucketMetricsConfigurationOutput) GoString() string { 10074 return s.String() 10075} 10076 10077type DeleteBucketOutput struct { 10078 _ struct{} `type:"structure"` 10079} 10080 10081// String returns the string representation 10082func (s DeleteBucketOutput) String() string { 10083 return awsutil.Prettify(s) 10084} 10085 10086// GoString returns the string representation 10087func (s DeleteBucketOutput) GoString() string { 10088 return s.String() 10089} 10090 10091type DeleteBucketPolicyInput struct { 10092 _ struct{} `type:"structure"` 10093 10094 // Bucket is a required field 10095 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10096} 10097 10098// String returns the string representation 10099func (s DeleteBucketPolicyInput) String() string { 10100 return awsutil.Prettify(s) 10101} 10102 10103// GoString returns the string representation 10104func (s DeleteBucketPolicyInput) GoString() string { 10105 return s.String() 10106} 10107 10108// Validate inspects the fields of the type to determine if they are valid. 10109func (s *DeleteBucketPolicyInput) Validate() error { 10110 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 10111 if s.Bucket == nil { 10112 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10113 } 10114 if s.Bucket != nil && len(*s.Bucket) < 1 { 10115 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10116 } 10117 10118 if invalidParams.Len() > 0 { 10119 return invalidParams 10120 } 10121 return nil 10122} 10123 10124// SetBucket sets the Bucket field's value. 10125func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 10126 s.Bucket = &v 10127 return s 10128} 10129 10130func (s *DeleteBucketPolicyInput) getBucket() (v string) { 10131 if s.Bucket == nil { 10132 return v 10133 } 10134 return *s.Bucket 10135} 10136 10137type DeleteBucketPolicyOutput struct { 10138 _ struct{} `type:"structure"` 10139} 10140 10141// String returns the string representation 10142func (s DeleteBucketPolicyOutput) String() string { 10143 return awsutil.Prettify(s) 10144} 10145 10146// GoString returns the string representation 10147func (s DeleteBucketPolicyOutput) GoString() string { 10148 return s.String() 10149} 10150 10151type DeleteBucketReplicationInput struct { 10152 _ struct{} `type:"structure"` 10153 10154 // The bucket name. 10155 // 10156 // It can take a while to propagate the deletion of a replication configuration 10157 // to all Amazon S3 systems. 10158 // 10159 // Bucket is a required field 10160 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10161} 10162 10163// String returns the string representation 10164func (s DeleteBucketReplicationInput) String() string { 10165 return awsutil.Prettify(s) 10166} 10167 10168// GoString returns the string representation 10169func (s DeleteBucketReplicationInput) GoString() string { 10170 return s.String() 10171} 10172 10173// Validate inspects the fields of the type to determine if they are valid. 10174func (s *DeleteBucketReplicationInput) Validate() error { 10175 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"} 10176 if s.Bucket == nil { 10177 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10178 } 10179 if s.Bucket != nil && len(*s.Bucket) < 1 { 10180 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10181 } 10182 10183 if invalidParams.Len() > 0 { 10184 return invalidParams 10185 } 10186 return nil 10187} 10188 10189// SetBucket sets the Bucket field's value. 10190func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput { 10191 s.Bucket = &v 10192 return s 10193} 10194 10195func (s *DeleteBucketReplicationInput) getBucket() (v string) { 10196 if s.Bucket == nil { 10197 return v 10198 } 10199 return *s.Bucket 10200} 10201 10202type DeleteBucketReplicationOutput struct { 10203 _ struct{} `type:"structure"` 10204} 10205 10206// String returns the string representation 10207func (s DeleteBucketReplicationOutput) String() string { 10208 return awsutil.Prettify(s) 10209} 10210 10211// GoString returns the string representation 10212func (s DeleteBucketReplicationOutput) GoString() string { 10213 return s.String() 10214} 10215 10216type DeleteBucketTaggingInput struct { 10217 _ struct{} `type:"structure"` 10218 10219 // Bucket is a required field 10220 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10221} 10222 10223// String returns the string representation 10224func (s DeleteBucketTaggingInput) String() string { 10225 return awsutil.Prettify(s) 10226} 10227 10228// GoString returns the string representation 10229func (s DeleteBucketTaggingInput) GoString() string { 10230 return s.String() 10231} 10232 10233// Validate inspects the fields of the type to determine if they are valid. 10234func (s *DeleteBucketTaggingInput) Validate() error { 10235 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 10236 if s.Bucket == nil { 10237 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10238 } 10239 if s.Bucket != nil && len(*s.Bucket) < 1 { 10240 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10241 } 10242 10243 if invalidParams.Len() > 0 { 10244 return invalidParams 10245 } 10246 return nil 10247} 10248 10249// SetBucket sets the Bucket field's value. 10250func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 10251 s.Bucket = &v 10252 return s 10253} 10254 10255func (s *DeleteBucketTaggingInput) getBucket() (v string) { 10256 if s.Bucket == nil { 10257 return v 10258 } 10259 return *s.Bucket 10260} 10261 10262type DeleteBucketTaggingOutput struct { 10263 _ struct{} `type:"structure"` 10264} 10265 10266// String returns the string representation 10267func (s DeleteBucketTaggingOutput) String() string { 10268 return awsutil.Prettify(s) 10269} 10270 10271// GoString returns the string representation 10272func (s DeleteBucketTaggingOutput) GoString() string { 10273 return s.String() 10274} 10275 10276type DeleteBucketWebsiteInput struct { 10277 _ struct{} `type:"structure"` 10278 10279 // Bucket is a required field 10280 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10281} 10282 10283// String returns the string representation 10284func (s DeleteBucketWebsiteInput) String() string { 10285 return awsutil.Prettify(s) 10286} 10287 10288// GoString returns the string representation 10289func (s DeleteBucketWebsiteInput) GoString() string { 10290 return s.String() 10291} 10292 10293// Validate inspects the fields of the type to determine if they are valid. 10294func (s *DeleteBucketWebsiteInput) Validate() error { 10295 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"} 10296 if s.Bucket == nil { 10297 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10298 } 10299 if s.Bucket != nil && len(*s.Bucket) < 1 { 10300 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10301 } 10302 10303 if invalidParams.Len() > 0 { 10304 return invalidParams 10305 } 10306 return nil 10307} 10308 10309// SetBucket sets the Bucket field's value. 10310func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput { 10311 s.Bucket = &v 10312 return s 10313} 10314 10315func (s *DeleteBucketWebsiteInput) getBucket() (v string) { 10316 if s.Bucket == nil { 10317 return v 10318 } 10319 return *s.Bucket 10320} 10321 10322type DeleteBucketWebsiteOutput struct { 10323 _ struct{} `type:"structure"` 10324} 10325 10326// String returns the string representation 10327func (s DeleteBucketWebsiteOutput) String() string { 10328 return awsutil.Prettify(s) 10329} 10330 10331// GoString returns the string representation 10332func (s DeleteBucketWebsiteOutput) GoString() string { 10333 return s.String() 10334} 10335 10336type DeleteMarkerEntry struct { 10337 _ struct{} `type:"structure"` 10338 10339 // Specifies whether the object is (true) or is not (false) the latest version 10340 // of an object. 10341 IsLatest *bool `type:"boolean"` 10342 10343 // The object key. 10344 Key *string `min:"1" type:"string"` 10345 10346 // Date and time the object was last modified. 10347 LastModified *time.Time `type:"timestamp"` 10348 10349 Owner *Owner `type:"structure"` 10350 10351 // Version ID of an object. 10352 VersionId *string `type:"string"` 10353} 10354 10355// String returns the string representation 10356func (s DeleteMarkerEntry) String() string { 10357 return awsutil.Prettify(s) 10358} 10359 10360// GoString returns the string representation 10361func (s DeleteMarkerEntry) GoString() string { 10362 return s.String() 10363} 10364 10365// SetIsLatest sets the IsLatest field's value. 10366func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry { 10367 s.IsLatest = &v 10368 return s 10369} 10370 10371// SetKey sets the Key field's value. 10372func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry { 10373 s.Key = &v 10374 return s 10375} 10376 10377// SetLastModified sets the LastModified field's value. 10378func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry { 10379 s.LastModified = &v 10380 return s 10381} 10382 10383// SetOwner sets the Owner field's value. 10384func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry { 10385 s.Owner = v 10386 return s 10387} 10388 10389// SetVersionId sets the VersionId field's value. 10390func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry { 10391 s.VersionId = &v 10392 return s 10393} 10394 10395// Specifies whether Amazon S3 should replicate delete makers. 10396type DeleteMarkerReplication struct { 10397 _ struct{} `type:"structure"` 10398 10399 // The status of the delete marker replication. 10400 // 10401 // In the current implementation, Amazon S3 doesn't replicate the delete markers. 10402 // The status must be Disabled. 10403 Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"` 10404} 10405 10406// String returns the string representation 10407func (s DeleteMarkerReplication) String() string { 10408 return awsutil.Prettify(s) 10409} 10410 10411// GoString returns the string representation 10412func (s DeleteMarkerReplication) GoString() string { 10413 return s.String() 10414} 10415 10416// SetStatus sets the Status field's value. 10417func (s *DeleteMarkerReplication) SetStatus(v string) *DeleteMarkerReplication { 10418 s.Status = &v 10419 return s 10420} 10421 10422type DeleteObjectInput struct { 10423 _ struct{} `type:"structure"` 10424 10425 // Bucket is a required field 10426 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10427 10428 // Indicates whether S3 Object Lock should bypass Governance-mode restrictions 10429 // to process this operation. 10430 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` 10431 10432 // Key is a required field 10433 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 10434 10435 // The concatenation of the authentication device's serial number, a space, 10436 // and the value that is displayed on your authentication device. 10437 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 10438 10439 // Confirms that the requester knows that she or he will be charged for the 10440 // request. Bucket owners need not specify this parameter in their requests. 10441 // Documentation on downloading objects from requester pays buckets can be found 10442 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 10443 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 10444 10445 // VersionId used to reference a specific version of the object. 10446 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 10447} 10448 10449// String returns the string representation 10450func (s DeleteObjectInput) String() string { 10451 return awsutil.Prettify(s) 10452} 10453 10454// GoString returns the string representation 10455func (s DeleteObjectInput) GoString() string { 10456 return s.String() 10457} 10458 10459// Validate inspects the fields of the type to determine if they are valid. 10460func (s *DeleteObjectInput) Validate() error { 10461 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"} 10462 if s.Bucket == nil { 10463 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10464 } 10465 if s.Bucket != nil && len(*s.Bucket) < 1 { 10466 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10467 } 10468 if s.Key == nil { 10469 invalidParams.Add(request.NewErrParamRequired("Key")) 10470 } 10471 if s.Key != nil && len(*s.Key) < 1 { 10472 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 10473 } 10474 10475 if invalidParams.Len() > 0 { 10476 return invalidParams 10477 } 10478 return nil 10479} 10480 10481// SetBucket sets the Bucket field's value. 10482func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput { 10483 s.Bucket = &v 10484 return s 10485} 10486 10487func (s *DeleteObjectInput) getBucket() (v string) { 10488 if s.Bucket == nil { 10489 return v 10490 } 10491 return *s.Bucket 10492} 10493 10494// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 10495func (s *DeleteObjectInput) SetBypassGovernanceRetention(v bool) *DeleteObjectInput { 10496 s.BypassGovernanceRetention = &v 10497 return s 10498} 10499 10500// SetKey sets the Key field's value. 10501func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput { 10502 s.Key = &v 10503 return s 10504} 10505 10506// SetMFA sets the MFA field's value. 10507func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput { 10508 s.MFA = &v 10509 return s 10510} 10511 10512// SetRequestPayer sets the RequestPayer field's value. 10513func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput { 10514 s.RequestPayer = &v 10515 return s 10516} 10517 10518// SetVersionId sets the VersionId field's value. 10519func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput { 10520 s.VersionId = &v 10521 return s 10522} 10523 10524type DeleteObjectOutput struct { 10525 _ struct{} `type:"structure"` 10526 10527 // Specifies whether the versioned object that was permanently deleted was (true) 10528 // or was not (false) a delete marker. 10529 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 10530 10531 // If present, indicates that the requester was successfully charged for the 10532 // request. 10533 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 10534 10535 // Returns the version ID of the delete marker created as a result of the DELETE 10536 // operation. 10537 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 10538} 10539 10540// String returns the string representation 10541func (s DeleteObjectOutput) String() string { 10542 return awsutil.Prettify(s) 10543} 10544 10545// GoString returns the string representation 10546func (s DeleteObjectOutput) GoString() string { 10547 return s.String() 10548} 10549 10550// SetDeleteMarker sets the DeleteMarker field's value. 10551func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput { 10552 s.DeleteMarker = &v 10553 return s 10554} 10555 10556// SetRequestCharged sets the RequestCharged field's value. 10557func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput { 10558 s.RequestCharged = &v 10559 return s 10560} 10561 10562// SetVersionId sets the VersionId field's value. 10563func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput { 10564 s.VersionId = &v 10565 return s 10566} 10567 10568type DeleteObjectTaggingInput struct { 10569 _ struct{} `type:"structure"` 10570 10571 // Bucket is a required field 10572 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10573 10574 // Key is a required field 10575 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 10576 10577 // The versionId of the object that the tag-set will be removed from. 10578 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 10579} 10580 10581// String returns the string representation 10582func (s DeleteObjectTaggingInput) String() string { 10583 return awsutil.Prettify(s) 10584} 10585 10586// GoString returns the string representation 10587func (s DeleteObjectTaggingInput) GoString() string { 10588 return s.String() 10589} 10590 10591// Validate inspects the fields of the type to determine if they are valid. 10592func (s *DeleteObjectTaggingInput) Validate() error { 10593 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"} 10594 if s.Bucket == nil { 10595 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10596 } 10597 if s.Bucket != nil && len(*s.Bucket) < 1 { 10598 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10599 } 10600 if s.Key == nil { 10601 invalidParams.Add(request.NewErrParamRequired("Key")) 10602 } 10603 if s.Key != nil && len(*s.Key) < 1 { 10604 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 10605 } 10606 10607 if invalidParams.Len() > 0 { 10608 return invalidParams 10609 } 10610 return nil 10611} 10612 10613// SetBucket sets the Bucket field's value. 10614func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput { 10615 s.Bucket = &v 10616 return s 10617} 10618 10619func (s *DeleteObjectTaggingInput) getBucket() (v string) { 10620 if s.Bucket == nil { 10621 return v 10622 } 10623 return *s.Bucket 10624} 10625 10626// SetKey sets the Key field's value. 10627func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput { 10628 s.Key = &v 10629 return s 10630} 10631 10632// SetVersionId sets the VersionId field's value. 10633func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput { 10634 s.VersionId = &v 10635 return s 10636} 10637 10638type DeleteObjectTaggingOutput struct { 10639 _ struct{} `type:"structure"` 10640 10641 // The versionId of the object the tag-set was removed from. 10642 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 10643} 10644 10645// String returns the string representation 10646func (s DeleteObjectTaggingOutput) String() string { 10647 return awsutil.Prettify(s) 10648} 10649 10650// GoString returns the string representation 10651func (s DeleteObjectTaggingOutput) GoString() string { 10652 return s.String() 10653} 10654 10655// SetVersionId sets the VersionId field's value. 10656func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput { 10657 s.VersionId = &v 10658 return s 10659} 10660 10661type DeleteObjectsInput struct { 10662 _ struct{} `type:"structure" payload:"Delete"` 10663 10664 // Bucket is a required field 10665 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10666 10667 // Specifies whether you want to delete this object even if it has a Governance-type 10668 // Object Lock in place. You must have sufficient permissions to perform this 10669 // operation. 10670 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` 10671 10672 // Delete is a required field 10673 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 10674 10675 // The concatenation of the authentication device's serial number, a space, 10676 // and the value that is displayed on your authentication device. 10677 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 10678 10679 // Confirms that the requester knows that she or he will be charged for the 10680 // request. Bucket owners need not specify this parameter in their requests. 10681 // Documentation on downloading objects from requester pays buckets can be found 10682 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 10683 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 10684} 10685 10686// String returns the string representation 10687func (s DeleteObjectsInput) String() string { 10688 return awsutil.Prettify(s) 10689} 10690 10691// GoString returns the string representation 10692func (s DeleteObjectsInput) GoString() string { 10693 return s.String() 10694} 10695 10696// Validate inspects the fields of the type to determine if they are valid. 10697func (s *DeleteObjectsInput) Validate() error { 10698 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"} 10699 if s.Bucket == nil { 10700 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10701 } 10702 if s.Bucket != nil && len(*s.Bucket) < 1 { 10703 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10704 } 10705 if s.Delete == nil { 10706 invalidParams.Add(request.NewErrParamRequired("Delete")) 10707 } 10708 if s.Delete != nil { 10709 if err := s.Delete.Validate(); err != nil { 10710 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 10711 } 10712 } 10713 10714 if invalidParams.Len() > 0 { 10715 return invalidParams 10716 } 10717 return nil 10718} 10719 10720// SetBucket sets the Bucket field's value. 10721func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput { 10722 s.Bucket = &v 10723 return s 10724} 10725 10726func (s *DeleteObjectsInput) getBucket() (v string) { 10727 if s.Bucket == nil { 10728 return v 10729 } 10730 return *s.Bucket 10731} 10732 10733// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 10734func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjectsInput { 10735 s.BypassGovernanceRetention = &v 10736 return s 10737} 10738 10739// SetDelete sets the Delete field's value. 10740func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput { 10741 s.Delete = v 10742 return s 10743} 10744 10745// SetMFA sets the MFA field's value. 10746func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput { 10747 s.MFA = &v 10748 return s 10749} 10750 10751// SetRequestPayer sets the RequestPayer field's value. 10752func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput { 10753 s.RequestPayer = &v 10754 return s 10755} 10756 10757type DeleteObjectsOutput struct { 10758 _ struct{} `type:"structure"` 10759 10760 Deleted []*DeletedObject `type:"list" flattened:"true"` 10761 10762 Errors []*Error `locationName:"Error" type:"list" flattened:"true"` 10763 10764 // If present, indicates that the requester was successfully charged for the 10765 // request. 10766 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 10767} 10768 10769// String returns the string representation 10770func (s DeleteObjectsOutput) String() string { 10771 return awsutil.Prettify(s) 10772} 10773 10774// GoString returns the string representation 10775func (s DeleteObjectsOutput) GoString() string { 10776 return s.String() 10777} 10778 10779// SetDeleted sets the Deleted field's value. 10780func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput { 10781 s.Deleted = v 10782 return s 10783} 10784 10785// SetErrors sets the Errors field's value. 10786func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput { 10787 s.Errors = v 10788 return s 10789} 10790 10791// SetRequestCharged sets the RequestCharged field's value. 10792func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput { 10793 s.RequestCharged = &v 10794 return s 10795} 10796 10797type DeletePublicAccessBlockInput struct { 10798 _ struct{} `type:"structure"` 10799 10800 // The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete. 10801 // 10802 // Bucket is a required field 10803 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10804} 10805 10806// String returns the string representation 10807func (s DeletePublicAccessBlockInput) String() string { 10808 return awsutil.Prettify(s) 10809} 10810 10811// GoString returns the string representation 10812func (s DeletePublicAccessBlockInput) GoString() string { 10813 return s.String() 10814} 10815 10816// Validate inspects the fields of the type to determine if they are valid. 10817func (s *DeletePublicAccessBlockInput) Validate() error { 10818 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} 10819 if s.Bucket == nil { 10820 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10821 } 10822 if s.Bucket != nil && len(*s.Bucket) < 1 { 10823 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 10824 } 10825 10826 if invalidParams.Len() > 0 { 10827 return invalidParams 10828 } 10829 return nil 10830} 10831 10832// SetBucket sets the Bucket field's value. 10833func (s *DeletePublicAccessBlockInput) SetBucket(v string) *DeletePublicAccessBlockInput { 10834 s.Bucket = &v 10835 return s 10836} 10837 10838func (s *DeletePublicAccessBlockInput) getBucket() (v string) { 10839 if s.Bucket == nil { 10840 return v 10841 } 10842 return *s.Bucket 10843} 10844 10845type DeletePublicAccessBlockOutput struct { 10846 _ struct{} `type:"structure"` 10847} 10848 10849// String returns the string representation 10850func (s DeletePublicAccessBlockOutput) String() string { 10851 return awsutil.Prettify(s) 10852} 10853 10854// GoString returns the string representation 10855func (s DeletePublicAccessBlockOutput) GoString() string { 10856 return s.String() 10857} 10858 10859type DeletedObject struct { 10860 _ struct{} `type:"structure"` 10861 10862 DeleteMarker *bool `type:"boolean"` 10863 10864 DeleteMarkerVersionId *string `type:"string"` 10865 10866 Key *string `min:"1" type:"string"` 10867 10868 VersionId *string `type:"string"` 10869} 10870 10871// String returns the string representation 10872func (s DeletedObject) String() string { 10873 return awsutil.Prettify(s) 10874} 10875 10876// GoString returns the string representation 10877func (s DeletedObject) GoString() string { 10878 return s.String() 10879} 10880 10881// SetDeleteMarker sets the DeleteMarker field's value. 10882func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject { 10883 s.DeleteMarker = &v 10884 return s 10885} 10886 10887// SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value. 10888func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject { 10889 s.DeleteMarkerVersionId = &v 10890 return s 10891} 10892 10893// SetKey sets the Key field's value. 10894func (s *DeletedObject) SetKey(v string) *DeletedObject { 10895 s.Key = &v 10896 return s 10897} 10898 10899// SetVersionId sets the VersionId field's value. 10900func (s *DeletedObject) SetVersionId(v string) *DeletedObject { 10901 s.VersionId = &v 10902 return s 10903} 10904 10905// A container for information about the replication destination. 10906type Destination struct { 10907 _ struct{} `type:"structure"` 10908 10909 // A container for information about access control for replicas. 10910 // 10911 // Use this element only in a cross-account scenario where source and destination 10912 // bucket owners are not the same to change replica ownership to the AWS account 10913 // that owns the destination bucket. If you don't add this element to the replication 10914 // configuration, the replicas are owned by same AWS account that owns the source 10915 // object. 10916 AccessControlTranslation *AccessControlTranslation `type:"structure"` 10917 10918 // The account ID of the destination bucket. Currently, Amazon S3 verifies this 10919 // value only if Access Control Translation is enabled. 10920 // 10921 // In a cross-account scenario, if you change replica ownership to the AWS account 10922 // that owns the destination bucket by adding the AccessControlTranslation element, 10923 // this is the account ID of the owner of the destination bucket. 10924 Account *string `type:"string"` 10925 10926 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to 10927 // store replicas of the object identified by the rule. 10928 // 10929 // If there are multiple rules in your replication configuration, all rules 10930 // must specify the same bucket as the destination. A replication configuration 10931 // can replicate objects to only one destination bucket. 10932 // 10933 // Bucket is a required field 10934 Bucket *string `type:"string" required:"true"` 10935 10936 // A container that provides information about encryption. If SourceSelectionCriteria 10937 // is specified, you must specify this element. 10938 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 10939 10940 // The class of storage used to store the object. By default Amazon S3 uses 10941 // storage class of the source object when creating a replica. 10942 StorageClass *string `type:"string" enum:"StorageClass"` 10943} 10944 10945// String returns the string representation 10946func (s Destination) String() string { 10947 return awsutil.Prettify(s) 10948} 10949 10950// GoString returns the string representation 10951func (s Destination) GoString() string { 10952 return s.String() 10953} 10954 10955// Validate inspects the fields of the type to determine if they are valid. 10956func (s *Destination) Validate() error { 10957 invalidParams := request.ErrInvalidParams{Context: "Destination"} 10958 if s.Bucket == nil { 10959 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10960 } 10961 if s.AccessControlTranslation != nil { 10962 if err := s.AccessControlTranslation.Validate(); err != nil { 10963 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams)) 10964 } 10965 } 10966 10967 if invalidParams.Len() > 0 { 10968 return invalidParams 10969 } 10970 return nil 10971} 10972 10973// SetAccessControlTranslation sets the AccessControlTranslation field's value. 10974func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination { 10975 s.AccessControlTranslation = v 10976 return s 10977} 10978 10979// SetAccount sets the Account field's value. 10980func (s *Destination) SetAccount(v string) *Destination { 10981 s.Account = &v 10982 return s 10983} 10984 10985// SetBucket sets the Bucket field's value. 10986func (s *Destination) SetBucket(v string) *Destination { 10987 s.Bucket = &v 10988 return s 10989} 10990 10991func (s *Destination) getBucket() (v string) { 10992 if s.Bucket == nil { 10993 return v 10994 } 10995 return *s.Bucket 10996} 10997 10998// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 10999func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination { 11000 s.EncryptionConfiguration = v 11001 return s 11002} 11003 11004// SetStorageClass sets the StorageClass field's value. 11005func (s *Destination) SetStorageClass(v string) *Destination { 11006 s.StorageClass = &v 11007 return s 11008} 11009 11010// Describes the server-side encryption that will be applied to the restore 11011// results. 11012type Encryption struct { 11013 _ struct{} `type:"structure"` 11014 11015 // The server-side encryption algorithm used when storing job results in Amazon 11016 // S3 (e.g., AES256, aws:kms). 11017 // 11018 // EncryptionType is a required field 11019 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"` 11020 11021 // If the encryption type is aws:kms, this optional value can be used to specify 11022 // the encryption context for the restore results. 11023 KMSContext *string `type:"string"` 11024 11025 // If the encryption type is aws:kms, this optional value specifies the AWS 11026 // KMS key ID to use for encryption of job results. 11027 KMSKeyId *string `type:"string" sensitive:"true"` 11028} 11029 11030// String returns the string representation 11031func (s Encryption) String() string { 11032 return awsutil.Prettify(s) 11033} 11034 11035// GoString returns the string representation 11036func (s Encryption) GoString() string { 11037 return s.String() 11038} 11039 11040// Validate inspects the fields of the type to determine if they are valid. 11041func (s *Encryption) Validate() error { 11042 invalidParams := request.ErrInvalidParams{Context: "Encryption"} 11043 if s.EncryptionType == nil { 11044 invalidParams.Add(request.NewErrParamRequired("EncryptionType")) 11045 } 11046 11047 if invalidParams.Len() > 0 { 11048 return invalidParams 11049 } 11050 return nil 11051} 11052 11053// SetEncryptionType sets the EncryptionType field's value. 11054func (s *Encryption) SetEncryptionType(v string) *Encryption { 11055 s.EncryptionType = &v 11056 return s 11057} 11058 11059// SetKMSContext sets the KMSContext field's value. 11060func (s *Encryption) SetKMSContext(v string) *Encryption { 11061 s.KMSContext = &v 11062 return s 11063} 11064 11065// SetKMSKeyId sets the KMSKeyId field's value. 11066func (s *Encryption) SetKMSKeyId(v string) *Encryption { 11067 s.KMSKeyId = &v 11068 return s 11069} 11070 11071// A container for information about the encryption-based configuration for 11072// replicas. 11073type EncryptionConfiguration struct { 11074 _ struct{} `type:"structure"` 11075 11076 // The ID of the AWS KMS key for the AWS Region where the destination bucket 11077 // resides. Amazon S3 uses this key to encrypt the replica object. 11078 ReplicaKmsKeyID *string `type:"string"` 11079} 11080 11081// String returns the string representation 11082func (s EncryptionConfiguration) String() string { 11083 return awsutil.Prettify(s) 11084} 11085 11086// GoString returns the string representation 11087func (s EncryptionConfiguration) GoString() string { 11088 return s.String() 11089} 11090 11091// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value. 11092func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration { 11093 s.ReplicaKmsKeyID = &v 11094 return s 11095} 11096 11097type EndEvent struct { 11098 _ struct{} `locationName:"EndEvent" type:"structure"` 11099} 11100 11101// String returns the string representation 11102func (s EndEvent) String() string { 11103 return awsutil.Prettify(s) 11104} 11105 11106// GoString returns the string representation 11107func (s EndEvent) GoString() string { 11108 return s.String() 11109} 11110 11111// The EndEvent is and event in the SelectObjectContentEventStream group of events. 11112func (s *EndEvent) eventSelectObjectContentEventStream() {} 11113 11114// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value. 11115// This method is only used internally within the SDK's EventStream handling. 11116func (s *EndEvent) UnmarshalEvent( 11117 payloadUnmarshaler protocol.PayloadUnmarshaler, 11118 msg eventstream.Message, 11119) error { 11120 return nil 11121} 11122 11123type Error struct { 11124 _ struct{} `type:"structure"` 11125 11126 Code *string `type:"string"` 11127 11128 Key *string `min:"1" type:"string"` 11129 11130 Message *string `type:"string"` 11131 11132 VersionId *string `type:"string"` 11133} 11134 11135// String returns the string representation 11136func (s Error) String() string { 11137 return awsutil.Prettify(s) 11138} 11139 11140// GoString returns the string representation 11141func (s Error) GoString() string { 11142 return s.String() 11143} 11144 11145// SetCode sets the Code field's value. 11146func (s *Error) SetCode(v string) *Error { 11147 s.Code = &v 11148 return s 11149} 11150 11151// SetKey sets the Key field's value. 11152func (s *Error) SetKey(v string) *Error { 11153 s.Key = &v 11154 return s 11155} 11156 11157// SetMessage sets the Message field's value. 11158func (s *Error) SetMessage(v string) *Error { 11159 s.Message = &v 11160 return s 11161} 11162 11163// SetVersionId sets the VersionId field's value. 11164func (s *Error) SetVersionId(v string) *Error { 11165 s.VersionId = &v 11166 return s 11167} 11168 11169type ErrorDocument struct { 11170 _ struct{} `type:"structure"` 11171 11172 // The object key name to use when a 4XX class error occurs. 11173 // 11174 // Key is a required field 11175 Key *string `min:"1" type:"string" required:"true"` 11176} 11177 11178// String returns the string representation 11179func (s ErrorDocument) String() string { 11180 return awsutil.Prettify(s) 11181} 11182 11183// GoString returns the string representation 11184func (s ErrorDocument) GoString() string { 11185 return s.String() 11186} 11187 11188// Validate inspects the fields of the type to determine if they are valid. 11189func (s *ErrorDocument) Validate() error { 11190 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"} 11191 if s.Key == nil { 11192 invalidParams.Add(request.NewErrParamRequired("Key")) 11193 } 11194 if s.Key != nil && len(*s.Key) < 1 { 11195 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 11196 } 11197 11198 if invalidParams.Len() > 0 { 11199 return invalidParams 11200 } 11201 return nil 11202} 11203 11204// SetKey sets the Key field's value. 11205func (s *ErrorDocument) SetKey(v string) *ErrorDocument { 11206 s.Key = &v 11207 return s 11208} 11209 11210// A container for a key value pair that defines the criteria for the filter 11211// rule. 11212type FilterRule struct { 11213 _ struct{} `type:"structure"` 11214 11215 // The object key name prefix or suffix identifying one or more objects to which 11216 // the filtering rule applies. The maximum prefix length is 1,024 characters. 11217 // Overlapping prefixes and suffixes are not supported. For more information, 11218 // see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 11219 // in the Amazon Simple Storage Service Developer Guide. 11220 Name *string `type:"string" enum:"FilterRuleName"` 11221 11222 Value *string `type:"string"` 11223} 11224 11225// String returns the string representation 11226func (s FilterRule) String() string { 11227 return awsutil.Prettify(s) 11228} 11229 11230// GoString returns the string representation 11231func (s FilterRule) GoString() string { 11232 return s.String() 11233} 11234 11235// SetName sets the Name field's value. 11236func (s *FilterRule) SetName(v string) *FilterRule { 11237 s.Name = &v 11238 return s 11239} 11240 11241// SetValue sets the Value field's value. 11242func (s *FilterRule) SetValue(v string) *FilterRule { 11243 s.Value = &v 11244 return s 11245} 11246 11247type GetBucketAccelerateConfigurationInput struct { 11248 _ struct{} `type:"structure"` 11249 11250 // Name of the bucket for which the accelerate configuration is retrieved. 11251 // 11252 // Bucket is a required field 11253 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11254} 11255 11256// String returns the string representation 11257func (s GetBucketAccelerateConfigurationInput) String() string { 11258 return awsutil.Prettify(s) 11259} 11260 11261// GoString returns the string representation 11262func (s GetBucketAccelerateConfigurationInput) GoString() string { 11263 return s.String() 11264} 11265 11266// Validate inspects the fields of the type to determine if they are valid. 11267func (s *GetBucketAccelerateConfigurationInput) Validate() error { 11268 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"} 11269 if s.Bucket == nil { 11270 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11271 } 11272 if s.Bucket != nil && len(*s.Bucket) < 1 { 11273 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11274 } 11275 11276 if invalidParams.Len() > 0 { 11277 return invalidParams 11278 } 11279 return nil 11280} 11281 11282// SetBucket sets the Bucket field's value. 11283func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput { 11284 s.Bucket = &v 11285 return s 11286} 11287 11288func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) { 11289 if s.Bucket == nil { 11290 return v 11291 } 11292 return *s.Bucket 11293} 11294 11295type GetBucketAccelerateConfigurationOutput struct { 11296 _ struct{} `type:"structure"` 11297 11298 // The accelerate configuration of the bucket. 11299 Status *string `type:"string" enum:"BucketAccelerateStatus"` 11300} 11301 11302// String returns the string representation 11303func (s GetBucketAccelerateConfigurationOutput) String() string { 11304 return awsutil.Prettify(s) 11305} 11306 11307// GoString returns the string representation 11308func (s GetBucketAccelerateConfigurationOutput) GoString() string { 11309 return s.String() 11310} 11311 11312// SetStatus sets the Status field's value. 11313func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput { 11314 s.Status = &v 11315 return s 11316} 11317 11318type GetBucketAclInput struct { 11319 _ struct{} `type:"structure"` 11320 11321 // Bucket is a required field 11322 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11323} 11324 11325// String returns the string representation 11326func (s GetBucketAclInput) String() string { 11327 return awsutil.Prettify(s) 11328} 11329 11330// GoString returns the string representation 11331func (s GetBucketAclInput) GoString() string { 11332 return s.String() 11333} 11334 11335// Validate inspects the fields of the type to determine if they are valid. 11336func (s *GetBucketAclInput) Validate() error { 11337 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"} 11338 if s.Bucket == nil { 11339 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11340 } 11341 if s.Bucket != nil && len(*s.Bucket) < 1 { 11342 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11343 } 11344 11345 if invalidParams.Len() > 0 { 11346 return invalidParams 11347 } 11348 return nil 11349} 11350 11351// SetBucket sets the Bucket field's value. 11352func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput { 11353 s.Bucket = &v 11354 return s 11355} 11356 11357func (s *GetBucketAclInput) getBucket() (v string) { 11358 if s.Bucket == nil { 11359 return v 11360 } 11361 return *s.Bucket 11362} 11363 11364type GetBucketAclOutput struct { 11365 _ struct{} `type:"structure"` 11366 11367 // A list of grants. 11368 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 11369 11370 Owner *Owner `type:"structure"` 11371} 11372 11373// String returns the string representation 11374func (s GetBucketAclOutput) String() string { 11375 return awsutil.Prettify(s) 11376} 11377 11378// GoString returns the string representation 11379func (s GetBucketAclOutput) GoString() string { 11380 return s.String() 11381} 11382 11383// SetGrants sets the Grants field's value. 11384func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput { 11385 s.Grants = v 11386 return s 11387} 11388 11389// SetOwner sets the Owner field's value. 11390func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput { 11391 s.Owner = v 11392 return s 11393} 11394 11395type GetBucketAnalyticsConfigurationInput struct { 11396 _ struct{} `type:"structure"` 11397 11398 // The name of the bucket from which an analytics configuration is retrieved. 11399 // 11400 // Bucket is a required field 11401 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11402 11403 // The identifier used to represent an analytics configuration. 11404 // 11405 // Id is a required field 11406 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 11407} 11408 11409// String returns the string representation 11410func (s GetBucketAnalyticsConfigurationInput) String() string { 11411 return awsutil.Prettify(s) 11412} 11413 11414// GoString returns the string representation 11415func (s GetBucketAnalyticsConfigurationInput) GoString() string { 11416 return s.String() 11417} 11418 11419// Validate inspects the fields of the type to determine if they are valid. 11420func (s *GetBucketAnalyticsConfigurationInput) Validate() error { 11421 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"} 11422 if s.Bucket == nil { 11423 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11424 } 11425 if s.Bucket != nil && len(*s.Bucket) < 1 { 11426 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11427 } 11428 if s.Id == nil { 11429 invalidParams.Add(request.NewErrParamRequired("Id")) 11430 } 11431 11432 if invalidParams.Len() > 0 { 11433 return invalidParams 11434 } 11435 return nil 11436} 11437 11438// SetBucket sets the Bucket field's value. 11439func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput { 11440 s.Bucket = &v 11441 return s 11442} 11443 11444func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) { 11445 if s.Bucket == nil { 11446 return v 11447 } 11448 return *s.Bucket 11449} 11450 11451// SetId sets the Id field's value. 11452func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput { 11453 s.Id = &v 11454 return s 11455} 11456 11457type GetBucketAnalyticsConfigurationOutput struct { 11458 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 11459 11460 // The configuration and any analyses for the analytics filter. 11461 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"` 11462} 11463 11464// String returns the string representation 11465func (s GetBucketAnalyticsConfigurationOutput) String() string { 11466 return awsutil.Prettify(s) 11467} 11468 11469// GoString returns the string representation 11470func (s GetBucketAnalyticsConfigurationOutput) GoString() string { 11471 return s.String() 11472} 11473 11474// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value. 11475func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput { 11476 s.AnalyticsConfiguration = v 11477 return s 11478} 11479 11480type GetBucketCorsInput struct { 11481 _ struct{} `type:"structure"` 11482 11483 // Bucket is a required field 11484 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11485} 11486 11487// String returns the string representation 11488func (s GetBucketCorsInput) String() string { 11489 return awsutil.Prettify(s) 11490} 11491 11492// GoString returns the string representation 11493func (s GetBucketCorsInput) GoString() string { 11494 return s.String() 11495} 11496 11497// Validate inspects the fields of the type to determine if they are valid. 11498func (s *GetBucketCorsInput) Validate() error { 11499 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"} 11500 if s.Bucket == nil { 11501 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11502 } 11503 if s.Bucket != nil && len(*s.Bucket) < 1 { 11504 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11505 } 11506 11507 if invalidParams.Len() > 0 { 11508 return invalidParams 11509 } 11510 return nil 11511} 11512 11513// SetBucket sets the Bucket field's value. 11514func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput { 11515 s.Bucket = &v 11516 return s 11517} 11518 11519func (s *GetBucketCorsInput) getBucket() (v string) { 11520 if s.Bucket == nil { 11521 return v 11522 } 11523 return *s.Bucket 11524} 11525 11526type GetBucketCorsOutput struct { 11527 _ struct{} `type:"structure"` 11528 11529 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"` 11530} 11531 11532// String returns the string representation 11533func (s GetBucketCorsOutput) String() string { 11534 return awsutil.Prettify(s) 11535} 11536 11537// GoString returns the string representation 11538func (s GetBucketCorsOutput) GoString() string { 11539 return s.String() 11540} 11541 11542// SetCORSRules sets the CORSRules field's value. 11543func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput { 11544 s.CORSRules = v 11545 return s 11546} 11547 11548type GetBucketEncryptionInput struct { 11549 _ struct{} `type:"structure"` 11550 11551 // The name of the bucket from which the server-side encryption configuration 11552 // is retrieved. 11553 // 11554 // Bucket is a required field 11555 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11556} 11557 11558// String returns the string representation 11559func (s GetBucketEncryptionInput) String() string { 11560 return awsutil.Prettify(s) 11561} 11562 11563// GoString returns the string representation 11564func (s GetBucketEncryptionInput) GoString() string { 11565 return s.String() 11566} 11567 11568// Validate inspects the fields of the type to determine if they are valid. 11569func (s *GetBucketEncryptionInput) Validate() error { 11570 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"} 11571 if s.Bucket == nil { 11572 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11573 } 11574 if s.Bucket != nil && len(*s.Bucket) < 1 { 11575 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11576 } 11577 11578 if invalidParams.Len() > 0 { 11579 return invalidParams 11580 } 11581 return nil 11582} 11583 11584// SetBucket sets the Bucket field's value. 11585func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput { 11586 s.Bucket = &v 11587 return s 11588} 11589 11590func (s *GetBucketEncryptionInput) getBucket() (v string) { 11591 if s.Bucket == nil { 11592 return v 11593 } 11594 return *s.Bucket 11595} 11596 11597type GetBucketEncryptionOutput struct { 11598 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 11599 11600 // Container for server-side encryption configuration rules. Currently S3 supports 11601 // one rule only. 11602 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` 11603} 11604 11605// String returns the string representation 11606func (s GetBucketEncryptionOutput) String() string { 11607 return awsutil.Prettify(s) 11608} 11609 11610// GoString returns the string representation 11611func (s GetBucketEncryptionOutput) GoString() string { 11612 return s.String() 11613} 11614 11615// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. 11616func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput { 11617 s.ServerSideEncryptionConfiguration = v 11618 return s 11619} 11620 11621type GetBucketInventoryConfigurationInput struct { 11622 _ struct{} `type:"structure"` 11623 11624 // The name of the bucket containing the inventory configuration to retrieve. 11625 // 11626 // Bucket is a required field 11627 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11628 11629 // The ID used to identify the inventory configuration. 11630 // 11631 // Id is a required field 11632 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 11633} 11634 11635// String returns the string representation 11636func (s GetBucketInventoryConfigurationInput) String() string { 11637 return awsutil.Prettify(s) 11638} 11639 11640// GoString returns the string representation 11641func (s GetBucketInventoryConfigurationInput) GoString() string { 11642 return s.String() 11643} 11644 11645// Validate inspects the fields of the type to determine if they are valid. 11646func (s *GetBucketInventoryConfigurationInput) Validate() error { 11647 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"} 11648 if s.Bucket == nil { 11649 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11650 } 11651 if s.Bucket != nil && len(*s.Bucket) < 1 { 11652 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11653 } 11654 if s.Id == nil { 11655 invalidParams.Add(request.NewErrParamRequired("Id")) 11656 } 11657 11658 if invalidParams.Len() > 0 { 11659 return invalidParams 11660 } 11661 return nil 11662} 11663 11664// SetBucket sets the Bucket field's value. 11665func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput { 11666 s.Bucket = &v 11667 return s 11668} 11669 11670func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) { 11671 if s.Bucket == nil { 11672 return v 11673 } 11674 return *s.Bucket 11675} 11676 11677// SetId sets the Id field's value. 11678func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput { 11679 s.Id = &v 11680 return s 11681} 11682 11683type GetBucketInventoryConfigurationOutput struct { 11684 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 11685 11686 // Specifies the inventory configuration. 11687 InventoryConfiguration *InventoryConfiguration `type:"structure"` 11688} 11689 11690// String returns the string representation 11691func (s GetBucketInventoryConfigurationOutput) String() string { 11692 return awsutil.Prettify(s) 11693} 11694 11695// GoString returns the string representation 11696func (s GetBucketInventoryConfigurationOutput) GoString() string { 11697 return s.String() 11698} 11699 11700// SetInventoryConfiguration sets the InventoryConfiguration field's value. 11701func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput { 11702 s.InventoryConfiguration = v 11703 return s 11704} 11705 11706type GetBucketLifecycleConfigurationInput struct { 11707 _ struct{} `type:"structure"` 11708 11709 // Bucket is a required field 11710 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11711} 11712 11713// String returns the string representation 11714func (s GetBucketLifecycleConfigurationInput) String() string { 11715 return awsutil.Prettify(s) 11716} 11717 11718// GoString returns the string representation 11719func (s GetBucketLifecycleConfigurationInput) GoString() string { 11720 return s.String() 11721} 11722 11723// Validate inspects the fields of the type to determine if they are valid. 11724func (s *GetBucketLifecycleConfigurationInput) Validate() error { 11725 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 11726 if s.Bucket == nil { 11727 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11728 } 11729 if s.Bucket != nil && len(*s.Bucket) < 1 { 11730 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11731 } 11732 11733 if invalidParams.Len() > 0 { 11734 return invalidParams 11735 } 11736 return nil 11737} 11738 11739// SetBucket sets the Bucket field's value. 11740func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 11741 s.Bucket = &v 11742 return s 11743} 11744 11745func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) { 11746 if s.Bucket == nil { 11747 return v 11748 } 11749 return *s.Bucket 11750} 11751 11752type GetBucketLifecycleConfigurationOutput struct { 11753 _ struct{} `type:"structure"` 11754 11755 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"` 11756} 11757 11758// String returns the string representation 11759func (s GetBucketLifecycleConfigurationOutput) String() string { 11760 return awsutil.Prettify(s) 11761} 11762 11763// GoString returns the string representation 11764func (s GetBucketLifecycleConfigurationOutput) GoString() string { 11765 return s.String() 11766} 11767 11768// SetRules sets the Rules field's value. 11769func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 11770 s.Rules = v 11771 return s 11772} 11773 11774type GetBucketLifecycleInput struct { 11775 _ struct{} `type:"structure"` 11776 11777 // Bucket is a required field 11778 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11779} 11780 11781// String returns the string representation 11782func (s GetBucketLifecycleInput) String() string { 11783 return awsutil.Prettify(s) 11784} 11785 11786// GoString returns the string representation 11787func (s GetBucketLifecycleInput) GoString() string { 11788 return s.String() 11789} 11790 11791// Validate inspects the fields of the type to determine if they are valid. 11792func (s *GetBucketLifecycleInput) Validate() error { 11793 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"} 11794 if s.Bucket == nil { 11795 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11796 } 11797 if s.Bucket != nil && len(*s.Bucket) < 1 { 11798 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11799 } 11800 11801 if invalidParams.Len() > 0 { 11802 return invalidParams 11803 } 11804 return nil 11805} 11806 11807// SetBucket sets the Bucket field's value. 11808func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput { 11809 s.Bucket = &v 11810 return s 11811} 11812 11813func (s *GetBucketLifecycleInput) getBucket() (v string) { 11814 if s.Bucket == nil { 11815 return v 11816 } 11817 return *s.Bucket 11818} 11819 11820type GetBucketLifecycleOutput struct { 11821 _ struct{} `type:"structure"` 11822 11823 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"` 11824} 11825 11826// String returns the string representation 11827func (s GetBucketLifecycleOutput) String() string { 11828 return awsutil.Prettify(s) 11829} 11830 11831// GoString returns the string representation 11832func (s GetBucketLifecycleOutput) GoString() string { 11833 return s.String() 11834} 11835 11836// SetRules sets the Rules field's value. 11837func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput { 11838 s.Rules = v 11839 return s 11840} 11841 11842type GetBucketLocationInput struct { 11843 _ struct{} `type:"structure"` 11844 11845 // Bucket is a required field 11846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11847} 11848 11849// String returns the string representation 11850func (s GetBucketLocationInput) String() string { 11851 return awsutil.Prettify(s) 11852} 11853 11854// GoString returns the string representation 11855func (s GetBucketLocationInput) GoString() string { 11856 return s.String() 11857} 11858 11859// Validate inspects the fields of the type to determine if they are valid. 11860func (s *GetBucketLocationInput) Validate() error { 11861 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"} 11862 if s.Bucket == nil { 11863 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11864 } 11865 if s.Bucket != nil && len(*s.Bucket) < 1 { 11866 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11867 } 11868 11869 if invalidParams.Len() > 0 { 11870 return invalidParams 11871 } 11872 return nil 11873} 11874 11875// SetBucket sets the Bucket field's value. 11876func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput { 11877 s.Bucket = &v 11878 return s 11879} 11880 11881func (s *GetBucketLocationInput) getBucket() (v string) { 11882 if s.Bucket == nil { 11883 return v 11884 } 11885 return *s.Bucket 11886} 11887 11888type GetBucketLocationOutput struct { 11889 _ struct{} `type:"structure"` 11890 11891 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 11892} 11893 11894// String returns the string representation 11895func (s GetBucketLocationOutput) String() string { 11896 return awsutil.Prettify(s) 11897} 11898 11899// GoString returns the string representation 11900func (s GetBucketLocationOutput) GoString() string { 11901 return s.String() 11902} 11903 11904// SetLocationConstraint sets the LocationConstraint field's value. 11905func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput { 11906 s.LocationConstraint = &v 11907 return s 11908} 11909 11910type GetBucketLoggingInput struct { 11911 _ struct{} `type:"structure"` 11912 11913 // Bucket is a required field 11914 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11915} 11916 11917// String returns the string representation 11918func (s GetBucketLoggingInput) String() string { 11919 return awsutil.Prettify(s) 11920} 11921 11922// GoString returns the string representation 11923func (s GetBucketLoggingInput) GoString() string { 11924 return s.String() 11925} 11926 11927// Validate inspects the fields of the type to determine if they are valid. 11928func (s *GetBucketLoggingInput) Validate() error { 11929 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"} 11930 if s.Bucket == nil { 11931 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11932 } 11933 if s.Bucket != nil && len(*s.Bucket) < 1 { 11934 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 11935 } 11936 11937 if invalidParams.Len() > 0 { 11938 return invalidParams 11939 } 11940 return nil 11941} 11942 11943// SetBucket sets the Bucket field's value. 11944func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput { 11945 s.Bucket = &v 11946 return s 11947} 11948 11949func (s *GetBucketLoggingInput) getBucket() (v string) { 11950 if s.Bucket == nil { 11951 return v 11952 } 11953 return *s.Bucket 11954} 11955 11956type GetBucketLoggingOutput struct { 11957 _ struct{} `type:"structure"` 11958 11959 // Container for logging information. Presence of this element indicates that 11960 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 11961 // in this case. 11962 LoggingEnabled *LoggingEnabled `type:"structure"` 11963} 11964 11965// String returns the string representation 11966func (s GetBucketLoggingOutput) String() string { 11967 return awsutil.Prettify(s) 11968} 11969 11970// GoString returns the string representation 11971func (s GetBucketLoggingOutput) GoString() string { 11972 return s.String() 11973} 11974 11975// SetLoggingEnabled sets the LoggingEnabled field's value. 11976func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput { 11977 s.LoggingEnabled = v 11978 return s 11979} 11980 11981type GetBucketMetricsConfigurationInput struct { 11982 _ struct{} `type:"structure"` 11983 11984 // The name of the bucket containing the metrics configuration to retrieve. 11985 // 11986 // Bucket is a required field 11987 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11988 11989 // The ID used to identify the metrics configuration. 11990 // 11991 // Id is a required field 11992 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 11993} 11994 11995// String returns the string representation 11996func (s GetBucketMetricsConfigurationInput) String() string { 11997 return awsutil.Prettify(s) 11998} 11999 12000// GoString returns the string representation 12001func (s GetBucketMetricsConfigurationInput) GoString() string { 12002 return s.String() 12003} 12004 12005// Validate inspects the fields of the type to determine if they are valid. 12006func (s *GetBucketMetricsConfigurationInput) Validate() error { 12007 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"} 12008 if s.Bucket == nil { 12009 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12010 } 12011 if s.Bucket != nil && len(*s.Bucket) < 1 { 12012 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12013 } 12014 if s.Id == nil { 12015 invalidParams.Add(request.NewErrParamRequired("Id")) 12016 } 12017 12018 if invalidParams.Len() > 0 { 12019 return invalidParams 12020 } 12021 return nil 12022} 12023 12024// SetBucket sets the Bucket field's value. 12025func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput { 12026 s.Bucket = &v 12027 return s 12028} 12029 12030func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) { 12031 if s.Bucket == nil { 12032 return v 12033 } 12034 return *s.Bucket 12035} 12036 12037// SetId sets the Id field's value. 12038func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput { 12039 s.Id = &v 12040 return s 12041} 12042 12043type GetBucketMetricsConfigurationOutput struct { 12044 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 12045 12046 // Specifies the metrics configuration. 12047 MetricsConfiguration *MetricsConfiguration `type:"structure"` 12048} 12049 12050// String returns the string representation 12051func (s GetBucketMetricsConfigurationOutput) String() string { 12052 return awsutil.Prettify(s) 12053} 12054 12055// GoString returns the string representation 12056func (s GetBucketMetricsConfigurationOutput) GoString() string { 12057 return s.String() 12058} 12059 12060// SetMetricsConfiguration sets the MetricsConfiguration field's value. 12061func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput { 12062 s.MetricsConfiguration = v 12063 return s 12064} 12065 12066type GetBucketNotificationConfigurationRequest struct { 12067 _ struct{} `type:"structure"` 12068 12069 // Name of the bucket to get the notification configuration for. 12070 // 12071 // Bucket is a required field 12072 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12073} 12074 12075// String returns the string representation 12076func (s GetBucketNotificationConfigurationRequest) String() string { 12077 return awsutil.Prettify(s) 12078} 12079 12080// GoString returns the string representation 12081func (s GetBucketNotificationConfigurationRequest) GoString() string { 12082 return s.String() 12083} 12084 12085// Validate inspects the fields of the type to determine if they are valid. 12086func (s *GetBucketNotificationConfigurationRequest) Validate() error { 12087 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"} 12088 if s.Bucket == nil { 12089 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12090 } 12091 if s.Bucket != nil && len(*s.Bucket) < 1 { 12092 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12093 } 12094 12095 if invalidParams.Len() > 0 { 12096 return invalidParams 12097 } 12098 return nil 12099} 12100 12101// SetBucket sets the Bucket field's value. 12102func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest { 12103 s.Bucket = &v 12104 return s 12105} 12106 12107func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) { 12108 if s.Bucket == nil { 12109 return v 12110 } 12111 return *s.Bucket 12112} 12113 12114type GetBucketPolicyInput struct { 12115 _ struct{} `type:"structure"` 12116 12117 // Bucket is a required field 12118 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12119} 12120 12121// String returns the string representation 12122func (s GetBucketPolicyInput) String() string { 12123 return awsutil.Prettify(s) 12124} 12125 12126// GoString returns the string representation 12127func (s GetBucketPolicyInput) GoString() string { 12128 return s.String() 12129} 12130 12131// Validate inspects the fields of the type to determine if they are valid. 12132func (s *GetBucketPolicyInput) Validate() error { 12133 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 12134 if s.Bucket == nil { 12135 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12136 } 12137 if s.Bucket != nil && len(*s.Bucket) < 1 { 12138 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12139 } 12140 12141 if invalidParams.Len() > 0 { 12142 return invalidParams 12143 } 12144 return nil 12145} 12146 12147// SetBucket sets the Bucket field's value. 12148func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 12149 s.Bucket = &v 12150 return s 12151} 12152 12153func (s *GetBucketPolicyInput) getBucket() (v string) { 12154 if s.Bucket == nil { 12155 return v 12156 } 12157 return *s.Bucket 12158} 12159 12160type GetBucketPolicyOutput struct { 12161 _ struct{} `type:"structure" payload:"Policy"` 12162 12163 // The bucket policy as a JSON document. 12164 Policy *string `type:"string"` 12165} 12166 12167// String returns the string representation 12168func (s GetBucketPolicyOutput) String() string { 12169 return awsutil.Prettify(s) 12170} 12171 12172// GoString returns the string representation 12173func (s GetBucketPolicyOutput) GoString() string { 12174 return s.String() 12175} 12176 12177// SetPolicy sets the Policy field's value. 12178func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 12179 s.Policy = &v 12180 return s 12181} 12182 12183type GetBucketPolicyStatusInput struct { 12184 _ struct{} `type:"structure"` 12185 12186 // The name of the Amazon S3 bucket whose policy status you want to retrieve. 12187 // 12188 // Bucket is a required field 12189 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12190} 12191 12192// String returns the string representation 12193func (s GetBucketPolicyStatusInput) String() string { 12194 return awsutil.Prettify(s) 12195} 12196 12197// GoString returns the string representation 12198func (s GetBucketPolicyStatusInput) GoString() string { 12199 return s.String() 12200} 12201 12202// Validate inspects the fields of the type to determine if they are valid. 12203func (s *GetBucketPolicyStatusInput) Validate() error { 12204 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyStatusInput"} 12205 if s.Bucket == nil { 12206 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12207 } 12208 if s.Bucket != nil && len(*s.Bucket) < 1 { 12209 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12210 } 12211 12212 if invalidParams.Len() > 0 { 12213 return invalidParams 12214 } 12215 return nil 12216} 12217 12218// SetBucket sets the Bucket field's value. 12219func (s *GetBucketPolicyStatusInput) SetBucket(v string) *GetBucketPolicyStatusInput { 12220 s.Bucket = &v 12221 return s 12222} 12223 12224func (s *GetBucketPolicyStatusInput) getBucket() (v string) { 12225 if s.Bucket == nil { 12226 return v 12227 } 12228 return *s.Bucket 12229} 12230 12231type GetBucketPolicyStatusOutput struct { 12232 _ struct{} `type:"structure" payload:"PolicyStatus"` 12233 12234 // The policy status for the specified bucket. 12235 PolicyStatus *PolicyStatus `type:"structure"` 12236} 12237 12238// String returns the string representation 12239func (s GetBucketPolicyStatusOutput) String() string { 12240 return awsutil.Prettify(s) 12241} 12242 12243// GoString returns the string representation 12244func (s GetBucketPolicyStatusOutput) GoString() string { 12245 return s.String() 12246} 12247 12248// SetPolicyStatus sets the PolicyStatus field's value. 12249func (s *GetBucketPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetBucketPolicyStatusOutput { 12250 s.PolicyStatus = v 12251 return s 12252} 12253 12254type GetBucketReplicationInput struct { 12255 _ struct{} `type:"structure"` 12256 12257 // Bucket is a required field 12258 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12259} 12260 12261// String returns the string representation 12262func (s GetBucketReplicationInput) String() string { 12263 return awsutil.Prettify(s) 12264} 12265 12266// GoString returns the string representation 12267func (s GetBucketReplicationInput) GoString() string { 12268 return s.String() 12269} 12270 12271// Validate inspects the fields of the type to determine if they are valid. 12272func (s *GetBucketReplicationInput) Validate() error { 12273 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"} 12274 if s.Bucket == nil { 12275 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12276 } 12277 if s.Bucket != nil && len(*s.Bucket) < 1 { 12278 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12279 } 12280 12281 if invalidParams.Len() > 0 { 12282 return invalidParams 12283 } 12284 return nil 12285} 12286 12287// SetBucket sets the Bucket field's value. 12288func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput { 12289 s.Bucket = &v 12290 return s 12291} 12292 12293func (s *GetBucketReplicationInput) getBucket() (v string) { 12294 if s.Bucket == nil { 12295 return v 12296 } 12297 return *s.Bucket 12298} 12299 12300type GetBucketReplicationOutput struct { 12301 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 12302 12303 // A container for replication rules. You can add up to 1,000 rules. The maximum 12304 // size of a replication configuration is 2 MB. 12305 ReplicationConfiguration *ReplicationConfiguration `type:"structure"` 12306} 12307 12308// String returns the string representation 12309func (s GetBucketReplicationOutput) String() string { 12310 return awsutil.Prettify(s) 12311} 12312 12313// GoString returns the string representation 12314func (s GetBucketReplicationOutput) GoString() string { 12315 return s.String() 12316} 12317 12318// SetReplicationConfiguration sets the ReplicationConfiguration field's value. 12319func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput { 12320 s.ReplicationConfiguration = v 12321 return s 12322} 12323 12324type GetBucketRequestPaymentInput struct { 12325 _ struct{} `type:"structure"` 12326 12327 // Bucket is a required field 12328 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12329} 12330 12331// String returns the string representation 12332func (s GetBucketRequestPaymentInput) String() string { 12333 return awsutil.Prettify(s) 12334} 12335 12336// GoString returns the string representation 12337func (s GetBucketRequestPaymentInput) GoString() string { 12338 return s.String() 12339} 12340 12341// Validate inspects the fields of the type to determine if they are valid. 12342func (s *GetBucketRequestPaymentInput) Validate() error { 12343 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"} 12344 if s.Bucket == nil { 12345 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12346 } 12347 if s.Bucket != nil && len(*s.Bucket) < 1 { 12348 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12349 } 12350 12351 if invalidParams.Len() > 0 { 12352 return invalidParams 12353 } 12354 return nil 12355} 12356 12357// SetBucket sets the Bucket field's value. 12358func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput { 12359 s.Bucket = &v 12360 return s 12361} 12362 12363func (s *GetBucketRequestPaymentInput) getBucket() (v string) { 12364 if s.Bucket == nil { 12365 return v 12366 } 12367 return *s.Bucket 12368} 12369 12370type GetBucketRequestPaymentOutput struct { 12371 _ struct{} `type:"structure"` 12372 12373 // Specifies who pays for the download and request fees. 12374 Payer *string `type:"string" enum:"Payer"` 12375} 12376 12377// String returns the string representation 12378func (s GetBucketRequestPaymentOutput) String() string { 12379 return awsutil.Prettify(s) 12380} 12381 12382// GoString returns the string representation 12383func (s GetBucketRequestPaymentOutput) GoString() string { 12384 return s.String() 12385} 12386 12387// SetPayer sets the Payer field's value. 12388func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput { 12389 s.Payer = &v 12390 return s 12391} 12392 12393type GetBucketTaggingInput struct { 12394 _ struct{} `type:"structure"` 12395 12396 // Bucket is a required field 12397 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12398} 12399 12400// String returns the string representation 12401func (s GetBucketTaggingInput) String() string { 12402 return awsutil.Prettify(s) 12403} 12404 12405// GoString returns the string representation 12406func (s GetBucketTaggingInput) GoString() string { 12407 return s.String() 12408} 12409 12410// Validate inspects the fields of the type to determine if they are valid. 12411func (s *GetBucketTaggingInput) Validate() error { 12412 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 12413 if s.Bucket == nil { 12414 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12415 } 12416 if s.Bucket != nil && len(*s.Bucket) < 1 { 12417 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12418 } 12419 12420 if invalidParams.Len() > 0 { 12421 return invalidParams 12422 } 12423 return nil 12424} 12425 12426// SetBucket sets the Bucket field's value. 12427func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 12428 s.Bucket = &v 12429 return s 12430} 12431 12432func (s *GetBucketTaggingInput) getBucket() (v string) { 12433 if s.Bucket == nil { 12434 return v 12435 } 12436 return *s.Bucket 12437} 12438 12439type GetBucketTaggingOutput struct { 12440 _ struct{} `type:"structure"` 12441 12442 // TagSet is a required field 12443 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 12444} 12445 12446// String returns the string representation 12447func (s GetBucketTaggingOutput) String() string { 12448 return awsutil.Prettify(s) 12449} 12450 12451// GoString returns the string representation 12452func (s GetBucketTaggingOutput) GoString() string { 12453 return s.String() 12454} 12455 12456// SetTagSet sets the TagSet field's value. 12457func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput { 12458 s.TagSet = v 12459 return s 12460} 12461 12462type GetBucketVersioningInput struct { 12463 _ struct{} `type:"structure"` 12464 12465 // Bucket is a required field 12466 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12467} 12468 12469// String returns the string representation 12470func (s GetBucketVersioningInput) String() string { 12471 return awsutil.Prettify(s) 12472} 12473 12474// GoString returns the string representation 12475func (s GetBucketVersioningInput) GoString() string { 12476 return s.String() 12477} 12478 12479// Validate inspects the fields of the type to determine if they are valid. 12480func (s *GetBucketVersioningInput) Validate() error { 12481 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"} 12482 if s.Bucket == nil { 12483 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12484 } 12485 if s.Bucket != nil && len(*s.Bucket) < 1 { 12486 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12487 } 12488 12489 if invalidParams.Len() > 0 { 12490 return invalidParams 12491 } 12492 return nil 12493} 12494 12495// SetBucket sets the Bucket field's value. 12496func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput { 12497 s.Bucket = &v 12498 return s 12499} 12500 12501func (s *GetBucketVersioningInput) getBucket() (v string) { 12502 if s.Bucket == nil { 12503 return v 12504 } 12505 return *s.Bucket 12506} 12507 12508type GetBucketVersioningOutput struct { 12509 _ struct{} `type:"structure"` 12510 12511 // Specifies whether MFA delete is enabled in the bucket versioning configuration. 12512 // This element is only returned if the bucket has been configured with MFA 12513 // delete. If the bucket has never been so configured, this element is not returned. 12514 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"` 12515 12516 // The versioning state of the bucket. 12517 Status *string `type:"string" enum:"BucketVersioningStatus"` 12518} 12519 12520// String returns the string representation 12521func (s GetBucketVersioningOutput) String() string { 12522 return awsutil.Prettify(s) 12523} 12524 12525// GoString returns the string representation 12526func (s GetBucketVersioningOutput) GoString() string { 12527 return s.String() 12528} 12529 12530// SetMFADelete sets the MFADelete field's value. 12531func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput { 12532 s.MFADelete = &v 12533 return s 12534} 12535 12536// SetStatus sets the Status field's value. 12537func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput { 12538 s.Status = &v 12539 return s 12540} 12541 12542type GetBucketWebsiteInput struct { 12543 _ struct{} `type:"structure"` 12544 12545 // Bucket is a required field 12546 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12547} 12548 12549// String returns the string representation 12550func (s GetBucketWebsiteInput) String() string { 12551 return awsutil.Prettify(s) 12552} 12553 12554// GoString returns the string representation 12555func (s GetBucketWebsiteInput) GoString() string { 12556 return s.String() 12557} 12558 12559// Validate inspects the fields of the type to determine if they are valid. 12560func (s *GetBucketWebsiteInput) Validate() error { 12561 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"} 12562 if s.Bucket == nil { 12563 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12564 } 12565 if s.Bucket != nil && len(*s.Bucket) < 1 { 12566 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12567 } 12568 12569 if invalidParams.Len() > 0 { 12570 return invalidParams 12571 } 12572 return nil 12573} 12574 12575// SetBucket sets the Bucket field's value. 12576func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput { 12577 s.Bucket = &v 12578 return s 12579} 12580 12581func (s *GetBucketWebsiteInput) getBucket() (v string) { 12582 if s.Bucket == nil { 12583 return v 12584 } 12585 return *s.Bucket 12586} 12587 12588type GetBucketWebsiteOutput struct { 12589 _ struct{} `type:"structure"` 12590 12591 ErrorDocument *ErrorDocument `type:"structure"` 12592 12593 IndexDocument *IndexDocument `type:"structure"` 12594 12595 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 12596 12597 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 12598} 12599 12600// String returns the string representation 12601func (s GetBucketWebsiteOutput) String() string { 12602 return awsutil.Prettify(s) 12603} 12604 12605// GoString returns the string representation 12606func (s GetBucketWebsiteOutput) GoString() string { 12607 return s.String() 12608} 12609 12610// SetErrorDocument sets the ErrorDocument field's value. 12611func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput { 12612 s.ErrorDocument = v 12613 return s 12614} 12615 12616// SetIndexDocument sets the IndexDocument field's value. 12617func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput { 12618 s.IndexDocument = v 12619 return s 12620} 12621 12622// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value. 12623func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput { 12624 s.RedirectAllRequestsTo = v 12625 return s 12626} 12627 12628// SetRoutingRules sets the RoutingRules field's value. 12629func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput { 12630 s.RoutingRules = v 12631 return s 12632} 12633 12634type GetObjectAclInput struct { 12635 _ struct{} `type:"structure"` 12636 12637 // Bucket is a required field 12638 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12639 12640 // Key is a required field 12641 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12642 12643 // Confirms that the requester knows that she or he will be charged for the 12644 // request. Bucket owners need not specify this parameter in their requests. 12645 // Documentation on downloading objects from requester pays buckets can be found 12646 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 12647 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 12648 12649 // VersionId used to reference a specific version of the object. 12650 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 12651} 12652 12653// String returns the string representation 12654func (s GetObjectAclInput) String() string { 12655 return awsutil.Prettify(s) 12656} 12657 12658// GoString returns the string representation 12659func (s GetObjectAclInput) GoString() string { 12660 return s.String() 12661} 12662 12663// Validate inspects the fields of the type to determine if they are valid. 12664func (s *GetObjectAclInput) Validate() error { 12665 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"} 12666 if s.Bucket == nil { 12667 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12668 } 12669 if s.Bucket != nil && len(*s.Bucket) < 1 { 12670 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12671 } 12672 if s.Key == nil { 12673 invalidParams.Add(request.NewErrParamRequired("Key")) 12674 } 12675 if s.Key != nil && len(*s.Key) < 1 { 12676 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 12677 } 12678 12679 if invalidParams.Len() > 0 { 12680 return invalidParams 12681 } 12682 return nil 12683} 12684 12685// SetBucket sets the Bucket field's value. 12686func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput { 12687 s.Bucket = &v 12688 return s 12689} 12690 12691func (s *GetObjectAclInput) getBucket() (v string) { 12692 if s.Bucket == nil { 12693 return v 12694 } 12695 return *s.Bucket 12696} 12697 12698// SetKey sets the Key field's value. 12699func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput { 12700 s.Key = &v 12701 return s 12702} 12703 12704// SetRequestPayer sets the RequestPayer field's value. 12705func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput { 12706 s.RequestPayer = &v 12707 return s 12708} 12709 12710// SetVersionId sets the VersionId field's value. 12711func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput { 12712 s.VersionId = &v 12713 return s 12714} 12715 12716type GetObjectAclOutput struct { 12717 _ struct{} `type:"structure"` 12718 12719 // A list of grants. 12720 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 12721 12722 Owner *Owner `type:"structure"` 12723 12724 // If present, indicates that the requester was successfully charged for the 12725 // request. 12726 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 12727} 12728 12729// String returns the string representation 12730func (s GetObjectAclOutput) String() string { 12731 return awsutil.Prettify(s) 12732} 12733 12734// GoString returns the string representation 12735func (s GetObjectAclOutput) GoString() string { 12736 return s.String() 12737} 12738 12739// SetGrants sets the Grants field's value. 12740func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput { 12741 s.Grants = v 12742 return s 12743} 12744 12745// SetOwner sets the Owner field's value. 12746func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput { 12747 s.Owner = v 12748 return s 12749} 12750 12751// SetRequestCharged sets the RequestCharged field's value. 12752func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput { 12753 s.RequestCharged = &v 12754 return s 12755} 12756 12757type GetObjectInput struct { 12758 _ struct{} `type:"structure"` 12759 12760 // Bucket is a required field 12761 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12762 12763 // Return the object only if its entity tag (ETag) is the same as the one specified, 12764 // otherwise return a 412 (precondition failed). 12765 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 12766 12767 // Return the object only if it has been modified since the specified time, 12768 // otherwise return a 304 (not modified). 12769 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"` 12770 12771 // Return the object only if its entity tag (ETag) is different from the one 12772 // specified, otherwise return a 304 (not modified). 12773 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` 12774 12775 // Return the object only if it has not been modified since the specified time, 12776 // otherwise return a 412 (precondition failed). 12777 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"` 12778 12779 // Key is a required field 12780 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12781 12782 // Part number of the object being read. This is a positive integer between 12783 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. 12784 // Useful for downloading just a part of an object. 12785 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` 12786 12787 // Downloads the specified range bytes of an object. For more information about 12788 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. 12789 Range *string `location:"header" locationName:"Range" type:"string"` 12790 12791 // Confirms that the requester knows that she or he will be charged for the 12792 // request. Bucket owners need not specify this parameter in their requests. 12793 // Documentation on downloading objects from requester pays buckets can be found 12794 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 12795 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 12796 12797 // Sets the Cache-Control header of the response. 12798 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"` 12799 12800 // Sets the Content-Disposition header of the response 12801 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"` 12802 12803 // Sets the Content-Encoding header of the response. 12804 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"` 12805 12806 // Sets the Content-Language header of the response. 12807 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"` 12808 12809 // Sets the Content-Type header of the response. 12810 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"` 12811 12812 // Sets the Expires header of the response. 12813 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"` 12814 12815 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 12816 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 12817 12818 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 12819 // data. This value is used to store the object and then it is discarded; Amazon 12820 // does not store the encryption key. The key must be appropriate for use with 12821 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 12822 // header. 12823 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 12824 12825 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 12826 // Amazon S3 uses this header for a message integrity check to ensure the encryption 12827 // key was transmitted without error. 12828 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 12829 12830 // VersionId used to reference a specific version of the object. 12831 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 12832} 12833 12834// String returns the string representation 12835func (s GetObjectInput) String() string { 12836 return awsutil.Prettify(s) 12837} 12838 12839// GoString returns the string representation 12840func (s GetObjectInput) GoString() string { 12841 return s.String() 12842} 12843 12844// Validate inspects the fields of the type to determine if they are valid. 12845func (s *GetObjectInput) Validate() error { 12846 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"} 12847 if s.Bucket == nil { 12848 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12849 } 12850 if s.Bucket != nil && len(*s.Bucket) < 1 { 12851 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 12852 } 12853 if s.Key == nil { 12854 invalidParams.Add(request.NewErrParamRequired("Key")) 12855 } 12856 if s.Key != nil && len(*s.Key) < 1 { 12857 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 12858 } 12859 12860 if invalidParams.Len() > 0 { 12861 return invalidParams 12862 } 12863 return nil 12864} 12865 12866// SetBucket sets the Bucket field's value. 12867func (s *GetObjectInput) SetBucket(v string) *GetObjectInput { 12868 s.Bucket = &v 12869 return s 12870} 12871 12872func (s *GetObjectInput) getBucket() (v string) { 12873 if s.Bucket == nil { 12874 return v 12875 } 12876 return *s.Bucket 12877} 12878 12879// SetIfMatch sets the IfMatch field's value. 12880func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput { 12881 s.IfMatch = &v 12882 return s 12883} 12884 12885// SetIfModifiedSince sets the IfModifiedSince field's value. 12886func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput { 12887 s.IfModifiedSince = &v 12888 return s 12889} 12890 12891// SetIfNoneMatch sets the IfNoneMatch field's value. 12892func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput { 12893 s.IfNoneMatch = &v 12894 return s 12895} 12896 12897// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value. 12898func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput { 12899 s.IfUnmodifiedSince = &v 12900 return s 12901} 12902 12903// SetKey sets the Key field's value. 12904func (s *GetObjectInput) SetKey(v string) *GetObjectInput { 12905 s.Key = &v 12906 return s 12907} 12908 12909// SetPartNumber sets the PartNumber field's value. 12910func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput { 12911 s.PartNumber = &v 12912 return s 12913} 12914 12915// SetRange sets the Range field's value. 12916func (s *GetObjectInput) SetRange(v string) *GetObjectInput { 12917 s.Range = &v 12918 return s 12919} 12920 12921// SetRequestPayer sets the RequestPayer field's value. 12922func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput { 12923 s.RequestPayer = &v 12924 return s 12925} 12926 12927// SetResponseCacheControl sets the ResponseCacheControl field's value. 12928func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput { 12929 s.ResponseCacheControl = &v 12930 return s 12931} 12932 12933// SetResponseContentDisposition sets the ResponseContentDisposition field's value. 12934func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput { 12935 s.ResponseContentDisposition = &v 12936 return s 12937} 12938 12939// SetResponseContentEncoding sets the ResponseContentEncoding field's value. 12940func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput { 12941 s.ResponseContentEncoding = &v 12942 return s 12943} 12944 12945// SetResponseContentLanguage sets the ResponseContentLanguage field's value. 12946func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput { 12947 s.ResponseContentLanguage = &v 12948 return s 12949} 12950 12951// SetResponseContentType sets the ResponseContentType field's value. 12952func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput { 12953 s.ResponseContentType = &v 12954 return s 12955} 12956 12957// SetResponseExpires sets the ResponseExpires field's value. 12958func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput { 12959 s.ResponseExpires = &v 12960 return s 12961} 12962 12963// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 12964func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput { 12965 s.SSECustomerAlgorithm = &v 12966 return s 12967} 12968 12969// SetSSECustomerKey sets the SSECustomerKey field's value. 12970func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput { 12971 s.SSECustomerKey = &v 12972 return s 12973} 12974 12975func (s *GetObjectInput) getSSECustomerKey() (v string) { 12976 if s.SSECustomerKey == nil { 12977 return v 12978 } 12979 return *s.SSECustomerKey 12980} 12981 12982// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 12983func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput { 12984 s.SSECustomerKeyMD5 = &v 12985 return s 12986} 12987 12988// SetVersionId sets the VersionId field's value. 12989func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput { 12990 s.VersionId = &v 12991 return s 12992} 12993 12994type GetObjectLegalHoldInput struct { 12995 _ struct{} `type:"structure"` 12996 12997 // The bucket containing the object whose Legal Hold status you want to retrieve. 12998 // 12999 // Bucket is a required field 13000 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13001 13002 // The key name for the object whose Legal Hold status you want to retrieve. 13003 // 13004 // Key is a required field 13005 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 13006 13007 // Confirms that the requester knows that she or he will be charged for the 13008 // request. Bucket owners need not specify this parameter in their requests. 13009 // Documentation on downloading objects from requester pays buckets can be found 13010 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 13011 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 13012 13013 // The version ID of the object whose Legal Hold status you want to retrieve. 13014 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 13015} 13016 13017// String returns the string representation 13018func (s GetObjectLegalHoldInput) String() string { 13019 return awsutil.Prettify(s) 13020} 13021 13022// GoString returns the string representation 13023func (s GetObjectLegalHoldInput) GoString() string { 13024 return s.String() 13025} 13026 13027// Validate inspects the fields of the type to determine if they are valid. 13028func (s *GetObjectLegalHoldInput) Validate() error { 13029 invalidParams := request.ErrInvalidParams{Context: "GetObjectLegalHoldInput"} 13030 if s.Bucket == nil { 13031 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13032 } 13033 if s.Bucket != nil && len(*s.Bucket) < 1 { 13034 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13035 } 13036 if s.Key == nil { 13037 invalidParams.Add(request.NewErrParamRequired("Key")) 13038 } 13039 if s.Key != nil && len(*s.Key) < 1 { 13040 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13041 } 13042 13043 if invalidParams.Len() > 0 { 13044 return invalidParams 13045 } 13046 return nil 13047} 13048 13049// SetBucket sets the Bucket field's value. 13050func (s *GetObjectLegalHoldInput) SetBucket(v string) *GetObjectLegalHoldInput { 13051 s.Bucket = &v 13052 return s 13053} 13054 13055func (s *GetObjectLegalHoldInput) getBucket() (v string) { 13056 if s.Bucket == nil { 13057 return v 13058 } 13059 return *s.Bucket 13060} 13061 13062// SetKey sets the Key field's value. 13063func (s *GetObjectLegalHoldInput) SetKey(v string) *GetObjectLegalHoldInput { 13064 s.Key = &v 13065 return s 13066} 13067 13068// SetRequestPayer sets the RequestPayer field's value. 13069func (s *GetObjectLegalHoldInput) SetRequestPayer(v string) *GetObjectLegalHoldInput { 13070 s.RequestPayer = &v 13071 return s 13072} 13073 13074// SetVersionId sets the VersionId field's value. 13075func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInput { 13076 s.VersionId = &v 13077 return s 13078} 13079 13080type GetObjectLegalHoldOutput struct { 13081 _ struct{} `type:"structure" payload:"LegalHold"` 13082 13083 // The current Legal Hold status for the specified object. 13084 LegalHold *ObjectLockLegalHold `type:"structure"` 13085} 13086 13087// String returns the string representation 13088func (s GetObjectLegalHoldOutput) String() string { 13089 return awsutil.Prettify(s) 13090} 13091 13092// GoString returns the string representation 13093func (s GetObjectLegalHoldOutput) GoString() string { 13094 return s.String() 13095} 13096 13097// SetLegalHold sets the LegalHold field's value. 13098func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObjectLegalHoldOutput { 13099 s.LegalHold = v 13100 return s 13101} 13102 13103type GetObjectLockConfigurationInput struct { 13104 _ struct{} `type:"structure"` 13105 13106 // The bucket whose Object Lock configuration you want to retrieve. 13107 // 13108 // Bucket is a required field 13109 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13110} 13111 13112// String returns the string representation 13113func (s GetObjectLockConfigurationInput) String() string { 13114 return awsutil.Prettify(s) 13115} 13116 13117// GoString returns the string representation 13118func (s GetObjectLockConfigurationInput) GoString() string { 13119 return s.String() 13120} 13121 13122// Validate inspects the fields of the type to determine if they are valid. 13123func (s *GetObjectLockConfigurationInput) Validate() error { 13124 invalidParams := request.ErrInvalidParams{Context: "GetObjectLockConfigurationInput"} 13125 if s.Bucket == nil { 13126 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13127 } 13128 if s.Bucket != nil && len(*s.Bucket) < 1 { 13129 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13130 } 13131 13132 if invalidParams.Len() > 0 { 13133 return invalidParams 13134 } 13135 return nil 13136} 13137 13138// SetBucket sets the Bucket field's value. 13139func (s *GetObjectLockConfigurationInput) SetBucket(v string) *GetObjectLockConfigurationInput { 13140 s.Bucket = &v 13141 return s 13142} 13143 13144func (s *GetObjectLockConfigurationInput) getBucket() (v string) { 13145 if s.Bucket == nil { 13146 return v 13147 } 13148 return *s.Bucket 13149} 13150 13151type GetObjectLockConfigurationOutput struct { 13152 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` 13153 13154 // The specified bucket's Object Lock configuration. 13155 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"` 13156} 13157 13158// String returns the string representation 13159func (s GetObjectLockConfigurationOutput) String() string { 13160 return awsutil.Prettify(s) 13161} 13162 13163// GoString returns the string representation 13164func (s GetObjectLockConfigurationOutput) GoString() string { 13165 return s.String() 13166} 13167 13168// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value. 13169func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *GetObjectLockConfigurationOutput { 13170 s.ObjectLockConfiguration = v 13171 return s 13172} 13173 13174type GetObjectOutput struct { 13175 _ struct{} `type:"structure" payload:"Body"` 13176 13177 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` 13178 13179 // Object data. 13180 Body io.ReadCloser `type:"blob"` 13181 13182 // Specifies caching behavior along the request/reply chain. 13183 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 13184 13185 // Specifies presentational information for the object. 13186 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 13187 13188 // Specifies what content encodings have been applied to the object and thus 13189 // what decoding mechanisms must be applied to obtain the media-type referenced 13190 // by the Content-Type header field. 13191 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 13192 13193 // The language the content is in. 13194 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 13195 13196 // Size of the body in bytes. 13197 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 13198 13199 // The portion of the object returned in the response. 13200 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` 13201 13202 // A standard MIME type describing the format of the object data. 13203 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 13204 13205 // Specifies whether the object retrieved was (true) or was not (false) a Delete 13206 // Marker. If false, this response header does not appear in the response. 13207 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 13208 13209 // An ETag is an opaque identifier assigned by a web server to a specific version 13210 // of a resource found at a URL 13211 ETag *string `location:"header" locationName:"ETag" type:"string"` 13212 13213 // If the object expiration is configured (see PUT Bucket lifecycle), the response 13214 // includes this header. It includes the expiry-date and rule-id key value pairs 13215 // providing object expiration information. The value of the rule-id is URL 13216 // encoded. 13217 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 13218 13219 // The date and time at which the object is no longer cacheable. 13220 Expires *string `location:"header" locationName:"Expires" type:"string"` 13221 13222 // Last modified date of the object 13223 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` 13224 13225 // A map of metadata to store with the object in S3. 13226 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 13227 13228 // This is set to the number of metadata entries not returned in x-amz-meta 13229 // headers. This can happen if you create metadata using an API like SOAP that 13230 // supports more flexible metadata than the REST API. For example, using SOAP, 13231 // you can create metadata whose values are not legal HTTP headers. 13232 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` 13233 13234 // Indicates whether this object has an active legal hold. This field is only 13235 // returned if you have permission to view an object's legal hold status. 13236 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 13237 13238 // The Object Lock mode currently in place for this object. 13239 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 13240 13241 // The date and time when this object's Object Lock will expire. 13242 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 13243 13244 // The count of parts this object has. 13245 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` 13246 13247 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` 13248 13249 // If present, indicates that the requester was successfully charged for the 13250 // request. 13251 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 13252 13253 // Provides information about object restoration operation and expiration time 13254 // of the restored object copy. 13255 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` 13256 13257 // If server-side encryption with a customer-provided encryption key was requested, 13258 // the response will include this header confirming the encryption algorithm 13259 // used. 13260 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 13261 13262 // If server-side encryption with a customer-provided encryption key was requested, 13263 // the response will include this header to provide round trip message integrity 13264 // verification of the customer-provided encryption key. 13265 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 13266 13267 // If present, specifies the ID of the AWS Key Management Service (KMS) master 13268 // encryption key that was used for the object. 13269 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 13270 13271 // The Server-side encryption algorithm used when storing this object in S3 13272 // (e.g., AES256, aws:kms). 13273 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 13274 13275 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 13276 13277 // The number of tags, if any, on the object. 13278 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"` 13279 13280 // Version of the object. 13281 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 13282 13283 // If the bucket is configured as a website, redirects requests for this object 13284 // to another object in the same bucket or to an external URL. Amazon S3 stores 13285 // the value of this header in the object metadata. 13286 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 13287} 13288 13289// String returns the string representation 13290func (s GetObjectOutput) String() string { 13291 return awsutil.Prettify(s) 13292} 13293 13294// GoString returns the string representation 13295func (s GetObjectOutput) GoString() string { 13296 return s.String() 13297} 13298 13299// SetAcceptRanges sets the AcceptRanges field's value. 13300func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput { 13301 s.AcceptRanges = &v 13302 return s 13303} 13304 13305// SetBody sets the Body field's value. 13306func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput { 13307 s.Body = v 13308 return s 13309} 13310 13311// SetCacheControl sets the CacheControl field's value. 13312func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput { 13313 s.CacheControl = &v 13314 return s 13315} 13316 13317// SetContentDisposition sets the ContentDisposition field's value. 13318func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput { 13319 s.ContentDisposition = &v 13320 return s 13321} 13322 13323// SetContentEncoding sets the ContentEncoding field's value. 13324func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput { 13325 s.ContentEncoding = &v 13326 return s 13327} 13328 13329// SetContentLanguage sets the ContentLanguage field's value. 13330func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput { 13331 s.ContentLanguage = &v 13332 return s 13333} 13334 13335// SetContentLength sets the ContentLength field's value. 13336func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput { 13337 s.ContentLength = &v 13338 return s 13339} 13340 13341// SetContentRange sets the ContentRange field's value. 13342func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput { 13343 s.ContentRange = &v 13344 return s 13345} 13346 13347// SetContentType sets the ContentType field's value. 13348func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput { 13349 s.ContentType = &v 13350 return s 13351} 13352 13353// SetDeleteMarker sets the DeleteMarker field's value. 13354func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput { 13355 s.DeleteMarker = &v 13356 return s 13357} 13358 13359// SetETag sets the ETag field's value. 13360func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput { 13361 s.ETag = &v 13362 return s 13363} 13364 13365// SetExpiration sets the Expiration field's value. 13366func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput { 13367 s.Expiration = &v 13368 return s 13369} 13370 13371// SetExpires sets the Expires field's value. 13372func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput { 13373 s.Expires = &v 13374 return s 13375} 13376 13377// SetLastModified sets the LastModified field's value. 13378func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput { 13379 s.LastModified = &v 13380 return s 13381} 13382 13383// SetMetadata sets the Metadata field's value. 13384func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput { 13385 s.Metadata = v 13386 return s 13387} 13388 13389// SetMissingMeta sets the MissingMeta field's value. 13390func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput { 13391 s.MissingMeta = &v 13392 return s 13393} 13394 13395// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 13396func (s *GetObjectOutput) SetObjectLockLegalHoldStatus(v string) *GetObjectOutput { 13397 s.ObjectLockLegalHoldStatus = &v 13398 return s 13399} 13400 13401// SetObjectLockMode sets the ObjectLockMode field's value. 13402func (s *GetObjectOutput) SetObjectLockMode(v string) *GetObjectOutput { 13403 s.ObjectLockMode = &v 13404 return s 13405} 13406 13407// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 13408func (s *GetObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *GetObjectOutput { 13409 s.ObjectLockRetainUntilDate = &v 13410 return s 13411} 13412 13413// SetPartsCount sets the PartsCount field's value. 13414func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput { 13415 s.PartsCount = &v 13416 return s 13417} 13418 13419// SetReplicationStatus sets the ReplicationStatus field's value. 13420func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput { 13421 s.ReplicationStatus = &v 13422 return s 13423} 13424 13425// SetRequestCharged sets the RequestCharged field's value. 13426func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput { 13427 s.RequestCharged = &v 13428 return s 13429} 13430 13431// SetRestore sets the Restore field's value. 13432func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput { 13433 s.Restore = &v 13434 return s 13435} 13436 13437// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 13438func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput { 13439 s.SSECustomerAlgorithm = &v 13440 return s 13441} 13442 13443// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 13444func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput { 13445 s.SSECustomerKeyMD5 = &v 13446 return s 13447} 13448 13449// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 13450func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput { 13451 s.SSEKMSKeyId = &v 13452 return s 13453} 13454 13455// SetServerSideEncryption sets the ServerSideEncryption field's value. 13456func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput { 13457 s.ServerSideEncryption = &v 13458 return s 13459} 13460 13461// SetStorageClass sets the StorageClass field's value. 13462func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput { 13463 s.StorageClass = &v 13464 return s 13465} 13466 13467// SetTagCount sets the TagCount field's value. 13468func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput { 13469 s.TagCount = &v 13470 return s 13471} 13472 13473// SetVersionId sets the VersionId field's value. 13474func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput { 13475 s.VersionId = &v 13476 return s 13477} 13478 13479// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 13480func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput { 13481 s.WebsiteRedirectLocation = &v 13482 return s 13483} 13484 13485type GetObjectRetentionInput struct { 13486 _ struct{} `type:"structure"` 13487 13488 // The bucket containing the object whose retention settings you want to retrieve. 13489 // 13490 // Bucket is a required field 13491 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13492 13493 // The key name for the object whose retention settings you want to retrieve. 13494 // 13495 // Key is a required field 13496 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 13497 13498 // Confirms that the requester knows that she or he will be charged for the 13499 // request. Bucket owners need not specify this parameter in their requests. 13500 // Documentation on downloading objects from requester pays buckets can be found 13501 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 13502 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 13503 13504 // The version ID for the object whose retention settings you want to retrieve. 13505 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 13506} 13507 13508// String returns the string representation 13509func (s GetObjectRetentionInput) String() string { 13510 return awsutil.Prettify(s) 13511} 13512 13513// GoString returns the string representation 13514func (s GetObjectRetentionInput) GoString() string { 13515 return s.String() 13516} 13517 13518// Validate inspects the fields of the type to determine if they are valid. 13519func (s *GetObjectRetentionInput) Validate() error { 13520 invalidParams := request.ErrInvalidParams{Context: "GetObjectRetentionInput"} 13521 if s.Bucket == nil { 13522 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13523 } 13524 if s.Bucket != nil && len(*s.Bucket) < 1 { 13525 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13526 } 13527 if s.Key == nil { 13528 invalidParams.Add(request.NewErrParamRequired("Key")) 13529 } 13530 if s.Key != nil && len(*s.Key) < 1 { 13531 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13532 } 13533 13534 if invalidParams.Len() > 0 { 13535 return invalidParams 13536 } 13537 return nil 13538} 13539 13540// SetBucket sets the Bucket field's value. 13541func (s *GetObjectRetentionInput) SetBucket(v string) *GetObjectRetentionInput { 13542 s.Bucket = &v 13543 return s 13544} 13545 13546func (s *GetObjectRetentionInput) getBucket() (v string) { 13547 if s.Bucket == nil { 13548 return v 13549 } 13550 return *s.Bucket 13551} 13552 13553// SetKey sets the Key field's value. 13554func (s *GetObjectRetentionInput) SetKey(v string) *GetObjectRetentionInput { 13555 s.Key = &v 13556 return s 13557} 13558 13559// SetRequestPayer sets the RequestPayer field's value. 13560func (s *GetObjectRetentionInput) SetRequestPayer(v string) *GetObjectRetentionInput { 13561 s.RequestPayer = &v 13562 return s 13563} 13564 13565// SetVersionId sets the VersionId field's value. 13566func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInput { 13567 s.VersionId = &v 13568 return s 13569} 13570 13571type GetObjectRetentionOutput struct { 13572 _ struct{} `type:"structure" payload:"Retention"` 13573 13574 // The container element for an object's retention settings. 13575 Retention *ObjectLockRetention `type:"structure"` 13576} 13577 13578// String returns the string representation 13579func (s GetObjectRetentionOutput) String() string { 13580 return awsutil.Prettify(s) 13581} 13582 13583// GoString returns the string representation 13584func (s GetObjectRetentionOutput) GoString() string { 13585 return s.String() 13586} 13587 13588// SetRetention sets the Retention field's value. 13589func (s *GetObjectRetentionOutput) SetRetention(v *ObjectLockRetention) *GetObjectRetentionOutput { 13590 s.Retention = v 13591 return s 13592} 13593 13594type GetObjectTaggingInput struct { 13595 _ struct{} `type:"structure"` 13596 13597 // Bucket is a required field 13598 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13599 13600 // Key is a required field 13601 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 13602 13603 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 13604} 13605 13606// String returns the string representation 13607func (s GetObjectTaggingInput) String() string { 13608 return awsutil.Prettify(s) 13609} 13610 13611// GoString returns the string representation 13612func (s GetObjectTaggingInput) GoString() string { 13613 return s.String() 13614} 13615 13616// Validate inspects the fields of the type to determine if they are valid. 13617func (s *GetObjectTaggingInput) Validate() error { 13618 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"} 13619 if s.Bucket == nil { 13620 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13621 } 13622 if s.Bucket != nil && len(*s.Bucket) < 1 { 13623 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13624 } 13625 if s.Key == nil { 13626 invalidParams.Add(request.NewErrParamRequired("Key")) 13627 } 13628 if s.Key != nil && len(*s.Key) < 1 { 13629 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13630 } 13631 13632 if invalidParams.Len() > 0 { 13633 return invalidParams 13634 } 13635 return nil 13636} 13637 13638// SetBucket sets the Bucket field's value. 13639func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput { 13640 s.Bucket = &v 13641 return s 13642} 13643 13644func (s *GetObjectTaggingInput) getBucket() (v string) { 13645 if s.Bucket == nil { 13646 return v 13647 } 13648 return *s.Bucket 13649} 13650 13651// SetKey sets the Key field's value. 13652func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput { 13653 s.Key = &v 13654 return s 13655} 13656 13657// SetVersionId sets the VersionId field's value. 13658func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput { 13659 s.VersionId = &v 13660 return s 13661} 13662 13663type GetObjectTaggingOutput struct { 13664 _ struct{} `type:"structure"` 13665 13666 // TagSet is a required field 13667 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 13668 13669 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 13670} 13671 13672// String returns the string representation 13673func (s GetObjectTaggingOutput) String() string { 13674 return awsutil.Prettify(s) 13675} 13676 13677// GoString returns the string representation 13678func (s GetObjectTaggingOutput) GoString() string { 13679 return s.String() 13680} 13681 13682// SetTagSet sets the TagSet field's value. 13683func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput { 13684 s.TagSet = v 13685 return s 13686} 13687 13688// SetVersionId sets the VersionId field's value. 13689func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput { 13690 s.VersionId = &v 13691 return s 13692} 13693 13694type GetObjectTorrentInput struct { 13695 _ struct{} `type:"structure"` 13696 13697 // Bucket is a required field 13698 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13699 13700 // Key is a required field 13701 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 13702 13703 // Confirms that the requester knows that she or he will be charged for the 13704 // request. Bucket owners need not specify this parameter in their requests. 13705 // Documentation on downloading objects from requester pays buckets can be found 13706 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 13707 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 13708} 13709 13710// String returns the string representation 13711func (s GetObjectTorrentInput) String() string { 13712 return awsutil.Prettify(s) 13713} 13714 13715// GoString returns the string representation 13716func (s GetObjectTorrentInput) GoString() string { 13717 return s.String() 13718} 13719 13720// Validate inspects the fields of the type to determine if they are valid. 13721func (s *GetObjectTorrentInput) Validate() error { 13722 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"} 13723 if s.Bucket == nil { 13724 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13725 } 13726 if s.Bucket != nil && len(*s.Bucket) < 1 { 13727 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13728 } 13729 if s.Key == nil { 13730 invalidParams.Add(request.NewErrParamRequired("Key")) 13731 } 13732 if s.Key != nil && len(*s.Key) < 1 { 13733 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 13734 } 13735 13736 if invalidParams.Len() > 0 { 13737 return invalidParams 13738 } 13739 return nil 13740} 13741 13742// SetBucket sets the Bucket field's value. 13743func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput { 13744 s.Bucket = &v 13745 return s 13746} 13747 13748func (s *GetObjectTorrentInput) getBucket() (v string) { 13749 if s.Bucket == nil { 13750 return v 13751 } 13752 return *s.Bucket 13753} 13754 13755// SetKey sets the Key field's value. 13756func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput { 13757 s.Key = &v 13758 return s 13759} 13760 13761// SetRequestPayer sets the RequestPayer field's value. 13762func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput { 13763 s.RequestPayer = &v 13764 return s 13765} 13766 13767type GetObjectTorrentOutput struct { 13768 _ struct{} `type:"structure" payload:"Body"` 13769 13770 Body io.ReadCloser `type:"blob"` 13771 13772 // If present, indicates that the requester was successfully charged for the 13773 // request. 13774 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 13775} 13776 13777// String returns the string representation 13778func (s GetObjectTorrentOutput) String() string { 13779 return awsutil.Prettify(s) 13780} 13781 13782// GoString returns the string representation 13783func (s GetObjectTorrentOutput) GoString() string { 13784 return s.String() 13785} 13786 13787// SetBody sets the Body field's value. 13788func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput { 13789 s.Body = v 13790 return s 13791} 13792 13793// SetRequestCharged sets the RequestCharged field's value. 13794func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput { 13795 s.RequestCharged = &v 13796 return s 13797} 13798 13799type GetPublicAccessBlockInput struct { 13800 _ struct{} `type:"structure"` 13801 13802 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you 13803 // want to retrieve. 13804 // 13805 // Bucket is a required field 13806 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13807} 13808 13809// String returns the string representation 13810func (s GetPublicAccessBlockInput) String() string { 13811 return awsutil.Prettify(s) 13812} 13813 13814// GoString returns the string representation 13815func (s GetPublicAccessBlockInput) GoString() string { 13816 return s.String() 13817} 13818 13819// Validate inspects the fields of the type to determine if they are valid. 13820func (s *GetPublicAccessBlockInput) Validate() error { 13821 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} 13822 if s.Bucket == nil { 13823 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13824 } 13825 if s.Bucket != nil && len(*s.Bucket) < 1 { 13826 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 13827 } 13828 13829 if invalidParams.Len() > 0 { 13830 return invalidParams 13831 } 13832 return nil 13833} 13834 13835// SetBucket sets the Bucket field's value. 13836func (s *GetPublicAccessBlockInput) SetBucket(v string) *GetPublicAccessBlockInput { 13837 s.Bucket = &v 13838 return s 13839} 13840 13841func (s *GetPublicAccessBlockInput) getBucket() (v string) { 13842 if s.Bucket == nil { 13843 return v 13844 } 13845 return *s.Bucket 13846} 13847 13848type GetPublicAccessBlockOutput struct { 13849 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 13850 13851 // The PublicAccessBlock configuration currently in effect for this Amazon S3 13852 // bucket. 13853 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 13854} 13855 13856// String returns the string representation 13857func (s GetPublicAccessBlockOutput) String() string { 13858 return awsutil.Prettify(s) 13859} 13860 13861// GoString returns the string representation 13862func (s GetPublicAccessBlockOutput) GoString() string { 13863 return s.String() 13864} 13865 13866// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 13867func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 13868 s.PublicAccessBlockConfiguration = v 13869 return s 13870} 13871 13872type GlacierJobParameters struct { 13873 _ struct{} `type:"structure"` 13874 13875 // Glacier retrieval tier at which the restore will be processed. 13876 // 13877 // Tier is a required field 13878 Tier *string `type:"string" required:"true" enum:"Tier"` 13879} 13880 13881// String returns the string representation 13882func (s GlacierJobParameters) String() string { 13883 return awsutil.Prettify(s) 13884} 13885 13886// GoString returns the string representation 13887func (s GlacierJobParameters) GoString() string { 13888 return s.String() 13889} 13890 13891// Validate inspects the fields of the type to determine if they are valid. 13892func (s *GlacierJobParameters) Validate() error { 13893 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"} 13894 if s.Tier == nil { 13895 invalidParams.Add(request.NewErrParamRequired("Tier")) 13896 } 13897 13898 if invalidParams.Len() > 0 { 13899 return invalidParams 13900 } 13901 return nil 13902} 13903 13904// SetTier sets the Tier field's value. 13905func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters { 13906 s.Tier = &v 13907 return s 13908} 13909 13910type Grant struct { 13911 _ struct{} `type:"structure"` 13912 13913 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 13914 13915 // Specifies the permission given to the grantee. 13916 Permission *string `type:"string" enum:"Permission"` 13917} 13918 13919// String returns the string representation 13920func (s Grant) String() string { 13921 return awsutil.Prettify(s) 13922} 13923 13924// GoString returns the string representation 13925func (s Grant) GoString() string { 13926 return s.String() 13927} 13928 13929// Validate inspects the fields of the type to determine if they are valid. 13930func (s *Grant) Validate() error { 13931 invalidParams := request.ErrInvalidParams{Context: "Grant"} 13932 if s.Grantee != nil { 13933 if err := s.Grantee.Validate(); err != nil { 13934 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 13935 } 13936 } 13937 13938 if invalidParams.Len() > 0 { 13939 return invalidParams 13940 } 13941 return nil 13942} 13943 13944// SetGrantee sets the Grantee field's value. 13945func (s *Grant) SetGrantee(v *Grantee) *Grant { 13946 s.Grantee = v 13947 return s 13948} 13949 13950// SetPermission sets the Permission field's value. 13951func (s *Grant) SetPermission(v string) *Grant { 13952 s.Permission = &v 13953 return s 13954} 13955 13956type Grantee struct { 13957 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 13958 13959 // Screen name of the grantee. 13960 DisplayName *string `type:"string"` 13961 13962 // Email address of the grantee. 13963 EmailAddress *string `type:"string"` 13964 13965 // The canonical user ID of the grantee. 13966 ID *string `type:"string"` 13967 13968 // Type of grantee 13969 // 13970 // Type is a required field 13971 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"` 13972 13973 // URI of the grantee group. 13974 URI *string `type:"string"` 13975} 13976 13977// String returns the string representation 13978func (s Grantee) String() string { 13979 return awsutil.Prettify(s) 13980} 13981 13982// GoString returns the string representation 13983func (s Grantee) GoString() string { 13984 return s.String() 13985} 13986 13987// Validate inspects the fields of the type to determine if they are valid. 13988func (s *Grantee) Validate() error { 13989 invalidParams := request.ErrInvalidParams{Context: "Grantee"} 13990 if s.Type == nil { 13991 invalidParams.Add(request.NewErrParamRequired("Type")) 13992 } 13993 13994 if invalidParams.Len() > 0 { 13995 return invalidParams 13996 } 13997 return nil 13998} 13999 14000// SetDisplayName sets the DisplayName field's value. 14001func (s *Grantee) SetDisplayName(v string) *Grantee { 14002 s.DisplayName = &v 14003 return s 14004} 14005 14006// SetEmailAddress sets the EmailAddress field's value. 14007func (s *Grantee) SetEmailAddress(v string) *Grantee { 14008 s.EmailAddress = &v 14009 return s 14010} 14011 14012// SetID sets the ID field's value. 14013func (s *Grantee) SetID(v string) *Grantee { 14014 s.ID = &v 14015 return s 14016} 14017 14018// SetType sets the Type field's value. 14019func (s *Grantee) SetType(v string) *Grantee { 14020 s.Type = &v 14021 return s 14022} 14023 14024// SetURI sets the URI field's value. 14025func (s *Grantee) SetURI(v string) *Grantee { 14026 s.URI = &v 14027 return s 14028} 14029 14030type HeadBucketInput struct { 14031 _ struct{} `type:"structure"` 14032 14033 // Bucket is a required field 14034 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14035} 14036 14037// String returns the string representation 14038func (s HeadBucketInput) String() string { 14039 return awsutil.Prettify(s) 14040} 14041 14042// GoString returns the string representation 14043func (s HeadBucketInput) GoString() string { 14044 return s.String() 14045} 14046 14047// Validate inspects the fields of the type to determine if they are valid. 14048func (s *HeadBucketInput) Validate() error { 14049 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"} 14050 if s.Bucket == nil { 14051 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14052 } 14053 if s.Bucket != nil && len(*s.Bucket) < 1 { 14054 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 14055 } 14056 14057 if invalidParams.Len() > 0 { 14058 return invalidParams 14059 } 14060 return nil 14061} 14062 14063// SetBucket sets the Bucket field's value. 14064func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput { 14065 s.Bucket = &v 14066 return s 14067} 14068 14069func (s *HeadBucketInput) getBucket() (v string) { 14070 if s.Bucket == nil { 14071 return v 14072 } 14073 return *s.Bucket 14074} 14075 14076type HeadBucketOutput struct { 14077 _ struct{} `type:"structure"` 14078} 14079 14080// String returns the string representation 14081func (s HeadBucketOutput) String() string { 14082 return awsutil.Prettify(s) 14083} 14084 14085// GoString returns the string representation 14086func (s HeadBucketOutput) GoString() string { 14087 return s.String() 14088} 14089 14090type HeadObjectInput struct { 14091 _ struct{} `type:"structure"` 14092 14093 // Bucket is a required field 14094 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14095 14096 // Return the object only if its entity tag (ETag) is the same as the one specified, 14097 // otherwise return a 412 (precondition failed). 14098 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14099 14100 // Return the object only if it has been modified since the specified time, 14101 // otherwise return a 304 (not modified). 14102 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"` 14103 14104 // Return the object only if its entity tag (ETag) is different from the one 14105 // specified, otherwise return a 304 (not modified). 14106 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` 14107 14108 // Return the object only if it has not been modified since the specified time, 14109 // otherwise return a 412 (precondition failed). 14110 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"` 14111 14112 // Key is a required field 14113 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 14114 14115 // Part number of the object being read. This is a positive integer between 14116 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. 14117 // Useful querying about the size of the part and the number of parts in this 14118 // object. 14119 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` 14120 14121 // Downloads the specified range bytes of an object. For more information about 14122 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. 14123 Range *string `location:"header" locationName:"Range" type:"string"` 14124 14125 // Confirms that the requester knows that she or he will be charged for the 14126 // request. Bucket owners need not specify this parameter in their requests. 14127 // Documentation on downloading objects from requester pays buckets can be found 14128 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 14129 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 14130 14131 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 14132 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 14133 14134 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 14135 // data. This value is used to store the object and then it is discarded; Amazon 14136 // does not store the encryption key. The key must be appropriate for use with 14137 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 14138 // header. 14139 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 14140 14141 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 14142 // Amazon S3 uses this header for a message integrity check to ensure the encryption 14143 // key was transmitted without error. 14144 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 14145 14146 // VersionId used to reference a specific version of the object. 14147 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 14148} 14149 14150// String returns the string representation 14151func (s HeadObjectInput) String() string { 14152 return awsutil.Prettify(s) 14153} 14154 14155// GoString returns the string representation 14156func (s HeadObjectInput) GoString() string { 14157 return s.String() 14158} 14159 14160// Validate inspects the fields of the type to determine if they are valid. 14161func (s *HeadObjectInput) Validate() error { 14162 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"} 14163 if s.Bucket == nil { 14164 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14165 } 14166 if s.Bucket != nil && len(*s.Bucket) < 1 { 14167 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 14168 } 14169 if s.Key == nil { 14170 invalidParams.Add(request.NewErrParamRequired("Key")) 14171 } 14172 if s.Key != nil && len(*s.Key) < 1 { 14173 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14174 } 14175 14176 if invalidParams.Len() > 0 { 14177 return invalidParams 14178 } 14179 return nil 14180} 14181 14182// SetBucket sets the Bucket field's value. 14183func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput { 14184 s.Bucket = &v 14185 return s 14186} 14187 14188func (s *HeadObjectInput) getBucket() (v string) { 14189 if s.Bucket == nil { 14190 return v 14191 } 14192 return *s.Bucket 14193} 14194 14195// SetIfMatch sets the IfMatch field's value. 14196func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput { 14197 s.IfMatch = &v 14198 return s 14199} 14200 14201// SetIfModifiedSince sets the IfModifiedSince field's value. 14202func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput { 14203 s.IfModifiedSince = &v 14204 return s 14205} 14206 14207// SetIfNoneMatch sets the IfNoneMatch field's value. 14208func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput { 14209 s.IfNoneMatch = &v 14210 return s 14211} 14212 14213// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value. 14214func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput { 14215 s.IfUnmodifiedSince = &v 14216 return s 14217} 14218 14219// SetKey sets the Key field's value. 14220func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput { 14221 s.Key = &v 14222 return s 14223} 14224 14225// SetPartNumber sets the PartNumber field's value. 14226func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput { 14227 s.PartNumber = &v 14228 return s 14229} 14230 14231// SetRange sets the Range field's value. 14232func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput { 14233 s.Range = &v 14234 return s 14235} 14236 14237// SetRequestPayer sets the RequestPayer field's value. 14238func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput { 14239 s.RequestPayer = &v 14240 return s 14241} 14242 14243// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 14244func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput { 14245 s.SSECustomerAlgorithm = &v 14246 return s 14247} 14248 14249// SetSSECustomerKey sets the SSECustomerKey field's value. 14250func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput { 14251 s.SSECustomerKey = &v 14252 return s 14253} 14254 14255func (s *HeadObjectInput) getSSECustomerKey() (v string) { 14256 if s.SSECustomerKey == nil { 14257 return v 14258 } 14259 return *s.SSECustomerKey 14260} 14261 14262// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 14263func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput { 14264 s.SSECustomerKeyMD5 = &v 14265 return s 14266} 14267 14268// SetVersionId sets the VersionId field's value. 14269func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput { 14270 s.VersionId = &v 14271 return s 14272} 14273 14274type HeadObjectOutput struct { 14275 _ struct{} `type:"structure"` 14276 14277 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` 14278 14279 // Specifies caching behavior along the request/reply chain. 14280 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 14281 14282 // Specifies presentational information for the object. 14283 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 14284 14285 // Specifies what content encodings have been applied to the object and thus 14286 // what decoding mechanisms must be applied to obtain the media-type referenced 14287 // by the Content-Type header field. 14288 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 14289 14290 // The language the content is in. 14291 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 14292 14293 // Size of the body in bytes. 14294 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 14295 14296 // A standard MIME type describing the format of the object data. 14297 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 14298 14299 // Specifies whether the object retrieved was (true) or was not (false) a Delete 14300 // Marker. If false, this response header does not appear in the response. 14301 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 14302 14303 // An ETag is an opaque identifier assigned by a web server to a specific version 14304 // of a resource found at a URL 14305 ETag *string `location:"header" locationName:"ETag" type:"string"` 14306 14307 // If the object expiration is configured (see PUT Bucket lifecycle), the response 14308 // includes this header. It includes the expiry-date and rule-id key value pairs 14309 // providing object expiration information. The value of the rule-id is URL 14310 // encoded. 14311 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 14312 14313 // The date and time at which the object is no longer cacheable. 14314 Expires *string `location:"header" locationName:"Expires" type:"string"` 14315 14316 // Last modified date of the object 14317 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` 14318 14319 // A map of metadata to store with the object in S3. 14320 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 14321 14322 // This is set to the number of metadata entries not returned in x-amz-meta 14323 // headers. This can happen if you create metadata using an API like SOAP that 14324 // supports more flexible metadata than the REST API. For example, using SOAP, 14325 // you can create metadata whose values are not legal HTTP headers. 14326 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` 14327 14328 // The Legal Hold status for the specified object. 14329 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 14330 14331 // The Object Lock mode currently in place for this object. 14332 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 14333 14334 // The date and time when this object's Object Lock will expire. 14335 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 14336 14337 // The count of parts this object has. 14338 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` 14339 14340 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` 14341 14342 // If present, indicates that the requester was successfully charged for the 14343 // request. 14344 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 14345 14346 // Provides information about object restoration operation and expiration time 14347 // of the restored object copy. 14348 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` 14349 14350 // If server-side encryption with a customer-provided encryption key was requested, 14351 // the response will include this header confirming the encryption algorithm 14352 // used. 14353 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 14354 14355 // If server-side encryption with a customer-provided encryption key was requested, 14356 // the response will include this header to provide round trip message integrity 14357 // verification of the customer-provided encryption key. 14358 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 14359 14360 // If present, specifies the ID of the AWS Key Management Service (KMS) master 14361 // encryption key that was used for the object. 14362 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 14363 14364 // The Server-side encryption algorithm used when storing this object in S3 14365 // (e.g., AES256, aws:kms). 14366 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 14367 14368 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 14369 14370 // Version of the object. 14371 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 14372 14373 // If the bucket is configured as a website, redirects requests for this object 14374 // to another object in the same bucket or to an external URL. Amazon S3 stores 14375 // the value of this header in the object metadata. 14376 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 14377} 14378 14379// String returns the string representation 14380func (s HeadObjectOutput) String() string { 14381 return awsutil.Prettify(s) 14382} 14383 14384// GoString returns the string representation 14385func (s HeadObjectOutput) GoString() string { 14386 return s.String() 14387} 14388 14389// SetAcceptRanges sets the AcceptRanges field's value. 14390func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput { 14391 s.AcceptRanges = &v 14392 return s 14393} 14394 14395// SetCacheControl sets the CacheControl field's value. 14396func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput { 14397 s.CacheControl = &v 14398 return s 14399} 14400 14401// SetContentDisposition sets the ContentDisposition field's value. 14402func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput { 14403 s.ContentDisposition = &v 14404 return s 14405} 14406 14407// SetContentEncoding sets the ContentEncoding field's value. 14408func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput { 14409 s.ContentEncoding = &v 14410 return s 14411} 14412 14413// SetContentLanguage sets the ContentLanguage field's value. 14414func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput { 14415 s.ContentLanguage = &v 14416 return s 14417} 14418 14419// SetContentLength sets the ContentLength field's value. 14420func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput { 14421 s.ContentLength = &v 14422 return s 14423} 14424 14425// SetContentType sets the ContentType field's value. 14426func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput { 14427 s.ContentType = &v 14428 return s 14429} 14430 14431// SetDeleteMarker sets the DeleteMarker field's value. 14432func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput { 14433 s.DeleteMarker = &v 14434 return s 14435} 14436 14437// SetETag sets the ETag field's value. 14438func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput { 14439 s.ETag = &v 14440 return s 14441} 14442 14443// SetExpiration sets the Expiration field's value. 14444func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput { 14445 s.Expiration = &v 14446 return s 14447} 14448 14449// SetExpires sets the Expires field's value. 14450func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput { 14451 s.Expires = &v 14452 return s 14453} 14454 14455// SetLastModified sets the LastModified field's value. 14456func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput { 14457 s.LastModified = &v 14458 return s 14459} 14460 14461// SetMetadata sets the Metadata field's value. 14462func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput { 14463 s.Metadata = v 14464 return s 14465} 14466 14467// SetMissingMeta sets the MissingMeta field's value. 14468func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput { 14469 s.MissingMeta = &v 14470 return s 14471} 14472 14473// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 14474func (s *HeadObjectOutput) SetObjectLockLegalHoldStatus(v string) *HeadObjectOutput { 14475 s.ObjectLockLegalHoldStatus = &v 14476 return s 14477} 14478 14479// SetObjectLockMode sets the ObjectLockMode field's value. 14480func (s *HeadObjectOutput) SetObjectLockMode(v string) *HeadObjectOutput { 14481 s.ObjectLockMode = &v 14482 return s 14483} 14484 14485// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 14486func (s *HeadObjectOutput) SetObjectLockRetainUntilDate(v time.Time) *HeadObjectOutput { 14487 s.ObjectLockRetainUntilDate = &v 14488 return s 14489} 14490 14491// SetPartsCount sets the PartsCount field's value. 14492func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput { 14493 s.PartsCount = &v 14494 return s 14495} 14496 14497// SetReplicationStatus sets the ReplicationStatus field's value. 14498func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput { 14499 s.ReplicationStatus = &v 14500 return s 14501} 14502 14503// SetRequestCharged sets the RequestCharged field's value. 14504func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput { 14505 s.RequestCharged = &v 14506 return s 14507} 14508 14509// SetRestore sets the Restore field's value. 14510func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput { 14511 s.Restore = &v 14512 return s 14513} 14514 14515// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 14516func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput { 14517 s.SSECustomerAlgorithm = &v 14518 return s 14519} 14520 14521// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 14522func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput { 14523 s.SSECustomerKeyMD5 = &v 14524 return s 14525} 14526 14527// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 14528func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput { 14529 s.SSEKMSKeyId = &v 14530 return s 14531} 14532 14533// SetServerSideEncryption sets the ServerSideEncryption field's value. 14534func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput { 14535 s.ServerSideEncryption = &v 14536 return s 14537} 14538 14539// SetStorageClass sets the StorageClass field's value. 14540func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput { 14541 s.StorageClass = &v 14542 return s 14543} 14544 14545// SetVersionId sets the VersionId field's value. 14546func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput { 14547 s.VersionId = &v 14548 return s 14549} 14550 14551// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 14552func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput { 14553 s.WebsiteRedirectLocation = &v 14554 return s 14555} 14556 14557type IndexDocument struct { 14558 _ struct{} `type:"structure"` 14559 14560 // A suffix that is appended to a request that is for a directory on the website 14561 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ 14562 // the data that is returned will be for the object with the key name images/index.html) 14563 // The suffix must not be empty and must not include a slash character. 14564 // 14565 // Suffix is a required field 14566 Suffix *string `type:"string" required:"true"` 14567} 14568 14569// String returns the string representation 14570func (s IndexDocument) String() string { 14571 return awsutil.Prettify(s) 14572} 14573 14574// GoString returns the string representation 14575func (s IndexDocument) GoString() string { 14576 return s.String() 14577} 14578 14579// Validate inspects the fields of the type to determine if they are valid. 14580func (s *IndexDocument) Validate() error { 14581 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"} 14582 if s.Suffix == nil { 14583 invalidParams.Add(request.NewErrParamRequired("Suffix")) 14584 } 14585 14586 if invalidParams.Len() > 0 { 14587 return invalidParams 14588 } 14589 return nil 14590} 14591 14592// SetSuffix sets the Suffix field's value. 14593func (s *IndexDocument) SetSuffix(v string) *IndexDocument { 14594 s.Suffix = &v 14595 return s 14596} 14597 14598type Initiator struct { 14599 _ struct{} `type:"structure"` 14600 14601 // Name of the Principal. 14602 DisplayName *string `type:"string"` 14603 14604 // If the principal is an AWS account, it provides the Canonical User ID. If 14605 // the principal is an IAM User, it provides a user ARN value. 14606 ID *string `type:"string"` 14607} 14608 14609// String returns the string representation 14610func (s Initiator) String() string { 14611 return awsutil.Prettify(s) 14612} 14613 14614// GoString returns the string representation 14615func (s Initiator) GoString() string { 14616 return s.String() 14617} 14618 14619// SetDisplayName sets the DisplayName field's value. 14620func (s *Initiator) SetDisplayName(v string) *Initiator { 14621 s.DisplayName = &v 14622 return s 14623} 14624 14625// SetID sets the ID field's value. 14626func (s *Initiator) SetID(v string) *Initiator { 14627 s.ID = &v 14628 return s 14629} 14630 14631// Describes the serialization format of the object. 14632type InputSerialization struct { 14633 _ struct{} `type:"structure"` 14634 14635 // Describes the serialization of a CSV-encoded object. 14636 CSV *CSVInput `type:"structure"` 14637 14638 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default 14639 // Value: NONE. 14640 CompressionType *string `type:"string" enum:"CompressionType"` 14641 14642 // Specifies JSON as object's input serialization format. 14643 JSON *JSONInput `type:"structure"` 14644 14645 // Specifies Parquet as object's input serialization format. 14646 Parquet *ParquetInput `type:"structure"` 14647} 14648 14649// String returns the string representation 14650func (s InputSerialization) String() string { 14651 return awsutil.Prettify(s) 14652} 14653 14654// GoString returns the string representation 14655func (s InputSerialization) GoString() string { 14656 return s.String() 14657} 14658 14659// SetCSV sets the CSV field's value. 14660func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization { 14661 s.CSV = v 14662 return s 14663} 14664 14665// SetCompressionType sets the CompressionType field's value. 14666func (s *InputSerialization) SetCompressionType(v string) *InputSerialization { 14667 s.CompressionType = &v 14668 return s 14669} 14670 14671// SetJSON sets the JSON field's value. 14672func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization { 14673 s.JSON = v 14674 return s 14675} 14676 14677// SetParquet sets the Parquet field's value. 14678func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization { 14679 s.Parquet = v 14680 return s 14681} 14682 14683type InventoryConfiguration struct { 14684 _ struct{} `type:"structure"` 14685 14686 // Contains information about where to publish the inventory results. 14687 // 14688 // Destination is a required field 14689 Destination *InventoryDestination `type:"structure" required:"true"` 14690 14691 // Specifies an inventory filter. The inventory only includes objects that meet 14692 // the filter's criteria. 14693 Filter *InventoryFilter `type:"structure"` 14694 14695 // The ID used to identify the inventory configuration. 14696 // 14697 // Id is a required field 14698 Id *string `type:"string" required:"true"` 14699 14700 // Specifies which object version(s) to included in the inventory results. 14701 // 14702 // IncludedObjectVersions is a required field 14703 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"` 14704 14705 // Specifies whether the inventory is enabled or disabled. 14706 // 14707 // IsEnabled is a required field 14708 IsEnabled *bool `type:"boolean" required:"true"` 14709 14710 // Contains the optional fields that are included in the inventory results. 14711 OptionalFields []*string `locationNameList:"Field" type:"list"` 14712 14713 // Specifies the schedule for generating inventory results. 14714 // 14715 // Schedule is a required field 14716 Schedule *InventorySchedule `type:"structure" required:"true"` 14717} 14718 14719// String returns the string representation 14720func (s InventoryConfiguration) String() string { 14721 return awsutil.Prettify(s) 14722} 14723 14724// GoString returns the string representation 14725func (s InventoryConfiguration) GoString() string { 14726 return s.String() 14727} 14728 14729// Validate inspects the fields of the type to determine if they are valid. 14730func (s *InventoryConfiguration) Validate() error { 14731 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"} 14732 if s.Destination == nil { 14733 invalidParams.Add(request.NewErrParamRequired("Destination")) 14734 } 14735 if s.Id == nil { 14736 invalidParams.Add(request.NewErrParamRequired("Id")) 14737 } 14738 if s.IncludedObjectVersions == nil { 14739 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions")) 14740 } 14741 if s.IsEnabled == nil { 14742 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 14743 } 14744 if s.Schedule == nil { 14745 invalidParams.Add(request.NewErrParamRequired("Schedule")) 14746 } 14747 if s.Destination != nil { 14748 if err := s.Destination.Validate(); err != nil { 14749 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 14750 } 14751 } 14752 if s.Filter != nil { 14753 if err := s.Filter.Validate(); err != nil { 14754 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 14755 } 14756 } 14757 if s.Schedule != nil { 14758 if err := s.Schedule.Validate(); err != nil { 14759 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) 14760 } 14761 } 14762 14763 if invalidParams.Len() > 0 { 14764 return invalidParams 14765 } 14766 return nil 14767} 14768 14769// SetDestination sets the Destination field's value. 14770func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration { 14771 s.Destination = v 14772 return s 14773} 14774 14775// SetFilter sets the Filter field's value. 14776func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration { 14777 s.Filter = v 14778 return s 14779} 14780 14781// SetId sets the Id field's value. 14782func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration { 14783 s.Id = &v 14784 return s 14785} 14786 14787// SetIncludedObjectVersions sets the IncludedObjectVersions field's value. 14788func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration { 14789 s.IncludedObjectVersions = &v 14790 return s 14791} 14792 14793// SetIsEnabled sets the IsEnabled field's value. 14794func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration { 14795 s.IsEnabled = &v 14796 return s 14797} 14798 14799// SetOptionalFields sets the OptionalFields field's value. 14800func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration { 14801 s.OptionalFields = v 14802 return s 14803} 14804 14805// SetSchedule sets the Schedule field's value. 14806func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration { 14807 s.Schedule = v 14808 return s 14809} 14810 14811type InventoryDestination struct { 14812 _ struct{} `type:"structure"` 14813 14814 // Contains the bucket name, file format, bucket owner (optional), and prefix 14815 // (optional) where inventory results are published. 14816 // 14817 // S3BucketDestination is a required field 14818 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"` 14819} 14820 14821// String returns the string representation 14822func (s InventoryDestination) String() string { 14823 return awsutil.Prettify(s) 14824} 14825 14826// GoString returns the string representation 14827func (s InventoryDestination) GoString() string { 14828 return s.String() 14829} 14830 14831// Validate inspects the fields of the type to determine if they are valid. 14832func (s *InventoryDestination) Validate() error { 14833 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"} 14834 if s.S3BucketDestination == nil { 14835 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 14836 } 14837 if s.S3BucketDestination != nil { 14838 if err := s.S3BucketDestination.Validate(); err != nil { 14839 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 14840 } 14841 } 14842 14843 if invalidParams.Len() > 0 { 14844 return invalidParams 14845 } 14846 return nil 14847} 14848 14849// SetS3BucketDestination sets the S3BucketDestination field's value. 14850func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination { 14851 s.S3BucketDestination = v 14852 return s 14853} 14854 14855// Contains the type of server-side encryption used to encrypt the inventory 14856// results. 14857type InventoryEncryption struct { 14858 _ struct{} `type:"structure"` 14859 14860 // Specifies the use of SSE-KMS to encrypt delivered Inventory reports. 14861 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 14862 14863 // Specifies the use of SSE-S3 to encrypt delivered Inventory reports. 14864 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 14865} 14866 14867// String returns the string representation 14868func (s InventoryEncryption) String() string { 14869 return awsutil.Prettify(s) 14870} 14871 14872// GoString returns the string representation 14873func (s InventoryEncryption) GoString() string { 14874 return s.String() 14875} 14876 14877// Validate inspects the fields of the type to determine if they are valid. 14878func (s *InventoryEncryption) Validate() error { 14879 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"} 14880 if s.SSEKMS != nil { 14881 if err := s.SSEKMS.Validate(); err != nil { 14882 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 14883 } 14884 } 14885 14886 if invalidParams.Len() > 0 { 14887 return invalidParams 14888 } 14889 return nil 14890} 14891 14892// SetSSEKMS sets the SSEKMS field's value. 14893func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption { 14894 s.SSEKMS = v 14895 return s 14896} 14897 14898// SetSSES3 sets the SSES3 field's value. 14899func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption { 14900 s.SSES3 = v 14901 return s 14902} 14903 14904type InventoryFilter struct { 14905 _ struct{} `type:"structure"` 14906 14907 // The prefix that an object must have to be included in the inventory results. 14908 // 14909 // Prefix is a required field 14910 Prefix *string `type:"string" required:"true"` 14911} 14912 14913// String returns the string representation 14914func (s InventoryFilter) String() string { 14915 return awsutil.Prettify(s) 14916} 14917 14918// GoString returns the string representation 14919func (s InventoryFilter) GoString() string { 14920 return s.String() 14921} 14922 14923// Validate inspects the fields of the type to determine if they are valid. 14924func (s *InventoryFilter) Validate() error { 14925 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"} 14926 if s.Prefix == nil { 14927 invalidParams.Add(request.NewErrParamRequired("Prefix")) 14928 } 14929 14930 if invalidParams.Len() > 0 { 14931 return invalidParams 14932 } 14933 return nil 14934} 14935 14936// SetPrefix sets the Prefix field's value. 14937func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter { 14938 s.Prefix = &v 14939 return s 14940} 14941 14942type InventoryS3BucketDestination struct { 14943 _ struct{} `type:"structure"` 14944 14945 // The ID of the account that owns the destination bucket. 14946 AccountId *string `type:"string"` 14947 14948 // The Amazon resource name (ARN) of the bucket where inventory results will 14949 // be published. 14950 // 14951 // Bucket is a required field 14952 Bucket *string `type:"string" required:"true"` 14953 14954 // Contains the type of server-side encryption used to encrypt the inventory 14955 // results. 14956 Encryption *InventoryEncryption `type:"structure"` 14957 14958 // Specifies the output format of the inventory results. 14959 // 14960 // Format is a required field 14961 Format *string `type:"string" required:"true" enum:"InventoryFormat"` 14962 14963 // The prefix that is prepended to all inventory results. 14964 Prefix *string `type:"string"` 14965} 14966 14967// String returns the string representation 14968func (s InventoryS3BucketDestination) String() string { 14969 return awsutil.Prettify(s) 14970} 14971 14972// GoString returns the string representation 14973func (s InventoryS3BucketDestination) GoString() string { 14974 return s.String() 14975} 14976 14977// Validate inspects the fields of the type to determine if they are valid. 14978func (s *InventoryS3BucketDestination) Validate() error { 14979 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"} 14980 if s.Bucket == nil { 14981 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14982 } 14983 if s.Format == nil { 14984 invalidParams.Add(request.NewErrParamRequired("Format")) 14985 } 14986 if s.Encryption != nil { 14987 if err := s.Encryption.Validate(); err != nil { 14988 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 14989 } 14990 } 14991 14992 if invalidParams.Len() > 0 { 14993 return invalidParams 14994 } 14995 return nil 14996} 14997 14998// SetAccountId sets the AccountId field's value. 14999func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination { 15000 s.AccountId = &v 15001 return s 15002} 15003 15004// SetBucket sets the Bucket field's value. 15005func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination { 15006 s.Bucket = &v 15007 return s 15008} 15009 15010func (s *InventoryS3BucketDestination) getBucket() (v string) { 15011 if s.Bucket == nil { 15012 return v 15013 } 15014 return *s.Bucket 15015} 15016 15017// SetEncryption sets the Encryption field's value. 15018func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination { 15019 s.Encryption = v 15020 return s 15021} 15022 15023// SetFormat sets the Format field's value. 15024func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination { 15025 s.Format = &v 15026 return s 15027} 15028 15029// SetPrefix sets the Prefix field's value. 15030func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination { 15031 s.Prefix = &v 15032 return s 15033} 15034 15035type InventorySchedule struct { 15036 _ struct{} `type:"structure"` 15037 15038 // Specifies how frequently inventory results are produced. 15039 // 15040 // Frequency is a required field 15041 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"` 15042} 15043 15044// String returns the string representation 15045func (s InventorySchedule) String() string { 15046 return awsutil.Prettify(s) 15047} 15048 15049// GoString returns the string representation 15050func (s InventorySchedule) GoString() string { 15051 return s.String() 15052} 15053 15054// Validate inspects the fields of the type to determine if they are valid. 15055func (s *InventorySchedule) Validate() error { 15056 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"} 15057 if s.Frequency == nil { 15058 invalidParams.Add(request.NewErrParamRequired("Frequency")) 15059 } 15060 15061 if invalidParams.Len() > 0 { 15062 return invalidParams 15063 } 15064 return nil 15065} 15066 15067// SetFrequency sets the Frequency field's value. 15068func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule { 15069 s.Frequency = &v 15070 return s 15071} 15072 15073type JSONInput struct { 15074 _ struct{} `type:"structure"` 15075 15076 // The type of JSON. Valid values: Document, Lines. 15077 Type *string `type:"string" enum:"JSONType"` 15078} 15079 15080// String returns the string representation 15081func (s JSONInput) String() string { 15082 return awsutil.Prettify(s) 15083} 15084 15085// GoString returns the string representation 15086func (s JSONInput) GoString() string { 15087 return s.String() 15088} 15089 15090// SetType sets the Type field's value. 15091func (s *JSONInput) SetType(v string) *JSONInput { 15092 s.Type = &v 15093 return s 15094} 15095 15096type JSONOutput struct { 15097 _ struct{} `type:"structure"` 15098 15099 // The value used to separate individual records in the output. 15100 RecordDelimiter *string `type:"string"` 15101} 15102 15103// String returns the string representation 15104func (s JSONOutput) String() string { 15105 return awsutil.Prettify(s) 15106} 15107 15108// GoString returns the string representation 15109func (s JSONOutput) GoString() string { 15110 return s.String() 15111} 15112 15113// SetRecordDelimiter sets the RecordDelimiter field's value. 15114func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput { 15115 s.RecordDelimiter = &v 15116 return s 15117} 15118 15119// A container for object key name prefix and suffix filtering rules. 15120type KeyFilter struct { 15121 _ struct{} `type:"structure"` 15122 15123 // A list of containers for the key value pair that defines the criteria for 15124 // the filter rule. 15125 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"` 15126} 15127 15128// String returns the string representation 15129func (s KeyFilter) String() string { 15130 return awsutil.Prettify(s) 15131} 15132 15133// GoString returns the string representation 15134func (s KeyFilter) GoString() string { 15135 return s.String() 15136} 15137 15138// SetFilterRules sets the FilterRules field's value. 15139func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter { 15140 s.FilterRules = v 15141 return s 15142} 15143 15144// A container for specifying the configuration for AWS Lambda notifications. 15145type LambdaFunctionConfiguration struct { 15146 _ struct{} `type:"structure"` 15147 15148 // Events is a required field 15149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 15150 15151 // A container for object key name filtering rules. For information about key 15152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 15153 // in the Amazon Simple Storage Service Developer Guide. 15154 Filter *NotificationConfigurationFilter `type:"structure"` 15155 15156 // An optional unique identifier for configurations in a notification configuration. 15157 // If you don't provide one, Amazon S3 will assign an ID. 15158 Id *string `type:"string"` 15159 15160 // The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3 15161 // can invoke when it detects events of the specified type. 15162 // 15163 // LambdaFunctionArn is a required field 15164 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` 15165} 15166 15167// String returns the string representation 15168func (s LambdaFunctionConfiguration) String() string { 15169 return awsutil.Prettify(s) 15170} 15171 15172// GoString returns the string representation 15173func (s LambdaFunctionConfiguration) GoString() string { 15174 return s.String() 15175} 15176 15177// Validate inspects the fields of the type to determine if they are valid. 15178func (s *LambdaFunctionConfiguration) Validate() error { 15179 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"} 15180 if s.Events == nil { 15181 invalidParams.Add(request.NewErrParamRequired("Events")) 15182 } 15183 if s.LambdaFunctionArn == nil { 15184 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn")) 15185 } 15186 15187 if invalidParams.Len() > 0 { 15188 return invalidParams 15189 } 15190 return nil 15191} 15192 15193// SetEvents sets the Events field's value. 15194func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration { 15195 s.Events = v 15196 return s 15197} 15198 15199// SetFilter sets the Filter field's value. 15200func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration { 15201 s.Filter = v 15202 return s 15203} 15204 15205// SetId sets the Id field's value. 15206func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration { 15207 s.Id = &v 15208 return s 15209} 15210 15211// SetLambdaFunctionArn sets the LambdaFunctionArn field's value. 15212func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration { 15213 s.LambdaFunctionArn = &v 15214 return s 15215} 15216 15217type LifecycleConfiguration struct { 15218 _ struct{} `type:"structure"` 15219 15220 // Rules is a required field 15221 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 15222} 15223 15224// String returns the string representation 15225func (s LifecycleConfiguration) String() string { 15226 return awsutil.Prettify(s) 15227} 15228 15229// GoString returns the string representation 15230func (s LifecycleConfiguration) GoString() string { 15231 return s.String() 15232} 15233 15234// Validate inspects the fields of the type to determine if they are valid. 15235func (s *LifecycleConfiguration) Validate() error { 15236 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 15237 if s.Rules == nil { 15238 invalidParams.Add(request.NewErrParamRequired("Rules")) 15239 } 15240 if s.Rules != nil { 15241 for i, v := range s.Rules { 15242 if v == nil { 15243 continue 15244 } 15245 if err := v.Validate(); err != nil { 15246 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 15247 } 15248 } 15249 } 15250 15251 if invalidParams.Len() > 0 { 15252 return invalidParams 15253 } 15254 return nil 15255} 15256 15257// SetRules sets the Rules field's value. 15258func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration { 15259 s.Rules = v 15260 return s 15261} 15262 15263type LifecycleExpiration struct { 15264 _ struct{} `type:"structure"` 15265 15266 // Indicates at what date the object is to be moved or deleted. Should be in 15267 // GMT ISO 8601 Format. 15268 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` 15269 15270 // Indicates the lifetime, in days, of the objects that are subject to the rule. 15271 // The value must be a non-zero positive integer. 15272 Days *int64 `type:"integer"` 15273 15274 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 15275 // versions. If set to true, the delete marker will be expired; if set to false 15276 // the policy takes no action. This cannot be specified with Days or Date in 15277 // a Lifecycle Expiration Policy. 15278 ExpiredObjectDeleteMarker *bool `type:"boolean"` 15279} 15280 15281// String returns the string representation 15282func (s LifecycleExpiration) String() string { 15283 return awsutil.Prettify(s) 15284} 15285 15286// GoString returns the string representation 15287func (s LifecycleExpiration) GoString() string { 15288 return s.String() 15289} 15290 15291// SetDate sets the Date field's value. 15292func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 15293 s.Date = &v 15294 return s 15295} 15296 15297// SetDays sets the Days field's value. 15298func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 15299 s.Days = &v 15300 return s 15301} 15302 15303// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 15304func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 15305 s.ExpiredObjectDeleteMarker = &v 15306 return s 15307} 15308 15309type LifecycleRule struct { 15310 _ struct{} `type:"structure"` 15311 15312 // Specifies the days since the initiation of an Incomplete Multipart Upload 15313 // that Lifecycle will wait before permanently removing all parts of the upload. 15314 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 15315 15316 Expiration *LifecycleExpiration `type:"structure"` 15317 15318 // The Filter is used to identify objects that a Lifecycle Rule applies to. 15319 // A Filter must have exactly one of Prefix, Tag, or And specified. 15320 Filter *LifecycleRuleFilter `type:"structure"` 15321 15322 // Unique identifier for the rule. The value cannot be longer than 255 characters. 15323 ID *string `type:"string"` 15324 15325 // Specifies when noncurrent object versions expire. Upon expiration, Amazon 15326 // S3 permanently deletes the noncurrent object versions. You set this lifecycle 15327 // configuration action on a bucket that has versioning enabled (or suspended) 15328 // to request that Amazon S3 delete noncurrent object versions at a specific 15329 // period in the object's lifetime. 15330 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 15331 15332 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"` 15333 15334 // Prefix identifying one or more objects to which the rule applies. This is 15335 // No longer used; use Filter instead. 15336 // 15337 // Deprecated: Prefix has been deprecated 15338 Prefix *string `deprecated:"true" type:"string"` 15339 15340 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 15341 // is not currently being applied. 15342 // 15343 // Status is a required field 15344 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 15345 15346 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"` 15347} 15348 15349// String returns the string representation 15350func (s LifecycleRule) String() string { 15351 return awsutil.Prettify(s) 15352} 15353 15354// GoString returns the string representation 15355func (s LifecycleRule) GoString() string { 15356 return s.String() 15357} 15358 15359// Validate inspects the fields of the type to determine if they are valid. 15360func (s *LifecycleRule) Validate() error { 15361 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 15362 if s.Status == nil { 15363 invalidParams.Add(request.NewErrParamRequired("Status")) 15364 } 15365 if s.Filter != nil { 15366 if err := s.Filter.Validate(); err != nil { 15367 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 15368 } 15369 } 15370 15371 if invalidParams.Len() > 0 { 15372 return invalidParams 15373 } 15374 return nil 15375} 15376 15377// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 15378func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 15379 s.AbortIncompleteMultipartUpload = v 15380 return s 15381} 15382 15383// SetExpiration sets the Expiration field's value. 15384func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 15385 s.Expiration = v 15386 return s 15387} 15388 15389// SetFilter sets the Filter field's value. 15390func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 15391 s.Filter = v 15392 return s 15393} 15394 15395// SetID sets the ID field's value. 15396func (s *LifecycleRule) SetID(v string) *LifecycleRule { 15397 s.ID = &v 15398 return s 15399} 15400 15401// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 15402func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 15403 s.NoncurrentVersionExpiration = v 15404 return s 15405} 15406 15407// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 15408func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 15409 s.NoncurrentVersionTransitions = v 15410 return s 15411} 15412 15413// SetPrefix sets the Prefix field's value. 15414func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule { 15415 s.Prefix = &v 15416 return s 15417} 15418 15419// SetStatus sets the Status field's value. 15420func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 15421 s.Status = &v 15422 return s 15423} 15424 15425// SetTransitions sets the Transitions field's value. 15426func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 15427 s.Transitions = v 15428 return s 15429} 15430 15431// This is used in a Lifecycle Rule Filter to apply a logical AND to two or 15432// more predicates. The Lifecycle Rule will apply to any object matching all 15433// of the predicates configured inside the And operator. 15434type LifecycleRuleAndOperator struct { 15435 _ struct{} `type:"structure"` 15436 15437 Prefix *string `type:"string"` 15438 15439 // All of these tags must exist in the object's tag set in order for the rule 15440 // to apply. 15441 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 15442} 15443 15444// String returns the string representation 15445func (s LifecycleRuleAndOperator) String() string { 15446 return awsutil.Prettify(s) 15447} 15448 15449// GoString returns the string representation 15450func (s LifecycleRuleAndOperator) GoString() string { 15451 return s.String() 15452} 15453 15454// Validate inspects the fields of the type to determine if they are valid. 15455func (s *LifecycleRuleAndOperator) Validate() error { 15456 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 15457 if s.Tags != nil { 15458 for i, v := range s.Tags { 15459 if v == nil { 15460 continue 15461 } 15462 if err := v.Validate(); err != nil { 15463 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15464 } 15465 } 15466 } 15467 15468 if invalidParams.Len() > 0 { 15469 return invalidParams 15470 } 15471 return nil 15472} 15473 15474// SetPrefix sets the Prefix field's value. 15475func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 15476 s.Prefix = &v 15477 return s 15478} 15479 15480// SetTags sets the Tags field's value. 15481func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator { 15482 s.Tags = v 15483 return s 15484} 15485 15486// The Filter is used to identify objects that a Lifecycle Rule applies to. 15487// A Filter must have exactly one of Prefix, Tag, or And specified. 15488type LifecycleRuleFilter struct { 15489 _ struct{} `type:"structure"` 15490 15491 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or 15492 // more predicates. The Lifecycle Rule will apply to any object matching all 15493 // of the predicates configured inside the And operator. 15494 And *LifecycleRuleAndOperator `type:"structure"` 15495 15496 // Prefix identifying one or more objects to which the rule applies. 15497 Prefix *string `type:"string"` 15498 15499 // This tag must exist in the object's tag set in order for the rule to apply. 15500 Tag *Tag `type:"structure"` 15501} 15502 15503// String returns the string representation 15504func (s LifecycleRuleFilter) String() string { 15505 return awsutil.Prettify(s) 15506} 15507 15508// GoString returns the string representation 15509func (s LifecycleRuleFilter) GoString() string { 15510 return s.String() 15511} 15512 15513// Validate inspects the fields of the type to determine if they are valid. 15514func (s *LifecycleRuleFilter) Validate() error { 15515 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 15516 if s.And != nil { 15517 if err := s.And.Validate(); err != nil { 15518 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 15519 } 15520 } 15521 if s.Tag != nil { 15522 if err := s.Tag.Validate(); err != nil { 15523 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 15524 } 15525 } 15526 15527 if invalidParams.Len() > 0 { 15528 return invalidParams 15529 } 15530 return nil 15531} 15532 15533// SetAnd sets the And field's value. 15534func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 15535 s.And = v 15536 return s 15537} 15538 15539// SetPrefix sets the Prefix field's value. 15540func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 15541 s.Prefix = &v 15542 return s 15543} 15544 15545// SetTag sets the Tag field's value. 15546func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter { 15547 s.Tag = v 15548 return s 15549} 15550 15551type ListBucketAnalyticsConfigurationsInput struct { 15552 _ struct{} `type:"structure"` 15553 15554 // The name of the bucket from which analytics configurations are retrieved. 15555 // 15556 // Bucket is a required field 15557 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 15558 15559 // The ContinuationToken that represents a placeholder from where this request 15560 // should begin. 15561 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 15562} 15563 15564// String returns the string representation 15565func (s ListBucketAnalyticsConfigurationsInput) String() string { 15566 return awsutil.Prettify(s) 15567} 15568 15569// GoString returns the string representation 15570func (s ListBucketAnalyticsConfigurationsInput) GoString() string { 15571 return s.String() 15572} 15573 15574// Validate inspects the fields of the type to determine if they are valid. 15575func (s *ListBucketAnalyticsConfigurationsInput) Validate() error { 15576 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"} 15577 if s.Bucket == nil { 15578 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15579 } 15580 if s.Bucket != nil && len(*s.Bucket) < 1 { 15581 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 15582 } 15583 15584 if invalidParams.Len() > 0 { 15585 return invalidParams 15586 } 15587 return nil 15588} 15589 15590// SetBucket sets the Bucket field's value. 15591func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput { 15592 s.Bucket = &v 15593 return s 15594} 15595 15596func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) { 15597 if s.Bucket == nil { 15598 return v 15599 } 15600 return *s.Bucket 15601} 15602 15603// SetContinuationToken sets the ContinuationToken field's value. 15604func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput { 15605 s.ContinuationToken = &v 15606 return s 15607} 15608 15609type ListBucketAnalyticsConfigurationsOutput struct { 15610 _ struct{} `type:"structure"` 15611 15612 // The list of analytics configurations for a bucket. 15613 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"` 15614 15615 // The ContinuationToken that represents where this request began. 15616 ContinuationToken *string `type:"string"` 15617 15618 // Indicates whether the returned list of analytics configurations is complete. 15619 // A value of true indicates that the list is not complete and the NextContinuationToken 15620 // will be provided for a subsequent request. 15621 IsTruncated *bool `type:"boolean"` 15622 15623 // NextContinuationToken is sent when isTruncated is true, which indicates that 15624 // there are more analytics configurations to list. The next request must include 15625 // this NextContinuationToken. The token is obfuscated and is not a usable value. 15626 NextContinuationToken *string `type:"string"` 15627} 15628 15629// String returns the string representation 15630func (s ListBucketAnalyticsConfigurationsOutput) String() string { 15631 return awsutil.Prettify(s) 15632} 15633 15634// GoString returns the string representation 15635func (s ListBucketAnalyticsConfigurationsOutput) GoString() string { 15636 return s.String() 15637} 15638 15639// SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value. 15640func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput { 15641 s.AnalyticsConfigurationList = v 15642 return s 15643} 15644 15645// SetContinuationToken sets the ContinuationToken field's value. 15646func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput { 15647 s.ContinuationToken = &v 15648 return s 15649} 15650 15651// SetIsTruncated sets the IsTruncated field's value. 15652func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput { 15653 s.IsTruncated = &v 15654 return s 15655} 15656 15657// SetNextContinuationToken sets the NextContinuationToken field's value. 15658func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput { 15659 s.NextContinuationToken = &v 15660 return s 15661} 15662 15663type ListBucketInventoryConfigurationsInput struct { 15664 _ struct{} `type:"structure"` 15665 15666 // The name of the bucket containing the inventory configurations to retrieve. 15667 // 15668 // Bucket is a required field 15669 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 15670 15671 // The marker used to continue an inventory configuration listing that has been 15672 // truncated. Use the NextContinuationToken from a previously truncated list 15673 // response to continue the listing. The continuation token is an opaque value 15674 // that Amazon S3 understands. 15675 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 15676} 15677 15678// String returns the string representation 15679func (s ListBucketInventoryConfigurationsInput) String() string { 15680 return awsutil.Prettify(s) 15681} 15682 15683// GoString returns the string representation 15684func (s ListBucketInventoryConfigurationsInput) GoString() string { 15685 return s.String() 15686} 15687 15688// Validate inspects the fields of the type to determine if they are valid. 15689func (s *ListBucketInventoryConfigurationsInput) Validate() error { 15690 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"} 15691 if s.Bucket == nil { 15692 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15693 } 15694 if s.Bucket != nil && len(*s.Bucket) < 1 { 15695 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 15696 } 15697 15698 if invalidParams.Len() > 0 { 15699 return invalidParams 15700 } 15701 return nil 15702} 15703 15704// SetBucket sets the Bucket field's value. 15705func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput { 15706 s.Bucket = &v 15707 return s 15708} 15709 15710func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) { 15711 if s.Bucket == nil { 15712 return v 15713 } 15714 return *s.Bucket 15715} 15716 15717// SetContinuationToken sets the ContinuationToken field's value. 15718func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput { 15719 s.ContinuationToken = &v 15720 return s 15721} 15722 15723type ListBucketInventoryConfigurationsOutput struct { 15724 _ struct{} `type:"structure"` 15725 15726 // If sent in the request, the marker that is used as a starting point for this 15727 // inventory configuration list response. 15728 ContinuationToken *string `type:"string"` 15729 15730 // The list of inventory configurations for a bucket. 15731 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"` 15732 15733 // Indicates whether the returned list of inventory configurations is truncated 15734 // in this response. A value of true indicates that the list is truncated. 15735 IsTruncated *bool `type:"boolean"` 15736 15737 // The marker used to continue this inventory configuration listing. Use the 15738 // NextContinuationToken from this response to continue the listing in a subsequent 15739 // request. The continuation token is an opaque value that Amazon S3 understands. 15740 NextContinuationToken *string `type:"string"` 15741} 15742 15743// String returns the string representation 15744func (s ListBucketInventoryConfigurationsOutput) String() string { 15745 return awsutil.Prettify(s) 15746} 15747 15748// GoString returns the string representation 15749func (s ListBucketInventoryConfigurationsOutput) GoString() string { 15750 return s.String() 15751} 15752 15753// SetContinuationToken sets the ContinuationToken field's value. 15754func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput { 15755 s.ContinuationToken = &v 15756 return s 15757} 15758 15759// SetInventoryConfigurationList sets the InventoryConfigurationList field's value. 15760func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput { 15761 s.InventoryConfigurationList = v 15762 return s 15763} 15764 15765// SetIsTruncated sets the IsTruncated field's value. 15766func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput { 15767 s.IsTruncated = &v 15768 return s 15769} 15770 15771// SetNextContinuationToken sets the NextContinuationToken field's value. 15772func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput { 15773 s.NextContinuationToken = &v 15774 return s 15775} 15776 15777type ListBucketMetricsConfigurationsInput struct { 15778 _ struct{} `type:"structure"` 15779 15780 // The name of the bucket containing the metrics configurations to retrieve. 15781 // 15782 // Bucket is a required field 15783 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 15784 15785 // The marker that is used to continue a metrics configuration listing that 15786 // has been truncated. Use the NextContinuationToken from a previously truncated 15787 // list response to continue the listing. The continuation token is an opaque 15788 // value that Amazon S3 understands. 15789 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 15790} 15791 15792// String returns the string representation 15793func (s ListBucketMetricsConfigurationsInput) String() string { 15794 return awsutil.Prettify(s) 15795} 15796 15797// GoString returns the string representation 15798func (s ListBucketMetricsConfigurationsInput) GoString() string { 15799 return s.String() 15800} 15801 15802// Validate inspects the fields of the type to determine if they are valid. 15803func (s *ListBucketMetricsConfigurationsInput) Validate() error { 15804 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"} 15805 if s.Bucket == nil { 15806 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15807 } 15808 if s.Bucket != nil && len(*s.Bucket) < 1 { 15809 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 15810 } 15811 15812 if invalidParams.Len() > 0 { 15813 return invalidParams 15814 } 15815 return nil 15816} 15817 15818// SetBucket sets the Bucket field's value. 15819func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput { 15820 s.Bucket = &v 15821 return s 15822} 15823 15824func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) { 15825 if s.Bucket == nil { 15826 return v 15827 } 15828 return *s.Bucket 15829} 15830 15831// SetContinuationToken sets the ContinuationToken field's value. 15832func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput { 15833 s.ContinuationToken = &v 15834 return s 15835} 15836 15837type ListBucketMetricsConfigurationsOutput struct { 15838 _ struct{} `type:"structure"` 15839 15840 // The marker that is used as a starting point for this metrics configuration 15841 // list response. This value is present if it was sent in the request. 15842 ContinuationToken *string `type:"string"` 15843 15844 // Indicates whether the returned list of metrics configurations is complete. 15845 // A value of true indicates that the list is not complete and the NextContinuationToken 15846 // will be provided for a subsequent request. 15847 IsTruncated *bool `type:"boolean"` 15848 15849 // The list of metrics configurations for a bucket. 15850 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"` 15851 15852 // The marker used to continue a metrics configuration listing that has been 15853 // truncated. Use the NextContinuationToken from a previously truncated list 15854 // response to continue the listing. The continuation token is an opaque value 15855 // that Amazon S3 understands. 15856 NextContinuationToken *string `type:"string"` 15857} 15858 15859// String returns the string representation 15860func (s ListBucketMetricsConfigurationsOutput) String() string { 15861 return awsutil.Prettify(s) 15862} 15863 15864// GoString returns the string representation 15865func (s ListBucketMetricsConfigurationsOutput) GoString() string { 15866 return s.String() 15867} 15868 15869// SetContinuationToken sets the ContinuationToken field's value. 15870func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput { 15871 s.ContinuationToken = &v 15872 return s 15873} 15874 15875// SetIsTruncated sets the IsTruncated field's value. 15876func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput { 15877 s.IsTruncated = &v 15878 return s 15879} 15880 15881// SetMetricsConfigurationList sets the MetricsConfigurationList field's value. 15882func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput { 15883 s.MetricsConfigurationList = v 15884 return s 15885} 15886 15887// SetNextContinuationToken sets the NextContinuationToken field's value. 15888func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput { 15889 s.NextContinuationToken = &v 15890 return s 15891} 15892 15893type ListBucketsInput struct { 15894 _ struct{} `type:"structure"` 15895} 15896 15897// String returns the string representation 15898func (s ListBucketsInput) String() string { 15899 return awsutil.Prettify(s) 15900} 15901 15902// GoString returns the string representation 15903func (s ListBucketsInput) GoString() string { 15904 return s.String() 15905} 15906 15907type ListBucketsOutput struct { 15908 _ struct{} `type:"structure"` 15909 15910 Buckets []*Bucket `locationNameList:"Bucket" type:"list"` 15911 15912 Owner *Owner `type:"structure"` 15913} 15914 15915// String returns the string representation 15916func (s ListBucketsOutput) String() string { 15917 return awsutil.Prettify(s) 15918} 15919 15920// GoString returns the string representation 15921func (s ListBucketsOutput) GoString() string { 15922 return s.String() 15923} 15924 15925// SetBuckets sets the Buckets field's value. 15926func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput { 15927 s.Buckets = v 15928 return s 15929} 15930 15931// SetOwner sets the Owner field's value. 15932func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput { 15933 s.Owner = v 15934 return s 15935} 15936 15937type ListMultipartUploadsInput struct { 15938 _ struct{} `type:"structure"` 15939 15940 // Bucket is a required field 15941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 15942 15943 // Character you use to group keys. 15944 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 15945 15946 // Requests Amazon S3 to encode the object keys in the response and specifies 15947 // the encoding method to use. An object key may contain any Unicode character; 15948 // however, XML 1.0 parser cannot parse some characters, such as characters 15949 // with an ASCII value from 0 to 10. For characters that are not supported in 15950 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 15951 // keys in the response. 15952 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 15953 15954 // Together with upload-id-marker, this parameter specifies the multipart upload 15955 // after which listing should begin. 15956 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` 15957 15958 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return 15959 // in the response body. 1,000 is the maximum number of uploads that can be 15960 // returned in a response. 15961 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"` 15962 15963 // Lists in-progress uploads only for those keys that begin with the specified 15964 // prefix. 15965 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 15966 15967 // Together with key-marker, specifies the multipart upload after which listing 15968 // should begin. If key-marker is not specified, the upload-id-marker parameter 15969 // is ignored. 15970 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"` 15971} 15972 15973// String returns the string representation 15974func (s ListMultipartUploadsInput) String() string { 15975 return awsutil.Prettify(s) 15976} 15977 15978// GoString returns the string representation 15979func (s ListMultipartUploadsInput) GoString() string { 15980 return s.String() 15981} 15982 15983// Validate inspects the fields of the type to determine if they are valid. 15984func (s *ListMultipartUploadsInput) Validate() error { 15985 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"} 15986 if s.Bucket == nil { 15987 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15988 } 15989 if s.Bucket != nil && len(*s.Bucket) < 1 { 15990 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 15991 } 15992 15993 if invalidParams.Len() > 0 { 15994 return invalidParams 15995 } 15996 return nil 15997} 15998 15999// SetBucket sets the Bucket field's value. 16000func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput { 16001 s.Bucket = &v 16002 return s 16003} 16004 16005func (s *ListMultipartUploadsInput) getBucket() (v string) { 16006 if s.Bucket == nil { 16007 return v 16008 } 16009 return *s.Bucket 16010} 16011 16012// SetDelimiter sets the Delimiter field's value. 16013func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput { 16014 s.Delimiter = &v 16015 return s 16016} 16017 16018// SetEncodingType sets the EncodingType field's value. 16019func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput { 16020 s.EncodingType = &v 16021 return s 16022} 16023 16024// SetKeyMarker sets the KeyMarker field's value. 16025func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput { 16026 s.KeyMarker = &v 16027 return s 16028} 16029 16030// SetMaxUploads sets the MaxUploads field's value. 16031func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput { 16032 s.MaxUploads = &v 16033 return s 16034} 16035 16036// SetPrefix sets the Prefix field's value. 16037func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput { 16038 s.Prefix = &v 16039 return s 16040} 16041 16042// SetUploadIdMarker sets the UploadIdMarker field's value. 16043func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput { 16044 s.UploadIdMarker = &v 16045 return s 16046} 16047 16048type ListMultipartUploadsOutput struct { 16049 _ struct{} `type:"structure"` 16050 16051 // Name of the bucket to which the multipart upload was initiated. 16052 Bucket *string `type:"string"` 16053 16054 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 16055 16056 Delimiter *string `type:"string"` 16057 16058 // Encoding type used by Amazon S3 to encode object keys in the response. 16059 EncodingType *string `type:"string" enum:"EncodingType"` 16060 16061 // Indicates whether the returned list of multipart uploads is truncated. A 16062 // value of true indicates that the list was truncated. The list can be truncated 16063 // if the number of multipart uploads exceeds the limit allowed or specified 16064 // by max uploads. 16065 IsTruncated *bool `type:"boolean"` 16066 16067 // The key at or after which the listing began. 16068 KeyMarker *string `type:"string"` 16069 16070 // Maximum number of multipart uploads that could have been included in the 16071 // response. 16072 MaxUploads *int64 `type:"integer"` 16073 16074 // When a list is truncated, this element specifies the value that should be 16075 // used for the key-marker request parameter in a subsequent request. 16076 NextKeyMarker *string `type:"string"` 16077 16078 // When a list is truncated, this element specifies the value that should be 16079 // used for the upload-id-marker request parameter in a subsequent request. 16080 NextUploadIdMarker *string `type:"string"` 16081 16082 // When a prefix is provided in the request, this field contains the specified 16083 // prefix. The result contains only keys starting with the specified prefix. 16084 Prefix *string `type:"string"` 16085 16086 // Upload ID after which listing began. 16087 UploadIdMarker *string `type:"string"` 16088 16089 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"` 16090} 16091 16092// String returns the string representation 16093func (s ListMultipartUploadsOutput) String() string { 16094 return awsutil.Prettify(s) 16095} 16096 16097// GoString returns the string representation 16098func (s ListMultipartUploadsOutput) GoString() string { 16099 return s.String() 16100} 16101 16102// SetBucket sets the Bucket field's value. 16103func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput { 16104 s.Bucket = &v 16105 return s 16106} 16107 16108func (s *ListMultipartUploadsOutput) getBucket() (v string) { 16109 if s.Bucket == nil { 16110 return v 16111 } 16112 return *s.Bucket 16113} 16114 16115// SetCommonPrefixes sets the CommonPrefixes field's value. 16116func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput { 16117 s.CommonPrefixes = v 16118 return s 16119} 16120 16121// SetDelimiter sets the Delimiter field's value. 16122func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput { 16123 s.Delimiter = &v 16124 return s 16125} 16126 16127// SetEncodingType sets the EncodingType field's value. 16128func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput { 16129 s.EncodingType = &v 16130 return s 16131} 16132 16133// SetIsTruncated sets the IsTruncated field's value. 16134func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput { 16135 s.IsTruncated = &v 16136 return s 16137} 16138 16139// SetKeyMarker sets the KeyMarker field's value. 16140func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput { 16141 s.KeyMarker = &v 16142 return s 16143} 16144 16145// SetMaxUploads sets the MaxUploads field's value. 16146func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput { 16147 s.MaxUploads = &v 16148 return s 16149} 16150 16151// SetNextKeyMarker sets the NextKeyMarker field's value. 16152func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput { 16153 s.NextKeyMarker = &v 16154 return s 16155} 16156 16157// SetNextUploadIdMarker sets the NextUploadIdMarker field's value. 16158func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput { 16159 s.NextUploadIdMarker = &v 16160 return s 16161} 16162 16163// SetPrefix sets the Prefix field's value. 16164func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput { 16165 s.Prefix = &v 16166 return s 16167} 16168 16169// SetUploadIdMarker sets the UploadIdMarker field's value. 16170func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput { 16171 s.UploadIdMarker = &v 16172 return s 16173} 16174 16175// SetUploads sets the Uploads field's value. 16176func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput { 16177 s.Uploads = v 16178 return s 16179} 16180 16181type ListObjectVersionsInput struct { 16182 _ struct{} `type:"structure"` 16183 16184 // Bucket is a required field 16185 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16186 16187 // A delimiter is a character you use to group keys. 16188 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 16189 16190 // Requests Amazon S3 to encode the object keys in the response and specifies 16191 // the encoding method to use. An object key may contain any Unicode character; 16192 // however, XML 1.0 parser cannot parse some characters, such as characters 16193 // with an ASCII value from 0 to 10. For characters that are not supported in 16194 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 16195 // keys in the response. 16196 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 16197 16198 // Specifies the key to start with when listing objects in a bucket. 16199 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` 16200 16201 // Sets the maximum number of keys returned in the response. The response might 16202 // contain fewer keys but will never contain more. 16203 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 16204 16205 // Limits the response to keys that begin with the specified prefix. 16206 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 16207 16208 // Specifies the object version you want to start listing from. 16209 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"` 16210} 16211 16212// String returns the string representation 16213func (s ListObjectVersionsInput) String() string { 16214 return awsutil.Prettify(s) 16215} 16216 16217// GoString returns the string representation 16218func (s ListObjectVersionsInput) GoString() string { 16219 return s.String() 16220} 16221 16222// Validate inspects the fields of the type to determine if they are valid. 16223func (s *ListObjectVersionsInput) Validate() error { 16224 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"} 16225 if s.Bucket == nil { 16226 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16227 } 16228 if s.Bucket != nil && len(*s.Bucket) < 1 { 16229 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 16230 } 16231 16232 if invalidParams.Len() > 0 { 16233 return invalidParams 16234 } 16235 return nil 16236} 16237 16238// SetBucket sets the Bucket field's value. 16239func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput { 16240 s.Bucket = &v 16241 return s 16242} 16243 16244func (s *ListObjectVersionsInput) getBucket() (v string) { 16245 if s.Bucket == nil { 16246 return v 16247 } 16248 return *s.Bucket 16249} 16250 16251// SetDelimiter sets the Delimiter field's value. 16252func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput { 16253 s.Delimiter = &v 16254 return s 16255} 16256 16257// SetEncodingType sets the EncodingType field's value. 16258func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput { 16259 s.EncodingType = &v 16260 return s 16261} 16262 16263// SetKeyMarker sets the KeyMarker field's value. 16264func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput { 16265 s.KeyMarker = &v 16266 return s 16267} 16268 16269// SetMaxKeys sets the MaxKeys field's value. 16270func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput { 16271 s.MaxKeys = &v 16272 return s 16273} 16274 16275// SetPrefix sets the Prefix field's value. 16276func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput { 16277 s.Prefix = &v 16278 return s 16279} 16280 16281// SetVersionIdMarker sets the VersionIdMarker field's value. 16282func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput { 16283 s.VersionIdMarker = &v 16284 return s 16285} 16286 16287type ListObjectVersionsOutput struct { 16288 _ struct{} `type:"structure"` 16289 16290 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 16291 16292 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"` 16293 16294 Delimiter *string `type:"string"` 16295 16296 // Encoding type used by Amazon S3 to encode object keys in the response. 16297 EncodingType *string `type:"string" enum:"EncodingType"` 16298 16299 // A flag that indicates whether or not Amazon S3 returned all of the results 16300 // that satisfied the search criteria. If your results were truncated, you can 16301 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker 16302 // response parameters as a starting place in another request to return the 16303 // rest of the results. 16304 IsTruncated *bool `type:"boolean"` 16305 16306 // Marks the last Key returned in a truncated response. 16307 KeyMarker *string `type:"string"` 16308 16309 MaxKeys *int64 `type:"integer"` 16310 16311 Name *string `type:"string"` 16312 16313 // Use this value for the key marker request parameter in a subsequent request. 16314 NextKeyMarker *string `type:"string"` 16315 16316 // Use this value for the next version id marker parameter in a subsequent request. 16317 NextVersionIdMarker *string `type:"string"` 16318 16319 Prefix *string `type:"string"` 16320 16321 VersionIdMarker *string `type:"string"` 16322 16323 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"` 16324} 16325 16326// String returns the string representation 16327func (s ListObjectVersionsOutput) String() string { 16328 return awsutil.Prettify(s) 16329} 16330 16331// GoString returns the string representation 16332func (s ListObjectVersionsOutput) GoString() string { 16333 return s.String() 16334} 16335 16336// SetCommonPrefixes sets the CommonPrefixes field's value. 16337func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput { 16338 s.CommonPrefixes = v 16339 return s 16340} 16341 16342// SetDeleteMarkers sets the DeleteMarkers field's value. 16343func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput { 16344 s.DeleteMarkers = v 16345 return s 16346} 16347 16348// SetDelimiter sets the Delimiter field's value. 16349func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput { 16350 s.Delimiter = &v 16351 return s 16352} 16353 16354// SetEncodingType sets the EncodingType field's value. 16355func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput { 16356 s.EncodingType = &v 16357 return s 16358} 16359 16360// SetIsTruncated sets the IsTruncated field's value. 16361func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput { 16362 s.IsTruncated = &v 16363 return s 16364} 16365 16366// SetKeyMarker sets the KeyMarker field's value. 16367func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput { 16368 s.KeyMarker = &v 16369 return s 16370} 16371 16372// SetMaxKeys sets the MaxKeys field's value. 16373func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput { 16374 s.MaxKeys = &v 16375 return s 16376} 16377 16378// SetName sets the Name field's value. 16379func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput { 16380 s.Name = &v 16381 return s 16382} 16383 16384// SetNextKeyMarker sets the NextKeyMarker field's value. 16385func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput { 16386 s.NextKeyMarker = &v 16387 return s 16388} 16389 16390// SetNextVersionIdMarker sets the NextVersionIdMarker field's value. 16391func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput { 16392 s.NextVersionIdMarker = &v 16393 return s 16394} 16395 16396// SetPrefix sets the Prefix field's value. 16397func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput { 16398 s.Prefix = &v 16399 return s 16400} 16401 16402// SetVersionIdMarker sets the VersionIdMarker field's value. 16403func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput { 16404 s.VersionIdMarker = &v 16405 return s 16406} 16407 16408// SetVersions sets the Versions field's value. 16409func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput { 16410 s.Versions = v 16411 return s 16412} 16413 16414type ListObjectsInput struct { 16415 _ struct{} `type:"structure"` 16416 16417 // Bucket is a required field 16418 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16419 16420 // A delimiter is a character you use to group keys. 16421 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 16422 16423 // Requests Amazon S3 to encode the object keys in the response and specifies 16424 // the encoding method to use. An object key may contain any Unicode character; 16425 // however, XML 1.0 parser cannot parse some characters, such as characters 16426 // with an ASCII value from 0 to 10. For characters that are not supported in 16427 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 16428 // keys in the response. 16429 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 16430 16431 // Specifies the key to start with when listing objects in a bucket. 16432 Marker *string `location:"querystring" locationName:"marker" type:"string"` 16433 16434 // Sets the maximum number of keys returned in the response. The response might 16435 // contain fewer keys but will never contain more. 16436 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 16437 16438 // Limits the response to keys that begin with the specified prefix. 16439 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 16440 16441 // Confirms that the requester knows that she or he will be charged for the 16442 // list objects request. Bucket owners need not specify this parameter in their 16443 // requests. 16444 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 16445} 16446 16447// String returns the string representation 16448func (s ListObjectsInput) String() string { 16449 return awsutil.Prettify(s) 16450} 16451 16452// GoString returns the string representation 16453func (s ListObjectsInput) GoString() string { 16454 return s.String() 16455} 16456 16457// Validate inspects the fields of the type to determine if they are valid. 16458func (s *ListObjectsInput) Validate() error { 16459 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"} 16460 if s.Bucket == nil { 16461 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16462 } 16463 if s.Bucket != nil && len(*s.Bucket) < 1 { 16464 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 16465 } 16466 16467 if invalidParams.Len() > 0 { 16468 return invalidParams 16469 } 16470 return nil 16471} 16472 16473// SetBucket sets the Bucket field's value. 16474func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput { 16475 s.Bucket = &v 16476 return s 16477} 16478 16479func (s *ListObjectsInput) getBucket() (v string) { 16480 if s.Bucket == nil { 16481 return v 16482 } 16483 return *s.Bucket 16484} 16485 16486// SetDelimiter sets the Delimiter field's value. 16487func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput { 16488 s.Delimiter = &v 16489 return s 16490} 16491 16492// SetEncodingType sets the EncodingType field's value. 16493func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput { 16494 s.EncodingType = &v 16495 return s 16496} 16497 16498// SetMarker sets the Marker field's value. 16499func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput { 16500 s.Marker = &v 16501 return s 16502} 16503 16504// SetMaxKeys sets the MaxKeys field's value. 16505func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput { 16506 s.MaxKeys = &v 16507 return s 16508} 16509 16510// SetPrefix sets the Prefix field's value. 16511func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput { 16512 s.Prefix = &v 16513 return s 16514} 16515 16516// SetRequestPayer sets the RequestPayer field's value. 16517func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput { 16518 s.RequestPayer = &v 16519 return s 16520} 16521 16522type ListObjectsOutput struct { 16523 _ struct{} `type:"structure"` 16524 16525 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 16526 16527 Contents []*Object `type:"list" flattened:"true"` 16528 16529 Delimiter *string `type:"string"` 16530 16531 // Encoding type used by Amazon S3 to encode object keys in the response. 16532 EncodingType *string `type:"string" enum:"EncodingType"` 16533 16534 // A flag that indicates whether or not Amazon S3 returned all of the results 16535 // that satisfied the search criteria. 16536 IsTruncated *bool `type:"boolean"` 16537 16538 Marker *string `type:"string"` 16539 16540 MaxKeys *int64 `type:"integer"` 16541 16542 Name *string `type:"string"` 16543 16544 // When response is truncated (the IsTruncated element value in the response 16545 // is true), you can use the key name in this field as marker in the subsequent 16546 // request to get next set of objects. Amazon S3 lists objects in alphabetical 16547 // order Note: This element is returned only if you have delimiter request parameter 16548 // specified. If response does not include the NextMaker and it is truncated, 16549 // you can use the value of the last Key in the response as the marker in the 16550 // subsequent request to get the next set of object keys. 16551 NextMarker *string `type:"string"` 16552 16553 Prefix *string `type:"string"` 16554} 16555 16556// String returns the string representation 16557func (s ListObjectsOutput) String() string { 16558 return awsutil.Prettify(s) 16559} 16560 16561// GoString returns the string representation 16562func (s ListObjectsOutput) GoString() string { 16563 return s.String() 16564} 16565 16566// SetCommonPrefixes sets the CommonPrefixes field's value. 16567func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput { 16568 s.CommonPrefixes = v 16569 return s 16570} 16571 16572// SetContents sets the Contents field's value. 16573func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput { 16574 s.Contents = v 16575 return s 16576} 16577 16578// SetDelimiter sets the Delimiter field's value. 16579func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput { 16580 s.Delimiter = &v 16581 return s 16582} 16583 16584// SetEncodingType sets the EncodingType field's value. 16585func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput { 16586 s.EncodingType = &v 16587 return s 16588} 16589 16590// SetIsTruncated sets the IsTruncated field's value. 16591func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput { 16592 s.IsTruncated = &v 16593 return s 16594} 16595 16596// SetMarker sets the Marker field's value. 16597func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput { 16598 s.Marker = &v 16599 return s 16600} 16601 16602// SetMaxKeys sets the MaxKeys field's value. 16603func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput { 16604 s.MaxKeys = &v 16605 return s 16606} 16607 16608// SetName sets the Name field's value. 16609func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput { 16610 s.Name = &v 16611 return s 16612} 16613 16614// SetNextMarker sets the NextMarker field's value. 16615func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput { 16616 s.NextMarker = &v 16617 return s 16618} 16619 16620// SetPrefix sets the Prefix field's value. 16621func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput { 16622 s.Prefix = &v 16623 return s 16624} 16625 16626type ListObjectsV2Input struct { 16627 _ struct{} `type:"structure"` 16628 16629 // Name of the bucket to list. 16630 // 16631 // Bucket is a required field 16632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16633 16634 // ContinuationToken indicates Amazon S3 that the list is being continued on 16635 // this bucket with a token. ContinuationToken is obfuscated and is not a real 16636 // key 16637 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 16638 16639 // A delimiter is a character you use to group keys. 16640 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 16641 16642 // Encoding type used by Amazon S3 to encode object keys in the response. 16643 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 16644 16645 // The owner field is not present in listV2 by default, if you want to return 16646 // owner field with each key in the result then set the fetch owner field to 16647 // true 16648 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"` 16649 16650 // Sets the maximum number of keys returned in the response. The response might 16651 // contain fewer keys but will never contain more. 16652 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 16653 16654 // Limits the response to keys that begin with the specified prefix. 16655 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 16656 16657 // Confirms that the requester knows that she or he will be charged for the 16658 // list objects request in V2 style. Bucket owners need not specify this parameter 16659 // in their requests. 16660 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 16661 16662 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts 16663 // listing after this specified key. StartAfter can be any key in the bucket 16664 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"` 16665} 16666 16667// String returns the string representation 16668func (s ListObjectsV2Input) String() string { 16669 return awsutil.Prettify(s) 16670} 16671 16672// GoString returns the string representation 16673func (s ListObjectsV2Input) GoString() string { 16674 return s.String() 16675} 16676 16677// Validate inspects the fields of the type to determine if they are valid. 16678func (s *ListObjectsV2Input) Validate() error { 16679 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"} 16680 if s.Bucket == nil { 16681 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16682 } 16683 if s.Bucket != nil && len(*s.Bucket) < 1 { 16684 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 16685 } 16686 16687 if invalidParams.Len() > 0 { 16688 return invalidParams 16689 } 16690 return nil 16691} 16692 16693// SetBucket sets the Bucket field's value. 16694func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input { 16695 s.Bucket = &v 16696 return s 16697} 16698 16699func (s *ListObjectsV2Input) getBucket() (v string) { 16700 if s.Bucket == nil { 16701 return v 16702 } 16703 return *s.Bucket 16704} 16705 16706// SetContinuationToken sets the ContinuationToken field's value. 16707func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input { 16708 s.ContinuationToken = &v 16709 return s 16710} 16711 16712// SetDelimiter sets the Delimiter field's value. 16713func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input { 16714 s.Delimiter = &v 16715 return s 16716} 16717 16718// SetEncodingType sets the EncodingType field's value. 16719func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input { 16720 s.EncodingType = &v 16721 return s 16722} 16723 16724// SetFetchOwner sets the FetchOwner field's value. 16725func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input { 16726 s.FetchOwner = &v 16727 return s 16728} 16729 16730// SetMaxKeys sets the MaxKeys field's value. 16731func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input { 16732 s.MaxKeys = &v 16733 return s 16734} 16735 16736// SetPrefix sets the Prefix field's value. 16737func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input { 16738 s.Prefix = &v 16739 return s 16740} 16741 16742// SetRequestPayer sets the RequestPayer field's value. 16743func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input { 16744 s.RequestPayer = &v 16745 return s 16746} 16747 16748// SetStartAfter sets the StartAfter field's value. 16749func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input { 16750 s.StartAfter = &v 16751 return s 16752} 16753 16754type ListObjectsV2Output struct { 16755 _ struct{} `type:"structure"` 16756 16757 // CommonPrefixes contains all (if there are any) keys between Prefix and the 16758 // next occurrence of the string specified by delimiter 16759 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 16760 16761 // Metadata about each object returned. 16762 Contents []*Object `type:"list" flattened:"true"` 16763 16764 // ContinuationToken indicates Amazon S3 that the list is being continued on 16765 // this bucket with a token. ContinuationToken is obfuscated and is not a real 16766 // key 16767 ContinuationToken *string `type:"string"` 16768 16769 // A delimiter is a character you use to group keys. 16770 Delimiter *string `type:"string"` 16771 16772 // Encoding type used by Amazon S3 to encode object keys in the response. 16773 EncodingType *string `type:"string" enum:"EncodingType"` 16774 16775 // A flag that indicates whether or not Amazon S3 returned all of the results 16776 // that satisfied the search criteria. 16777 IsTruncated *bool `type:"boolean"` 16778 16779 // KeyCount is the number of keys returned with this request. KeyCount will 16780 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your 16781 // result will include less than equals 50 keys 16782 KeyCount *int64 `type:"integer"` 16783 16784 // Sets the maximum number of keys returned in the response. The response might 16785 // contain fewer keys but will never contain more. 16786 MaxKeys *int64 `type:"integer"` 16787 16788 // Name of the bucket to list. 16789 Name *string `type:"string"` 16790 16791 // NextContinuationToken is sent when isTruncated is true which means there 16792 // are more keys in the bucket that can be listed. The next list requests to 16793 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken 16794 // is obfuscated and is not a real key 16795 NextContinuationToken *string `type:"string"` 16796 16797 // Limits the response to keys that begin with the specified prefix. 16798 Prefix *string `type:"string"` 16799 16800 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts 16801 // listing after this specified key. StartAfter can be any key in the bucket 16802 StartAfter *string `type:"string"` 16803} 16804 16805// String returns the string representation 16806func (s ListObjectsV2Output) String() string { 16807 return awsutil.Prettify(s) 16808} 16809 16810// GoString returns the string representation 16811func (s ListObjectsV2Output) GoString() string { 16812 return s.String() 16813} 16814 16815// SetCommonPrefixes sets the CommonPrefixes field's value. 16816func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output { 16817 s.CommonPrefixes = v 16818 return s 16819} 16820 16821// SetContents sets the Contents field's value. 16822func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output { 16823 s.Contents = v 16824 return s 16825} 16826 16827// SetContinuationToken sets the ContinuationToken field's value. 16828func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output { 16829 s.ContinuationToken = &v 16830 return s 16831} 16832 16833// SetDelimiter sets the Delimiter field's value. 16834func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output { 16835 s.Delimiter = &v 16836 return s 16837} 16838 16839// SetEncodingType sets the EncodingType field's value. 16840func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output { 16841 s.EncodingType = &v 16842 return s 16843} 16844 16845// SetIsTruncated sets the IsTruncated field's value. 16846func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output { 16847 s.IsTruncated = &v 16848 return s 16849} 16850 16851// SetKeyCount sets the KeyCount field's value. 16852func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output { 16853 s.KeyCount = &v 16854 return s 16855} 16856 16857// SetMaxKeys sets the MaxKeys field's value. 16858func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output { 16859 s.MaxKeys = &v 16860 return s 16861} 16862 16863// SetName sets the Name field's value. 16864func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output { 16865 s.Name = &v 16866 return s 16867} 16868 16869// SetNextContinuationToken sets the NextContinuationToken field's value. 16870func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output { 16871 s.NextContinuationToken = &v 16872 return s 16873} 16874 16875// SetPrefix sets the Prefix field's value. 16876func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output { 16877 s.Prefix = &v 16878 return s 16879} 16880 16881// SetStartAfter sets the StartAfter field's value. 16882func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output { 16883 s.StartAfter = &v 16884 return s 16885} 16886 16887type ListPartsInput struct { 16888 _ struct{} `type:"structure"` 16889 16890 // Bucket is a required field 16891 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16892 16893 // Key is a required field 16894 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 16895 16896 // Sets the maximum number of parts to return. 16897 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"` 16898 16899 // Specifies the part after which listing should begin. Only parts with higher 16900 // part numbers will be listed. 16901 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"` 16902 16903 // Confirms that the requester knows that she or he will be charged for the 16904 // request. Bucket owners need not specify this parameter in their requests. 16905 // Documentation on downloading objects from requester pays buckets can be found 16906 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 16907 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 16908 16909 // Upload ID identifying the multipart upload whose parts are being listed. 16910 // 16911 // UploadId is a required field 16912 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 16913} 16914 16915// String returns the string representation 16916func (s ListPartsInput) String() string { 16917 return awsutil.Prettify(s) 16918} 16919 16920// GoString returns the string representation 16921func (s ListPartsInput) GoString() string { 16922 return s.String() 16923} 16924 16925// Validate inspects the fields of the type to determine if they are valid. 16926func (s *ListPartsInput) Validate() error { 16927 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"} 16928 if s.Bucket == nil { 16929 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16930 } 16931 if s.Bucket != nil && len(*s.Bucket) < 1 { 16932 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 16933 } 16934 if s.Key == nil { 16935 invalidParams.Add(request.NewErrParamRequired("Key")) 16936 } 16937 if s.Key != nil && len(*s.Key) < 1 { 16938 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 16939 } 16940 if s.UploadId == nil { 16941 invalidParams.Add(request.NewErrParamRequired("UploadId")) 16942 } 16943 16944 if invalidParams.Len() > 0 { 16945 return invalidParams 16946 } 16947 return nil 16948} 16949 16950// SetBucket sets the Bucket field's value. 16951func (s *ListPartsInput) SetBucket(v string) *ListPartsInput { 16952 s.Bucket = &v 16953 return s 16954} 16955 16956func (s *ListPartsInput) getBucket() (v string) { 16957 if s.Bucket == nil { 16958 return v 16959 } 16960 return *s.Bucket 16961} 16962 16963// SetKey sets the Key field's value. 16964func (s *ListPartsInput) SetKey(v string) *ListPartsInput { 16965 s.Key = &v 16966 return s 16967} 16968 16969// SetMaxParts sets the MaxParts field's value. 16970func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput { 16971 s.MaxParts = &v 16972 return s 16973} 16974 16975// SetPartNumberMarker sets the PartNumberMarker field's value. 16976func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput { 16977 s.PartNumberMarker = &v 16978 return s 16979} 16980 16981// SetRequestPayer sets the RequestPayer field's value. 16982func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput { 16983 s.RequestPayer = &v 16984 return s 16985} 16986 16987// SetUploadId sets the UploadId field's value. 16988func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput { 16989 s.UploadId = &v 16990 return s 16991} 16992 16993type ListPartsOutput struct { 16994 _ struct{} `type:"structure"` 16995 16996 // Date when multipart upload will become eligible for abort operation by lifecycle. 16997 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"` 16998 16999 // Id of the lifecycle rule that makes a multipart upload eligible for abort 17000 // operation. 17001 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` 17002 17003 // Name of the bucket to which the multipart upload was initiated. 17004 Bucket *string `type:"string"` 17005 17006 // Identifies who initiated the multipart upload. 17007 Initiator *Initiator `type:"structure"` 17008 17009 // Indicates whether the returned list of parts is truncated. 17010 IsTruncated *bool `type:"boolean"` 17011 17012 // Object key for which the multipart upload was initiated. 17013 Key *string `min:"1" type:"string"` 17014 17015 // Maximum number of parts that were allowed in the response. 17016 MaxParts *int64 `type:"integer"` 17017 17018 // When a list is truncated, this element specifies the last part in the list, 17019 // as well as the value to use for the part-number-marker request parameter 17020 // in a subsequent request. 17021 NextPartNumberMarker *int64 `type:"integer"` 17022 17023 Owner *Owner `type:"structure"` 17024 17025 // Part number after which listing begins. 17026 PartNumberMarker *int64 `type:"integer"` 17027 17028 Parts []*Part `locationName:"Part" type:"list" flattened:"true"` 17029 17030 // If present, indicates that the requester was successfully charged for the 17031 // request. 17032 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 17033 17034 // The class of storage used to store the object. 17035 StorageClass *string `type:"string" enum:"StorageClass"` 17036 17037 // Upload ID identifying the multipart upload whose parts are being listed. 17038 UploadId *string `type:"string"` 17039} 17040 17041// String returns the string representation 17042func (s ListPartsOutput) String() string { 17043 return awsutil.Prettify(s) 17044} 17045 17046// GoString returns the string representation 17047func (s ListPartsOutput) GoString() string { 17048 return s.String() 17049} 17050 17051// SetAbortDate sets the AbortDate field's value. 17052func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput { 17053 s.AbortDate = &v 17054 return s 17055} 17056 17057// SetAbortRuleId sets the AbortRuleId field's value. 17058func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput { 17059 s.AbortRuleId = &v 17060 return s 17061} 17062 17063// SetBucket sets the Bucket field's value. 17064func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput { 17065 s.Bucket = &v 17066 return s 17067} 17068 17069func (s *ListPartsOutput) getBucket() (v string) { 17070 if s.Bucket == nil { 17071 return v 17072 } 17073 return *s.Bucket 17074} 17075 17076// SetInitiator sets the Initiator field's value. 17077func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput { 17078 s.Initiator = v 17079 return s 17080} 17081 17082// SetIsTruncated sets the IsTruncated field's value. 17083func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput { 17084 s.IsTruncated = &v 17085 return s 17086} 17087 17088// SetKey sets the Key field's value. 17089func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput { 17090 s.Key = &v 17091 return s 17092} 17093 17094// SetMaxParts sets the MaxParts field's value. 17095func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput { 17096 s.MaxParts = &v 17097 return s 17098} 17099 17100// SetNextPartNumberMarker sets the NextPartNumberMarker field's value. 17101func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput { 17102 s.NextPartNumberMarker = &v 17103 return s 17104} 17105 17106// SetOwner sets the Owner field's value. 17107func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput { 17108 s.Owner = v 17109 return s 17110} 17111 17112// SetPartNumberMarker sets the PartNumberMarker field's value. 17113func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput { 17114 s.PartNumberMarker = &v 17115 return s 17116} 17117 17118// SetParts sets the Parts field's value. 17119func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput { 17120 s.Parts = v 17121 return s 17122} 17123 17124// SetRequestCharged sets the RequestCharged field's value. 17125func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput { 17126 s.RequestCharged = &v 17127 return s 17128} 17129 17130// SetStorageClass sets the StorageClass field's value. 17131func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput { 17132 s.StorageClass = &v 17133 return s 17134} 17135 17136// SetUploadId sets the UploadId field's value. 17137func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput { 17138 s.UploadId = &v 17139 return s 17140} 17141 17142// Describes an S3 location that will receive the results of the restore request. 17143type Location struct { 17144 _ struct{} `type:"structure"` 17145 17146 // A list of grants that control access to the staged results. 17147 AccessControlList []*Grant `locationNameList:"Grant" type:"list"` 17148 17149 // The name of the bucket where the restore results will be placed. 17150 // 17151 // BucketName is a required field 17152 BucketName *string `type:"string" required:"true"` 17153 17154 // The canned ACL to apply to the restore results. 17155 CannedACL *string `type:"string" enum:"ObjectCannedACL"` 17156 17157 // Describes the server-side encryption that will be applied to the restore 17158 // results. 17159 Encryption *Encryption `type:"structure"` 17160 17161 // The prefix that is prepended to the restore results for this request. 17162 // 17163 // Prefix is a required field 17164 Prefix *string `type:"string" required:"true"` 17165 17166 // The class of storage used to store the restore results. 17167 StorageClass *string `type:"string" enum:"StorageClass"` 17168 17169 // The tag-set that is applied to the restore results. 17170 Tagging *Tagging `type:"structure"` 17171 17172 // A list of metadata to store with the restore results in S3. 17173 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"` 17174} 17175 17176// String returns the string representation 17177func (s Location) String() string { 17178 return awsutil.Prettify(s) 17179} 17180 17181// GoString returns the string representation 17182func (s Location) GoString() string { 17183 return s.String() 17184} 17185 17186// Validate inspects the fields of the type to determine if they are valid. 17187func (s *Location) Validate() error { 17188 invalidParams := request.ErrInvalidParams{Context: "Location"} 17189 if s.BucketName == nil { 17190 invalidParams.Add(request.NewErrParamRequired("BucketName")) 17191 } 17192 if s.Prefix == nil { 17193 invalidParams.Add(request.NewErrParamRequired("Prefix")) 17194 } 17195 if s.AccessControlList != nil { 17196 for i, v := range s.AccessControlList { 17197 if v == nil { 17198 continue 17199 } 17200 if err := v.Validate(); err != nil { 17201 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams)) 17202 } 17203 } 17204 } 17205 if s.Encryption != nil { 17206 if err := s.Encryption.Validate(); err != nil { 17207 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 17208 } 17209 } 17210 if s.Tagging != nil { 17211 if err := s.Tagging.Validate(); err != nil { 17212 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 17213 } 17214 } 17215 17216 if invalidParams.Len() > 0 { 17217 return invalidParams 17218 } 17219 return nil 17220} 17221 17222// SetAccessControlList sets the AccessControlList field's value. 17223func (s *Location) SetAccessControlList(v []*Grant) *Location { 17224 s.AccessControlList = v 17225 return s 17226} 17227 17228// SetBucketName sets the BucketName field's value. 17229func (s *Location) SetBucketName(v string) *Location { 17230 s.BucketName = &v 17231 return s 17232} 17233 17234// SetCannedACL sets the CannedACL field's value. 17235func (s *Location) SetCannedACL(v string) *Location { 17236 s.CannedACL = &v 17237 return s 17238} 17239 17240// SetEncryption sets the Encryption field's value. 17241func (s *Location) SetEncryption(v *Encryption) *Location { 17242 s.Encryption = v 17243 return s 17244} 17245 17246// SetPrefix sets the Prefix field's value. 17247func (s *Location) SetPrefix(v string) *Location { 17248 s.Prefix = &v 17249 return s 17250} 17251 17252// SetStorageClass sets the StorageClass field's value. 17253func (s *Location) SetStorageClass(v string) *Location { 17254 s.StorageClass = &v 17255 return s 17256} 17257 17258// SetTagging sets the Tagging field's value. 17259func (s *Location) SetTagging(v *Tagging) *Location { 17260 s.Tagging = v 17261 return s 17262} 17263 17264// SetUserMetadata sets the UserMetadata field's value. 17265func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location { 17266 s.UserMetadata = v 17267 return s 17268} 17269 17270// Container for logging information. Presence of this element indicates that 17271// logging is enabled. Parameters TargetBucket and TargetPrefix are required 17272// in this case. 17273type LoggingEnabled struct { 17274 _ struct{} `type:"structure"` 17275 17276 // Specifies the bucket where you want Amazon S3 to store server access logs. 17277 // You can have your logs delivered to any bucket that you own, including the 17278 // same bucket that is being logged. You can also configure multiple buckets 17279 // to deliver their logs to the same target bucket. In this case you should 17280 // choose a different TargetPrefix for each source bucket so that the delivered 17281 // log files can be distinguished by key. 17282 // 17283 // TargetBucket is a required field 17284 TargetBucket *string `type:"string" required:"true"` 17285 17286 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` 17287 17288 // This element lets you specify a prefix for the keys that the log files will 17289 // be stored under. 17290 // 17291 // TargetPrefix is a required field 17292 TargetPrefix *string `type:"string" required:"true"` 17293} 17294 17295// String returns the string representation 17296func (s LoggingEnabled) String() string { 17297 return awsutil.Prettify(s) 17298} 17299 17300// GoString returns the string representation 17301func (s LoggingEnabled) GoString() string { 17302 return s.String() 17303} 17304 17305// Validate inspects the fields of the type to determine if they are valid. 17306func (s *LoggingEnabled) Validate() error { 17307 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"} 17308 if s.TargetBucket == nil { 17309 invalidParams.Add(request.NewErrParamRequired("TargetBucket")) 17310 } 17311 if s.TargetPrefix == nil { 17312 invalidParams.Add(request.NewErrParamRequired("TargetPrefix")) 17313 } 17314 if s.TargetGrants != nil { 17315 for i, v := range s.TargetGrants { 17316 if v == nil { 17317 continue 17318 } 17319 if err := v.Validate(); err != nil { 17320 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams)) 17321 } 17322 } 17323 } 17324 17325 if invalidParams.Len() > 0 { 17326 return invalidParams 17327 } 17328 return nil 17329} 17330 17331// SetTargetBucket sets the TargetBucket field's value. 17332func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled { 17333 s.TargetBucket = &v 17334 return s 17335} 17336 17337// SetTargetGrants sets the TargetGrants field's value. 17338func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled { 17339 s.TargetGrants = v 17340 return s 17341} 17342 17343// SetTargetPrefix sets the TargetPrefix field's value. 17344func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled { 17345 s.TargetPrefix = &v 17346 return s 17347} 17348 17349// A metadata key-value pair to store with an object. 17350type MetadataEntry struct { 17351 _ struct{} `type:"structure"` 17352 17353 Name *string `type:"string"` 17354 17355 Value *string `type:"string"` 17356} 17357 17358// String returns the string representation 17359func (s MetadataEntry) String() string { 17360 return awsutil.Prettify(s) 17361} 17362 17363// GoString returns the string representation 17364func (s MetadataEntry) GoString() string { 17365 return s.String() 17366} 17367 17368// SetName sets the Name field's value. 17369func (s *MetadataEntry) SetName(v string) *MetadataEntry { 17370 s.Name = &v 17371 return s 17372} 17373 17374// SetValue sets the Value field's value. 17375func (s *MetadataEntry) SetValue(v string) *MetadataEntry { 17376 s.Value = &v 17377 return s 17378} 17379 17380type MetricsAndOperator struct { 17381 _ struct{} `type:"structure"` 17382 17383 // The prefix used when evaluating an AND predicate. 17384 Prefix *string `type:"string"` 17385 17386 // The list of tags used when evaluating an AND predicate. 17387 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 17388} 17389 17390// String returns the string representation 17391func (s MetricsAndOperator) String() string { 17392 return awsutil.Prettify(s) 17393} 17394 17395// GoString returns the string representation 17396func (s MetricsAndOperator) GoString() string { 17397 return s.String() 17398} 17399 17400// Validate inspects the fields of the type to determine if they are valid. 17401func (s *MetricsAndOperator) Validate() error { 17402 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"} 17403 if s.Tags != nil { 17404 for i, v := range s.Tags { 17405 if v == nil { 17406 continue 17407 } 17408 if err := v.Validate(); err != nil { 17409 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17410 } 17411 } 17412 } 17413 17414 if invalidParams.Len() > 0 { 17415 return invalidParams 17416 } 17417 return nil 17418} 17419 17420// SetPrefix sets the Prefix field's value. 17421func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator { 17422 s.Prefix = &v 17423 return s 17424} 17425 17426// SetTags sets the Tags field's value. 17427func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator { 17428 s.Tags = v 17429 return s 17430} 17431 17432type MetricsConfiguration struct { 17433 _ struct{} `type:"structure"` 17434 17435 // Specifies a metrics configuration filter. The metrics configuration will 17436 // only include objects that meet the filter's criteria. A filter must be a 17437 // prefix, a tag, or a conjunction (MetricsAndOperator). 17438 Filter *MetricsFilter `type:"structure"` 17439 17440 // The ID used to identify the metrics configuration. 17441 // 17442 // Id is a required field 17443 Id *string `type:"string" required:"true"` 17444} 17445 17446// String returns the string representation 17447func (s MetricsConfiguration) String() string { 17448 return awsutil.Prettify(s) 17449} 17450 17451// GoString returns the string representation 17452func (s MetricsConfiguration) GoString() string { 17453 return s.String() 17454} 17455 17456// Validate inspects the fields of the type to determine if they are valid. 17457func (s *MetricsConfiguration) Validate() error { 17458 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"} 17459 if s.Id == nil { 17460 invalidParams.Add(request.NewErrParamRequired("Id")) 17461 } 17462 if s.Filter != nil { 17463 if err := s.Filter.Validate(); err != nil { 17464 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 17465 } 17466 } 17467 17468 if invalidParams.Len() > 0 { 17469 return invalidParams 17470 } 17471 return nil 17472} 17473 17474// SetFilter sets the Filter field's value. 17475func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration { 17476 s.Filter = v 17477 return s 17478} 17479 17480// SetId sets the Id field's value. 17481func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration { 17482 s.Id = &v 17483 return s 17484} 17485 17486type MetricsFilter struct { 17487 _ struct{} `type:"structure"` 17488 17489 // A conjunction (logical AND) of predicates, which is used in evaluating a 17490 // metrics filter. The operator must have at least two predicates, and an object 17491 // must match all of the predicates in order for the filter to apply. 17492 And *MetricsAndOperator `type:"structure"` 17493 17494 // The prefix used when evaluating a metrics filter. 17495 Prefix *string `type:"string"` 17496 17497 // The tag used when evaluating a metrics filter. 17498 Tag *Tag `type:"structure"` 17499} 17500 17501// String returns the string representation 17502func (s MetricsFilter) String() string { 17503 return awsutil.Prettify(s) 17504} 17505 17506// GoString returns the string representation 17507func (s MetricsFilter) GoString() string { 17508 return s.String() 17509} 17510 17511// Validate inspects the fields of the type to determine if they are valid. 17512func (s *MetricsFilter) Validate() error { 17513 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"} 17514 if s.And != nil { 17515 if err := s.And.Validate(); err != nil { 17516 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 17517 } 17518 } 17519 if s.Tag != nil { 17520 if err := s.Tag.Validate(); err != nil { 17521 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 17522 } 17523 } 17524 17525 if invalidParams.Len() > 0 { 17526 return invalidParams 17527 } 17528 return nil 17529} 17530 17531// SetAnd sets the And field's value. 17532func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter { 17533 s.And = v 17534 return s 17535} 17536 17537// SetPrefix sets the Prefix field's value. 17538func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter { 17539 s.Prefix = &v 17540 return s 17541} 17542 17543// SetTag sets the Tag field's value. 17544func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter { 17545 s.Tag = v 17546 return s 17547} 17548 17549type MultipartUpload struct { 17550 _ struct{} `type:"structure"` 17551 17552 // Date and time at which the multipart upload was initiated. 17553 Initiated *time.Time `type:"timestamp"` 17554 17555 // Identifies who initiated the multipart upload. 17556 Initiator *Initiator `type:"structure"` 17557 17558 // Key of the object for which the multipart upload was initiated. 17559 Key *string `min:"1" type:"string"` 17560 17561 Owner *Owner `type:"structure"` 17562 17563 // The class of storage used to store the object. 17564 StorageClass *string `type:"string" enum:"StorageClass"` 17565 17566 // Upload ID that identifies the multipart upload. 17567 UploadId *string `type:"string"` 17568} 17569 17570// String returns the string representation 17571func (s MultipartUpload) String() string { 17572 return awsutil.Prettify(s) 17573} 17574 17575// GoString returns the string representation 17576func (s MultipartUpload) GoString() string { 17577 return s.String() 17578} 17579 17580// SetInitiated sets the Initiated field's value. 17581func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload { 17582 s.Initiated = &v 17583 return s 17584} 17585 17586// SetInitiator sets the Initiator field's value. 17587func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload { 17588 s.Initiator = v 17589 return s 17590} 17591 17592// SetKey sets the Key field's value. 17593func (s *MultipartUpload) SetKey(v string) *MultipartUpload { 17594 s.Key = &v 17595 return s 17596} 17597 17598// SetOwner sets the Owner field's value. 17599func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload { 17600 s.Owner = v 17601 return s 17602} 17603 17604// SetStorageClass sets the StorageClass field's value. 17605func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload { 17606 s.StorageClass = &v 17607 return s 17608} 17609 17610// SetUploadId sets the UploadId field's value. 17611func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload { 17612 s.UploadId = &v 17613 return s 17614} 17615 17616// Specifies when noncurrent object versions expire. Upon expiration, Amazon 17617// S3 permanently deletes the noncurrent object versions. You set this lifecycle 17618// configuration action on a bucket that has versioning enabled (or suspended) 17619// to request that Amazon S3 delete noncurrent object versions at a specific 17620// period in the object's lifetime. 17621type NoncurrentVersionExpiration struct { 17622 _ struct{} `type:"structure"` 17623 17624 // Specifies the number of days an object is noncurrent before Amazon S3 can 17625 // perform the associated action. For information about the noncurrent days 17626 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 17627 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 17628 // in the Amazon Simple Storage Service Developer Guide. 17629 NoncurrentDays *int64 `type:"integer"` 17630} 17631 17632// String returns the string representation 17633func (s NoncurrentVersionExpiration) String() string { 17634 return awsutil.Prettify(s) 17635} 17636 17637// GoString returns the string representation 17638func (s NoncurrentVersionExpiration) GoString() string { 17639 return s.String() 17640} 17641 17642// SetNoncurrentDays sets the NoncurrentDays field's value. 17643func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 17644 s.NoncurrentDays = &v 17645 return s 17646} 17647 17648// Container for the transition rule that describes when noncurrent objects 17649// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or 17650// DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning 17651// is suspended), you can set this action to request that Amazon S3 transition 17652// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, 17653// GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's 17654// lifetime. 17655type NoncurrentVersionTransition struct { 17656 _ struct{} `type:"structure"` 17657 17658 // Specifies the number of days an object is noncurrent before Amazon S3 can 17659 // perform the associated action. For information about the noncurrent days 17660 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 17661 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) 17662 // in the Amazon Simple Storage Service Developer Guide. 17663 NoncurrentDays *int64 `type:"integer"` 17664 17665 // The class of storage used to store the object. 17666 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 17667} 17668 17669// String returns the string representation 17670func (s NoncurrentVersionTransition) String() string { 17671 return awsutil.Prettify(s) 17672} 17673 17674// GoString returns the string representation 17675func (s NoncurrentVersionTransition) GoString() string { 17676 return s.String() 17677} 17678 17679// SetNoncurrentDays sets the NoncurrentDays field's value. 17680func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 17681 s.NoncurrentDays = &v 17682 return s 17683} 17684 17685// SetStorageClass sets the StorageClass field's value. 17686func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 17687 s.StorageClass = &v 17688 return s 17689} 17690 17691// A container for specifying the notification configuration of the bucket. 17692// If this element is empty, notifications are turned off for the bucket. 17693type NotificationConfiguration struct { 17694 _ struct{} `type:"structure"` 17695 17696 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"` 17697 17698 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"` 17699 17700 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"` 17701} 17702 17703// String returns the string representation 17704func (s NotificationConfiguration) String() string { 17705 return awsutil.Prettify(s) 17706} 17707 17708// GoString returns the string representation 17709func (s NotificationConfiguration) GoString() string { 17710 return s.String() 17711} 17712 17713// Validate inspects the fields of the type to determine if they are valid. 17714func (s *NotificationConfiguration) Validate() error { 17715 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"} 17716 if s.LambdaFunctionConfigurations != nil { 17717 for i, v := range s.LambdaFunctionConfigurations { 17718 if v == nil { 17719 continue 17720 } 17721 if err := v.Validate(); err != nil { 17722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams)) 17723 } 17724 } 17725 } 17726 if s.QueueConfigurations != nil { 17727 for i, v := range s.QueueConfigurations { 17728 if v == nil { 17729 continue 17730 } 17731 if err := v.Validate(); err != nil { 17732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams)) 17733 } 17734 } 17735 } 17736 if s.TopicConfigurations != nil { 17737 for i, v := range s.TopicConfigurations { 17738 if v == nil { 17739 continue 17740 } 17741 if err := v.Validate(); err != nil { 17742 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams)) 17743 } 17744 } 17745 } 17746 17747 if invalidParams.Len() > 0 { 17748 return invalidParams 17749 } 17750 return nil 17751} 17752 17753// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value. 17754func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration { 17755 s.LambdaFunctionConfigurations = v 17756 return s 17757} 17758 17759// SetQueueConfigurations sets the QueueConfigurations field's value. 17760func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration { 17761 s.QueueConfigurations = v 17762 return s 17763} 17764 17765// SetTopicConfigurations sets the TopicConfigurations field's value. 17766func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration { 17767 s.TopicConfigurations = v 17768 return s 17769} 17770 17771type NotificationConfigurationDeprecated struct { 17772 _ struct{} `type:"structure"` 17773 17774 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"` 17775 17776 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"` 17777 17778 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"` 17779} 17780 17781// String returns the string representation 17782func (s NotificationConfigurationDeprecated) String() string { 17783 return awsutil.Prettify(s) 17784} 17785 17786// GoString returns the string representation 17787func (s NotificationConfigurationDeprecated) GoString() string { 17788 return s.String() 17789} 17790 17791// SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value. 17792func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated { 17793 s.CloudFunctionConfiguration = v 17794 return s 17795} 17796 17797// SetQueueConfiguration sets the QueueConfiguration field's value. 17798func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated { 17799 s.QueueConfiguration = v 17800 return s 17801} 17802 17803// SetTopicConfiguration sets the TopicConfiguration field's value. 17804func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated { 17805 s.TopicConfiguration = v 17806 return s 17807} 17808 17809// A container for object key name filtering rules. For information about key 17810// name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 17811// in the Amazon Simple Storage Service Developer Guide. 17812type NotificationConfigurationFilter struct { 17813 _ struct{} `type:"structure"` 17814 17815 // A container for object key name prefix and suffix filtering rules. 17816 Key *KeyFilter `locationName:"S3Key" type:"structure"` 17817} 17818 17819// String returns the string representation 17820func (s NotificationConfigurationFilter) String() string { 17821 return awsutil.Prettify(s) 17822} 17823 17824// GoString returns the string representation 17825func (s NotificationConfigurationFilter) GoString() string { 17826 return s.String() 17827} 17828 17829// SetKey sets the Key field's value. 17830func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter { 17831 s.Key = v 17832 return s 17833} 17834 17835type Object struct { 17836 _ struct{} `type:"structure"` 17837 17838 ETag *string `type:"string"` 17839 17840 Key *string `min:"1" type:"string"` 17841 17842 LastModified *time.Time `type:"timestamp"` 17843 17844 Owner *Owner `type:"structure"` 17845 17846 Size *int64 `type:"integer"` 17847 17848 // The class of storage used to store the object. 17849 StorageClass *string `type:"string" enum:"ObjectStorageClass"` 17850} 17851 17852// String returns the string representation 17853func (s Object) String() string { 17854 return awsutil.Prettify(s) 17855} 17856 17857// GoString returns the string representation 17858func (s Object) GoString() string { 17859 return s.String() 17860} 17861 17862// SetETag sets the ETag field's value. 17863func (s *Object) SetETag(v string) *Object { 17864 s.ETag = &v 17865 return s 17866} 17867 17868// SetKey sets the Key field's value. 17869func (s *Object) SetKey(v string) *Object { 17870 s.Key = &v 17871 return s 17872} 17873 17874// SetLastModified sets the LastModified field's value. 17875func (s *Object) SetLastModified(v time.Time) *Object { 17876 s.LastModified = &v 17877 return s 17878} 17879 17880// SetOwner sets the Owner field's value. 17881func (s *Object) SetOwner(v *Owner) *Object { 17882 s.Owner = v 17883 return s 17884} 17885 17886// SetSize sets the Size field's value. 17887func (s *Object) SetSize(v int64) *Object { 17888 s.Size = &v 17889 return s 17890} 17891 17892// SetStorageClass sets the StorageClass field's value. 17893func (s *Object) SetStorageClass(v string) *Object { 17894 s.StorageClass = &v 17895 return s 17896} 17897 17898type ObjectIdentifier struct { 17899 _ struct{} `type:"structure"` 17900 17901 // Key name of the object to delete. 17902 // 17903 // Key is a required field 17904 Key *string `min:"1" type:"string" required:"true"` 17905 17906 // VersionId for the specific version of the object to delete. 17907 VersionId *string `type:"string"` 17908} 17909 17910// String returns the string representation 17911func (s ObjectIdentifier) String() string { 17912 return awsutil.Prettify(s) 17913} 17914 17915// GoString returns the string representation 17916func (s ObjectIdentifier) GoString() string { 17917 return s.String() 17918} 17919 17920// Validate inspects the fields of the type to determine if they are valid. 17921func (s *ObjectIdentifier) Validate() error { 17922 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"} 17923 if s.Key == nil { 17924 invalidParams.Add(request.NewErrParamRequired("Key")) 17925 } 17926 if s.Key != nil && len(*s.Key) < 1 { 17927 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17928 } 17929 17930 if invalidParams.Len() > 0 { 17931 return invalidParams 17932 } 17933 return nil 17934} 17935 17936// SetKey sets the Key field's value. 17937func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier { 17938 s.Key = &v 17939 return s 17940} 17941 17942// SetVersionId sets the VersionId field's value. 17943func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier { 17944 s.VersionId = &v 17945 return s 17946} 17947 17948// The container element for Object Lock configuration parameters. 17949type ObjectLockConfiguration struct { 17950 _ struct{} `type:"structure"` 17951 17952 // Indicates whether this bucket has an Object Lock configuration enabled. 17953 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"` 17954 17955 // The Object Lock rule in place for the specified object. 17956 Rule *ObjectLockRule `type:"structure"` 17957} 17958 17959// String returns the string representation 17960func (s ObjectLockConfiguration) String() string { 17961 return awsutil.Prettify(s) 17962} 17963 17964// GoString returns the string representation 17965func (s ObjectLockConfiguration) GoString() string { 17966 return s.String() 17967} 17968 17969// SetObjectLockEnabled sets the ObjectLockEnabled field's value. 17970func (s *ObjectLockConfiguration) SetObjectLockEnabled(v string) *ObjectLockConfiguration { 17971 s.ObjectLockEnabled = &v 17972 return s 17973} 17974 17975// SetRule sets the Rule field's value. 17976func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfiguration { 17977 s.Rule = v 17978 return s 17979} 17980 17981// A Legal Hold configuration for an object. 17982type ObjectLockLegalHold struct { 17983 _ struct{} `type:"structure"` 17984 17985 // Indicates whether the specified object has a Legal Hold in place. 17986 Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"` 17987} 17988 17989// String returns the string representation 17990func (s ObjectLockLegalHold) String() string { 17991 return awsutil.Prettify(s) 17992} 17993 17994// GoString returns the string representation 17995func (s ObjectLockLegalHold) GoString() string { 17996 return s.String() 17997} 17998 17999// SetStatus sets the Status field's value. 18000func (s *ObjectLockLegalHold) SetStatus(v string) *ObjectLockLegalHold { 18001 s.Status = &v 18002 return s 18003} 18004 18005// A Retention configuration for an object. 18006type ObjectLockRetention struct { 18007 _ struct{} `type:"structure"` 18008 18009 // Indicates the Retention mode for the specified object. 18010 Mode *string `type:"string" enum:"ObjectLockRetentionMode"` 18011 18012 // The date on which this Object Lock Retention will expire. 18013 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 18014} 18015 18016// String returns the string representation 18017func (s ObjectLockRetention) String() string { 18018 return awsutil.Prettify(s) 18019} 18020 18021// GoString returns the string representation 18022func (s ObjectLockRetention) GoString() string { 18023 return s.String() 18024} 18025 18026// SetMode sets the Mode field's value. 18027func (s *ObjectLockRetention) SetMode(v string) *ObjectLockRetention { 18028 s.Mode = &v 18029 return s 18030} 18031 18032// SetRetainUntilDate sets the RetainUntilDate field's value. 18033func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetention { 18034 s.RetainUntilDate = &v 18035 return s 18036} 18037 18038// The container element for an Object Lock rule. 18039type ObjectLockRule struct { 18040 _ struct{} `type:"structure"` 18041 18042 // The default retention period that you want to apply to new objects placed 18043 // in the specified bucket. 18044 DefaultRetention *DefaultRetention `type:"structure"` 18045} 18046 18047// String returns the string representation 18048func (s ObjectLockRule) String() string { 18049 return awsutil.Prettify(s) 18050} 18051 18052// GoString returns the string representation 18053func (s ObjectLockRule) GoString() string { 18054 return s.String() 18055} 18056 18057// SetDefaultRetention sets the DefaultRetention field's value. 18058func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRule { 18059 s.DefaultRetention = v 18060 return s 18061} 18062 18063type ObjectVersion struct { 18064 _ struct{} `type:"structure"` 18065 18066 ETag *string `type:"string"` 18067 18068 // Specifies whether the object is (true) or is not (false) the latest version 18069 // of an object. 18070 IsLatest *bool `type:"boolean"` 18071 18072 // The object key. 18073 Key *string `min:"1" type:"string"` 18074 18075 // Date and time the object was last modified. 18076 LastModified *time.Time `type:"timestamp"` 18077 18078 Owner *Owner `type:"structure"` 18079 18080 // Size in bytes of the object. 18081 Size *int64 `type:"integer"` 18082 18083 // The class of storage used to store the object. 18084 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"` 18085 18086 // Version ID of an object. 18087 VersionId *string `type:"string"` 18088} 18089 18090// String returns the string representation 18091func (s ObjectVersion) String() string { 18092 return awsutil.Prettify(s) 18093} 18094 18095// GoString returns the string representation 18096func (s ObjectVersion) GoString() string { 18097 return s.String() 18098} 18099 18100// SetETag sets the ETag field's value. 18101func (s *ObjectVersion) SetETag(v string) *ObjectVersion { 18102 s.ETag = &v 18103 return s 18104} 18105 18106// SetIsLatest sets the IsLatest field's value. 18107func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion { 18108 s.IsLatest = &v 18109 return s 18110} 18111 18112// SetKey sets the Key field's value. 18113func (s *ObjectVersion) SetKey(v string) *ObjectVersion { 18114 s.Key = &v 18115 return s 18116} 18117 18118// SetLastModified sets the LastModified field's value. 18119func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion { 18120 s.LastModified = &v 18121 return s 18122} 18123 18124// SetOwner sets the Owner field's value. 18125func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion { 18126 s.Owner = v 18127 return s 18128} 18129 18130// SetSize sets the Size field's value. 18131func (s *ObjectVersion) SetSize(v int64) *ObjectVersion { 18132 s.Size = &v 18133 return s 18134} 18135 18136// SetStorageClass sets the StorageClass field's value. 18137func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion { 18138 s.StorageClass = &v 18139 return s 18140} 18141 18142// SetVersionId sets the VersionId field's value. 18143func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion { 18144 s.VersionId = &v 18145 return s 18146} 18147 18148// Describes the location where the restore job's output is stored. 18149type OutputLocation struct { 18150 _ struct{} `type:"structure"` 18151 18152 // Describes an S3 location that will receive the results of the restore request. 18153 S3 *Location `type:"structure"` 18154} 18155 18156// String returns the string representation 18157func (s OutputLocation) String() string { 18158 return awsutil.Prettify(s) 18159} 18160 18161// GoString returns the string representation 18162func (s OutputLocation) GoString() string { 18163 return s.String() 18164} 18165 18166// Validate inspects the fields of the type to determine if they are valid. 18167func (s *OutputLocation) Validate() error { 18168 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"} 18169 if s.S3 != nil { 18170 if err := s.S3.Validate(); err != nil { 18171 invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) 18172 } 18173 } 18174 18175 if invalidParams.Len() > 0 { 18176 return invalidParams 18177 } 18178 return nil 18179} 18180 18181// SetS3 sets the S3 field's value. 18182func (s *OutputLocation) SetS3(v *Location) *OutputLocation { 18183 s.S3 = v 18184 return s 18185} 18186 18187// Describes how results of the Select job are serialized. 18188type OutputSerialization struct { 18189 _ struct{} `type:"structure"` 18190 18191 // Describes the serialization of CSV-encoded Select results. 18192 CSV *CSVOutput `type:"structure"` 18193 18194 // Specifies JSON as request's output serialization format. 18195 JSON *JSONOutput `type:"structure"` 18196} 18197 18198// String returns the string representation 18199func (s OutputSerialization) String() string { 18200 return awsutil.Prettify(s) 18201} 18202 18203// GoString returns the string representation 18204func (s OutputSerialization) GoString() string { 18205 return s.String() 18206} 18207 18208// SetCSV sets the CSV field's value. 18209func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization { 18210 s.CSV = v 18211 return s 18212} 18213 18214// SetJSON sets the JSON field's value. 18215func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization { 18216 s.JSON = v 18217 return s 18218} 18219 18220type Owner struct { 18221 _ struct{} `type:"structure"` 18222 18223 DisplayName *string `type:"string"` 18224 18225 ID *string `type:"string"` 18226} 18227 18228// String returns the string representation 18229func (s Owner) String() string { 18230 return awsutil.Prettify(s) 18231} 18232 18233// GoString returns the string representation 18234func (s Owner) GoString() string { 18235 return s.String() 18236} 18237 18238// SetDisplayName sets the DisplayName field's value. 18239func (s *Owner) SetDisplayName(v string) *Owner { 18240 s.DisplayName = &v 18241 return s 18242} 18243 18244// SetID sets the ID field's value. 18245func (s *Owner) SetID(v string) *Owner { 18246 s.ID = &v 18247 return s 18248} 18249 18250type ParquetInput struct { 18251 _ struct{} `type:"structure"` 18252} 18253 18254// String returns the string representation 18255func (s ParquetInput) String() string { 18256 return awsutil.Prettify(s) 18257} 18258 18259// GoString returns the string representation 18260func (s ParquetInput) GoString() string { 18261 return s.String() 18262} 18263 18264type Part struct { 18265 _ struct{} `type:"structure"` 18266 18267 // Entity tag returned when the part was uploaded. 18268 ETag *string `type:"string"` 18269 18270 // Date and time at which the part was uploaded. 18271 LastModified *time.Time `type:"timestamp"` 18272 18273 // Part number identifying the part. This is a positive integer between 1 and 18274 // 10,000. 18275 PartNumber *int64 `type:"integer"` 18276 18277 // Size in bytes of the uploaded part data. 18278 Size *int64 `type:"integer"` 18279} 18280 18281// String returns the string representation 18282func (s Part) String() string { 18283 return awsutil.Prettify(s) 18284} 18285 18286// GoString returns the string representation 18287func (s Part) GoString() string { 18288 return s.String() 18289} 18290 18291// SetETag sets the ETag field's value. 18292func (s *Part) SetETag(v string) *Part { 18293 s.ETag = &v 18294 return s 18295} 18296 18297// SetLastModified sets the LastModified field's value. 18298func (s *Part) SetLastModified(v time.Time) *Part { 18299 s.LastModified = &v 18300 return s 18301} 18302 18303// SetPartNumber sets the PartNumber field's value. 18304func (s *Part) SetPartNumber(v int64) *Part { 18305 s.PartNumber = &v 18306 return s 18307} 18308 18309// SetSize sets the Size field's value. 18310func (s *Part) SetSize(v int64) *Part { 18311 s.Size = &v 18312 return s 18313} 18314 18315// The container element for a bucket's policy status. 18316type PolicyStatus struct { 18317 _ struct{} `type:"structure"` 18318 18319 // The policy status for this bucket. TRUE indicates that this bucket is public. 18320 // FALSE indicates that the bucket is not public. 18321 IsPublic *bool `locationName:"IsPublic" type:"boolean"` 18322} 18323 18324// String returns the string representation 18325func (s PolicyStatus) String() string { 18326 return awsutil.Prettify(s) 18327} 18328 18329// GoString returns the string representation 18330func (s PolicyStatus) GoString() string { 18331 return s.String() 18332} 18333 18334// SetIsPublic sets the IsPublic field's value. 18335func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 18336 s.IsPublic = &v 18337 return s 18338} 18339 18340type Progress struct { 18341 _ struct{} `type:"structure"` 18342 18343 // The current number of uncompressed object bytes processed. 18344 BytesProcessed *int64 `type:"long"` 18345 18346 // The current number of bytes of records payload data returned. 18347 BytesReturned *int64 `type:"long"` 18348 18349 // The current number of object bytes scanned. 18350 BytesScanned *int64 `type:"long"` 18351} 18352 18353// String returns the string representation 18354func (s Progress) String() string { 18355 return awsutil.Prettify(s) 18356} 18357 18358// GoString returns the string representation 18359func (s Progress) GoString() string { 18360 return s.String() 18361} 18362 18363// SetBytesProcessed sets the BytesProcessed field's value. 18364func (s *Progress) SetBytesProcessed(v int64) *Progress { 18365 s.BytesProcessed = &v 18366 return s 18367} 18368 18369// SetBytesReturned sets the BytesReturned field's value. 18370func (s *Progress) SetBytesReturned(v int64) *Progress { 18371 s.BytesReturned = &v 18372 return s 18373} 18374 18375// SetBytesScanned sets the BytesScanned field's value. 18376func (s *Progress) SetBytesScanned(v int64) *Progress { 18377 s.BytesScanned = &v 18378 return s 18379} 18380 18381type ProgressEvent struct { 18382 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"` 18383 18384 // The Progress event details. 18385 Details *Progress `locationName:"Details" type:"structure"` 18386} 18387 18388// String returns the string representation 18389func (s ProgressEvent) String() string { 18390 return awsutil.Prettify(s) 18391} 18392 18393// GoString returns the string representation 18394func (s ProgressEvent) GoString() string { 18395 return s.String() 18396} 18397 18398// SetDetails sets the Details field's value. 18399func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent { 18400 s.Details = v 18401 return s 18402} 18403 18404// The ProgressEvent is and event in the SelectObjectContentEventStream group of events. 18405func (s *ProgressEvent) eventSelectObjectContentEventStream() {} 18406 18407// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value. 18408// This method is only used internally within the SDK's EventStream handling. 18409func (s *ProgressEvent) UnmarshalEvent( 18410 payloadUnmarshaler protocol.PayloadUnmarshaler, 18411 msg eventstream.Message, 18412) error { 18413 if err := payloadUnmarshaler.UnmarshalPayload( 18414 bytes.NewReader(msg.Payload), s, 18415 ); err != nil { 18416 return err 18417 } 18418 return nil 18419} 18420 18421type PublicAccessBlockConfiguration struct { 18422 _ struct{} `type:"structure"` 18423 18424 // Specifies whether Amazon S3 should block public access control lists (ACLs) 18425 // for this bucket and objects in this bucket. Setting this element to TRUE 18426 // causes the following behavior: 18427 // 18428 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is 18429 // public. 18430 // 18431 // * PUT Object calls fail if the request includes a public ACL. 18432 // 18433 // Enabling this setting doesn't affect existing policies or ACLs. 18434 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` 18435 18436 // Specifies whether Amazon S3 should block public bucket policies for this 18437 // bucket. Setting this element to TRUE causes Amazon S3 to reject calls to 18438 // PUT Bucket policy if the specified bucket policy allows public access. 18439 // 18440 // Enabling this setting doesn't affect existing bucket policies. 18441 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` 18442 18443 // Specifies whether Amazon S3 should ignore public ACLs for this bucket and 18444 // objects in this bucket. Setting this element to TRUE causes Amazon S3 to 18445 // ignore all public ACLs on this bucket and objects in this bucket. 18446 // 18447 // Enabling this setting doesn't affect the persistence of any existing ACLs 18448 // and doesn't prevent new public ACLs from being set. 18449 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` 18450 18451 // Specifies whether Amazon S3 should restrict public bucket policies for this 18452 // bucket. Setting this element to TRUE restricts access to this bucket to only 18453 // AWS services and authorized users within this account if the bucket has a 18454 // public policy. 18455 // 18456 // Enabling this setting doesn't affect previously stored bucket policies, except 18457 // that public and cross-account access within any public bucket policy, including 18458 // non-public delegation to specific accounts, is blocked. 18459 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` 18460} 18461 18462// String returns the string representation 18463func (s PublicAccessBlockConfiguration) String() string { 18464 return awsutil.Prettify(s) 18465} 18466 18467// GoString returns the string representation 18468func (s PublicAccessBlockConfiguration) GoString() string { 18469 return s.String() 18470} 18471 18472// SetBlockPublicAcls sets the BlockPublicAcls field's value. 18473func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 18474 s.BlockPublicAcls = &v 18475 return s 18476} 18477 18478// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 18479func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 18480 s.BlockPublicPolicy = &v 18481 return s 18482} 18483 18484// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 18485func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 18486 s.IgnorePublicAcls = &v 18487 return s 18488} 18489 18490// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 18491func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 18492 s.RestrictPublicBuckets = &v 18493 return s 18494} 18495 18496type PutBucketAccelerateConfigurationInput struct { 18497 _ struct{} `type:"structure" payload:"AccelerateConfiguration"` 18498 18499 // Specifies the Accelerate Configuration you want to set for the bucket. 18500 // 18501 // AccelerateConfiguration is a required field 18502 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18503 18504 // Name of the bucket for which the accelerate configuration is set. 18505 // 18506 // Bucket is a required field 18507 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18508} 18509 18510// String returns the string representation 18511func (s PutBucketAccelerateConfigurationInput) String() string { 18512 return awsutil.Prettify(s) 18513} 18514 18515// GoString returns the string representation 18516func (s PutBucketAccelerateConfigurationInput) GoString() string { 18517 return s.String() 18518} 18519 18520// Validate inspects the fields of the type to determine if they are valid. 18521func (s *PutBucketAccelerateConfigurationInput) Validate() error { 18522 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"} 18523 if s.AccelerateConfiguration == nil { 18524 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration")) 18525 } 18526 if s.Bucket == nil { 18527 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18528 } 18529 if s.Bucket != nil && len(*s.Bucket) < 1 { 18530 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18531 } 18532 18533 if invalidParams.Len() > 0 { 18534 return invalidParams 18535 } 18536 return nil 18537} 18538 18539// SetAccelerateConfiguration sets the AccelerateConfiguration field's value. 18540func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput { 18541 s.AccelerateConfiguration = v 18542 return s 18543} 18544 18545// SetBucket sets the Bucket field's value. 18546func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput { 18547 s.Bucket = &v 18548 return s 18549} 18550 18551func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) { 18552 if s.Bucket == nil { 18553 return v 18554 } 18555 return *s.Bucket 18556} 18557 18558type PutBucketAccelerateConfigurationOutput struct { 18559 _ struct{} `type:"structure"` 18560} 18561 18562// String returns the string representation 18563func (s PutBucketAccelerateConfigurationOutput) String() string { 18564 return awsutil.Prettify(s) 18565} 18566 18567// GoString returns the string representation 18568func (s PutBucketAccelerateConfigurationOutput) GoString() string { 18569 return s.String() 18570} 18571 18572type PutBucketAclInput struct { 18573 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 18574 18575 // The canned ACL to apply to the bucket. 18576 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 18577 18578 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18579 18580 // Bucket is a required field 18581 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18582 18583 // Allows grantee the read, write, read ACP, and write ACP permissions on the 18584 // bucket. 18585 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 18586 18587 // Allows grantee to list the objects in the bucket. 18588 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 18589 18590 // Allows grantee to read the bucket ACL. 18591 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 18592 18593 // Allows grantee to create, overwrite, and delete any object in the bucket. 18594 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 18595 18596 // Allows grantee to write the ACL for the applicable bucket. 18597 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 18598} 18599 18600// String returns the string representation 18601func (s PutBucketAclInput) String() string { 18602 return awsutil.Prettify(s) 18603} 18604 18605// GoString returns the string representation 18606func (s PutBucketAclInput) GoString() string { 18607 return s.String() 18608} 18609 18610// Validate inspects the fields of the type to determine if they are valid. 18611func (s *PutBucketAclInput) Validate() error { 18612 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"} 18613 if s.Bucket == nil { 18614 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18615 } 18616 if s.Bucket != nil && len(*s.Bucket) < 1 { 18617 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18618 } 18619 if s.AccessControlPolicy != nil { 18620 if err := s.AccessControlPolicy.Validate(); err != nil { 18621 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 18622 } 18623 } 18624 18625 if invalidParams.Len() > 0 { 18626 return invalidParams 18627 } 18628 return nil 18629} 18630 18631// SetACL sets the ACL field's value. 18632func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput { 18633 s.ACL = &v 18634 return s 18635} 18636 18637// SetAccessControlPolicy sets the AccessControlPolicy field's value. 18638func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput { 18639 s.AccessControlPolicy = v 18640 return s 18641} 18642 18643// SetBucket sets the Bucket field's value. 18644func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput { 18645 s.Bucket = &v 18646 return s 18647} 18648 18649func (s *PutBucketAclInput) getBucket() (v string) { 18650 if s.Bucket == nil { 18651 return v 18652 } 18653 return *s.Bucket 18654} 18655 18656// SetGrantFullControl sets the GrantFullControl field's value. 18657func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput { 18658 s.GrantFullControl = &v 18659 return s 18660} 18661 18662// SetGrantRead sets the GrantRead field's value. 18663func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput { 18664 s.GrantRead = &v 18665 return s 18666} 18667 18668// SetGrantReadACP sets the GrantReadACP field's value. 18669func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput { 18670 s.GrantReadACP = &v 18671 return s 18672} 18673 18674// SetGrantWrite sets the GrantWrite field's value. 18675func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput { 18676 s.GrantWrite = &v 18677 return s 18678} 18679 18680// SetGrantWriteACP sets the GrantWriteACP field's value. 18681func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput { 18682 s.GrantWriteACP = &v 18683 return s 18684} 18685 18686type PutBucketAclOutput struct { 18687 _ struct{} `type:"structure"` 18688} 18689 18690// String returns the string representation 18691func (s PutBucketAclOutput) String() string { 18692 return awsutil.Prettify(s) 18693} 18694 18695// GoString returns the string representation 18696func (s PutBucketAclOutput) GoString() string { 18697 return s.String() 18698} 18699 18700type PutBucketAnalyticsConfigurationInput struct { 18701 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 18702 18703 // The configuration and any analyses for the analytics filter. 18704 // 18705 // AnalyticsConfiguration is a required field 18706 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18707 18708 // The name of the bucket to which an analytics configuration is stored. 18709 // 18710 // Bucket is a required field 18711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18712 18713 // The identifier used to represent an analytics configuration. 18714 // 18715 // Id is a required field 18716 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 18717} 18718 18719// String returns the string representation 18720func (s PutBucketAnalyticsConfigurationInput) String() string { 18721 return awsutil.Prettify(s) 18722} 18723 18724// GoString returns the string representation 18725func (s PutBucketAnalyticsConfigurationInput) GoString() string { 18726 return s.String() 18727} 18728 18729// Validate inspects the fields of the type to determine if they are valid. 18730func (s *PutBucketAnalyticsConfigurationInput) Validate() error { 18731 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"} 18732 if s.AnalyticsConfiguration == nil { 18733 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration")) 18734 } 18735 if s.Bucket == nil { 18736 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18737 } 18738 if s.Bucket != nil && len(*s.Bucket) < 1 { 18739 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18740 } 18741 if s.Id == nil { 18742 invalidParams.Add(request.NewErrParamRequired("Id")) 18743 } 18744 if s.AnalyticsConfiguration != nil { 18745 if err := s.AnalyticsConfiguration.Validate(); err != nil { 18746 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams)) 18747 } 18748 } 18749 18750 if invalidParams.Len() > 0 { 18751 return invalidParams 18752 } 18753 return nil 18754} 18755 18756// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value. 18757func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput { 18758 s.AnalyticsConfiguration = v 18759 return s 18760} 18761 18762// SetBucket sets the Bucket field's value. 18763func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput { 18764 s.Bucket = &v 18765 return s 18766} 18767 18768func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) { 18769 if s.Bucket == nil { 18770 return v 18771 } 18772 return *s.Bucket 18773} 18774 18775// SetId sets the Id field's value. 18776func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput { 18777 s.Id = &v 18778 return s 18779} 18780 18781type PutBucketAnalyticsConfigurationOutput struct { 18782 _ struct{} `type:"structure"` 18783} 18784 18785// String returns the string representation 18786func (s PutBucketAnalyticsConfigurationOutput) String() string { 18787 return awsutil.Prettify(s) 18788} 18789 18790// GoString returns the string representation 18791func (s PutBucketAnalyticsConfigurationOutput) GoString() string { 18792 return s.String() 18793} 18794 18795type PutBucketCorsInput struct { 18796 _ struct{} `type:"structure" payload:"CORSConfiguration"` 18797 18798 // Bucket is a required field 18799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18800 18801 // CORSConfiguration is a required field 18802 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18803} 18804 18805// String returns the string representation 18806func (s PutBucketCorsInput) String() string { 18807 return awsutil.Prettify(s) 18808} 18809 18810// GoString returns the string representation 18811func (s PutBucketCorsInput) GoString() string { 18812 return s.String() 18813} 18814 18815// Validate inspects the fields of the type to determine if they are valid. 18816func (s *PutBucketCorsInput) Validate() error { 18817 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"} 18818 if s.Bucket == nil { 18819 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18820 } 18821 if s.Bucket != nil && len(*s.Bucket) < 1 { 18822 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18823 } 18824 if s.CORSConfiguration == nil { 18825 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration")) 18826 } 18827 if s.CORSConfiguration != nil { 18828 if err := s.CORSConfiguration.Validate(); err != nil { 18829 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams)) 18830 } 18831 } 18832 18833 if invalidParams.Len() > 0 { 18834 return invalidParams 18835 } 18836 return nil 18837} 18838 18839// SetBucket sets the Bucket field's value. 18840func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput { 18841 s.Bucket = &v 18842 return s 18843} 18844 18845func (s *PutBucketCorsInput) getBucket() (v string) { 18846 if s.Bucket == nil { 18847 return v 18848 } 18849 return *s.Bucket 18850} 18851 18852// SetCORSConfiguration sets the CORSConfiguration field's value. 18853func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput { 18854 s.CORSConfiguration = v 18855 return s 18856} 18857 18858type PutBucketCorsOutput struct { 18859 _ struct{} `type:"structure"` 18860} 18861 18862// String returns the string representation 18863func (s PutBucketCorsOutput) String() string { 18864 return awsutil.Prettify(s) 18865} 18866 18867// GoString returns the string representation 18868func (s PutBucketCorsOutput) GoString() string { 18869 return s.String() 18870} 18871 18872type PutBucketEncryptionInput struct { 18873 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 18874 18875 // The name of the bucket for which the server-side encryption configuration 18876 // is set. 18877 // 18878 // Bucket is a required field 18879 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18880 18881 // Container for server-side encryption configuration rules. Currently S3 supports 18882 // one rule only. 18883 // 18884 // ServerSideEncryptionConfiguration is a required field 18885 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18886} 18887 18888// String returns the string representation 18889func (s PutBucketEncryptionInput) String() string { 18890 return awsutil.Prettify(s) 18891} 18892 18893// GoString returns the string representation 18894func (s PutBucketEncryptionInput) GoString() string { 18895 return s.String() 18896} 18897 18898// Validate inspects the fields of the type to determine if they are valid. 18899func (s *PutBucketEncryptionInput) Validate() error { 18900 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"} 18901 if s.Bucket == nil { 18902 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18903 } 18904 if s.Bucket != nil && len(*s.Bucket) < 1 { 18905 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18906 } 18907 if s.ServerSideEncryptionConfiguration == nil { 18908 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration")) 18909 } 18910 if s.ServerSideEncryptionConfiguration != nil { 18911 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil { 18912 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams)) 18913 } 18914 } 18915 18916 if invalidParams.Len() > 0 { 18917 return invalidParams 18918 } 18919 return nil 18920} 18921 18922// SetBucket sets the Bucket field's value. 18923func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput { 18924 s.Bucket = &v 18925 return s 18926} 18927 18928func (s *PutBucketEncryptionInput) getBucket() (v string) { 18929 if s.Bucket == nil { 18930 return v 18931 } 18932 return *s.Bucket 18933} 18934 18935// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. 18936func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput { 18937 s.ServerSideEncryptionConfiguration = v 18938 return s 18939} 18940 18941type PutBucketEncryptionOutput struct { 18942 _ struct{} `type:"structure"` 18943} 18944 18945// String returns the string representation 18946func (s PutBucketEncryptionOutput) String() string { 18947 return awsutil.Prettify(s) 18948} 18949 18950// GoString returns the string representation 18951func (s PutBucketEncryptionOutput) GoString() string { 18952 return s.String() 18953} 18954 18955type PutBucketInventoryConfigurationInput struct { 18956 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 18957 18958 // The name of the bucket where the inventory configuration will be stored. 18959 // 18960 // Bucket is a required field 18961 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18962 18963 // The ID used to identify the inventory configuration. 18964 // 18965 // Id is a required field 18966 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 18967 18968 // Specifies the inventory configuration. 18969 // 18970 // InventoryConfiguration is a required field 18971 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18972} 18973 18974// String returns the string representation 18975func (s PutBucketInventoryConfigurationInput) String() string { 18976 return awsutil.Prettify(s) 18977} 18978 18979// GoString returns the string representation 18980func (s PutBucketInventoryConfigurationInput) GoString() string { 18981 return s.String() 18982} 18983 18984// Validate inspects the fields of the type to determine if they are valid. 18985func (s *PutBucketInventoryConfigurationInput) Validate() error { 18986 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"} 18987 if s.Bucket == nil { 18988 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18989 } 18990 if s.Bucket != nil && len(*s.Bucket) < 1 { 18991 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 18992 } 18993 if s.Id == nil { 18994 invalidParams.Add(request.NewErrParamRequired("Id")) 18995 } 18996 if s.InventoryConfiguration == nil { 18997 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration")) 18998 } 18999 if s.InventoryConfiguration != nil { 19000 if err := s.InventoryConfiguration.Validate(); err != nil { 19001 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams)) 19002 } 19003 } 19004 19005 if invalidParams.Len() > 0 { 19006 return invalidParams 19007 } 19008 return nil 19009} 19010 19011// SetBucket sets the Bucket field's value. 19012func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput { 19013 s.Bucket = &v 19014 return s 19015} 19016 19017func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) { 19018 if s.Bucket == nil { 19019 return v 19020 } 19021 return *s.Bucket 19022} 19023 19024// SetId sets the Id field's value. 19025func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput { 19026 s.Id = &v 19027 return s 19028} 19029 19030// SetInventoryConfiguration sets the InventoryConfiguration field's value. 19031func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput { 19032 s.InventoryConfiguration = v 19033 return s 19034} 19035 19036type PutBucketInventoryConfigurationOutput struct { 19037 _ struct{} `type:"structure"` 19038} 19039 19040// String returns the string representation 19041func (s PutBucketInventoryConfigurationOutput) String() string { 19042 return awsutil.Prettify(s) 19043} 19044 19045// GoString returns the string representation 19046func (s PutBucketInventoryConfigurationOutput) GoString() string { 19047 return s.String() 19048} 19049 19050type PutBucketLifecycleConfigurationInput struct { 19051 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 19052 19053 // Bucket is a required field 19054 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19055 19056 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19057} 19058 19059// String returns the string representation 19060func (s PutBucketLifecycleConfigurationInput) String() string { 19061 return awsutil.Prettify(s) 19062} 19063 19064// GoString returns the string representation 19065func (s PutBucketLifecycleConfigurationInput) GoString() string { 19066 return s.String() 19067} 19068 19069// Validate inspects the fields of the type to determine if they are valid. 19070func (s *PutBucketLifecycleConfigurationInput) Validate() error { 19071 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 19072 if s.Bucket == nil { 19073 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19074 } 19075 if s.Bucket != nil && len(*s.Bucket) < 1 { 19076 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19077 } 19078 if s.LifecycleConfiguration != nil { 19079 if err := s.LifecycleConfiguration.Validate(); err != nil { 19080 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 19081 } 19082 } 19083 19084 if invalidParams.Len() > 0 { 19085 return invalidParams 19086 } 19087 return nil 19088} 19089 19090// SetBucket sets the Bucket field's value. 19091func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 19092 s.Bucket = &v 19093 return s 19094} 19095 19096func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) { 19097 if s.Bucket == nil { 19098 return v 19099 } 19100 return *s.Bucket 19101} 19102 19103// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 19104func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 19105 s.LifecycleConfiguration = v 19106 return s 19107} 19108 19109type PutBucketLifecycleConfigurationOutput struct { 19110 _ struct{} `type:"structure"` 19111} 19112 19113// String returns the string representation 19114func (s PutBucketLifecycleConfigurationOutput) String() string { 19115 return awsutil.Prettify(s) 19116} 19117 19118// GoString returns the string representation 19119func (s PutBucketLifecycleConfigurationOutput) GoString() string { 19120 return s.String() 19121} 19122 19123type PutBucketLifecycleInput struct { 19124 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 19125 19126 // Bucket is a required field 19127 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19128 19129 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19130} 19131 19132// String returns the string representation 19133func (s PutBucketLifecycleInput) String() string { 19134 return awsutil.Prettify(s) 19135} 19136 19137// GoString returns the string representation 19138func (s PutBucketLifecycleInput) GoString() string { 19139 return s.String() 19140} 19141 19142// Validate inspects the fields of the type to determine if they are valid. 19143func (s *PutBucketLifecycleInput) Validate() error { 19144 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"} 19145 if s.Bucket == nil { 19146 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19147 } 19148 if s.Bucket != nil && len(*s.Bucket) < 1 { 19149 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19150 } 19151 if s.LifecycleConfiguration != nil { 19152 if err := s.LifecycleConfiguration.Validate(); err != nil { 19153 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 19154 } 19155 } 19156 19157 if invalidParams.Len() > 0 { 19158 return invalidParams 19159 } 19160 return nil 19161} 19162 19163// SetBucket sets the Bucket field's value. 19164func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput { 19165 s.Bucket = &v 19166 return s 19167} 19168 19169func (s *PutBucketLifecycleInput) getBucket() (v string) { 19170 if s.Bucket == nil { 19171 return v 19172 } 19173 return *s.Bucket 19174} 19175 19176// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 19177func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput { 19178 s.LifecycleConfiguration = v 19179 return s 19180} 19181 19182type PutBucketLifecycleOutput struct { 19183 _ struct{} `type:"structure"` 19184} 19185 19186// String returns the string representation 19187func (s PutBucketLifecycleOutput) String() string { 19188 return awsutil.Prettify(s) 19189} 19190 19191// GoString returns the string representation 19192func (s PutBucketLifecycleOutput) GoString() string { 19193 return s.String() 19194} 19195 19196type PutBucketLoggingInput struct { 19197 _ struct{} `type:"structure" payload:"BucketLoggingStatus"` 19198 19199 // Bucket is a required field 19200 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19201 19202 // BucketLoggingStatus is a required field 19203 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19204} 19205 19206// String returns the string representation 19207func (s PutBucketLoggingInput) String() string { 19208 return awsutil.Prettify(s) 19209} 19210 19211// GoString returns the string representation 19212func (s PutBucketLoggingInput) GoString() string { 19213 return s.String() 19214} 19215 19216// Validate inspects the fields of the type to determine if they are valid. 19217func (s *PutBucketLoggingInput) Validate() error { 19218 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"} 19219 if s.Bucket == nil { 19220 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19221 } 19222 if s.Bucket != nil && len(*s.Bucket) < 1 { 19223 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19224 } 19225 if s.BucketLoggingStatus == nil { 19226 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus")) 19227 } 19228 if s.BucketLoggingStatus != nil { 19229 if err := s.BucketLoggingStatus.Validate(); err != nil { 19230 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams)) 19231 } 19232 } 19233 19234 if invalidParams.Len() > 0 { 19235 return invalidParams 19236 } 19237 return nil 19238} 19239 19240// SetBucket sets the Bucket field's value. 19241func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput { 19242 s.Bucket = &v 19243 return s 19244} 19245 19246func (s *PutBucketLoggingInput) getBucket() (v string) { 19247 if s.Bucket == nil { 19248 return v 19249 } 19250 return *s.Bucket 19251} 19252 19253// SetBucketLoggingStatus sets the BucketLoggingStatus field's value. 19254func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput { 19255 s.BucketLoggingStatus = v 19256 return s 19257} 19258 19259type PutBucketLoggingOutput struct { 19260 _ struct{} `type:"structure"` 19261} 19262 19263// String returns the string representation 19264func (s PutBucketLoggingOutput) String() string { 19265 return awsutil.Prettify(s) 19266} 19267 19268// GoString returns the string representation 19269func (s PutBucketLoggingOutput) GoString() string { 19270 return s.String() 19271} 19272 19273type PutBucketMetricsConfigurationInput struct { 19274 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 19275 19276 // The name of the bucket for which the metrics configuration is set. 19277 // 19278 // Bucket is a required field 19279 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19280 19281 // The ID used to identify the metrics configuration. 19282 // 19283 // Id is a required field 19284 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 19285 19286 // Specifies the metrics configuration. 19287 // 19288 // MetricsConfiguration is a required field 19289 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19290} 19291 19292// String returns the string representation 19293func (s PutBucketMetricsConfigurationInput) String() string { 19294 return awsutil.Prettify(s) 19295} 19296 19297// GoString returns the string representation 19298func (s PutBucketMetricsConfigurationInput) GoString() string { 19299 return s.String() 19300} 19301 19302// Validate inspects the fields of the type to determine if they are valid. 19303func (s *PutBucketMetricsConfigurationInput) Validate() error { 19304 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"} 19305 if s.Bucket == nil { 19306 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19307 } 19308 if s.Bucket != nil && len(*s.Bucket) < 1 { 19309 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19310 } 19311 if s.Id == nil { 19312 invalidParams.Add(request.NewErrParamRequired("Id")) 19313 } 19314 if s.MetricsConfiguration == nil { 19315 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration")) 19316 } 19317 if s.MetricsConfiguration != nil { 19318 if err := s.MetricsConfiguration.Validate(); err != nil { 19319 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams)) 19320 } 19321 } 19322 19323 if invalidParams.Len() > 0 { 19324 return invalidParams 19325 } 19326 return nil 19327} 19328 19329// SetBucket sets the Bucket field's value. 19330func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput { 19331 s.Bucket = &v 19332 return s 19333} 19334 19335func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) { 19336 if s.Bucket == nil { 19337 return v 19338 } 19339 return *s.Bucket 19340} 19341 19342// SetId sets the Id field's value. 19343func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput { 19344 s.Id = &v 19345 return s 19346} 19347 19348// SetMetricsConfiguration sets the MetricsConfiguration field's value. 19349func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput { 19350 s.MetricsConfiguration = v 19351 return s 19352} 19353 19354type PutBucketMetricsConfigurationOutput struct { 19355 _ struct{} `type:"structure"` 19356} 19357 19358// String returns the string representation 19359func (s PutBucketMetricsConfigurationOutput) String() string { 19360 return awsutil.Prettify(s) 19361} 19362 19363// GoString returns the string representation 19364func (s PutBucketMetricsConfigurationOutput) GoString() string { 19365 return s.String() 19366} 19367 19368type PutBucketNotificationConfigurationInput struct { 19369 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 19370 19371 // Bucket is a required field 19372 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19373 19374 // A container for specifying the notification configuration of the bucket. 19375 // If this element is empty, notifications are turned off for the bucket. 19376 // 19377 // NotificationConfiguration is a required field 19378 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19379} 19380 19381// String returns the string representation 19382func (s PutBucketNotificationConfigurationInput) String() string { 19383 return awsutil.Prettify(s) 19384} 19385 19386// GoString returns the string representation 19387func (s PutBucketNotificationConfigurationInput) GoString() string { 19388 return s.String() 19389} 19390 19391// Validate inspects the fields of the type to determine if they are valid. 19392func (s *PutBucketNotificationConfigurationInput) Validate() error { 19393 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"} 19394 if s.Bucket == nil { 19395 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19396 } 19397 if s.Bucket != nil && len(*s.Bucket) < 1 { 19398 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19399 } 19400 if s.NotificationConfiguration == nil { 19401 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) 19402 } 19403 if s.NotificationConfiguration != nil { 19404 if err := s.NotificationConfiguration.Validate(); err != nil { 19405 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams)) 19406 } 19407 } 19408 19409 if invalidParams.Len() > 0 { 19410 return invalidParams 19411 } 19412 return nil 19413} 19414 19415// SetBucket sets the Bucket field's value. 19416func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput { 19417 s.Bucket = &v 19418 return s 19419} 19420 19421func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) { 19422 if s.Bucket == nil { 19423 return v 19424 } 19425 return *s.Bucket 19426} 19427 19428// SetNotificationConfiguration sets the NotificationConfiguration field's value. 19429func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput { 19430 s.NotificationConfiguration = v 19431 return s 19432} 19433 19434type PutBucketNotificationConfigurationOutput struct { 19435 _ struct{} `type:"structure"` 19436} 19437 19438// String returns the string representation 19439func (s PutBucketNotificationConfigurationOutput) String() string { 19440 return awsutil.Prettify(s) 19441} 19442 19443// GoString returns the string representation 19444func (s PutBucketNotificationConfigurationOutput) GoString() string { 19445 return s.String() 19446} 19447 19448type PutBucketNotificationInput struct { 19449 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 19450 19451 // Bucket is a required field 19452 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19453 19454 // NotificationConfiguration is a required field 19455 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19456} 19457 19458// String returns the string representation 19459func (s PutBucketNotificationInput) String() string { 19460 return awsutil.Prettify(s) 19461} 19462 19463// GoString returns the string representation 19464func (s PutBucketNotificationInput) GoString() string { 19465 return s.String() 19466} 19467 19468// Validate inspects the fields of the type to determine if they are valid. 19469func (s *PutBucketNotificationInput) Validate() error { 19470 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"} 19471 if s.Bucket == nil { 19472 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19473 } 19474 if s.Bucket != nil && len(*s.Bucket) < 1 { 19475 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19476 } 19477 if s.NotificationConfiguration == nil { 19478 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) 19479 } 19480 19481 if invalidParams.Len() > 0 { 19482 return invalidParams 19483 } 19484 return nil 19485} 19486 19487// SetBucket sets the Bucket field's value. 19488func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput { 19489 s.Bucket = &v 19490 return s 19491} 19492 19493func (s *PutBucketNotificationInput) getBucket() (v string) { 19494 if s.Bucket == nil { 19495 return v 19496 } 19497 return *s.Bucket 19498} 19499 19500// SetNotificationConfiguration sets the NotificationConfiguration field's value. 19501func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput { 19502 s.NotificationConfiguration = v 19503 return s 19504} 19505 19506type PutBucketNotificationOutput struct { 19507 _ struct{} `type:"structure"` 19508} 19509 19510// String returns the string representation 19511func (s PutBucketNotificationOutput) String() string { 19512 return awsutil.Prettify(s) 19513} 19514 19515// GoString returns the string representation 19516func (s PutBucketNotificationOutput) GoString() string { 19517 return s.String() 19518} 19519 19520type PutBucketPolicyInput struct { 19521 _ struct{} `type:"structure" payload:"Policy"` 19522 19523 // Bucket is a required field 19524 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19525 19526 // Set this parameter to true to confirm that you want to remove your permissions 19527 // to change this bucket policy in the future. 19528 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 19529 19530 // The bucket policy as a JSON document. 19531 // 19532 // Policy is a required field 19533 Policy *string `type:"string" required:"true"` 19534} 19535 19536// String returns the string representation 19537func (s PutBucketPolicyInput) String() string { 19538 return awsutil.Prettify(s) 19539} 19540 19541// GoString returns the string representation 19542func (s PutBucketPolicyInput) GoString() string { 19543 return s.String() 19544} 19545 19546// Validate inspects the fields of the type to determine if they are valid. 19547func (s *PutBucketPolicyInput) Validate() error { 19548 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 19549 if s.Bucket == nil { 19550 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19551 } 19552 if s.Bucket != nil && len(*s.Bucket) < 1 { 19553 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19554 } 19555 if s.Policy == nil { 19556 invalidParams.Add(request.NewErrParamRequired("Policy")) 19557 } 19558 19559 if invalidParams.Len() > 0 { 19560 return invalidParams 19561 } 19562 return nil 19563} 19564 19565// SetBucket sets the Bucket field's value. 19566func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 19567 s.Bucket = &v 19568 return s 19569} 19570 19571func (s *PutBucketPolicyInput) getBucket() (v string) { 19572 if s.Bucket == nil { 19573 return v 19574 } 19575 return *s.Bucket 19576} 19577 19578// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 19579func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 19580 s.ConfirmRemoveSelfBucketAccess = &v 19581 return s 19582} 19583 19584// SetPolicy sets the Policy field's value. 19585func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 19586 s.Policy = &v 19587 return s 19588} 19589 19590type PutBucketPolicyOutput struct { 19591 _ struct{} `type:"structure"` 19592} 19593 19594// String returns the string representation 19595func (s PutBucketPolicyOutput) String() string { 19596 return awsutil.Prettify(s) 19597} 19598 19599// GoString returns the string representation 19600func (s PutBucketPolicyOutput) GoString() string { 19601 return s.String() 19602} 19603 19604type PutBucketReplicationInput struct { 19605 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 19606 19607 // Bucket is a required field 19608 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19609 19610 // A container for replication rules. You can add up to 1,000 rules. The maximum 19611 // size of a replication configuration is 2 MB. 19612 // 19613 // ReplicationConfiguration is a required field 19614 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19615 19616 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"` 19617} 19618 19619// String returns the string representation 19620func (s PutBucketReplicationInput) String() string { 19621 return awsutil.Prettify(s) 19622} 19623 19624// GoString returns the string representation 19625func (s PutBucketReplicationInput) GoString() string { 19626 return s.String() 19627} 19628 19629// Validate inspects the fields of the type to determine if they are valid. 19630func (s *PutBucketReplicationInput) Validate() error { 19631 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"} 19632 if s.Bucket == nil { 19633 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19634 } 19635 if s.Bucket != nil && len(*s.Bucket) < 1 { 19636 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19637 } 19638 if s.ReplicationConfiguration == nil { 19639 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration")) 19640 } 19641 if s.ReplicationConfiguration != nil { 19642 if err := s.ReplicationConfiguration.Validate(); err != nil { 19643 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams)) 19644 } 19645 } 19646 19647 if invalidParams.Len() > 0 { 19648 return invalidParams 19649 } 19650 return nil 19651} 19652 19653// SetBucket sets the Bucket field's value. 19654func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput { 19655 s.Bucket = &v 19656 return s 19657} 19658 19659func (s *PutBucketReplicationInput) getBucket() (v string) { 19660 if s.Bucket == nil { 19661 return v 19662 } 19663 return *s.Bucket 19664} 19665 19666// SetReplicationConfiguration sets the ReplicationConfiguration field's value. 19667func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput { 19668 s.ReplicationConfiguration = v 19669 return s 19670} 19671 19672// SetToken sets the Token field's value. 19673func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput { 19674 s.Token = &v 19675 return s 19676} 19677 19678type PutBucketReplicationOutput struct { 19679 _ struct{} `type:"structure"` 19680} 19681 19682// String returns the string representation 19683func (s PutBucketReplicationOutput) String() string { 19684 return awsutil.Prettify(s) 19685} 19686 19687// GoString returns the string representation 19688func (s PutBucketReplicationOutput) GoString() string { 19689 return s.String() 19690} 19691 19692type PutBucketRequestPaymentInput struct { 19693 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"` 19694 19695 // Bucket is a required field 19696 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19697 19698 // RequestPaymentConfiguration is a required field 19699 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19700} 19701 19702// String returns the string representation 19703func (s PutBucketRequestPaymentInput) String() string { 19704 return awsutil.Prettify(s) 19705} 19706 19707// GoString returns the string representation 19708func (s PutBucketRequestPaymentInput) GoString() string { 19709 return s.String() 19710} 19711 19712// Validate inspects the fields of the type to determine if they are valid. 19713func (s *PutBucketRequestPaymentInput) Validate() error { 19714 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"} 19715 if s.Bucket == nil { 19716 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19717 } 19718 if s.Bucket != nil && len(*s.Bucket) < 1 { 19719 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19720 } 19721 if s.RequestPaymentConfiguration == nil { 19722 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration")) 19723 } 19724 if s.RequestPaymentConfiguration != nil { 19725 if err := s.RequestPaymentConfiguration.Validate(); err != nil { 19726 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams)) 19727 } 19728 } 19729 19730 if invalidParams.Len() > 0 { 19731 return invalidParams 19732 } 19733 return nil 19734} 19735 19736// SetBucket sets the Bucket field's value. 19737func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput { 19738 s.Bucket = &v 19739 return s 19740} 19741 19742func (s *PutBucketRequestPaymentInput) getBucket() (v string) { 19743 if s.Bucket == nil { 19744 return v 19745 } 19746 return *s.Bucket 19747} 19748 19749// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value. 19750func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput { 19751 s.RequestPaymentConfiguration = v 19752 return s 19753} 19754 19755type PutBucketRequestPaymentOutput struct { 19756 _ struct{} `type:"structure"` 19757} 19758 19759// String returns the string representation 19760func (s PutBucketRequestPaymentOutput) String() string { 19761 return awsutil.Prettify(s) 19762} 19763 19764// GoString returns the string representation 19765func (s PutBucketRequestPaymentOutput) GoString() string { 19766 return s.String() 19767} 19768 19769type PutBucketTaggingInput struct { 19770 _ struct{} `type:"structure" payload:"Tagging"` 19771 19772 // Bucket is a required field 19773 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19774 19775 // Tagging is a required field 19776 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19777} 19778 19779// String returns the string representation 19780func (s PutBucketTaggingInput) String() string { 19781 return awsutil.Prettify(s) 19782} 19783 19784// GoString returns the string representation 19785func (s PutBucketTaggingInput) GoString() string { 19786 return s.String() 19787} 19788 19789// Validate inspects the fields of the type to determine if they are valid. 19790func (s *PutBucketTaggingInput) Validate() error { 19791 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 19792 if s.Bucket == nil { 19793 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19794 } 19795 if s.Bucket != nil && len(*s.Bucket) < 1 { 19796 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19797 } 19798 if s.Tagging == nil { 19799 invalidParams.Add(request.NewErrParamRequired("Tagging")) 19800 } 19801 if s.Tagging != nil { 19802 if err := s.Tagging.Validate(); err != nil { 19803 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 19804 } 19805 } 19806 19807 if invalidParams.Len() > 0 { 19808 return invalidParams 19809 } 19810 return nil 19811} 19812 19813// SetBucket sets the Bucket field's value. 19814func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 19815 s.Bucket = &v 19816 return s 19817} 19818 19819func (s *PutBucketTaggingInput) getBucket() (v string) { 19820 if s.Bucket == nil { 19821 return v 19822 } 19823 return *s.Bucket 19824} 19825 19826// SetTagging sets the Tagging field's value. 19827func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 19828 s.Tagging = v 19829 return s 19830} 19831 19832type PutBucketTaggingOutput struct { 19833 _ struct{} `type:"structure"` 19834} 19835 19836// String returns the string representation 19837func (s PutBucketTaggingOutput) String() string { 19838 return awsutil.Prettify(s) 19839} 19840 19841// GoString returns the string representation 19842func (s PutBucketTaggingOutput) GoString() string { 19843 return s.String() 19844} 19845 19846type PutBucketVersioningInput struct { 19847 _ struct{} `type:"structure" payload:"VersioningConfiguration"` 19848 19849 // Bucket is a required field 19850 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19851 19852 // The concatenation of the authentication device's serial number, a space, 19853 // and the value that is displayed on your authentication device. 19854 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 19855 19856 // VersioningConfiguration is a required field 19857 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19858} 19859 19860// String returns the string representation 19861func (s PutBucketVersioningInput) String() string { 19862 return awsutil.Prettify(s) 19863} 19864 19865// GoString returns the string representation 19866func (s PutBucketVersioningInput) GoString() string { 19867 return s.String() 19868} 19869 19870// Validate inspects the fields of the type to determine if they are valid. 19871func (s *PutBucketVersioningInput) Validate() error { 19872 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"} 19873 if s.Bucket == nil { 19874 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19875 } 19876 if s.Bucket != nil && len(*s.Bucket) < 1 { 19877 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19878 } 19879 if s.VersioningConfiguration == nil { 19880 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration")) 19881 } 19882 19883 if invalidParams.Len() > 0 { 19884 return invalidParams 19885 } 19886 return nil 19887} 19888 19889// SetBucket sets the Bucket field's value. 19890func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput { 19891 s.Bucket = &v 19892 return s 19893} 19894 19895func (s *PutBucketVersioningInput) getBucket() (v string) { 19896 if s.Bucket == nil { 19897 return v 19898 } 19899 return *s.Bucket 19900} 19901 19902// SetMFA sets the MFA field's value. 19903func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput { 19904 s.MFA = &v 19905 return s 19906} 19907 19908// SetVersioningConfiguration sets the VersioningConfiguration field's value. 19909func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput { 19910 s.VersioningConfiguration = v 19911 return s 19912} 19913 19914type PutBucketVersioningOutput struct { 19915 _ struct{} `type:"structure"` 19916} 19917 19918// String returns the string representation 19919func (s PutBucketVersioningOutput) String() string { 19920 return awsutil.Prettify(s) 19921} 19922 19923// GoString returns the string representation 19924func (s PutBucketVersioningOutput) GoString() string { 19925 return s.String() 19926} 19927 19928type PutBucketWebsiteInput struct { 19929 _ struct{} `type:"structure" payload:"WebsiteConfiguration"` 19930 19931 // Bucket is a required field 19932 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19933 19934 // WebsiteConfiguration is a required field 19935 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19936} 19937 19938// String returns the string representation 19939func (s PutBucketWebsiteInput) String() string { 19940 return awsutil.Prettify(s) 19941} 19942 19943// GoString returns the string representation 19944func (s PutBucketWebsiteInput) GoString() string { 19945 return s.String() 19946} 19947 19948// Validate inspects the fields of the type to determine if they are valid. 19949func (s *PutBucketWebsiteInput) Validate() error { 19950 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"} 19951 if s.Bucket == nil { 19952 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19953 } 19954 if s.Bucket != nil && len(*s.Bucket) < 1 { 19955 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 19956 } 19957 if s.WebsiteConfiguration == nil { 19958 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration")) 19959 } 19960 if s.WebsiteConfiguration != nil { 19961 if err := s.WebsiteConfiguration.Validate(); err != nil { 19962 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams)) 19963 } 19964 } 19965 19966 if invalidParams.Len() > 0 { 19967 return invalidParams 19968 } 19969 return nil 19970} 19971 19972// SetBucket sets the Bucket field's value. 19973func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput { 19974 s.Bucket = &v 19975 return s 19976} 19977 19978func (s *PutBucketWebsiteInput) getBucket() (v string) { 19979 if s.Bucket == nil { 19980 return v 19981 } 19982 return *s.Bucket 19983} 19984 19985// SetWebsiteConfiguration sets the WebsiteConfiguration field's value. 19986func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput { 19987 s.WebsiteConfiguration = v 19988 return s 19989} 19990 19991type PutBucketWebsiteOutput struct { 19992 _ struct{} `type:"structure"` 19993} 19994 19995// String returns the string representation 19996func (s PutBucketWebsiteOutput) String() string { 19997 return awsutil.Prettify(s) 19998} 19999 20000// GoString returns the string representation 20001func (s PutBucketWebsiteOutput) GoString() string { 20002 return s.String() 20003} 20004 20005type PutObjectAclInput struct { 20006 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 20007 20008 // The canned ACL to apply to the object. 20009 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 20010 20011 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20012 20013 // Bucket is a required field 20014 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20015 20016 // Allows grantee the read, write, read ACP, and write ACP permissions on the 20017 // bucket. 20018 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 20019 20020 // Allows grantee to list the objects in the bucket. 20021 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 20022 20023 // Allows grantee to read the bucket ACL. 20024 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 20025 20026 // Allows grantee to create, overwrite, and delete any object in the bucket. 20027 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 20028 20029 // Allows grantee to write the ACL for the applicable bucket. 20030 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 20031 20032 // Key is a required field 20033 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20034 20035 // Confirms that the requester knows that she or he will be charged for the 20036 // request. Bucket owners need not specify this parameter in their requests. 20037 // Documentation on downloading objects from requester pays buckets can be found 20038 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20039 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20040 20041 // VersionId used to reference a specific version of the object. 20042 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 20043} 20044 20045// String returns the string representation 20046func (s PutObjectAclInput) String() string { 20047 return awsutil.Prettify(s) 20048} 20049 20050// GoString returns the string representation 20051func (s PutObjectAclInput) GoString() string { 20052 return s.String() 20053} 20054 20055// Validate inspects the fields of the type to determine if they are valid. 20056func (s *PutObjectAclInput) Validate() error { 20057 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"} 20058 if s.Bucket == nil { 20059 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20060 } 20061 if s.Bucket != nil && len(*s.Bucket) < 1 { 20062 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20063 } 20064 if s.Key == nil { 20065 invalidParams.Add(request.NewErrParamRequired("Key")) 20066 } 20067 if s.Key != nil && len(*s.Key) < 1 { 20068 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20069 } 20070 if s.AccessControlPolicy != nil { 20071 if err := s.AccessControlPolicy.Validate(); err != nil { 20072 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 20073 } 20074 } 20075 20076 if invalidParams.Len() > 0 { 20077 return invalidParams 20078 } 20079 return nil 20080} 20081 20082// SetACL sets the ACL field's value. 20083func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput { 20084 s.ACL = &v 20085 return s 20086} 20087 20088// SetAccessControlPolicy sets the AccessControlPolicy field's value. 20089func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput { 20090 s.AccessControlPolicy = v 20091 return s 20092} 20093 20094// SetBucket sets the Bucket field's value. 20095func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput { 20096 s.Bucket = &v 20097 return s 20098} 20099 20100func (s *PutObjectAclInput) getBucket() (v string) { 20101 if s.Bucket == nil { 20102 return v 20103 } 20104 return *s.Bucket 20105} 20106 20107// SetGrantFullControl sets the GrantFullControl field's value. 20108func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput { 20109 s.GrantFullControl = &v 20110 return s 20111} 20112 20113// SetGrantRead sets the GrantRead field's value. 20114func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput { 20115 s.GrantRead = &v 20116 return s 20117} 20118 20119// SetGrantReadACP sets the GrantReadACP field's value. 20120func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput { 20121 s.GrantReadACP = &v 20122 return s 20123} 20124 20125// SetGrantWrite sets the GrantWrite field's value. 20126func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput { 20127 s.GrantWrite = &v 20128 return s 20129} 20130 20131// SetGrantWriteACP sets the GrantWriteACP field's value. 20132func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput { 20133 s.GrantWriteACP = &v 20134 return s 20135} 20136 20137// SetKey sets the Key field's value. 20138func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput { 20139 s.Key = &v 20140 return s 20141} 20142 20143// SetRequestPayer sets the RequestPayer field's value. 20144func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput { 20145 s.RequestPayer = &v 20146 return s 20147} 20148 20149// SetVersionId sets the VersionId field's value. 20150func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput { 20151 s.VersionId = &v 20152 return s 20153} 20154 20155type PutObjectAclOutput struct { 20156 _ struct{} `type:"structure"` 20157 20158 // If present, indicates that the requester was successfully charged for the 20159 // request. 20160 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 20161} 20162 20163// String returns the string representation 20164func (s PutObjectAclOutput) String() string { 20165 return awsutil.Prettify(s) 20166} 20167 20168// GoString returns the string representation 20169func (s PutObjectAclOutput) GoString() string { 20170 return s.String() 20171} 20172 20173// SetRequestCharged sets the RequestCharged field's value. 20174func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput { 20175 s.RequestCharged = &v 20176 return s 20177} 20178 20179type PutObjectInput struct { 20180 _ struct{} `type:"structure" payload:"Body"` 20181 20182 // The canned ACL to apply to the object. 20183 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 20184 20185 // Object data. 20186 Body io.ReadSeeker `type:"blob"` 20187 20188 // Name of the bucket to which the PUT operation was initiated. 20189 // 20190 // Bucket is a required field 20191 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20192 20193 // Specifies caching behavior along the request/reply chain. 20194 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 20195 20196 // Specifies presentational information for the object. 20197 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 20198 20199 // Specifies what content encodings have been applied to the object and thus 20200 // what decoding mechanisms must be applied to obtain the media-type referenced 20201 // by the Content-Type header field. 20202 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 20203 20204 // The language the content is in. 20205 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 20206 20207 // Size of the body in bytes. This parameter is useful when the size of the 20208 // body cannot be determined automatically. 20209 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 20210 20211 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is 20212 // auto-populated when using the command from the CLI 20213 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 20214 20215 // A standard MIME type describing the format of the object data. 20216 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 20217 20218 // The date and time at which the object is no longer cacheable. 20219 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 20220 20221 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 20222 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 20223 20224 // Allows grantee to read the object data and its metadata. 20225 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 20226 20227 // Allows grantee to read the object ACL. 20228 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 20229 20230 // Allows grantee to write the ACL for the applicable object. 20231 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 20232 20233 // Object key for which the PUT operation was initiated. 20234 // 20235 // Key is a required field 20236 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20237 20238 // A map of metadata to store with the object in S3. 20239 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 20240 20241 // The Legal Hold status that you want to apply to the specified object. 20242 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 20243 20244 // The Object Lock mode that you want to apply to this object. 20245 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 20246 20247 // The date and time when you want this object's Object Lock to expire. 20248 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 20249 20250 // Confirms that the requester knows that she or he will be charged for the 20251 // request. Bucket owners need not specify this parameter in their requests. 20252 // Documentation on downloading objects from requester pays buckets can be found 20253 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20254 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20255 20256 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 20257 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 20258 20259 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 20260 // data. This value is used to store the object and then it is discarded; Amazon 20261 // does not store the encryption key. The key must be appropriate for use with 20262 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 20263 // header. 20264 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 20265 20266 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 20267 // Amazon S3 uses this header for a message integrity check to ensure the encryption 20268 // key was transmitted without error. 20269 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 20270 20271 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 20272 // requests for an object protected by AWS KMS will fail if not made via SSL 20273 // or using SigV4. Documentation on configuring any of the officially supported 20274 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 20275 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 20276 20277 // The Server-side encryption algorithm used when storing this object in S3 20278 // (e.g., AES256, aws:kms). 20279 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 20280 20281 // The type of storage to use for the object. Defaults to 'STANDARD'. 20282 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 20283 20284 // The tag-set for the object. The tag-set must be encoded as URL Query parameters. 20285 // (For example, "Key1=Value1") 20286 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 20287 20288 // If the bucket is configured as a website, redirects requests for this object 20289 // to another object in the same bucket or to an external URL. Amazon S3 stores 20290 // the value of this header in the object metadata. 20291 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 20292} 20293 20294// String returns the string representation 20295func (s PutObjectInput) String() string { 20296 return awsutil.Prettify(s) 20297} 20298 20299// GoString returns the string representation 20300func (s PutObjectInput) GoString() string { 20301 return s.String() 20302} 20303 20304// Validate inspects the fields of the type to determine if they are valid. 20305func (s *PutObjectInput) Validate() error { 20306 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"} 20307 if s.Bucket == nil { 20308 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20309 } 20310 if s.Bucket != nil && len(*s.Bucket) < 1 { 20311 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20312 } 20313 if s.Key == nil { 20314 invalidParams.Add(request.NewErrParamRequired("Key")) 20315 } 20316 if s.Key != nil && len(*s.Key) < 1 { 20317 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20318 } 20319 20320 if invalidParams.Len() > 0 { 20321 return invalidParams 20322 } 20323 return nil 20324} 20325 20326// SetACL sets the ACL field's value. 20327func (s *PutObjectInput) SetACL(v string) *PutObjectInput { 20328 s.ACL = &v 20329 return s 20330} 20331 20332// SetBody sets the Body field's value. 20333func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput { 20334 s.Body = v 20335 return s 20336} 20337 20338// SetBucket sets the Bucket field's value. 20339func (s *PutObjectInput) SetBucket(v string) *PutObjectInput { 20340 s.Bucket = &v 20341 return s 20342} 20343 20344func (s *PutObjectInput) getBucket() (v string) { 20345 if s.Bucket == nil { 20346 return v 20347 } 20348 return *s.Bucket 20349} 20350 20351// SetCacheControl sets the CacheControl field's value. 20352func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput { 20353 s.CacheControl = &v 20354 return s 20355} 20356 20357// SetContentDisposition sets the ContentDisposition field's value. 20358func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput { 20359 s.ContentDisposition = &v 20360 return s 20361} 20362 20363// SetContentEncoding sets the ContentEncoding field's value. 20364func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput { 20365 s.ContentEncoding = &v 20366 return s 20367} 20368 20369// SetContentLanguage sets the ContentLanguage field's value. 20370func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput { 20371 s.ContentLanguage = &v 20372 return s 20373} 20374 20375// SetContentLength sets the ContentLength field's value. 20376func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput { 20377 s.ContentLength = &v 20378 return s 20379} 20380 20381// SetContentMD5 sets the ContentMD5 field's value. 20382func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput { 20383 s.ContentMD5 = &v 20384 return s 20385} 20386 20387// SetContentType sets the ContentType field's value. 20388func (s *PutObjectInput) SetContentType(v string) *PutObjectInput { 20389 s.ContentType = &v 20390 return s 20391} 20392 20393// SetExpires sets the Expires field's value. 20394func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput { 20395 s.Expires = &v 20396 return s 20397} 20398 20399// SetGrantFullControl sets the GrantFullControl field's value. 20400func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput { 20401 s.GrantFullControl = &v 20402 return s 20403} 20404 20405// SetGrantRead sets the GrantRead field's value. 20406func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput { 20407 s.GrantRead = &v 20408 return s 20409} 20410 20411// SetGrantReadACP sets the GrantReadACP field's value. 20412func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput { 20413 s.GrantReadACP = &v 20414 return s 20415} 20416 20417// SetGrantWriteACP sets the GrantWriteACP field's value. 20418func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput { 20419 s.GrantWriteACP = &v 20420 return s 20421} 20422 20423// SetKey sets the Key field's value. 20424func (s *PutObjectInput) SetKey(v string) *PutObjectInput { 20425 s.Key = &v 20426 return s 20427} 20428 20429// SetMetadata sets the Metadata field's value. 20430func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput { 20431 s.Metadata = v 20432 return s 20433} 20434 20435// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 20436func (s *PutObjectInput) SetObjectLockLegalHoldStatus(v string) *PutObjectInput { 20437 s.ObjectLockLegalHoldStatus = &v 20438 return s 20439} 20440 20441// SetObjectLockMode sets the ObjectLockMode field's value. 20442func (s *PutObjectInput) SetObjectLockMode(v string) *PutObjectInput { 20443 s.ObjectLockMode = &v 20444 return s 20445} 20446 20447// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 20448func (s *PutObjectInput) SetObjectLockRetainUntilDate(v time.Time) *PutObjectInput { 20449 s.ObjectLockRetainUntilDate = &v 20450 return s 20451} 20452 20453// SetRequestPayer sets the RequestPayer field's value. 20454func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput { 20455 s.RequestPayer = &v 20456 return s 20457} 20458 20459// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 20460func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput { 20461 s.SSECustomerAlgorithm = &v 20462 return s 20463} 20464 20465// SetSSECustomerKey sets the SSECustomerKey field's value. 20466func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput { 20467 s.SSECustomerKey = &v 20468 return s 20469} 20470 20471func (s *PutObjectInput) getSSECustomerKey() (v string) { 20472 if s.SSECustomerKey == nil { 20473 return v 20474 } 20475 return *s.SSECustomerKey 20476} 20477 20478// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 20479func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput { 20480 s.SSECustomerKeyMD5 = &v 20481 return s 20482} 20483 20484// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 20485func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput { 20486 s.SSEKMSKeyId = &v 20487 return s 20488} 20489 20490// SetServerSideEncryption sets the ServerSideEncryption field's value. 20491func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput { 20492 s.ServerSideEncryption = &v 20493 return s 20494} 20495 20496// SetStorageClass sets the StorageClass field's value. 20497func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput { 20498 s.StorageClass = &v 20499 return s 20500} 20501 20502// SetTagging sets the Tagging field's value. 20503func (s *PutObjectInput) SetTagging(v string) *PutObjectInput { 20504 s.Tagging = &v 20505 return s 20506} 20507 20508// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 20509func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput { 20510 s.WebsiteRedirectLocation = &v 20511 return s 20512} 20513 20514type PutObjectLegalHoldInput struct { 20515 _ struct{} `type:"structure" payload:"LegalHold"` 20516 20517 // The bucket containing the object that you want to place a Legal Hold on. 20518 // 20519 // Bucket is a required field 20520 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20521 20522 // The key name for the object that you want to place a Legal Hold on. 20523 // 20524 // Key is a required field 20525 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20526 20527 // Container element for the Legal Hold configuration you want to apply to the 20528 // specified object. 20529 LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20530 20531 // Confirms that the requester knows that she or he will be charged for the 20532 // request. Bucket owners need not specify this parameter in their requests. 20533 // Documentation on downloading objects from requester pays buckets can be found 20534 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20535 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20536 20537 // The version ID of the object that you want to place a Legal Hold on. 20538 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 20539} 20540 20541// String returns the string representation 20542func (s PutObjectLegalHoldInput) String() string { 20543 return awsutil.Prettify(s) 20544} 20545 20546// GoString returns the string representation 20547func (s PutObjectLegalHoldInput) GoString() string { 20548 return s.String() 20549} 20550 20551// Validate inspects the fields of the type to determine if they are valid. 20552func (s *PutObjectLegalHoldInput) Validate() error { 20553 invalidParams := request.ErrInvalidParams{Context: "PutObjectLegalHoldInput"} 20554 if s.Bucket == nil { 20555 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20556 } 20557 if s.Bucket != nil && len(*s.Bucket) < 1 { 20558 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20559 } 20560 if s.Key == nil { 20561 invalidParams.Add(request.NewErrParamRequired("Key")) 20562 } 20563 if s.Key != nil && len(*s.Key) < 1 { 20564 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20565 } 20566 20567 if invalidParams.Len() > 0 { 20568 return invalidParams 20569 } 20570 return nil 20571} 20572 20573// SetBucket sets the Bucket field's value. 20574func (s *PutObjectLegalHoldInput) SetBucket(v string) *PutObjectLegalHoldInput { 20575 s.Bucket = &v 20576 return s 20577} 20578 20579func (s *PutObjectLegalHoldInput) getBucket() (v string) { 20580 if s.Bucket == nil { 20581 return v 20582 } 20583 return *s.Bucket 20584} 20585 20586// SetKey sets the Key field's value. 20587func (s *PutObjectLegalHoldInput) SetKey(v string) *PutObjectLegalHoldInput { 20588 s.Key = &v 20589 return s 20590} 20591 20592// SetLegalHold sets the LegalHold field's value. 20593func (s *PutObjectLegalHoldInput) SetLegalHold(v *ObjectLockLegalHold) *PutObjectLegalHoldInput { 20594 s.LegalHold = v 20595 return s 20596} 20597 20598// SetRequestPayer sets the RequestPayer field's value. 20599func (s *PutObjectLegalHoldInput) SetRequestPayer(v string) *PutObjectLegalHoldInput { 20600 s.RequestPayer = &v 20601 return s 20602} 20603 20604// SetVersionId sets the VersionId field's value. 20605func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInput { 20606 s.VersionId = &v 20607 return s 20608} 20609 20610type PutObjectLegalHoldOutput struct { 20611 _ struct{} `type:"structure"` 20612 20613 // If present, indicates that the requester was successfully charged for the 20614 // request. 20615 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 20616} 20617 20618// String returns the string representation 20619func (s PutObjectLegalHoldOutput) String() string { 20620 return awsutil.Prettify(s) 20621} 20622 20623// GoString returns the string representation 20624func (s PutObjectLegalHoldOutput) GoString() string { 20625 return s.String() 20626} 20627 20628// SetRequestCharged sets the RequestCharged field's value. 20629func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHoldOutput { 20630 s.RequestCharged = &v 20631 return s 20632} 20633 20634type PutObjectLockConfigurationInput struct { 20635 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` 20636 20637 // The bucket whose Object Lock configuration you want to create or replace. 20638 // 20639 // Bucket is a required field 20640 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20641 20642 // The Object Lock configuration that you want to apply to the specified bucket. 20643 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20644 20645 // Confirms that the requester knows that she or he will be charged for the 20646 // request. Bucket owners need not specify this parameter in their requests. 20647 // Documentation on downloading objects from requester pays buckets can be found 20648 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20649 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20650 20651 // A token to allow Object Lock to be enabled for an existing bucket. 20652 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"` 20653} 20654 20655// String returns the string representation 20656func (s PutObjectLockConfigurationInput) String() string { 20657 return awsutil.Prettify(s) 20658} 20659 20660// GoString returns the string representation 20661func (s PutObjectLockConfigurationInput) GoString() string { 20662 return s.String() 20663} 20664 20665// Validate inspects the fields of the type to determine if they are valid. 20666func (s *PutObjectLockConfigurationInput) Validate() error { 20667 invalidParams := request.ErrInvalidParams{Context: "PutObjectLockConfigurationInput"} 20668 if s.Bucket == nil { 20669 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20670 } 20671 if s.Bucket != nil && len(*s.Bucket) < 1 { 20672 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20673 } 20674 20675 if invalidParams.Len() > 0 { 20676 return invalidParams 20677 } 20678 return nil 20679} 20680 20681// SetBucket sets the Bucket field's value. 20682func (s *PutObjectLockConfigurationInput) SetBucket(v string) *PutObjectLockConfigurationInput { 20683 s.Bucket = &v 20684 return s 20685} 20686 20687func (s *PutObjectLockConfigurationInput) getBucket() (v string) { 20688 if s.Bucket == nil { 20689 return v 20690 } 20691 return *s.Bucket 20692} 20693 20694// SetObjectLockConfiguration sets the ObjectLockConfiguration field's value. 20695func (s *PutObjectLockConfigurationInput) SetObjectLockConfiguration(v *ObjectLockConfiguration) *PutObjectLockConfigurationInput { 20696 s.ObjectLockConfiguration = v 20697 return s 20698} 20699 20700// SetRequestPayer sets the RequestPayer field's value. 20701func (s *PutObjectLockConfigurationInput) SetRequestPayer(v string) *PutObjectLockConfigurationInput { 20702 s.RequestPayer = &v 20703 return s 20704} 20705 20706// SetToken sets the Token field's value. 20707func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfigurationInput { 20708 s.Token = &v 20709 return s 20710} 20711 20712type PutObjectLockConfigurationOutput struct { 20713 _ struct{} `type:"structure"` 20714 20715 // If present, indicates that the requester was successfully charged for the 20716 // request. 20717 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 20718} 20719 20720// String returns the string representation 20721func (s PutObjectLockConfigurationOutput) String() string { 20722 return awsutil.Prettify(s) 20723} 20724 20725// GoString returns the string representation 20726func (s PutObjectLockConfigurationOutput) GoString() string { 20727 return s.String() 20728} 20729 20730// SetRequestCharged sets the RequestCharged field's value. 20731func (s *PutObjectLockConfigurationOutput) SetRequestCharged(v string) *PutObjectLockConfigurationOutput { 20732 s.RequestCharged = &v 20733 return s 20734} 20735 20736type PutObjectOutput struct { 20737 _ struct{} `type:"structure"` 20738 20739 // Entity tag for the uploaded object. 20740 ETag *string `location:"header" locationName:"ETag" type:"string"` 20741 20742 // If the object expiration is configured, this will contain the expiration 20743 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. 20744 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 20745 20746 // If present, indicates that the requester was successfully charged for the 20747 // request. 20748 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 20749 20750 // If server-side encryption with a customer-provided encryption key was requested, 20751 // the response will include this header confirming the encryption algorithm 20752 // used. 20753 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 20754 20755 // If server-side encryption with a customer-provided encryption key was requested, 20756 // the response will include this header to provide round trip message integrity 20757 // verification of the customer-provided encryption key. 20758 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 20759 20760 // If present, specifies the ID of the AWS Key Management Service (KMS) master 20761 // encryption key that was used for the object. 20762 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 20763 20764 // The Server-side encryption algorithm used when storing this object in S3 20765 // (e.g., AES256, aws:kms). 20766 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 20767 20768 // Version of the object. 20769 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 20770} 20771 20772// String returns the string representation 20773func (s PutObjectOutput) String() string { 20774 return awsutil.Prettify(s) 20775} 20776 20777// GoString returns the string representation 20778func (s PutObjectOutput) GoString() string { 20779 return s.String() 20780} 20781 20782// SetETag sets the ETag field's value. 20783func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput { 20784 s.ETag = &v 20785 return s 20786} 20787 20788// SetExpiration sets the Expiration field's value. 20789func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput { 20790 s.Expiration = &v 20791 return s 20792} 20793 20794// SetRequestCharged sets the RequestCharged field's value. 20795func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput { 20796 s.RequestCharged = &v 20797 return s 20798} 20799 20800// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 20801func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput { 20802 s.SSECustomerAlgorithm = &v 20803 return s 20804} 20805 20806// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 20807func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput { 20808 s.SSECustomerKeyMD5 = &v 20809 return s 20810} 20811 20812// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 20813func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput { 20814 s.SSEKMSKeyId = &v 20815 return s 20816} 20817 20818// SetServerSideEncryption sets the ServerSideEncryption field's value. 20819func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput { 20820 s.ServerSideEncryption = &v 20821 return s 20822} 20823 20824// SetVersionId sets the VersionId field's value. 20825func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput { 20826 s.VersionId = &v 20827 return s 20828} 20829 20830type PutObjectRetentionInput struct { 20831 _ struct{} `type:"structure" payload:"Retention"` 20832 20833 // The bucket that contains the object you want to apply this Object Retention 20834 // configuration to. 20835 // 20836 // Bucket is a required field 20837 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20838 20839 // Indicates whether this operation should bypass Governance-mode restrictions.j 20840 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` 20841 20842 // The key name for the object that you want to apply this Object Retention 20843 // configuration to. 20844 // 20845 // Key is a required field 20846 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20847 20848 // Confirms that the requester knows that she or he will be charged for the 20849 // request. Bucket owners need not specify this parameter in their requests. 20850 // Documentation on downloading objects from requester pays buckets can be found 20851 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20852 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20853 20854 // The container element for the Object Retention configuration. 20855 Retention *ObjectLockRetention `locationName:"Retention" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20856 20857 // The version ID for the object that you want to apply this Object Retention 20858 // configuration to. 20859 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 20860} 20861 20862// String returns the string representation 20863func (s PutObjectRetentionInput) String() string { 20864 return awsutil.Prettify(s) 20865} 20866 20867// GoString returns the string representation 20868func (s PutObjectRetentionInput) GoString() string { 20869 return s.String() 20870} 20871 20872// Validate inspects the fields of the type to determine if they are valid. 20873func (s *PutObjectRetentionInput) Validate() error { 20874 invalidParams := request.ErrInvalidParams{Context: "PutObjectRetentionInput"} 20875 if s.Bucket == nil { 20876 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20877 } 20878 if s.Bucket != nil && len(*s.Bucket) < 1 { 20879 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20880 } 20881 if s.Key == nil { 20882 invalidParams.Add(request.NewErrParamRequired("Key")) 20883 } 20884 if s.Key != nil && len(*s.Key) < 1 { 20885 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20886 } 20887 20888 if invalidParams.Len() > 0 { 20889 return invalidParams 20890 } 20891 return nil 20892} 20893 20894// SetBucket sets the Bucket field's value. 20895func (s *PutObjectRetentionInput) SetBucket(v string) *PutObjectRetentionInput { 20896 s.Bucket = &v 20897 return s 20898} 20899 20900func (s *PutObjectRetentionInput) getBucket() (v string) { 20901 if s.Bucket == nil { 20902 return v 20903 } 20904 return *s.Bucket 20905} 20906 20907// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 20908func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjectRetentionInput { 20909 s.BypassGovernanceRetention = &v 20910 return s 20911} 20912 20913// SetKey sets the Key field's value. 20914func (s *PutObjectRetentionInput) SetKey(v string) *PutObjectRetentionInput { 20915 s.Key = &v 20916 return s 20917} 20918 20919// SetRequestPayer sets the RequestPayer field's value. 20920func (s *PutObjectRetentionInput) SetRequestPayer(v string) *PutObjectRetentionInput { 20921 s.RequestPayer = &v 20922 return s 20923} 20924 20925// SetRetention sets the Retention field's value. 20926func (s *PutObjectRetentionInput) SetRetention(v *ObjectLockRetention) *PutObjectRetentionInput { 20927 s.Retention = v 20928 return s 20929} 20930 20931// SetVersionId sets the VersionId field's value. 20932func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInput { 20933 s.VersionId = &v 20934 return s 20935} 20936 20937type PutObjectRetentionOutput struct { 20938 _ struct{} `type:"structure"` 20939 20940 // If present, indicates that the requester was successfully charged for the 20941 // request. 20942 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 20943} 20944 20945// String returns the string representation 20946func (s PutObjectRetentionOutput) String() string { 20947 return awsutil.Prettify(s) 20948} 20949 20950// GoString returns the string representation 20951func (s PutObjectRetentionOutput) GoString() string { 20952 return s.String() 20953} 20954 20955// SetRequestCharged sets the RequestCharged field's value. 20956func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetentionOutput { 20957 s.RequestCharged = &v 20958 return s 20959} 20960 20961type PutObjectTaggingInput struct { 20962 _ struct{} `type:"structure" payload:"Tagging"` 20963 20964 // Bucket is a required field 20965 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20966 20967 // Key is a required field 20968 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20969 20970 // Tagging is a required field 20971 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20972 20973 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 20974} 20975 20976// String returns the string representation 20977func (s PutObjectTaggingInput) String() string { 20978 return awsutil.Prettify(s) 20979} 20980 20981// GoString returns the string representation 20982func (s PutObjectTaggingInput) GoString() string { 20983 return s.String() 20984} 20985 20986// Validate inspects the fields of the type to determine if they are valid. 20987func (s *PutObjectTaggingInput) Validate() error { 20988 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"} 20989 if s.Bucket == nil { 20990 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20991 } 20992 if s.Bucket != nil && len(*s.Bucket) < 1 { 20993 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 20994 } 20995 if s.Key == nil { 20996 invalidParams.Add(request.NewErrParamRequired("Key")) 20997 } 20998 if s.Key != nil && len(*s.Key) < 1 { 20999 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21000 } 21001 if s.Tagging == nil { 21002 invalidParams.Add(request.NewErrParamRequired("Tagging")) 21003 } 21004 if s.Tagging != nil { 21005 if err := s.Tagging.Validate(); err != nil { 21006 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 21007 } 21008 } 21009 21010 if invalidParams.Len() > 0 { 21011 return invalidParams 21012 } 21013 return nil 21014} 21015 21016// SetBucket sets the Bucket field's value. 21017func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput { 21018 s.Bucket = &v 21019 return s 21020} 21021 21022func (s *PutObjectTaggingInput) getBucket() (v string) { 21023 if s.Bucket == nil { 21024 return v 21025 } 21026 return *s.Bucket 21027} 21028 21029// SetKey sets the Key field's value. 21030func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput { 21031 s.Key = &v 21032 return s 21033} 21034 21035// SetTagging sets the Tagging field's value. 21036func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput { 21037 s.Tagging = v 21038 return s 21039} 21040 21041// SetVersionId sets the VersionId field's value. 21042func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput { 21043 s.VersionId = &v 21044 return s 21045} 21046 21047type PutObjectTaggingOutput struct { 21048 _ struct{} `type:"structure"` 21049 21050 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 21051} 21052 21053// String returns the string representation 21054func (s PutObjectTaggingOutput) String() string { 21055 return awsutil.Prettify(s) 21056} 21057 21058// GoString returns the string representation 21059func (s PutObjectTaggingOutput) GoString() string { 21060 return s.String() 21061} 21062 21063// SetVersionId sets the VersionId field's value. 21064func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput { 21065 s.VersionId = &v 21066 return s 21067} 21068 21069type PutPublicAccessBlockInput struct { 21070 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 21071 21072 // The name of the Amazon S3 bucket whose PublicAccessBlock configuration you 21073 // want to set. 21074 // 21075 // Bucket is a required field 21076 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 21077 21078 // The PublicAccessBlock configuration that you want to apply to this Amazon 21079 // S3 bucket. You can enable the configuration options in any combination. For 21080 // more information about when Amazon S3 considers a bucket or object public, 21081 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 21082 // in the Amazon Simple Storage Service Developer Guide. 21083 // 21084 // PublicAccessBlockConfiguration is a required field 21085 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 21086} 21087 21088// String returns the string representation 21089func (s PutPublicAccessBlockInput) String() string { 21090 return awsutil.Prettify(s) 21091} 21092 21093// GoString returns the string representation 21094func (s PutPublicAccessBlockInput) GoString() string { 21095 return s.String() 21096} 21097 21098// Validate inspects the fields of the type to determine if they are valid. 21099func (s *PutPublicAccessBlockInput) Validate() error { 21100 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} 21101 if s.Bucket == nil { 21102 invalidParams.Add(request.NewErrParamRequired("Bucket")) 21103 } 21104 if s.Bucket != nil && len(*s.Bucket) < 1 { 21105 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 21106 } 21107 if s.PublicAccessBlockConfiguration == nil { 21108 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) 21109 } 21110 21111 if invalidParams.Len() > 0 { 21112 return invalidParams 21113 } 21114 return nil 21115} 21116 21117// SetBucket sets the Bucket field's value. 21118func (s *PutPublicAccessBlockInput) SetBucket(v string) *PutPublicAccessBlockInput { 21119 s.Bucket = &v 21120 return s 21121} 21122 21123func (s *PutPublicAccessBlockInput) getBucket() (v string) { 21124 if s.Bucket == nil { 21125 return v 21126 } 21127 return *s.Bucket 21128} 21129 21130// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 21131func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 21132 s.PublicAccessBlockConfiguration = v 21133 return s 21134} 21135 21136type PutPublicAccessBlockOutput struct { 21137 _ struct{} `type:"structure"` 21138} 21139 21140// String returns the string representation 21141func (s PutPublicAccessBlockOutput) String() string { 21142 return awsutil.Prettify(s) 21143} 21144 21145// GoString returns the string representation 21146func (s PutPublicAccessBlockOutput) GoString() string { 21147 return s.String() 21148} 21149 21150// A container for specifying the configuration for publication of messages 21151// to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects 21152// specified events. 21153type QueueConfiguration struct { 21154 _ struct{} `type:"structure"` 21155 21156 // Events is a required field 21157 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 21158 21159 // A container for object key name filtering rules. For information about key 21160 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 21161 // in the Amazon Simple Storage Service Developer Guide. 21162 Filter *NotificationConfigurationFilter `type:"structure"` 21163 21164 // An optional unique identifier for configurations in a notification configuration. 21165 // If you don't provide one, Amazon S3 will assign an ID. 21166 Id *string `type:"string"` 21167 21168 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 21169 // will publish a message when it detects events of the specified type. 21170 // 21171 // QueueArn is a required field 21172 QueueArn *string `locationName:"Queue" type:"string" required:"true"` 21173} 21174 21175// String returns the string representation 21176func (s QueueConfiguration) String() string { 21177 return awsutil.Prettify(s) 21178} 21179 21180// GoString returns the string representation 21181func (s QueueConfiguration) GoString() string { 21182 return s.String() 21183} 21184 21185// Validate inspects the fields of the type to determine if they are valid. 21186func (s *QueueConfiguration) Validate() error { 21187 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"} 21188 if s.Events == nil { 21189 invalidParams.Add(request.NewErrParamRequired("Events")) 21190 } 21191 if s.QueueArn == nil { 21192 invalidParams.Add(request.NewErrParamRequired("QueueArn")) 21193 } 21194 21195 if invalidParams.Len() > 0 { 21196 return invalidParams 21197 } 21198 return nil 21199} 21200 21201// SetEvents sets the Events field's value. 21202func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration { 21203 s.Events = v 21204 return s 21205} 21206 21207// SetFilter sets the Filter field's value. 21208func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration { 21209 s.Filter = v 21210 return s 21211} 21212 21213// SetId sets the Id field's value. 21214func (s *QueueConfiguration) SetId(v string) *QueueConfiguration { 21215 s.Id = &v 21216 return s 21217} 21218 21219// SetQueueArn sets the QueueArn field's value. 21220func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration { 21221 s.QueueArn = &v 21222 return s 21223} 21224 21225type QueueConfigurationDeprecated struct { 21226 _ struct{} `type:"structure"` 21227 21228 // The bucket event for which to send notifications. 21229 // 21230 // Deprecated: Event has been deprecated 21231 Event *string `deprecated:"true" type:"string" enum:"Event"` 21232 21233 Events []*string `locationName:"Event" type:"list" flattened:"true"` 21234 21235 // An optional unique identifier for configurations in a notification configuration. 21236 // If you don't provide one, Amazon S3 will assign an ID. 21237 Id *string `type:"string"` 21238 21239 Queue *string `type:"string"` 21240} 21241 21242// String returns the string representation 21243func (s QueueConfigurationDeprecated) String() string { 21244 return awsutil.Prettify(s) 21245} 21246 21247// GoString returns the string representation 21248func (s QueueConfigurationDeprecated) GoString() string { 21249 return s.String() 21250} 21251 21252// SetEvent sets the Event field's value. 21253func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated { 21254 s.Event = &v 21255 return s 21256} 21257 21258// SetEvents sets the Events field's value. 21259func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated { 21260 s.Events = v 21261 return s 21262} 21263 21264// SetId sets the Id field's value. 21265func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated { 21266 s.Id = &v 21267 return s 21268} 21269 21270// SetQueue sets the Queue field's value. 21271func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated { 21272 s.Queue = &v 21273 return s 21274} 21275 21276type RecordsEvent struct { 21277 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"` 21278 21279 // The byte array of partial, one or more result records. 21280 // 21281 // Payload is automatically base64 encoded/decoded by the SDK. 21282 Payload []byte `type:"blob"` 21283} 21284 21285// String returns the string representation 21286func (s RecordsEvent) String() string { 21287 return awsutil.Prettify(s) 21288} 21289 21290// GoString returns the string representation 21291func (s RecordsEvent) GoString() string { 21292 return s.String() 21293} 21294 21295// SetPayload sets the Payload field's value. 21296func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent { 21297 s.Payload = v 21298 return s 21299} 21300 21301// The RecordsEvent is and event in the SelectObjectContentEventStream group of events. 21302func (s *RecordsEvent) eventSelectObjectContentEventStream() {} 21303 21304// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value. 21305// This method is only used internally within the SDK's EventStream handling. 21306func (s *RecordsEvent) UnmarshalEvent( 21307 payloadUnmarshaler protocol.PayloadUnmarshaler, 21308 msg eventstream.Message, 21309) error { 21310 s.Payload = make([]byte, len(msg.Payload)) 21311 copy(s.Payload, msg.Payload) 21312 return nil 21313} 21314 21315type Redirect struct { 21316 _ struct{} `type:"structure"` 21317 21318 // The host name to use in the redirect request. 21319 HostName *string `type:"string"` 21320 21321 // The HTTP redirect code to use on the response. Not required if one of the 21322 // siblings is present. 21323 HttpRedirectCode *string `type:"string"` 21324 21325 // Protocol to use (http, https) when redirecting requests. The default is the 21326 // protocol that is used in the original request. 21327 Protocol *string `type:"string" enum:"Protocol"` 21328 21329 // The object key prefix to use in the redirect request. For example, to redirect 21330 // requests for all pages with prefix docs/ (objects in the docs/ folder) to 21331 // documents/, you can set a condition block with KeyPrefixEquals set to docs/ 21332 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required 21333 // if one of the siblings is present. Can be present only if ReplaceKeyWith 21334 // is not provided. 21335 ReplaceKeyPrefixWith *string `type:"string"` 21336 21337 // The specific object key to use in the redirect request. For example, redirect 21338 // request to error.html. Not required if one of the sibling is present. Can 21339 // be present only if ReplaceKeyPrefixWith is not provided. 21340 ReplaceKeyWith *string `type:"string"` 21341} 21342 21343// String returns the string representation 21344func (s Redirect) String() string { 21345 return awsutil.Prettify(s) 21346} 21347 21348// GoString returns the string representation 21349func (s Redirect) GoString() string { 21350 return s.String() 21351} 21352 21353// SetHostName sets the HostName field's value. 21354func (s *Redirect) SetHostName(v string) *Redirect { 21355 s.HostName = &v 21356 return s 21357} 21358 21359// SetHttpRedirectCode sets the HttpRedirectCode field's value. 21360func (s *Redirect) SetHttpRedirectCode(v string) *Redirect { 21361 s.HttpRedirectCode = &v 21362 return s 21363} 21364 21365// SetProtocol sets the Protocol field's value. 21366func (s *Redirect) SetProtocol(v string) *Redirect { 21367 s.Protocol = &v 21368 return s 21369} 21370 21371// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value. 21372func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect { 21373 s.ReplaceKeyPrefixWith = &v 21374 return s 21375} 21376 21377// SetReplaceKeyWith sets the ReplaceKeyWith field's value. 21378func (s *Redirect) SetReplaceKeyWith(v string) *Redirect { 21379 s.ReplaceKeyWith = &v 21380 return s 21381} 21382 21383type RedirectAllRequestsTo struct { 21384 _ struct{} `type:"structure"` 21385 21386 // Name of the host where requests will be redirected. 21387 // 21388 // HostName is a required field 21389 HostName *string `type:"string" required:"true"` 21390 21391 // Protocol to use (http, https) when redirecting requests. The default is the 21392 // protocol that is used in the original request. 21393 Protocol *string `type:"string" enum:"Protocol"` 21394} 21395 21396// String returns the string representation 21397func (s RedirectAllRequestsTo) String() string { 21398 return awsutil.Prettify(s) 21399} 21400 21401// GoString returns the string representation 21402func (s RedirectAllRequestsTo) GoString() string { 21403 return s.String() 21404} 21405 21406// Validate inspects the fields of the type to determine if they are valid. 21407func (s *RedirectAllRequestsTo) Validate() error { 21408 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"} 21409 if s.HostName == nil { 21410 invalidParams.Add(request.NewErrParamRequired("HostName")) 21411 } 21412 21413 if invalidParams.Len() > 0 { 21414 return invalidParams 21415 } 21416 return nil 21417} 21418 21419// SetHostName sets the HostName field's value. 21420func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo { 21421 s.HostName = &v 21422 return s 21423} 21424 21425// SetProtocol sets the Protocol field's value. 21426func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo { 21427 s.Protocol = &v 21428 return s 21429} 21430 21431// A container for replication rules. You can add up to 1,000 rules. The maximum 21432// size of a replication configuration is 2 MB. 21433type ReplicationConfiguration struct { 21434 _ struct{} `type:"structure"` 21435 21436 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management 21437 // (IAM) role that Amazon S3 can assume when replicating the objects. 21438 // 21439 // Role is a required field 21440 Role *string `type:"string" required:"true"` 21441 21442 // A container for one or more replication rules. A replication configuration 21443 // must have at least one rule and can contain a maximum of 1,000 rules. 21444 // 21445 // Rules is a required field 21446 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 21447} 21448 21449// String returns the string representation 21450func (s ReplicationConfiguration) String() string { 21451 return awsutil.Prettify(s) 21452} 21453 21454// GoString returns the string representation 21455func (s ReplicationConfiguration) GoString() string { 21456 return s.String() 21457} 21458 21459// Validate inspects the fields of the type to determine if they are valid. 21460func (s *ReplicationConfiguration) Validate() error { 21461 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"} 21462 if s.Role == nil { 21463 invalidParams.Add(request.NewErrParamRequired("Role")) 21464 } 21465 if s.Rules == nil { 21466 invalidParams.Add(request.NewErrParamRequired("Rules")) 21467 } 21468 if s.Rules != nil { 21469 for i, v := range s.Rules { 21470 if v == nil { 21471 continue 21472 } 21473 if err := v.Validate(); err != nil { 21474 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 21475 } 21476 } 21477 } 21478 21479 if invalidParams.Len() > 0 { 21480 return invalidParams 21481 } 21482 return nil 21483} 21484 21485// SetRole sets the Role field's value. 21486func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration { 21487 s.Role = &v 21488 return s 21489} 21490 21491// SetRules sets the Rules field's value. 21492func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration { 21493 s.Rules = v 21494 return s 21495} 21496 21497// A container for information about a specific replication rule. 21498type ReplicationRule struct { 21499 _ struct{} `type:"structure"` 21500 21501 // Specifies whether Amazon S3 should replicate delete makers. 21502 DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"` 21503 21504 // A container for information about the replication destination. 21505 // 21506 // Destination is a required field 21507 Destination *Destination `type:"structure" required:"true"` 21508 21509 // A filter that identifies the subset of objects to which the replication rule 21510 // applies. A Filter must specify exactly one Prefix, Tag, or an And child element. 21511 Filter *ReplicationRuleFilter `type:"structure"` 21512 21513 // A unique identifier for the rule. The maximum value is 255 characters. 21514 ID *string `type:"string"` 21515 21516 // An object keyname prefix that identifies the object or objects to which the 21517 // rule applies. The maximum prefix length is 1,024 characters. 21518 // 21519 // Deprecated: Prefix has been deprecated 21520 Prefix *string `deprecated:"true" type:"string"` 21521 21522 // The priority associated with the rule. If you specify multiple rules in a 21523 // replication configuration, Amazon S3 prioritizes the rules to prevent conflicts 21524 // when filtering. If two or more rules identify the same object based on a 21525 // specified filter, the rule with higher priority takes precedence. For example: 21526 // 21527 // * Same object quality prefix based filter criteria If prefixes you specified 21528 // in multiple rules overlap 21529 // 21530 // * Same object qualify tag based filter criteria specified in multiple 21531 // rules 21532 // 21533 // For more information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 21534 // in the Amazon S3 Developer Guide. 21535 Priority *int64 `type:"integer"` 21536 21537 // A container that describes additional filters for identifying the source 21538 // objects that you want to replicate. You can choose to enable or disable the 21539 // replication of these objects. Currently, Amazon S3 supports only the filter 21540 // that you can specify for objects created with server-side encryption using 21541 // an AWS KMS-Managed Key (SSE-KMS). 21542 // 21543 // If you want Amazon S3 to replicate objects created with server-side encryption 21544 // using AWS KMS-Managed Keys. 21545 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"` 21546 21547 // If status isn't enabled, the rule is ignored. 21548 // 21549 // Status is a required field 21550 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` 21551} 21552 21553// String returns the string representation 21554func (s ReplicationRule) String() string { 21555 return awsutil.Prettify(s) 21556} 21557 21558// GoString returns the string representation 21559func (s ReplicationRule) GoString() string { 21560 return s.String() 21561} 21562 21563// Validate inspects the fields of the type to determine if they are valid. 21564func (s *ReplicationRule) Validate() error { 21565 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"} 21566 if s.Destination == nil { 21567 invalidParams.Add(request.NewErrParamRequired("Destination")) 21568 } 21569 if s.Status == nil { 21570 invalidParams.Add(request.NewErrParamRequired("Status")) 21571 } 21572 if s.Destination != nil { 21573 if err := s.Destination.Validate(); err != nil { 21574 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 21575 } 21576 } 21577 if s.Filter != nil { 21578 if err := s.Filter.Validate(); err != nil { 21579 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 21580 } 21581 } 21582 if s.SourceSelectionCriteria != nil { 21583 if err := s.SourceSelectionCriteria.Validate(); err != nil { 21584 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams)) 21585 } 21586 } 21587 21588 if invalidParams.Len() > 0 { 21589 return invalidParams 21590 } 21591 return nil 21592} 21593 21594// SetDeleteMarkerReplication sets the DeleteMarkerReplication field's value. 21595func (s *ReplicationRule) SetDeleteMarkerReplication(v *DeleteMarkerReplication) *ReplicationRule { 21596 s.DeleteMarkerReplication = v 21597 return s 21598} 21599 21600// SetDestination sets the Destination field's value. 21601func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule { 21602 s.Destination = v 21603 return s 21604} 21605 21606// SetFilter sets the Filter field's value. 21607func (s *ReplicationRule) SetFilter(v *ReplicationRuleFilter) *ReplicationRule { 21608 s.Filter = v 21609 return s 21610} 21611 21612// SetID sets the ID field's value. 21613func (s *ReplicationRule) SetID(v string) *ReplicationRule { 21614 s.ID = &v 21615 return s 21616} 21617 21618// SetPrefix sets the Prefix field's value. 21619func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule { 21620 s.Prefix = &v 21621 return s 21622} 21623 21624// SetPriority sets the Priority field's value. 21625func (s *ReplicationRule) SetPriority(v int64) *ReplicationRule { 21626 s.Priority = &v 21627 return s 21628} 21629 21630// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value. 21631func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule { 21632 s.SourceSelectionCriteria = v 21633 return s 21634} 21635 21636// SetStatus sets the Status field's value. 21637func (s *ReplicationRule) SetStatus(v string) *ReplicationRule { 21638 s.Status = &v 21639 return s 21640} 21641 21642type ReplicationRuleAndOperator struct { 21643 _ struct{} `type:"structure"` 21644 21645 Prefix *string `type:"string"` 21646 21647 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 21648} 21649 21650// String returns the string representation 21651func (s ReplicationRuleAndOperator) String() string { 21652 return awsutil.Prettify(s) 21653} 21654 21655// GoString returns the string representation 21656func (s ReplicationRuleAndOperator) GoString() string { 21657 return s.String() 21658} 21659 21660// Validate inspects the fields of the type to determine if they are valid. 21661func (s *ReplicationRuleAndOperator) Validate() error { 21662 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleAndOperator"} 21663 if s.Tags != nil { 21664 for i, v := range s.Tags { 21665 if v == nil { 21666 continue 21667 } 21668 if err := v.Validate(); err != nil { 21669 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 21670 } 21671 } 21672 } 21673 21674 if invalidParams.Len() > 0 { 21675 return invalidParams 21676 } 21677 return nil 21678} 21679 21680// SetPrefix sets the Prefix field's value. 21681func (s *ReplicationRuleAndOperator) SetPrefix(v string) *ReplicationRuleAndOperator { 21682 s.Prefix = &v 21683 return s 21684} 21685 21686// SetTags sets the Tags field's value. 21687func (s *ReplicationRuleAndOperator) SetTags(v []*Tag) *ReplicationRuleAndOperator { 21688 s.Tags = v 21689 return s 21690} 21691 21692// A filter that identifies the subset of objects to which the replication rule 21693// applies. A Filter must specify exactly one Prefix, Tag, or an And child element. 21694type ReplicationRuleFilter struct { 21695 _ struct{} `type:"structure"` 21696 21697 // A container for specifying rule filters. The filters determine the subset 21698 // of objects to which the rule applies. This element is required only if you 21699 // specify more than one filter. For example: 21700 // 21701 // * If you specify both a Prefix and a Tag filter, wrap these filters in 21702 // an And tag. 21703 // 21704 // * If you specify a filter based on multiple tags, wrap the Tag elements 21705 // in an And tag. 21706 And *ReplicationRuleAndOperator `type:"structure"` 21707 21708 // An object keyname prefix that identifies the subset of objects to which the 21709 // rule applies. 21710 Prefix *string `type:"string"` 21711 21712 // A container for specifying a tag key and value. 21713 // 21714 // The rule applies only to objects that have the tag in their tag set. 21715 Tag *Tag `type:"structure"` 21716} 21717 21718// String returns the string representation 21719func (s ReplicationRuleFilter) String() string { 21720 return awsutil.Prettify(s) 21721} 21722 21723// GoString returns the string representation 21724func (s ReplicationRuleFilter) GoString() string { 21725 return s.String() 21726} 21727 21728// Validate inspects the fields of the type to determine if they are valid. 21729func (s *ReplicationRuleFilter) Validate() error { 21730 invalidParams := request.ErrInvalidParams{Context: "ReplicationRuleFilter"} 21731 if s.And != nil { 21732 if err := s.And.Validate(); err != nil { 21733 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 21734 } 21735 } 21736 if s.Tag != nil { 21737 if err := s.Tag.Validate(); err != nil { 21738 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 21739 } 21740 } 21741 21742 if invalidParams.Len() > 0 { 21743 return invalidParams 21744 } 21745 return nil 21746} 21747 21748// SetAnd sets the And field's value. 21749func (s *ReplicationRuleFilter) SetAnd(v *ReplicationRuleAndOperator) *ReplicationRuleFilter { 21750 s.And = v 21751 return s 21752} 21753 21754// SetPrefix sets the Prefix field's value. 21755func (s *ReplicationRuleFilter) SetPrefix(v string) *ReplicationRuleFilter { 21756 s.Prefix = &v 21757 return s 21758} 21759 21760// SetTag sets the Tag field's value. 21761func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter { 21762 s.Tag = v 21763 return s 21764} 21765 21766type RequestPaymentConfiguration struct { 21767 _ struct{} `type:"structure"` 21768 21769 // Specifies who pays for the download and request fees. 21770 // 21771 // Payer is a required field 21772 Payer *string `type:"string" required:"true" enum:"Payer"` 21773} 21774 21775// String returns the string representation 21776func (s RequestPaymentConfiguration) String() string { 21777 return awsutil.Prettify(s) 21778} 21779 21780// GoString returns the string representation 21781func (s RequestPaymentConfiguration) GoString() string { 21782 return s.String() 21783} 21784 21785// Validate inspects the fields of the type to determine if they are valid. 21786func (s *RequestPaymentConfiguration) Validate() error { 21787 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"} 21788 if s.Payer == nil { 21789 invalidParams.Add(request.NewErrParamRequired("Payer")) 21790 } 21791 21792 if invalidParams.Len() > 0 { 21793 return invalidParams 21794 } 21795 return nil 21796} 21797 21798// SetPayer sets the Payer field's value. 21799func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration { 21800 s.Payer = &v 21801 return s 21802} 21803 21804type RequestProgress struct { 21805 _ struct{} `type:"structure"` 21806 21807 // Specifies whether periodic QueryProgress frames should be sent. Valid values: 21808 // TRUE, FALSE. Default value: FALSE. 21809 Enabled *bool `type:"boolean"` 21810} 21811 21812// String returns the string representation 21813func (s RequestProgress) String() string { 21814 return awsutil.Prettify(s) 21815} 21816 21817// GoString returns the string representation 21818func (s RequestProgress) GoString() string { 21819 return s.String() 21820} 21821 21822// SetEnabled sets the Enabled field's value. 21823func (s *RequestProgress) SetEnabled(v bool) *RequestProgress { 21824 s.Enabled = &v 21825 return s 21826} 21827 21828type RestoreObjectInput struct { 21829 _ struct{} `type:"structure" payload:"RestoreRequest"` 21830 21831 // Bucket is a required field 21832 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 21833 21834 // Key is a required field 21835 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 21836 21837 // Confirms that the requester knows that she or he will be charged for the 21838 // request. Bucket owners need not specify this parameter in their requests. 21839 // Documentation on downloading objects from requester pays buckets can be found 21840 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 21841 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 21842 21843 // Container for restore job parameters. 21844 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 21845 21846 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 21847} 21848 21849// String returns the string representation 21850func (s RestoreObjectInput) String() string { 21851 return awsutil.Prettify(s) 21852} 21853 21854// GoString returns the string representation 21855func (s RestoreObjectInput) GoString() string { 21856 return s.String() 21857} 21858 21859// Validate inspects the fields of the type to determine if they are valid. 21860func (s *RestoreObjectInput) Validate() error { 21861 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"} 21862 if s.Bucket == nil { 21863 invalidParams.Add(request.NewErrParamRequired("Bucket")) 21864 } 21865 if s.Bucket != nil && len(*s.Bucket) < 1 { 21866 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 21867 } 21868 if s.Key == nil { 21869 invalidParams.Add(request.NewErrParamRequired("Key")) 21870 } 21871 if s.Key != nil && len(*s.Key) < 1 { 21872 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21873 } 21874 if s.RestoreRequest != nil { 21875 if err := s.RestoreRequest.Validate(); err != nil { 21876 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams)) 21877 } 21878 } 21879 21880 if invalidParams.Len() > 0 { 21881 return invalidParams 21882 } 21883 return nil 21884} 21885 21886// SetBucket sets the Bucket field's value. 21887func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput { 21888 s.Bucket = &v 21889 return s 21890} 21891 21892func (s *RestoreObjectInput) getBucket() (v string) { 21893 if s.Bucket == nil { 21894 return v 21895 } 21896 return *s.Bucket 21897} 21898 21899// SetKey sets the Key field's value. 21900func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput { 21901 s.Key = &v 21902 return s 21903} 21904 21905// SetRequestPayer sets the RequestPayer field's value. 21906func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput { 21907 s.RequestPayer = &v 21908 return s 21909} 21910 21911// SetRestoreRequest sets the RestoreRequest field's value. 21912func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput { 21913 s.RestoreRequest = v 21914 return s 21915} 21916 21917// SetVersionId sets the VersionId field's value. 21918func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput { 21919 s.VersionId = &v 21920 return s 21921} 21922 21923type RestoreObjectOutput struct { 21924 _ struct{} `type:"structure"` 21925 21926 // If present, indicates that the requester was successfully charged for the 21927 // request. 21928 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 21929 21930 // Indicates the path in the provided S3 output location where Select results 21931 // will be restored to. 21932 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"` 21933} 21934 21935// String returns the string representation 21936func (s RestoreObjectOutput) String() string { 21937 return awsutil.Prettify(s) 21938} 21939 21940// GoString returns the string representation 21941func (s RestoreObjectOutput) GoString() string { 21942 return s.String() 21943} 21944 21945// SetRequestCharged sets the RequestCharged field's value. 21946func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput { 21947 s.RequestCharged = &v 21948 return s 21949} 21950 21951// SetRestoreOutputPath sets the RestoreOutputPath field's value. 21952func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput { 21953 s.RestoreOutputPath = &v 21954 return s 21955} 21956 21957// Container for restore job parameters. 21958type RestoreRequest struct { 21959 _ struct{} `type:"structure"` 21960 21961 // Lifetime of the active copy in days. Do not use with restores that specify 21962 // OutputLocation. 21963 Days *int64 `type:"integer"` 21964 21965 // The optional description for the job. 21966 Description *string `type:"string"` 21967 21968 // Glacier related parameters pertaining to this job. Do not use with restores 21969 // that specify OutputLocation. 21970 GlacierJobParameters *GlacierJobParameters `type:"structure"` 21971 21972 // Describes the location where the restore job's output is stored. 21973 OutputLocation *OutputLocation `type:"structure"` 21974 21975 // Describes the parameters for Select job types. 21976 SelectParameters *SelectParameters `type:"structure"` 21977 21978 // Glacier retrieval tier at which the restore will be processed. 21979 Tier *string `type:"string" enum:"Tier"` 21980 21981 // Type of restore request. 21982 Type *string `type:"string" enum:"RestoreRequestType"` 21983} 21984 21985// String returns the string representation 21986func (s RestoreRequest) String() string { 21987 return awsutil.Prettify(s) 21988} 21989 21990// GoString returns the string representation 21991func (s RestoreRequest) GoString() string { 21992 return s.String() 21993} 21994 21995// Validate inspects the fields of the type to determine if they are valid. 21996func (s *RestoreRequest) Validate() error { 21997 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"} 21998 if s.GlacierJobParameters != nil { 21999 if err := s.GlacierJobParameters.Validate(); err != nil { 22000 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams)) 22001 } 22002 } 22003 if s.OutputLocation != nil { 22004 if err := s.OutputLocation.Validate(); err != nil { 22005 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) 22006 } 22007 } 22008 if s.SelectParameters != nil { 22009 if err := s.SelectParameters.Validate(); err != nil { 22010 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams)) 22011 } 22012 } 22013 22014 if invalidParams.Len() > 0 { 22015 return invalidParams 22016 } 22017 return nil 22018} 22019 22020// SetDays sets the Days field's value. 22021func (s *RestoreRequest) SetDays(v int64) *RestoreRequest { 22022 s.Days = &v 22023 return s 22024} 22025 22026// SetDescription sets the Description field's value. 22027func (s *RestoreRequest) SetDescription(v string) *RestoreRequest { 22028 s.Description = &v 22029 return s 22030} 22031 22032// SetGlacierJobParameters sets the GlacierJobParameters field's value. 22033func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest { 22034 s.GlacierJobParameters = v 22035 return s 22036} 22037 22038// SetOutputLocation sets the OutputLocation field's value. 22039func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest { 22040 s.OutputLocation = v 22041 return s 22042} 22043 22044// SetSelectParameters sets the SelectParameters field's value. 22045func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest { 22046 s.SelectParameters = v 22047 return s 22048} 22049 22050// SetTier sets the Tier field's value. 22051func (s *RestoreRequest) SetTier(v string) *RestoreRequest { 22052 s.Tier = &v 22053 return s 22054} 22055 22056// SetType sets the Type field's value. 22057func (s *RestoreRequest) SetType(v string) *RestoreRequest { 22058 s.Type = &v 22059 return s 22060} 22061 22062type RoutingRule struct { 22063 _ struct{} `type:"structure"` 22064 22065 // A container for describing a condition that must be met for the specified 22066 // redirect to apply. For example, 1. If request is for pages in the /docs folder, 22067 // redirect to the /documents folder. 2. If request results in HTTP error 4xx, 22068 // redirect request to another host where you might process the error. 22069 Condition *Condition `type:"structure"` 22070 22071 // Container for redirect information. You can redirect requests to another 22072 // host, to another page, or with another protocol. In the event of an error, 22073 // you can specify a different error code to return. 22074 // 22075 // Redirect is a required field 22076 Redirect *Redirect `type:"structure" required:"true"` 22077} 22078 22079// String returns the string representation 22080func (s RoutingRule) String() string { 22081 return awsutil.Prettify(s) 22082} 22083 22084// GoString returns the string representation 22085func (s RoutingRule) GoString() string { 22086 return s.String() 22087} 22088 22089// Validate inspects the fields of the type to determine if they are valid. 22090func (s *RoutingRule) Validate() error { 22091 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"} 22092 if s.Redirect == nil { 22093 invalidParams.Add(request.NewErrParamRequired("Redirect")) 22094 } 22095 22096 if invalidParams.Len() > 0 { 22097 return invalidParams 22098 } 22099 return nil 22100} 22101 22102// SetCondition sets the Condition field's value. 22103func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule { 22104 s.Condition = v 22105 return s 22106} 22107 22108// SetRedirect sets the Redirect field's value. 22109func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule { 22110 s.Redirect = v 22111 return s 22112} 22113 22114type Rule struct { 22115 _ struct{} `type:"structure"` 22116 22117 // Specifies the days since the initiation of an Incomplete Multipart Upload 22118 // that Lifecycle will wait before permanently removing all parts of the upload. 22119 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 22120 22121 Expiration *LifecycleExpiration `type:"structure"` 22122 22123 // Unique identifier for the rule. The value cannot be longer than 255 characters. 22124 ID *string `type:"string"` 22125 22126 // Specifies when noncurrent object versions expire. Upon expiration, Amazon 22127 // S3 permanently deletes the noncurrent object versions. You set this lifecycle 22128 // configuration action on a bucket that has versioning enabled (or suspended) 22129 // to request that Amazon S3 delete noncurrent object versions at a specific 22130 // period in the object's lifetime. 22131 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 22132 22133 // Container for the transition rule that describes when noncurrent objects 22134 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or 22135 // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning 22136 // is suspended), you can set this action to request that Amazon S3 transition 22137 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, 22138 // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's 22139 // lifetime. 22140 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` 22141 22142 // Prefix identifying one or more objects to which the rule applies. 22143 // 22144 // Prefix is a required field 22145 Prefix *string `type:"string" required:"true"` 22146 22147 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 22148 // is not currently being applied. 22149 // 22150 // Status is a required field 22151 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 22152 22153 Transition *Transition `type:"structure"` 22154} 22155 22156// String returns the string representation 22157func (s Rule) String() string { 22158 return awsutil.Prettify(s) 22159} 22160 22161// GoString returns the string representation 22162func (s Rule) GoString() string { 22163 return s.String() 22164} 22165 22166// Validate inspects the fields of the type to determine if they are valid. 22167func (s *Rule) Validate() error { 22168 invalidParams := request.ErrInvalidParams{Context: "Rule"} 22169 if s.Prefix == nil { 22170 invalidParams.Add(request.NewErrParamRequired("Prefix")) 22171 } 22172 if s.Status == nil { 22173 invalidParams.Add(request.NewErrParamRequired("Status")) 22174 } 22175 22176 if invalidParams.Len() > 0 { 22177 return invalidParams 22178 } 22179 return nil 22180} 22181 22182// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 22183func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule { 22184 s.AbortIncompleteMultipartUpload = v 22185 return s 22186} 22187 22188// SetExpiration sets the Expiration field's value. 22189func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule { 22190 s.Expiration = v 22191 return s 22192} 22193 22194// SetID sets the ID field's value. 22195func (s *Rule) SetID(v string) *Rule { 22196 s.ID = &v 22197 return s 22198} 22199 22200// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 22201func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule { 22202 s.NoncurrentVersionExpiration = v 22203 return s 22204} 22205 22206// SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value. 22207func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule { 22208 s.NoncurrentVersionTransition = v 22209 return s 22210} 22211 22212// SetPrefix sets the Prefix field's value. 22213func (s *Rule) SetPrefix(v string) *Rule { 22214 s.Prefix = &v 22215 return s 22216} 22217 22218// SetStatus sets the Status field's value. 22219func (s *Rule) SetStatus(v string) *Rule { 22220 s.Status = &v 22221 return s 22222} 22223 22224// SetTransition sets the Transition field's value. 22225func (s *Rule) SetTransition(v *Transition) *Rule { 22226 s.Transition = v 22227 return s 22228} 22229 22230// Specifies the use of SSE-KMS to encrypt delivered Inventory reports. 22231type SSEKMS struct { 22232 _ struct{} `locationName:"SSE-KMS" type:"structure"` 22233 22234 // Specifies the ID of the AWS Key Management Service (KMS) master encryption 22235 // key to use for encrypting Inventory reports. 22236 // 22237 // KeyId is a required field 22238 KeyId *string `type:"string" required:"true" sensitive:"true"` 22239} 22240 22241// String returns the string representation 22242func (s SSEKMS) String() string { 22243 return awsutil.Prettify(s) 22244} 22245 22246// GoString returns the string representation 22247func (s SSEKMS) GoString() string { 22248 return s.String() 22249} 22250 22251// Validate inspects the fields of the type to determine if they are valid. 22252func (s *SSEKMS) Validate() error { 22253 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 22254 if s.KeyId == nil { 22255 invalidParams.Add(request.NewErrParamRequired("KeyId")) 22256 } 22257 22258 if invalidParams.Len() > 0 { 22259 return invalidParams 22260 } 22261 return nil 22262} 22263 22264// SetKeyId sets the KeyId field's value. 22265func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 22266 s.KeyId = &v 22267 return s 22268} 22269 22270// Specifies the use of SSE-S3 to encrypt delivered Inventory reports. 22271type SSES3 struct { 22272 _ struct{} `locationName:"SSE-S3" type:"structure"` 22273} 22274 22275// String returns the string representation 22276func (s SSES3) String() string { 22277 return awsutil.Prettify(s) 22278} 22279 22280// GoString returns the string representation 22281func (s SSES3) GoString() string { 22282 return s.String() 22283} 22284 22285// SelectObjectContentEventStream provides handling of EventStreams for 22286// the SelectObjectContent API. 22287// 22288// Use this type to receive SelectObjectContentEventStream events. The events 22289// can be read from the Events channel member. 22290// 22291// The events that can be received are: 22292// 22293// * ContinuationEvent 22294// * EndEvent 22295// * ProgressEvent 22296// * RecordsEvent 22297// * StatsEvent 22298type SelectObjectContentEventStream struct { 22299 // Reader is the EventStream reader for the SelectObjectContentEventStream 22300 // events. This value is automatically set by the SDK when the API call is made 22301 // Use this member when unit testing your code with the SDK to mock out the 22302 // EventStream Reader. 22303 // 22304 // Must not be nil. 22305 Reader SelectObjectContentEventStreamReader 22306 22307 // StreamCloser is the io.Closer for the EventStream connection. For HTTP 22308 // EventStream this is the response Body. The stream will be closed when 22309 // the Close method of the EventStream is called. 22310 StreamCloser io.Closer 22311} 22312 22313// Close closes the EventStream. This will also cause the Events channel to be 22314// closed. You can use the closing of the Events channel to terminate your 22315// application's read from the API's EventStream. 22316// 22317// Will close the underlying EventStream reader. For EventStream over HTTP 22318// connection this will also close the HTTP connection. 22319// 22320// Close must be called when done using the EventStream API. Not calling Close 22321// may result in resource leaks. 22322func (es *SelectObjectContentEventStream) Close() (err error) { 22323 es.Reader.Close() 22324 return es.Err() 22325} 22326 22327// Err returns any error that occurred while reading EventStream Events from 22328// the service API's response. Returns nil if there were no errors. 22329func (es *SelectObjectContentEventStream) Err() error { 22330 if err := es.Reader.Err(); err != nil { 22331 return err 22332 } 22333 es.StreamCloser.Close() 22334 22335 return nil 22336} 22337 22338// Events returns a channel to read EventStream Events from the 22339// SelectObjectContent API. 22340// 22341// These events are: 22342// 22343// * ContinuationEvent 22344// * EndEvent 22345// * ProgressEvent 22346// * RecordsEvent 22347// * StatsEvent 22348func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { 22349 return es.Reader.Events() 22350} 22351 22352// SelectObjectContentEventStreamEvent groups together all EventStream 22353// events read from the SelectObjectContent API. 22354// 22355// These events are: 22356// 22357// * ContinuationEvent 22358// * EndEvent 22359// * ProgressEvent 22360// * RecordsEvent 22361// * StatsEvent 22362type SelectObjectContentEventStreamEvent interface { 22363 eventSelectObjectContentEventStream() 22364} 22365 22366// SelectObjectContentEventStreamReader provides the interface for reading EventStream 22367// Events from the SelectObjectContent API. The 22368// default implementation for this interface will be SelectObjectContentEventStream. 22369// 22370// The reader's Close method must allow multiple concurrent calls. 22371// 22372// These events are: 22373// 22374// * ContinuationEvent 22375// * EndEvent 22376// * ProgressEvent 22377// * RecordsEvent 22378// * StatsEvent 22379type SelectObjectContentEventStreamReader interface { 22380 // Returns a channel of events as they are read from the event stream. 22381 Events() <-chan SelectObjectContentEventStreamEvent 22382 22383 // Close will close the underlying event stream reader. For event stream over 22384 // HTTP this will also close the HTTP connection. 22385 Close() error 22386 22387 // Returns any error that has occurred while reading from the event stream. 22388 Err() error 22389} 22390 22391type readSelectObjectContentEventStream struct { 22392 eventReader *eventstreamapi.EventReader 22393 stream chan SelectObjectContentEventStreamEvent 22394 errVal atomic.Value 22395 22396 done chan struct{} 22397 closeOnce sync.Once 22398} 22399 22400func newReadSelectObjectContentEventStream( 22401 reader io.ReadCloser, 22402 unmarshalers request.HandlerList, 22403 logger aws.Logger, 22404 logLevel aws.LogLevelType, 22405) *readSelectObjectContentEventStream { 22406 r := &readSelectObjectContentEventStream{ 22407 stream: make(chan SelectObjectContentEventStreamEvent), 22408 done: make(chan struct{}), 22409 } 22410 22411 r.eventReader = eventstreamapi.NewEventReader( 22412 reader, 22413 protocol.HandlerPayloadUnmarshal{ 22414 Unmarshalers: unmarshalers, 22415 }, 22416 r.unmarshalerForEventType, 22417 ) 22418 r.eventReader.UseLogger(logger, logLevel) 22419 22420 return r 22421} 22422 22423// Close will close the underlying event stream reader. For EventStream over 22424// HTTP this will also close the HTTP connection. 22425func (r *readSelectObjectContentEventStream) Close() error { 22426 r.closeOnce.Do(r.safeClose) 22427 22428 return r.Err() 22429} 22430 22431func (r *readSelectObjectContentEventStream) safeClose() { 22432 close(r.done) 22433 err := r.eventReader.Close() 22434 if err != nil { 22435 r.errVal.Store(err) 22436 } 22437} 22438 22439func (r *readSelectObjectContentEventStream) Err() error { 22440 if v := r.errVal.Load(); v != nil { 22441 return v.(error) 22442 } 22443 22444 return nil 22445} 22446 22447func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { 22448 return r.stream 22449} 22450 22451func (r *readSelectObjectContentEventStream) readEventStream() { 22452 defer close(r.stream) 22453 22454 for { 22455 event, err := r.eventReader.ReadEvent() 22456 if err != nil { 22457 if err == io.EOF { 22458 return 22459 } 22460 select { 22461 case <-r.done: 22462 // If closed already ignore the error 22463 return 22464 default: 22465 } 22466 r.errVal.Store(err) 22467 return 22468 } 22469 22470 select { 22471 case r.stream <- event.(SelectObjectContentEventStreamEvent): 22472 case <-r.done: 22473 return 22474 } 22475 } 22476} 22477 22478func (r *readSelectObjectContentEventStream) unmarshalerForEventType( 22479 eventType string, 22480) (eventstreamapi.Unmarshaler, error) { 22481 switch eventType { 22482 case "Cont": 22483 return &ContinuationEvent{}, nil 22484 22485 case "End": 22486 return &EndEvent{}, nil 22487 22488 case "Progress": 22489 return &ProgressEvent{}, nil 22490 22491 case "Records": 22492 return &RecordsEvent{}, nil 22493 22494 case "Stats": 22495 return &StatsEvent{}, nil 22496 default: 22497 return nil, awserr.New( 22498 request.ErrCodeSerialization, 22499 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType), 22500 nil, 22501 ) 22502 } 22503} 22504 22505// Request to filter the contents of an Amazon S3 object based on a simple Structured 22506// Query Language (SQL) statement. In the request, along with the SQL expression, 22507// you must specify a data serialization format (JSON or CSV) of the object. 22508// Amazon S3 uses this to parse object data into records. It returns only records 22509// that match the specified SQL expression. You must also specify the data serialization 22510// format for the response. For more information, see S3Select API Documentation 22511// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). 22512type SelectObjectContentInput struct { 22513 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 22514 22515 // The S3 bucket. 22516 // 22517 // Bucket is a required field 22518 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 22519 22520 // The expression that is used to query the object. 22521 // 22522 // Expression is a required field 22523 Expression *string `type:"string" required:"true"` 22524 22525 // The type of the provided expression (for example., SQL). 22526 // 22527 // ExpressionType is a required field 22528 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"` 22529 22530 // Describes the format of the data in the object that is being queried. 22531 // 22532 // InputSerialization is a required field 22533 InputSerialization *InputSerialization `type:"structure" required:"true"` 22534 22535 // The object key. 22536 // 22537 // Key is a required field 22538 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 22539 22540 // Describes the format of the data that you want Amazon S3 to return in response. 22541 // 22542 // OutputSerialization is a required field 22543 OutputSerialization *OutputSerialization `type:"structure" required:"true"` 22544 22545 // Specifies if periodic request progress information should be enabled. 22546 RequestProgress *RequestProgress `type:"structure"` 22547 22548 // The SSE Algorithm used to encrypt the object. For more information, see Server-Side 22549 // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22550 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 22551 22552 // The SSE Customer Key. For more information, see Server-Side Encryption (Using 22553 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22554 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 22555 22556 // The SSE Customer Key MD5. For more information, see Server-Side Encryption 22557 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22558 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 22559} 22560 22561// String returns the string representation 22562func (s SelectObjectContentInput) String() string { 22563 return awsutil.Prettify(s) 22564} 22565 22566// GoString returns the string representation 22567func (s SelectObjectContentInput) GoString() string { 22568 return s.String() 22569} 22570 22571// Validate inspects the fields of the type to determine if they are valid. 22572func (s *SelectObjectContentInput) Validate() error { 22573 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"} 22574 if s.Bucket == nil { 22575 invalidParams.Add(request.NewErrParamRequired("Bucket")) 22576 } 22577 if s.Bucket != nil && len(*s.Bucket) < 1 { 22578 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 22579 } 22580 if s.Expression == nil { 22581 invalidParams.Add(request.NewErrParamRequired("Expression")) 22582 } 22583 if s.ExpressionType == nil { 22584 invalidParams.Add(request.NewErrParamRequired("ExpressionType")) 22585 } 22586 if s.InputSerialization == nil { 22587 invalidParams.Add(request.NewErrParamRequired("InputSerialization")) 22588 } 22589 if s.Key == nil { 22590 invalidParams.Add(request.NewErrParamRequired("Key")) 22591 } 22592 if s.Key != nil && len(*s.Key) < 1 { 22593 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 22594 } 22595 if s.OutputSerialization == nil { 22596 invalidParams.Add(request.NewErrParamRequired("OutputSerialization")) 22597 } 22598 22599 if invalidParams.Len() > 0 { 22600 return invalidParams 22601 } 22602 return nil 22603} 22604 22605// SetBucket sets the Bucket field's value. 22606func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput { 22607 s.Bucket = &v 22608 return s 22609} 22610 22611func (s *SelectObjectContentInput) getBucket() (v string) { 22612 if s.Bucket == nil { 22613 return v 22614 } 22615 return *s.Bucket 22616} 22617 22618// SetExpression sets the Expression field's value. 22619func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput { 22620 s.Expression = &v 22621 return s 22622} 22623 22624// SetExpressionType sets the ExpressionType field's value. 22625func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput { 22626 s.ExpressionType = &v 22627 return s 22628} 22629 22630// SetInputSerialization sets the InputSerialization field's value. 22631func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput { 22632 s.InputSerialization = v 22633 return s 22634} 22635 22636// SetKey sets the Key field's value. 22637func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput { 22638 s.Key = &v 22639 return s 22640} 22641 22642// SetOutputSerialization sets the OutputSerialization field's value. 22643func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput { 22644 s.OutputSerialization = v 22645 return s 22646} 22647 22648// SetRequestProgress sets the RequestProgress field's value. 22649func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput { 22650 s.RequestProgress = v 22651 return s 22652} 22653 22654// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 22655func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput { 22656 s.SSECustomerAlgorithm = &v 22657 return s 22658} 22659 22660// SetSSECustomerKey sets the SSECustomerKey field's value. 22661func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput { 22662 s.SSECustomerKey = &v 22663 return s 22664} 22665 22666func (s *SelectObjectContentInput) getSSECustomerKey() (v string) { 22667 if s.SSECustomerKey == nil { 22668 return v 22669 } 22670 return *s.SSECustomerKey 22671} 22672 22673// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 22674func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput { 22675 s.SSECustomerKeyMD5 = &v 22676 return s 22677} 22678 22679type SelectObjectContentOutput struct { 22680 _ struct{} `type:"structure" payload:"Payload"` 22681 22682 // Use EventStream to use the API's stream. 22683 EventStream *SelectObjectContentEventStream `type:"structure"` 22684} 22685 22686// String returns the string representation 22687func (s SelectObjectContentOutput) String() string { 22688 return awsutil.Prettify(s) 22689} 22690 22691// GoString returns the string representation 22692func (s SelectObjectContentOutput) GoString() string { 22693 return s.String() 22694} 22695 22696// SetEventStream sets the EventStream field's value. 22697func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput { 22698 s.EventStream = v 22699 return s 22700} 22701 22702func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) { 22703 if r.Error != nil { 22704 return 22705 } 22706 reader := newReadSelectObjectContentEventStream( 22707 r.HTTPResponse.Body, 22708 r.Handlers.UnmarshalStream, 22709 r.Config.Logger, 22710 r.Config.LogLevel.Value(), 22711 ) 22712 go reader.readEventStream() 22713 22714 eventStream := &SelectObjectContentEventStream{ 22715 StreamCloser: r.HTTPResponse.Body, 22716 Reader: reader, 22717 } 22718 s.EventStream = eventStream 22719} 22720 22721// Describes the parameters for Select job types. 22722type SelectParameters struct { 22723 _ struct{} `type:"structure"` 22724 22725 // The expression that is used to query the object. 22726 // 22727 // Expression is a required field 22728 Expression *string `type:"string" required:"true"` 22729 22730 // The type of the provided expression (e.g., SQL). 22731 // 22732 // ExpressionType is a required field 22733 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"` 22734 22735 // Describes the serialization format of the object. 22736 // 22737 // InputSerialization is a required field 22738 InputSerialization *InputSerialization `type:"structure" required:"true"` 22739 22740 // Describes how the results of the Select job are serialized. 22741 // 22742 // OutputSerialization is a required field 22743 OutputSerialization *OutputSerialization `type:"structure" required:"true"` 22744} 22745 22746// String returns the string representation 22747func (s SelectParameters) String() string { 22748 return awsutil.Prettify(s) 22749} 22750 22751// GoString returns the string representation 22752func (s SelectParameters) GoString() string { 22753 return s.String() 22754} 22755 22756// Validate inspects the fields of the type to determine if they are valid. 22757func (s *SelectParameters) Validate() error { 22758 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"} 22759 if s.Expression == nil { 22760 invalidParams.Add(request.NewErrParamRequired("Expression")) 22761 } 22762 if s.ExpressionType == nil { 22763 invalidParams.Add(request.NewErrParamRequired("ExpressionType")) 22764 } 22765 if s.InputSerialization == nil { 22766 invalidParams.Add(request.NewErrParamRequired("InputSerialization")) 22767 } 22768 if s.OutputSerialization == nil { 22769 invalidParams.Add(request.NewErrParamRequired("OutputSerialization")) 22770 } 22771 22772 if invalidParams.Len() > 0 { 22773 return invalidParams 22774 } 22775 return nil 22776} 22777 22778// SetExpression sets the Expression field's value. 22779func (s *SelectParameters) SetExpression(v string) *SelectParameters { 22780 s.Expression = &v 22781 return s 22782} 22783 22784// SetExpressionType sets the ExpressionType field's value. 22785func (s *SelectParameters) SetExpressionType(v string) *SelectParameters { 22786 s.ExpressionType = &v 22787 return s 22788} 22789 22790// SetInputSerialization sets the InputSerialization field's value. 22791func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters { 22792 s.InputSerialization = v 22793 return s 22794} 22795 22796// SetOutputSerialization sets the OutputSerialization field's value. 22797func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters { 22798 s.OutputSerialization = v 22799 return s 22800} 22801 22802// Describes the default server-side encryption to apply to new objects in the 22803// bucket. If Put Object request does not specify any server-side encryption, 22804// this default encryption will be applied. 22805type ServerSideEncryptionByDefault struct { 22806 _ struct{} `type:"structure"` 22807 22808 // KMS master key ID to use for the default encryption. This parameter is allowed 22809 // if SSEAlgorithm is aws:kms. 22810 KMSMasterKeyID *string `type:"string" sensitive:"true"` 22811 22812 // Server-side encryption algorithm to use for the default encryption. 22813 // 22814 // SSEAlgorithm is a required field 22815 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"` 22816} 22817 22818// String returns the string representation 22819func (s ServerSideEncryptionByDefault) String() string { 22820 return awsutil.Prettify(s) 22821} 22822 22823// GoString returns the string representation 22824func (s ServerSideEncryptionByDefault) GoString() string { 22825 return s.String() 22826} 22827 22828// Validate inspects the fields of the type to determine if they are valid. 22829func (s *ServerSideEncryptionByDefault) Validate() error { 22830 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"} 22831 if s.SSEAlgorithm == nil { 22832 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm")) 22833 } 22834 22835 if invalidParams.Len() > 0 { 22836 return invalidParams 22837 } 22838 return nil 22839} 22840 22841// SetKMSMasterKeyID sets the KMSMasterKeyID field's value. 22842func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault { 22843 s.KMSMasterKeyID = &v 22844 return s 22845} 22846 22847// SetSSEAlgorithm sets the SSEAlgorithm field's value. 22848func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault { 22849 s.SSEAlgorithm = &v 22850 return s 22851} 22852 22853// Container for server-side encryption configuration rules. Currently S3 supports 22854// one rule only. 22855type ServerSideEncryptionConfiguration struct { 22856 _ struct{} `type:"structure"` 22857 22858 // Container for information about a particular server-side encryption configuration 22859 // rule. 22860 // 22861 // Rules is a required field 22862 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 22863} 22864 22865// String returns the string representation 22866func (s ServerSideEncryptionConfiguration) String() string { 22867 return awsutil.Prettify(s) 22868} 22869 22870// GoString returns the string representation 22871func (s ServerSideEncryptionConfiguration) GoString() string { 22872 return s.String() 22873} 22874 22875// Validate inspects the fields of the type to determine if they are valid. 22876func (s *ServerSideEncryptionConfiguration) Validate() error { 22877 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"} 22878 if s.Rules == nil { 22879 invalidParams.Add(request.NewErrParamRequired("Rules")) 22880 } 22881 if s.Rules != nil { 22882 for i, v := range s.Rules { 22883 if v == nil { 22884 continue 22885 } 22886 if err := v.Validate(); err != nil { 22887 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 22888 } 22889 } 22890 } 22891 22892 if invalidParams.Len() > 0 { 22893 return invalidParams 22894 } 22895 return nil 22896} 22897 22898// SetRules sets the Rules field's value. 22899func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration { 22900 s.Rules = v 22901 return s 22902} 22903 22904// Container for information about a particular server-side encryption configuration 22905// rule. 22906type ServerSideEncryptionRule struct { 22907 _ struct{} `type:"structure"` 22908 22909 // Describes the default server-side encryption to apply to new objects in the 22910 // bucket. If Put Object request does not specify any server-side encryption, 22911 // this default encryption will be applied. 22912 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"` 22913} 22914 22915// String returns the string representation 22916func (s ServerSideEncryptionRule) String() string { 22917 return awsutil.Prettify(s) 22918} 22919 22920// GoString returns the string representation 22921func (s ServerSideEncryptionRule) GoString() string { 22922 return s.String() 22923} 22924 22925// Validate inspects the fields of the type to determine if they are valid. 22926func (s *ServerSideEncryptionRule) Validate() error { 22927 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"} 22928 if s.ApplyServerSideEncryptionByDefault != nil { 22929 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil { 22930 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams)) 22931 } 22932 } 22933 22934 if invalidParams.Len() > 0 { 22935 return invalidParams 22936 } 22937 return nil 22938} 22939 22940// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value. 22941func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule { 22942 s.ApplyServerSideEncryptionByDefault = v 22943 return s 22944} 22945 22946// A container for filters that define which source objects should be replicated. 22947type SourceSelectionCriteria struct { 22948 _ struct{} `type:"structure"` 22949 22950 // A container for filter information for the selection of S3 objects encrypted 22951 // with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, 22952 // this element is required. 22953 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"` 22954} 22955 22956// String returns the string representation 22957func (s SourceSelectionCriteria) String() string { 22958 return awsutil.Prettify(s) 22959} 22960 22961// GoString returns the string representation 22962func (s SourceSelectionCriteria) GoString() string { 22963 return s.String() 22964} 22965 22966// Validate inspects the fields of the type to determine if they are valid. 22967func (s *SourceSelectionCriteria) Validate() error { 22968 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"} 22969 if s.SseKmsEncryptedObjects != nil { 22970 if err := s.SseKmsEncryptedObjects.Validate(); err != nil { 22971 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams)) 22972 } 22973 } 22974 22975 if invalidParams.Len() > 0 { 22976 return invalidParams 22977 } 22978 return nil 22979} 22980 22981// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value. 22982func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria { 22983 s.SseKmsEncryptedObjects = v 22984 return s 22985} 22986 22987// A container for filter information for the selection of S3 objects encrypted 22988// with AWS KMS. 22989type SseKmsEncryptedObjects struct { 22990 _ struct{} `type:"structure"` 22991 22992 // If the status is not Enabled, replication for S3 objects encrypted with AWS 22993 // KMS is disabled. 22994 // 22995 // Status is a required field 22996 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"` 22997} 22998 22999// String returns the string representation 23000func (s SseKmsEncryptedObjects) String() string { 23001 return awsutil.Prettify(s) 23002} 23003 23004// GoString returns the string representation 23005func (s SseKmsEncryptedObjects) GoString() string { 23006 return s.String() 23007} 23008 23009// Validate inspects the fields of the type to determine if they are valid. 23010func (s *SseKmsEncryptedObjects) Validate() error { 23011 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"} 23012 if s.Status == nil { 23013 invalidParams.Add(request.NewErrParamRequired("Status")) 23014 } 23015 23016 if invalidParams.Len() > 0 { 23017 return invalidParams 23018 } 23019 return nil 23020} 23021 23022// SetStatus sets the Status field's value. 23023func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects { 23024 s.Status = &v 23025 return s 23026} 23027 23028type Stats struct { 23029 _ struct{} `type:"structure"` 23030 23031 // The total number of uncompressed object bytes processed. 23032 BytesProcessed *int64 `type:"long"` 23033 23034 // The total number of bytes of records payload data returned. 23035 BytesReturned *int64 `type:"long"` 23036 23037 // The total number of object bytes scanned. 23038 BytesScanned *int64 `type:"long"` 23039} 23040 23041// String returns the string representation 23042func (s Stats) String() string { 23043 return awsutil.Prettify(s) 23044} 23045 23046// GoString returns the string representation 23047func (s Stats) GoString() string { 23048 return s.String() 23049} 23050 23051// SetBytesProcessed sets the BytesProcessed field's value. 23052func (s *Stats) SetBytesProcessed(v int64) *Stats { 23053 s.BytesProcessed = &v 23054 return s 23055} 23056 23057// SetBytesReturned sets the BytesReturned field's value. 23058func (s *Stats) SetBytesReturned(v int64) *Stats { 23059 s.BytesReturned = &v 23060 return s 23061} 23062 23063// SetBytesScanned sets the BytesScanned field's value. 23064func (s *Stats) SetBytesScanned(v int64) *Stats { 23065 s.BytesScanned = &v 23066 return s 23067} 23068 23069type StatsEvent struct { 23070 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"` 23071 23072 // The Stats event details. 23073 Details *Stats `locationName:"Details" type:"structure"` 23074} 23075 23076// String returns the string representation 23077func (s StatsEvent) String() string { 23078 return awsutil.Prettify(s) 23079} 23080 23081// GoString returns the string representation 23082func (s StatsEvent) GoString() string { 23083 return s.String() 23084} 23085 23086// SetDetails sets the Details field's value. 23087func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent { 23088 s.Details = v 23089 return s 23090} 23091 23092// The StatsEvent is and event in the SelectObjectContentEventStream group of events. 23093func (s *StatsEvent) eventSelectObjectContentEventStream() {} 23094 23095// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value. 23096// This method is only used internally within the SDK's EventStream handling. 23097func (s *StatsEvent) UnmarshalEvent( 23098 payloadUnmarshaler protocol.PayloadUnmarshaler, 23099 msg eventstream.Message, 23100) error { 23101 if err := payloadUnmarshaler.UnmarshalPayload( 23102 bytes.NewReader(msg.Payload), s, 23103 ); err != nil { 23104 return err 23105 } 23106 return nil 23107} 23108 23109type StorageClassAnalysis struct { 23110 _ struct{} `type:"structure"` 23111 23112 // A container used to describe how data related to the storage class analysis 23113 // should be exported. 23114 DataExport *StorageClassAnalysisDataExport `type:"structure"` 23115} 23116 23117// String returns the string representation 23118func (s StorageClassAnalysis) String() string { 23119 return awsutil.Prettify(s) 23120} 23121 23122// GoString returns the string representation 23123func (s StorageClassAnalysis) GoString() string { 23124 return s.String() 23125} 23126 23127// Validate inspects the fields of the type to determine if they are valid. 23128func (s *StorageClassAnalysis) Validate() error { 23129 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"} 23130 if s.DataExport != nil { 23131 if err := s.DataExport.Validate(); err != nil { 23132 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 23133 } 23134 } 23135 23136 if invalidParams.Len() > 0 { 23137 return invalidParams 23138 } 23139 return nil 23140} 23141 23142// SetDataExport sets the DataExport field's value. 23143func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis { 23144 s.DataExport = v 23145 return s 23146} 23147 23148type StorageClassAnalysisDataExport struct { 23149 _ struct{} `type:"structure"` 23150 23151 // The place to store the data for an analysis. 23152 // 23153 // Destination is a required field 23154 Destination *AnalyticsExportDestination `type:"structure" required:"true"` 23155 23156 // The version of the output schema to use when exporting data. Must be V_1. 23157 // 23158 // OutputSchemaVersion is a required field 23159 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"` 23160} 23161 23162// String returns the string representation 23163func (s StorageClassAnalysisDataExport) String() string { 23164 return awsutil.Prettify(s) 23165} 23166 23167// GoString returns the string representation 23168func (s StorageClassAnalysisDataExport) GoString() string { 23169 return s.String() 23170} 23171 23172// Validate inspects the fields of the type to determine if they are valid. 23173func (s *StorageClassAnalysisDataExport) Validate() error { 23174 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"} 23175 if s.Destination == nil { 23176 invalidParams.Add(request.NewErrParamRequired("Destination")) 23177 } 23178 if s.OutputSchemaVersion == nil { 23179 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 23180 } 23181 if s.Destination != nil { 23182 if err := s.Destination.Validate(); err != nil { 23183 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 23184 } 23185 } 23186 23187 if invalidParams.Len() > 0 { 23188 return invalidParams 23189 } 23190 return nil 23191} 23192 23193// SetDestination sets the Destination field's value. 23194func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport { 23195 s.Destination = v 23196 return s 23197} 23198 23199// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 23200func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport { 23201 s.OutputSchemaVersion = &v 23202 return s 23203} 23204 23205type Tag struct { 23206 _ struct{} `type:"structure"` 23207 23208 // Name of the tag. 23209 // 23210 // Key is a required field 23211 Key *string `min:"1" type:"string" required:"true"` 23212 23213 // Value of the tag. 23214 // 23215 // Value is a required field 23216 Value *string `type:"string" required:"true"` 23217} 23218 23219// String returns the string representation 23220func (s Tag) String() string { 23221 return awsutil.Prettify(s) 23222} 23223 23224// GoString returns the string representation 23225func (s Tag) GoString() string { 23226 return s.String() 23227} 23228 23229// Validate inspects the fields of the type to determine if they are valid. 23230func (s *Tag) Validate() error { 23231 invalidParams := request.ErrInvalidParams{Context: "Tag"} 23232 if s.Key == nil { 23233 invalidParams.Add(request.NewErrParamRequired("Key")) 23234 } 23235 if s.Key != nil && len(*s.Key) < 1 { 23236 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 23237 } 23238 if s.Value == nil { 23239 invalidParams.Add(request.NewErrParamRequired("Value")) 23240 } 23241 23242 if invalidParams.Len() > 0 { 23243 return invalidParams 23244 } 23245 return nil 23246} 23247 23248// SetKey sets the Key field's value. 23249func (s *Tag) SetKey(v string) *Tag { 23250 s.Key = &v 23251 return s 23252} 23253 23254// SetValue sets the Value field's value. 23255func (s *Tag) SetValue(v string) *Tag { 23256 s.Value = &v 23257 return s 23258} 23259 23260type Tagging struct { 23261 _ struct{} `type:"structure"` 23262 23263 // TagSet is a required field 23264 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 23265} 23266 23267// String returns the string representation 23268func (s Tagging) String() string { 23269 return awsutil.Prettify(s) 23270} 23271 23272// GoString returns the string representation 23273func (s Tagging) GoString() string { 23274 return s.String() 23275} 23276 23277// Validate inspects the fields of the type to determine if they are valid. 23278func (s *Tagging) Validate() error { 23279 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 23280 if s.TagSet == nil { 23281 invalidParams.Add(request.NewErrParamRequired("TagSet")) 23282 } 23283 if s.TagSet != nil { 23284 for i, v := range s.TagSet { 23285 if v == nil { 23286 continue 23287 } 23288 if err := v.Validate(); err != nil { 23289 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 23290 } 23291 } 23292 } 23293 23294 if invalidParams.Len() > 0 { 23295 return invalidParams 23296 } 23297 return nil 23298} 23299 23300// SetTagSet sets the TagSet field's value. 23301func (s *Tagging) SetTagSet(v []*Tag) *Tagging { 23302 s.TagSet = v 23303 return s 23304} 23305 23306type TargetGrant struct { 23307 _ struct{} `type:"structure"` 23308 23309 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 23310 23311 // Logging permissions assigned to the Grantee for the bucket. 23312 Permission *string `type:"string" enum:"BucketLogsPermission"` 23313} 23314 23315// String returns the string representation 23316func (s TargetGrant) String() string { 23317 return awsutil.Prettify(s) 23318} 23319 23320// GoString returns the string representation 23321func (s TargetGrant) GoString() string { 23322 return s.String() 23323} 23324 23325// Validate inspects the fields of the type to determine if they are valid. 23326func (s *TargetGrant) Validate() error { 23327 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"} 23328 if s.Grantee != nil { 23329 if err := s.Grantee.Validate(); err != nil { 23330 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 23331 } 23332 } 23333 23334 if invalidParams.Len() > 0 { 23335 return invalidParams 23336 } 23337 return nil 23338} 23339 23340// SetGrantee sets the Grantee field's value. 23341func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant { 23342 s.Grantee = v 23343 return s 23344} 23345 23346// SetPermission sets the Permission field's value. 23347func (s *TargetGrant) SetPermission(v string) *TargetGrant { 23348 s.Permission = &v 23349 return s 23350} 23351 23352// A container for specifying the configuration for publication of messages 23353// to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3 23354// detects specified events. 23355type TopicConfiguration struct { 23356 _ struct{} `type:"structure"` 23357 23358 // Events is a required field 23359 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 23360 23361 // A container for object key name filtering rules. For information about key 23362 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 23363 // in the Amazon Simple Storage Service Developer Guide. 23364 Filter *NotificationConfigurationFilter `type:"structure"` 23365 23366 // An optional unique identifier for configurations in a notification configuration. 23367 // If you don't provide one, Amazon S3 will assign an ID. 23368 Id *string `type:"string"` 23369 23370 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 23371 // will publish a message when it detects events of the specified type. 23372 // 23373 // TopicArn is a required field 23374 TopicArn *string `locationName:"Topic" type:"string" required:"true"` 23375} 23376 23377// String returns the string representation 23378func (s TopicConfiguration) String() string { 23379 return awsutil.Prettify(s) 23380} 23381 23382// GoString returns the string representation 23383func (s TopicConfiguration) GoString() string { 23384 return s.String() 23385} 23386 23387// Validate inspects the fields of the type to determine if they are valid. 23388func (s *TopicConfiguration) Validate() error { 23389 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"} 23390 if s.Events == nil { 23391 invalidParams.Add(request.NewErrParamRequired("Events")) 23392 } 23393 if s.TopicArn == nil { 23394 invalidParams.Add(request.NewErrParamRequired("TopicArn")) 23395 } 23396 23397 if invalidParams.Len() > 0 { 23398 return invalidParams 23399 } 23400 return nil 23401} 23402 23403// SetEvents sets the Events field's value. 23404func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration { 23405 s.Events = v 23406 return s 23407} 23408 23409// SetFilter sets the Filter field's value. 23410func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration { 23411 s.Filter = v 23412 return s 23413} 23414 23415// SetId sets the Id field's value. 23416func (s *TopicConfiguration) SetId(v string) *TopicConfiguration { 23417 s.Id = &v 23418 return s 23419} 23420 23421// SetTopicArn sets the TopicArn field's value. 23422func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration { 23423 s.TopicArn = &v 23424 return s 23425} 23426 23427type TopicConfigurationDeprecated struct { 23428 _ struct{} `type:"structure"` 23429 23430 // Bucket event for which to send notifications. 23431 // 23432 // Deprecated: Event has been deprecated 23433 Event *string `deprecated:"true" type:"string" enum:"Event"` 23434 23435 Events []*string `locationName:"Event" type:"list" flattened:"true"` 23436 23437 // An optional unique identifier for configurations in a notification configuration. 23438 // If you don't provide one, Amazon S3 will assign an ID. 23439 Id *string `type:"string"` 23440 23441 // Amazon SNS topic to which Amazon S3 will publish a message to report the 23442 // specified events for the bucket. 23443 Topic *string `type:"string"` 23444} 23445 23446// String returns the string representation 23447func (s TopicConfigurationDeprecated) String() string { 23448 return awsutil.Prettify(s) 23449} 23450 23451// GoString returns the string representation 23452func (s TopicConfigurationDeprecated) GoString() string { 23453 return s.String() 23454} 23455 23456// SetEvent sets the Event field's value. 23457func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated { 23458 s.Event = &v 23459 return s 23460} 23461 23462// SetEvents sets the Events field's value. 23463func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated { 23464 s.Events = v 23465 return s 23466} 23467 23468// SetId sets the Id field's value. 23469func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated { 23470 s.Id = &v 23471 return s 23472} 23473 23474// SetTopic sets the Topic field's value. 23475func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated { 23476 s.Topic = &v 23477 return s 23478} 23479 23480type Transition struct { 23481 _ struct{} `type:"structure"` 23482 23483 // Indicates at what date the object is to be moved or deleted. Should be in 23484 // GMT ISO 8601 Format. 23485 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23486 23487 // Indicates the lifetime, in days, of the objects that are subject to the rule. 23488 // The value must be a non-zero positive integer. 23489 Days *int64 `type:"integer"` 23490 23491 // The class of storage used to store the object. 23492 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 23493} 23494 23495// String returns the string representation 23496func (s Transition) String() string { 23497 return awsutil.Prettify(s) 23498} 23499 23500// GoString returns the string representation 23501func (s Transition) GoString() string { 23502 return s.String() 23503} 23504 23505// SetDate sets the Date field's value. 23506func (s *Transition) SetDate(v time.Time) *Transition { 23507 s.Date = &v 23508 return s 23509} 23510 23511// SetDays sets the Days field's value. 23512func (s *Transition) SetDays(v int64) *Transition { 23513 s.Days = &v 23514 return s 23515} 23516 23517// SetStorageClass sets the StorageClass field's value. 23518func (s *Transition) SetStorageClass(v string) *Transition { 23519 s.StorageClass = &v 23520 return s 23521} 23522 23523type UploadPartCopyInput struct { 23524 _ struct{} `type:"structure"` 23525 23526 // Bucket is a required field 23527 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 23528 23529 // The name of the source bucket and key name of the source object, separated 23530 // by a slash (/). Must be URL-encoded. 23531 // 23532 // CopySource is a required field 23533 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` 23534 23535 // Copies the object if its entity tag (ETag) matches the specified tag. 23536 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 23537 23538 // Copies the object if it has been modified since the specified time. 23539 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"` 23540 23541 // Copies the object if its entity tag (ETag) is different than the specified 23542 // ETag. 23543 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 23544 23545 // Copies the object if it hasn't been modified since the specified time. 23546 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"` 23547 23548 // The range of bytes to copy from the source object. The range value must use 23549 // the form bytes=first-last, where the first and last are the zero-based byte 23550 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the 23551 // first ten bytes of the source. You can copy a range only if the source object 23552 // is greater than 5 MB. 23553 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"` 23554 23555 // Specifies the algorithm to use when decrypting the source object (e.g., AES256). 23556 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` 23557 23558 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 23559 // the source object. The encryption key provided in this header must be one 23560 // that was used when the source object was created. 23561 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` 23562 23563 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 23564 // Amazon S3 uses this header for a message integrity check to ensure the encryption 23565 // key was transmitted without error. 23566 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` 23567 23568 // Key is a required field 23569 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 23570 23571 // Part number of part being copied. This is a positive integer between 1 and 23572 // 10,000. 23573 // 23574 // PartNumber is a required field 23575 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` 23576 23577 // Confirms that the requester knows that she or he will be charged for the 23578 // request. Bucket owners need not specify this parameter in their requests. 23579 // Documentation on downloading objects from requester pays buckets can be found 23580 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 23581 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 23582 23583 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 23584 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 23585 23586 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 23587 // data. This value is used to store the object and then it is discarded; Amazon 23588 // does not store the encryption key. The key must be appropriate for use with 23589 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 23590 // header. This must be the same encryption key specified in the initiate multipart 23591 // upload request. 23592 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 23593 23594 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 23595 // Amazon S3 uses this header for a message integrity check to ensure the encryption 23596 // key was transmitted without error. 23597 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 23598 23599 // Upload ID identifying the multipart upload whose part is being copied. 23600 // 23601 // UploadId is a required field 23602 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 23603} 23604 23605// String returns the string representation 23606func (s UploadPartCopyInput) String() string { 23607 return awsutil.Prettify(s) 23608} 23609 23610// GoString returns the string representation 23611func (s UploadPartCopyInput) GoString() string { 23612 return s.String() 23613} 23614 23615// Validate inspects the fields of the type to determine if they are valid. 23616func (s *UploadPartCopyInput) Validate() error { 23617 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"} 23618 if s.Bucket == nil { 23619 invalidParams.Add(request.NewErrParamRequired("Bucket")) 23620 } 23621 if s.Bucket != nil && len(*s.Bucket) < 1 { 23622 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 23623 } 23624 if s.CopySource == nil { 23625 invalidParams.Add(request.NewErrParamRequired("CopySource")) 23626 } 23627 if s.Key == nil { 23628 invalidParams.Add(request.NewErrParamRequired("Key")) 23629 } 23630 if s.Key != nil && len(*s.Key) < 1 { 23631 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 23632 } 23633 if s.PartNumber == nil { 23634 invalidParams.Add(request.NewErrParamRequired("PartNumber")) 23635 } 23636 if s.UploadId == nil { 23637 invalidParams.Add(request.NewErrParamRequired("UploadId")) 23638 } 23639 23640 if invalidParams.Len() > 0 { 23641 return invalidParams 23642 } 23643 return nil 23644} 23645 23646// SetBucket sets the Bucket field's value. 23647func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput { 23648 s.Bucket = &v 23649 return s 23650} 23651 23652func (s *UploadPartCopyInput) getBucket() (v string) { 23653 if s.Bucket == nil { 23654 return v 23655 } 23656 return *s.Bucket 23657} 23658 23659// SetCopySource sets the CopySource field's value. 23660func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput { 23661 s.CopySource = &v 23662 return s 23663} 23664 23665// SetCopySourceIfMatch sets the CopySourceIfMatch field's value. 23666func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput { 23667 s.CopySourceIfMatch = &v 23668 return s 23669} 23670 23671// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value. 23672func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput { 23673 s.CopySourceIfModifiedSince = &v 23674 return s 23675} 23676 23677// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value. 23678func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput { 23679 s.CopySourceIfNoneMatch = &v 23680 return s 23681} 23682 23683// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value. 23684func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput { 23685 s.CopySourceIfUnmodifiedSince = &v 23686 return s 23687} 23688 23689// SetCopySourceRange sets the CopySourceRange field's value. 23690func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput { 23691 s.CopySourceRange = &v 23692 return s 23693} 23694 23695// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value. 23696func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput { 23697 s.CopySourceSSECustomerAlgorithm = &v 23698 return s 23699} 23700 23701// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value. 23702func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput { 23703 s.CopySourceSSECustomerKey = &v 23704 return s 23705} 23706 23707func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) { 23708 if s.CopySourceSSECustomerKey == nil { 23709 return v 23710 } 23711 return *s.CopySourceSSECustomerKey 23712} 23713 23714// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 23715func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput { 23716 s.CopySourceSSECustomerKeyMD5 = &v 23717 return s 23718} 23719 23720// SetKey sets the Key field's value. 23721func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput { 23722 s.Key = &v 23723 return s 23724} 23725 23726// SetPartNumber sets the PartNumber field's value. 23727func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput { 23728 s.PartNumber = &v 23729 return s 23730} 23731 23732// SetRequestPayer sets the RequestPayer field's value. 23733func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput { 23734 s.RequestPayer = &v 23735 return s 23736} 23737 23738// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 23739func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput { 23740 s.SSECustomerAlgorithm = &v 23741 return s 23742} 23743 23744// SetSSECustomerKey sets the SSECustomerKey field's value. 23745func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput { 23746 s.SSECustomerKey = &v 23747 return s 23748} 23749 23750func (s *UploadPartCopyInput) getSSECustomerKey() (v string) { 23751 if s.SSECustomerKey == nil { 23752 return v 23753 } 23754 return *s.SSECustomerKey 23755} 23756 23757// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 23758func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput { 23759 s.SSECustomerKeyMD5 = &v 23760 return s 23761} 23762 23763// SetUploadId sets the UploadId field's value. 23764func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput { 23765 s.UploadId = &v 23766 return s 23767} 23768 23769type UploadPartCopyOutput struct { 23770 _ struct{} `type:"structure" payload:"CopyPartResult"` 23771 23772 CopyPartResult *CopyPartResult `type:"structure"` 23773 23774 // The version of the source object that was copied, if you have enabled versioning 23775 // on the source bucket. 23776 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` 23777 23778 // If present, indicates that the requester was successfully charged for the 23779 // request. 23780 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 23781 23782 // If server-side encryption with a customer-provided encryption key was requested, 23783 // the response will include this header confirming the encryption algorithm 23784 // used. 23785 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 23786 23787 // If server-side encryption with a customer-provided encryption key was requested, 23788 // the response will include this header to provide round trip message integrity 23789 // verification of the customer-provided encryption key. 23790 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 23791 23792 // If present, specifies the ID of the AWS Key Management Service (KMS) master 23793 // encryption key that was used for the object. 23794 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 23795 23796 // The Server-side encryption algorithm used when storing this object in S3 23797 // (e.g., AES256, aws:kms). 23798 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 23799} 23800 23801// String returns the string representation 23802func (s UploadPartCopyOutput) String() string { 23803 return awsutil.Prettify(s) 23804} 23805 23806// GoString returns the string representation 23807func (s UploadPartCopyOutput) GoString() string { 23808 return s.String() 23809} 23810 23811// SetCopyPartResult sets the CopyPartResult field's value. 23812func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput { 23813 s.CopyPartResult = v 23814 return s 23815} 23816 23817// SetCopySourceVersionId sets the CopySourceVersionId field's value. 23818func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput { 23819 s.CopySourceVersionId = &v 23820 return s 23821} 23822 23823// SetRequestCharged sets the RequestCharged field's value. 23824func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput { 23825 s.RequestCharged = &v 23826 return s 23827} 23828 23829// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 23830func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput { 23831 s.SSECustomerAlgorithm = &v 23832 return s 23833} 23834 23835// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 23836func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput { 23837 s.SSECustomerKeyMD5 = &v 23838 return s 23839} 23840 23841// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 23842func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput { 23843 s.SSEKMSKeyId = &v 23844 return s 23845} 23846 23847// SetServerSideEncryption sets the ServerSideEncryption field's value. 23848func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput { 23849 s.ServerSideEncryption = &v 23850 return s 23851} 23852 23853type UploadPartInput struct { 23854 _ struct{} `type:"structure" payload:"Body"` 23855 23856 // Object data. 23857 Body io.ReadSeeker `type:"blob"` 23858 23859 // Name of the bucket to which the multipart upload was initiated. 23860 // 23861 // Bucket is a required field 23862 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 23863 23864 // Size of the body in bytes. This parameter is useful when the size of the 23865 // body cannot be determined automatically. 23866 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 23867 23868 // The base64-encoded 128-bit MD5 digest of the part data. 23869 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 23870 23871 // Object key for which the multipart upload was initiated. 23872 // 23873 // Key is a required field 23874 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 23875 23876 // Part number of part being uploaded. This is a positive integer between 1 23877 // and 10,000. 23878 // 23879 // PartNumber is a required field 23880 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` 23881 23882 // Confirms that the requester knows that she or he will be charged for the 23883 // request. Bucket owners need not specify this parameter in their requests. 23884 // Documentation on downloading objects from requester pays buckets can be found 23885 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 23886 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 23887 23888 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 23889 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 23890 23891 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 23892 // data. This value is used to store the object and then it is discarded; Amazon 23893 // does not store the encryption key. The key must be appropriate for use with 23894 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 23895 // header. This must be the same encryption key specified in the initiate multipart 23896 // upload request. 23897 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 23898 23899 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 23900 // Amazon S3 uses this header for a message integrity check to ensure the encryption 23901 // key was transmitted without error. 23902 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 23903 23904 // Upload ID identifying the multipart upload whose part is being uploaded. 23905 // 23906 // UploadId is a required field 23907 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 23908} 23909 23910// String returns the string representation 23911func (s UploadPartInput) String() string { 23912 return awsutil.Prettify(s) 23913} 23914 23915// GoString returns the string representation 23916func (s UploadPartInput) GoString() string { 23917 return s.String() 23918} 23919 23920// Validate inspects the fields of the type to determine if they are valid. 23921func (s *UploadPartInput) Validate() error { 23922 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"} 23923 if s.Bucket == nil { 23924 invalidParams.Add(request.NewErrParamRequired("Bucket")) 23925 } 23926 if s.Bucket != nil && len(*s.Bucket) < 1 { 23927 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 23928 } 23929 if s.Key == nil { 23930 invalidParams.Add(request.NewErrParamRequired("Key")) 23931 } 23932 if s.Key != nil && len(*s.Key) < 1 { 23933 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 23934 } 23935 if s.PartNumber == nil { 23936 invalidParams.Add(request.NewErrParamRequired("PartNumber")) 23937 } 23938 if s.UploadId == nil { 23939 invalidParams.Add(request.NewErrParamRequired("UploadId")) 23940 } 23941 23942 if invalidParams.Len() > 0 { 23943 return invalidParams 23944 } 23945 return nil 23946} 23947 23948// SetBody sets the Body field's value. 23949func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput { 23950 s.Body = v 23951 return s 23952} 23953 23954// SetBucket sets the Bucket field's value. 23955func (s *UploadPartInput) SetBucket(v string) *UploadPartInput { 23956 s.Bucket = &v 23957 return s 23958} 23959 23960func (s *UploadPartInput) getBucket() (v string) { 23961 if s.Bucket == nil { 23962 return v 23963 } 23964 return *s.Bucket 23965} 23966 23967// SetContentLength sets the ContentLength field's value. 23968func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput { 23969 s.ContentLength = &v 23970 return s 23971} 23972 23973// SetContentMD5 sets the ContentMD5 field's value. 23974func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput { 23975 s.ContentMD5 = &v 23976 return s 23977} 23978 23979// SetKey sets the Key field's value. 23980func (s *UploadPartInput) SetKey(v string) *UploadPartInput { 23981 s.Key = &v 23982 return s 23983} 23984 23985// SetPartNumber sets the PartNumber field's value. 23986func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput { 23987 s.PartNumber = &v 23988 return s 23989} 23990 23991// SetRequestPayer sets the RequestPayer field's value. 23992func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput { 23993 s.RequestPayer = &v 23994 return s 23995} 23996 23997// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 23998func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput { 23999 s.SSECustomerAlgorithm = &v 24000 return s 24001} 24002 24003// SetSSECustomerKey sets the SSECustomerKey field's value. 24004func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput { 24005 s.SSECustomerKey = &v 24006 return s 24007} 24008 24009func (s *UploadPartInput) getSSECustomerKey() (v string) { 24010 if s.SSECustomerKey == nil { 24011 return v 24012 } 24013 return *s.SSECustomerKey 24014} 24015 24016// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 24017func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput { 24018 s.SSECustomerKeyMD5 = &v 24019 return s 24020} 24021 24022// SetUploadId sets the UploadId field's value. 24023func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput { 24024 s.UploadId = &v 24025 return s 24026} 24027 24028type UploadPartOutput struct { 24029 _ struct{} `type:"structure"` 24030 24031 // Entity tag for the uploaded object. 24032 ETag *string `location:"header" locationName:"ETag" type:"string"` 24033 24034 // If present, indicates that the requester was successfully charged for the 24035 // request. 24036 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 24037 24038 // If server-side encryption with a customer-provided encryption key was requested, 24039 // the response will include this header confirming the encryption algorithm 24040 // used. 24041 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 24042 24043 // If server-side encryption with a customer-provided encryption key was requested, 24044 // the response will include this header to provide round trip message integrity 24045 // verification of the customer-provided encryption key. 24046 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 24047 24048 // If present, specifies the ID of the AWS Key Management Service (KMS) master 24049 // encryption key that was used for the object. 24050 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 24051 24052 // The Server-side encryption algorithm used when storing this object in S3 24053 // (e.g., AES256, aws:kms). 24054 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 24055} 24056 24057// String returns the string representation 24058func (s UploadPartOutput) String() string { 24059 return awsutil.Prettify(s) 24060} 24061 24062// GoString returns the string representation 24063func (s UploadPartOutput) GoString() string { 24064 return s.String() 24065} 24066 24067// SetETag sets the ETag field's value. 24068func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput { 24069 s.ETag = &v 24070 return s 24071} 24072 24073// SetRequestCharged sets the RequestCharged field's value. 24074func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput { 24075 s.RequestCharged = &v 24076 return s 24077} 24078 24079// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 24080func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput { 24081 s.SSECustomerAlgorithm = &v 24082 return s 24083} 24084 24085// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 24086func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput { 24087 s.SSECustomerKeyMD5 = &v 24088 return s 24089} 24090 24091// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 24092func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput { 24093 s.SSEKMSKeyId = &v 24094 return s 24095} 24096 24097// SetServerSideEncryption sets the ServerSideEncryption field's value. 24098func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput { 24099 s.ServerSideEncryption = &v 24100 return s 24101} 24102 24103type VersioningConfiguration struct { 24104 _ struct{} `type:"structure"` 24105 24106 // Specifies whether MFA delete is enabled in the bucket versioning configuration. 24107 // This element is only returned if the bucket has been configured with MFA 24108 // delete. If the bucket has never been so configured, this element is not returned. 24109 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"` 24110 24111 // The versioning state of the bucket. 24112 Status *string `type:"string" enum:"BucketVersioningStatus"` 24113} 24114 24115// String returns the string representation 24116func (s VersioningConfiguration) String() string { 24117 return awsutil.Prettify(s) 24118} 24119 24120// GoString returns the string representation 24121func (s VersioningConfiguration) GoString() string { 24122 return s.String() 24123} 24124 24125// SetMFADelete sets the MFADelete field's value. 24126func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration { 24127 s.MFADelete = &v 24128 return s 24129} 24130 24131// SetStatus sets the Status field's value. 24132func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration { 24133 s.Status = &v 24134 return s 24135} 24136 24137type WebsiteConfiguration struct { 24138 _ struct{} `type:"structure"` 24139 24140 ErrorDocument *ErrorDocument `type:"structure"` 24141 24142 IndexDocument *IndexDocument `type:"structure"` 24143 24144 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 24145 24146 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 24147} 24148 24149// String returns the string representation 24150func (s WebsiteConfiguration) String() string { 24151 return awsutil.Prettify(s) 24152} 24153 24154// GoString returns the string representation 24155func (s WebsiteConfiguration) GoString() string { 24156 return s.String() 24157} 24158 24159// Validate inspects the fields of the type to determine if they are valid. 24160func (s *WebsiteConfiguration) Validate() error { 24161 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"} 24162 if s.ErrorDocument != nil { 24163 if err := s.ErrorDocument.Validate(); err != nil { 24164 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams)) 24165 } 24166 } 24167 if s.IndexDocument != nil { 24168 if err := s.IndexDocument.Validate(); err != nil { 24169 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams)) 24170 } 24171 } 24172 if s.RedirectAllRequestsTo != nil { 24173 if err := s.RedirectAllRequestsTo.Validate(); err != nil { 24174 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams)) 24175 } 24176 } 24177 if s.RoutingRules != nil { 24178 for i, v := range s.RoutingRules { 24179 if v == nil { 24180 continue 24181 } 24182 if err := v.Validate(); err != nil { 24183 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams)) 24184 } 24185 } 24186 } 24187 24188 if invalidParams.Len() > 0 { 24189 return invalidParams 24190 } 24191 return nil 24192} 24193 24194// SetErrorDocument sets the ErrorDocument field's value. 24195func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration { 24196 s.ErrorDocument = v 24197 return s 24198} 24199 24200// SetIndexDocument sets the IndexDocument field's value. 24201func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration { 24202 s.IndexDocument = v 24203 return s 24204} 24205 24206// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value. 24207func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration { 24208 s.RedirectAllRequestsTo = v 24209 return s 24210} 24211 24212// SetRoutingRules sets the RoutingRules field's value. 24213func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration { 24214 s.RoutingRules = v 24215 return s 24216} 24217 24218const ( 24219 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value 24220 AnalyticsS3ExportFileFormatCsv = "CSV" 24221) 24222 24223const ( 24224 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value 24225 BucketAccelerateStatusEnabled = "Enabled" 24226 24227 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value 24228 BucketAccelerateStatusSuspended = "Suspended" 24229) 24230 24231const ( 24232 // BucketCannedACLPrivate is a BucketCannedACL enum value 24233 BucketCannedACLPrivate = "private" 24234 24235 // BucketCannedACLPublicRead is a BucketCannedACL enum value 24236 BucketCannedACLPublicRead = "public-read" 24237 24238 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 24239 BucketCannedACLPublicReadWrite = "public-read-write" 24240 24241 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 24242 BucketCannedACLAuthenticatedRead = "authenticated-read" 24243) 24244 24245const ( 24246 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 24247 BucketLocationConstraintEu = "EU" 24248 24249 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 24250 BucketLocationConstraintEuWest1 = "eu-west-1" 24251 24252 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 24253 BucketLocationConstraintUsWest1 = "us-west-1" 24254 24255 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 24256 BucketLocationConstraintUsWest2 = "us-west-2" 24257 24258 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 24259 BucketLocationConstraintApSouth1 = "ap-south-1" 24260 24261 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 24262 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 24263 24264 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 24265 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 24266 24267 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 24268 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 24269 24270 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 24271 BucketLocationConstraintSaEast1 = "sa-east-1" 24272 24273 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 24274 BucketLocationConstraintCnNorth1 = "cn-north-1" 24275 24276 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 24277 BucketLocationConstraintEuCentral1 = "eu-central-1" 24278) 24279 24280const ( 24281 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value 24282 BucketLogsPermissionFullControl = "FULL_CONTROL" 24283 24284 // BucketLogsPermissionRead is a BucketLogsPermission enum value 24285 BucketLogsPermissionRead = "READ" 24286 24287 // BucketLogsPermissionWrite is a BucketLogsPermission enum value 24288 BucketLogsPermissionWrite = "WRITE" 24289) 24290 24291const ( 24292 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value 24293 BucketVersioningStatusEnabled = "Enabled" 24294 24295 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value 24296 BucketVersioningStatusSuspended = "Suspended" 24297) 24298 24299const ( 24300 // CompressionTypeNone is a CompressionType enum value 24301 CompressionTypeNone = "NONE" 24302 24303 // CompressionTypeGzip is a CompressionType enum value 24304 CompressionTypeGzip = "GZIP" 24305 24306 // CompressionTypeBzip2 is a CompressionType enum value 24307 CompressionTypeBzip2 = "BZIP2" 24308) 24309 24310const ( 24311 // DeleteMarkerReplicationStatusEnabled is a DeleteMarkerReplicationStatus enum value 24312 DeleteMarkerReplicationStatusEnabled = "Enabled" 24313 24314 // DeleteMarkerReplicationStatusDisabled is a DeleteMarkerReplicationStatus enum value 24315 DeleteMarkerReplicationStatusDisabled = "Disabled" 24316) 24317 24318// Requests Amazon S3 to encode the object keys in the response and specifies 24319// the encoding method to use. An object key may contain any Unicode character; 24320// however, XML 1.0 parser cannot parse some characters, such as characters 24321// with an ASCII value from 0 to 10. For characters that are not supported in 24322// XML 1.0, you can add this parameter to request that Amazon S3 encode the 24323// keys in the response. 24324const ( 24325 // EncodingTypeUrl is a EncodingType enum value 24326 EncodingTypeUrl = "url" 24327) 24328 24329// The bucket event for which to send notifications. 24330const ( 24331 // EventS3ReducedRedundancyLostObject is a Event enum value 24332 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject" 24333 24334 // EventS3ObjectCreated is a Event enum value 24335 EventS3ObjectCreated = "s3:ObjectCreated:*" 24336 24337 // EventS3ObjectCreatedPut is a Event enum value 24338 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put" 24339 24340 // EventS3ObjectCreatedPost is a Event enum value 24341 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post" 24342 24343 // EventS3ObjectCreatedCopy is a Event enum value 24344 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy" 24345 24346 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value 24347 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload" 24348 24349 // EventS3ObjectRemoved is a Event enum value 24350 EventS3ObjectRemoved = "s3:ObjectRemoved:*" 24351 24352 // EventS3ObjectRemovedDelete is a Event enum value 24353 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete" 24354 24355 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value 24356 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated" 24357 24358 // EventS3ObjectRestorePost is a Event enum value 24359 EventS3ObjectRestorePost = "s3:ObjectRestore:Post" 24360 24361 // EventS3ObjectRestoreCompleted is a Event enum value 24362 EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed" 24363) 24364 24365const ( 24366 // ExpirationStatusEnabled is a ExpirationStatus enum value 24367 ExpirationStatusEnabled = "Enabled" 24368 24369 // ExpirationStatusDisabled is a ExpirationStatus enum value 24370 ExpirationStatusDisabled = "Disabled" 24371) 24372 24373const ( 24374 // ExpressionTypeSql is a ExpressionType enum value 24375 ExpressionTypeSql = "SQL" 24376) 24377 24378const ( 24379 // FileHeaderInfoUse is a FileHeaderInfo enum value 24380 FileHeaderInfoUse = "USE" 24381 24382 // FileHeaderInfoIgnore is a FileHeaderInfo enum value 24383 FileHeaderInfoIgnore = "IGNORE" 24384 24385 // FileHeaderInfoNone is a FileHeaderInfo enum value 24386 FileHeaderInfoNone = "NONE" 24387) 24388 24389const ( 24390 // FilterRuleNamePrefix is a FilterRuleName enum value 24391 FilterRuleNamePrefix = "prefix" 24392 24393 // FilterRuleNameSuffix is a FilterRuleName enum value 24394 FilterRuleNameSuffix = "suffix" 24395) 24396 24397const ( 24398 // InventoryFormatCsv is a InventoryFormat enum value 24399 InventoryFormatCsv = "CSV" 24400 24401 // InventoryFormatOrc is a InventoryFormat enum value 24402 InventoryFormatOrc = "ORC" 24403 24404 // InventoryFormatParquet is a InventoryFormat enum value 24405 InventoryFormatParquet = "Parquet" 24406) 24407 24408const ( 24409 // InventoryFrequencyDaily is a InventoryFrequency enum value 24410 InventoryFrequencyDaily = "Daily" 24411 24412 // InventoryFrequencyWeekly is a InventoryFrequency enum value 24413 InventoryFrequencyWeekly = "Weekly" 24414) 24415 24416const ( 24417 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value 24418 InventoryIncludedObjectVersionsAll = "All" 24419 24420 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value 24421 InventoryIncludedObjectVersionsCurrent = "Current" 24422) 24423 24424const ( 24425 // InventoryOptionalFieldSize is a InventoryOptionalField enum value 24426 InventoryOptionalFieldSize = "Size" 24427 24428 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value 24429 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate" 24430 24431 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value 24432 InventoryOptionalFieldStorageClass = "StorageClass" 24433 24434 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value 24435 InventoryOptionalFieldEtag = "ETag" 24436 24437 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value 24438 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded" 24439 24440 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value 24441 InventoryOptionalFieldReplicationStatus = "ReplicationStatus" 24442 24443 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value 24444 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus" 24445 24446 // InventoryOptionalFieldObjectLockRetainUntilDate is a InventoryOptionalField enum value 24447 InventoryOptionalFieldObjectLockRetainUntilDate = "ObjectLockRetainUntilDate" 24448 24449 // InventoryOptionalFieldObjectLockMode is a InventoryOptionalField enum value 24450 InventoryOptionalFieldObjectLockMode = "ObjectLockMode" 24451 24452 // InventoryOptionalFieldObjectLockLegalHoldStatus is a InventoryOptionalField enum value 24453 InventoryOptionalFieldObjectLockLegalHoldStatus = "ObjectLockLegalHoldStatus" 24454) 24455 24456const ( 24457 // JSONTypeDocument is a JSONType enum value 24458 JSONTypeDocument = "DOCUMENT" 24459 24460 // JSONTypeLines is a JSONType enum value 24461 JSONTypeLines = "LINES" 24462) 24463 24464const ( 24465 // MFADeleteEnabled is a MFADelete enum value 24466 MFADeleteEnabled = "Enabled" 24467 24468 // MFADeleteDisabled is a MFADelete enum value 24469 MFADeleteDisabled = "Disabled" 24470) 24471 24472const ( 24473 // MFADeleteStatusEnabled is a MFADeleteStatus enum value 24474 MFADeleteStatusEnabled = "Enabled" 24475 24476 // MFADeleteStatusDisabled is a MFADeleteStatus enum value 24477 MFADeleteStatusDisabled = "Disabled" 24478) 24479 24480const ( 24481 // MetadataDirectiveCopy is a MetadataDirective enum value 24482 MetadataDirectiveCopy = "COPY" 24483 24484 // MetadataDirectiveReplace is a MetadataDirective enum value 24485 MetadataDirectiveReplace = "REPLACE" 24486) 24487 24488const ( 24489 // ObjectCannedACLPrivate is a ObjectCannedACL enum value 24490 ObjectCannedACLPrivate = "private" 24491 24492 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value 24493 ObjectCannedACLPublicRead = "public-read" 24494 24495 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value 24496 ObjectCannedACLPublicReadWrite = "public-read-write" 24497 24498 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value 24499 ObjectCannedACLAuthenticatedRead = "authenticated-read" 24500 24501 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value 24502 ObjectCannedACLAwsExecRead = "aws-exec-read" 24503 24504 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value 24505 ObjectCannedACLBucketOwnerRead = "bucket-owner-read" 24506 24507 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value 24508 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control" 24509) 24510 24511const ( 24512 // ObjectLockEnabledEnabled is a ObjectLockEnabled enum value 24513 ObjectLockEnabledEnabled = "Enabled" 24514) 24515 24516const ( 24517 // ObjectLockLegalHoldStatusOn is a ObjectLockLegalHoldStatus enum value 24518 ObjectLockLegalHoldStatusOn = "ON" 24519 24520 // ObjectLockLegalHoldStatusOff is a ObjectLockLegalHoldStatus enum value 24521 ObjectLockLegalHoldStatusOff = "OFF" 24522) 24523 24524const ( 24525 // ObjectLockModeGovernance is a ObjectLockMode enum value 24526 ObjectLockModeGovernance = "GOVERNANCE" 24527 24528 // ObjectLockModeCompliance is a ObjectLockMode enum value 24529 ObjectLockModeCompliance = "COMPLIANCE" 24530) 24531 24532const ( 24533 // ObjectLockRetentionModeGovernance is a ObjectLockRetentionMode enum value 24534 ObjectLockRetentionModeGovernance = "GOVERNANCE" 24535 24536 // ObjectLockRetentionModeCompliance is a ObjectLockRetentionMode enum value 24537 ObjectLockRetentionModeCompliance = "COMPLIANCE" 24538) 24539 24540const ( 24541 // ObjectStorageClassStandard is a ObjectStorageClass enum value 24542 ObjectStorageClassStandard = "STANDARD" 24543 24544 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value 24545 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" 24546 24547 // ObjectStorageClassGlacier is a ObjectStorageClass enum value 24548 ObjectStorageClassGlacier = "GLACIER" 24549 24550 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value 24551 ObjectStorageClassStandardIa = "STANDARD_IA" 24552 24553 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value 24554 ObjectStorageClassOnezoneIa = "ONEZONE_IA" 24555 24556 // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value 24557 ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 24558 24559 // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value 24560 ObjectStorageClassDeepArchive = "DEEP_ARCHIVE" 24561) 24562 24563const ( 24564 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value 24565 ObjectVersionStorageClassStandard = "STANDARD" 24566) 24567 24568const ( 24569 // OwnerOverrideDestination is a OwnerOverride enum value 24570 OwnerOverrideDestination = "Destination" 24571) 24572 24573const ( 24574 // PayerRequester is a Payer enum value 24575 PayerRequester = "Requester" 24576 24577 // PayerBucketOwner is a Payer enum value 24578 PayerBucketOwner = "BucketOwner" 24579) 24580 24581const ( 24582 // PermissionFullControl is a Permission enum value 24583 PermissionFullControl = "FULL_CONTROL" 24584 24585 // PermissionWrite is a Permission enum value 24586 PermissionWrite = "WRITE" 24587 24588 // PermissionWriteAcp is a Permission enum value 24589 PermissionWriteAcp = "WRITE_ACP" 24590 24591 // PermissionRead is a Permission enum value 24592 PermissionRead = "READ" 24593 24594 // PermissionReadAcp is a Permission enum value 24595 PermissionReadAcp = "READ_ACP" 24596) 24597 24598const ( 24599 // ProtocolHttp is a Protocol enum value 24600 ProtocolHttp = "http" 24601 24602 // ProtocolHttps is a Protocol enum value 24603 ProtocolHttps = "https" 24604) 24605 24606const ( 24607 // QuoteFieldsAlways is a QuoteFields enum value 24608 QuoteFieldsAlways = "ALWAYS" 24609 24610 // QuoteFieldsAsneeded is a QuoteFields enum value 24611 QuoteFieldsAsneeded = "ASNEEDED" 24612) 24613 24614const ( 24615 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value 24616 ReplicationRuleStatusEnabled = "Enabled" 24617 24618 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value 24619 ReplicationRuleStatusDisabled = "Disabled" 24620) 24621 24622const ( 24623 // ReplicationStatusComplete is a ReplicationStatus enum value 24624 ReplicationStatusComplete = "COMPLETE" 24625 24626 // ReplicationStatusPending is a ReplicationStatus enum value 24627 ReplicationStatusPending = "PENDING" 24628 24629 // ReplicationStatusFailed is a ReplicationStatus enum value 24630 ReplicationStatusFailed = "FAILED" 24631 24632 // ReplicationStatusReplica is a ReplicationStatus enum value 24633 ReplicationStatusReplica = "REPLICA" 24634) 24635 24636// If present, indicates that the requester was successfully charged for the 24637// request. 24638const ( 24639 // RequestChargedRequester is a RequestCharged enum value 24640 RequestChargedRequester = "requester" 24641) 24642 24643// Confirms that the requester knows that she or he will be charged for the 24644// request. Bucket owners need not specify this parameter in their requests. 24645// Documentation on downloading objects from requester pays buckets can be found 24646// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 24647const ( 24648 // RequestPayerRequester is a RequestPayer enum value 24649 RequestPayerRequester = "requester" 24650) 24651 24652const ( 24653 // RestoreRequestTypeSelect is a RestoreRequestType enum value 24654 RestoreRequestTypeSelect = "SELECT" 24655) 24656 24657const ( 24658 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value 24659 ServerSideEncryptionAes256 = "AES256" 24660 24661 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value 24662 ServerSideEncryptionAwsKms = "aws:kms" 24663) 24664 24665const ( 24666 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value 24667 SseKmsEncryptedObjectsStatusEnabled = "Enabled" 24668 24669 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value 24670 SseKmsEncryptedObjectsStatusDisabled = "Disabled" 24671) 24672 24673const ( 24674 // StorageClassStandard is a StorageClass enum value 24675 StorageClassStandard = "STANDARD" 24676 24677 // StorageClassReducedRedundancy is a StorageClass enum value 24678 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" 24679 24680 // StorageClassStandardIa is a StorageClass enum value 24681 StorageClassStandardIa = "STANDARD_IA" 24682 24683 // StorageClassOnezoneIa is a StorageClass enum value 24684 StorageClassOnezoneIa = "ONEZONE_IA" 24685 24686 // StorageClassIntelligentTiering is a StorageClass enum value 24687 StorageClassIntelligentTiering = "INTELLIGENT_TIERING" 24688 24689 // StorageClassGlacier is a StorageClass enum value 24690 StorageClassGlacier = "GLACIER" 24691 24692 // StorageClassDeepArchive is a StorageClass enum value 24693 StorageClassDeepArchive = "DEEP_ARCHIVE" 24694) 24695 24696const ( 24697 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value 24698 StorageClassAnalysisSchemaVersionV1 = "V_1" 24699) 24700 24701const ( 24702 // TaggingDirectiveCopy is a TaggingDirective enum value 24703 TaggingDirectiveCopy = "COPY" 24704 24705 // TaggingDirectiveReplace is a TaggingDirective enum value 24706 TaggingDirectiveReplace = "REPLACE" 24707) 24708 24709const ( 24710 // TierStandard is a Tier enum value 24711 TierStandard = "Standard" 24712 24713 // TierBulk is a Tier enum value 24714 TierBulk = "Bulk" 24715 24716 // TierExpedited is a Tier enum value 24717 TierExpedited = "Expedited" 24718) 24719 24720const ( 24721 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 24722 TransitionStorageClassGlacier = "GLACIER" 24723 24724 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 24725 TransitionStorageClassStandardIa = "STANDARD_IA" 24726 24727 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 24728 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 24729 24730 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value 24731 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 24732 24733 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value 24734 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" 24735) 24736 24737const ( 24738 // TypeCanonicalUser is a Type enum value 24739 TypeCanonicalUser = "CanonicalUser" 24740 24741 // TypeAmazonCustomerByEmail is a Type enum value 24742 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail" 24743 24744 // TypeGroup is a Type enum value 24745 TypeGroup = "Group" 24746) 24747