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// successfuly. 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// successfuly. 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// successfuly. 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// successfuly. 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// successfuly. 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// successfuly. 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.Remove(restxml.UnmarshalHandler) 464 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 465 return 466} 467 468// DeleteBucket API operation for Amazon Simple Storage Service. 469// 470// Deletes the bucket. All objects (including all object versions and Delete 471// Markers) in the bucket must be deleted before the bucket itself can be deleted. 472// 473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 474// with awserr.Error's Code and Message methods to get detailed information about 475// the error. 476// 477// See the AWS API reference guide for Amazon Simple Storage Service's 478// API operation DeleteBucket for usage and error information. 479// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket 480func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 481 req, out := c.DeleteBucketRequest(input) 482 return out, req.Send() 483} 484 485// DeleteBucketWithContext is the same as DeleteBucket with the addition of 486// the ability to pass a context and additional request options. 487// 488// See DeleteBucket for details on how to use this API operation. 489// 490// The context must be non-nil and will be used for request cancellation. If 491// the context is nil a panic will occur. In the future the SDK may create 492// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 493// for more information on using Contexts. 494func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) { 495 req, out := c.DeleteBucketRequest(input) 496 req.SetContext(ctx) 497 req.ApplyOptions(opts...) 498 return out, req.Send() 499} 500 501const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration" 502 503// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 504// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return 505// value will be populated with the request's response once the request completes 506// successfuly. 507// 508// Use "Send" method on the returned Request to send the API call to the service. 509// the "output" return value is not valid until after Send returns without error. 510// 511// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration 512// API call, and error handling. 513// 514// This method is useful when you want to inject custom logic or configuration 515// into the SDK's request lifecycle. Such as custom headers, or retry logic. 516// 517// 518// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method. 519// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params) 520// 521// err := req.Send() 522// if err == nil { // resp is now filled 523// fmt.Println(resp) 524// } 525// 526// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 527func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) { 528 op := &request.Operation{ 529 Name: opDeleteBucketAnalyticsConfiguration, 530 HTTPMethod: "DELETE", 531 HTTPPath: "/{Bucket}?analytics", 532 } 533 534 if input == nil { 535 input = &DeleteBucketAnalyticsConfigurationInput{} 536 } 537 538 output = &DeleteBucketAnalyticsConfigurationOutput{} 539 req = c.newRequest(op, input, output) 540 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 541 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 542 return 543} 544 545// DeleteBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 546// 547// Deletes an analytics configuration for the bucket (specified by the analytics 548// configuration ID). 549// 550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 551// with awserr.Error's Code and Message methods to get detailed information about 552// the error. 553// 554// See the AWS API reference guide for Amazon Simple Storage Service's 555// API operation DeleteBucketAnalyticsConfiguration for usage and error information. 556// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 557func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) { 558 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input) 559 return out, req.Send() 560} 561 562// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of 563// the ability to pass a context and additional request options. 564// 565// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation. 566// 567// The context must be non-nil and will be used for request cancellation. If 568// the context is nil a panic will occur. In the future the SDK may create 569// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 570// for more information on using Contexts. 571func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) { 572 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input) 573 req.SetContext(ctx) 574 req.ApplyOptions(opts...) 575 return out, req.Send() 576} 577 578const opDeleteBucketCors = "DeleteBucketCors" 579 580// DeleteBucketCorsRequest generates a "aws/request.Request" representing the 581// client's request for the DeleteBucketCors operation. The "output" return 582// value will be populated with the request's response once the request completes 583// successfuly. 584// 585// Use "Send" method on the returned Request to send the API call to the service. 586// the "output" return value is not valid until after Send returns without error. 587// 588// See DeleteBucketCors for more information on using the DeleteBucketCors 589// API call, and error handling. 590// 591// This method is useful when you want to inject custom logic or configuration 592// into the SDK's request lifecycle. Such as custom headers, or retry logic. 593// 594// 595// // Example sending a request using the DeleteBucketCorsRequest method. 596// req, resp := client.DeleteBucketCorsRequest(params) 597// 598// err := req.Send() 599// if err == nil { // resp is now filled 600// fmt.Println(resp) 601// } 602// 603// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 604func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) { 605 op := &request.Operation{ 606 Name: opDeleteBucketCors, 607 HTTPMethod: "DELETE", 608 HTTPPath: "/{Bucket}?cors", 609 } 610 611 if input == nil { 612 input = &DeleteBucketCorsInput{} 613 } 614 615 output = &DeleteBucketCorsOutput{} 616 req = c.newRequest(op, input, output) 617 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 618 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 619 return 620} 621 622// DeleteBucketCors API operation for Amazon Simple Storage Service. 623// 624// Deletes the cors configuration information set for the bucket. 625// 626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 627// with awserr.Error's Code and Message methods to get detailed information about 628// the error. 629// 630// See the AWS API reference guide for Amazon Simple Storage Service's 631// API operation DeleteBucketCors for usage and error information. 632// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 633func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) { 634 req, out := c.DeleteBucketCorsRequest(input) 635 return out, req.Send() 636} 637 638// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of 639// the ability to pass a context and additional request options. 640// 641// See DeleteBucketCors for details on how to use this API operation. 642// 643// The context must be non-nil and will be used for request cancellation. If 644// the context is nil a panic will occur. In the future the SDK may create 645// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 646// for more information on using Contexts. 647func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) { 648 req, out := c.DeleteBucketCorsRequest(input) 649 req.SetContext(ctx) 650 req.ApplyOptions(opts...) 651 return out, req.Send() 652} 653 654const opDeleteBucketEncryption = "DeleteBucketEncryption" 655 656// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the 657// client's request for the DeleteBucketEncryption operation. The "output" return 658// value will be populated with the request's response once the request completes 659// successfuly. 660// 661// Use "Send" method on the returned Request to send the API call to the service. 662// the "output" return value is not valid until after Send returns without error. 663// 664// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption 665// API call, and error handling. 666// 667// This method is useful when you want to inject custom logic or configuration 668// into the SDK's request lifecycle. Such as custom headers, or retry logic. 669// 670// 671// // Example sending a request using the DeleteBucketEncryptionRequest method. 672// req, resp := client.DeleteBucketEncryptionRequest(params) 673// 674// err := req.Send() 675// if err == nil { // resp is now filled 676// fmt.Println(resp) 677// } 678// 679// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption 680func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) { 681 op := &request.Operation{ 682 Name: opDeleteBucketEncryption, 683 HTTPMethod: "DELETE", 684 HTTPPath: "/{Bucket}?encryption", 685 } 686 687 if input == nil { 688 input = &DeleteBucketEncryptionInput{} 689 } 690 691 output = &DeleteBucketEncryptionOutput{} 692 req = c.newRequest(op, input, output) 693 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 694 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 695 return 696} 697 698// DeleteBucketEncryption API operation for Amazon Simple Storage Service. 699// 700// Deletes the server-side encryption configuration from the bucket. 701// 702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 703// with awserr.Error's Code and Message methods to get detailed information about 704// the error. 705// 706// See the AWS API reference guide for Amazon Simple Storage Service's 707// API operation DeleteBucketEncryption for usage and error information. 708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption 709func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) { 710 req, out := c.DeleteBucketEncryptionRequest(input) 711 return out, req.Send() 712} 713 714// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of 715// the ability to pass a context and additional request options. 716// 717// See DeleteBucketEncryption for details on how to use this API operation. 718// 719// The context must be non-nil and will be used for request cancellation. If 720// the context is nil a panic will occur. In the future the SDK may create 721// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 722// for more information on using Contexts. 723func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) { 724 req, out := c.DeleteBucketEncryptionRequest(input) 725 req.SetContext(ctx) 726 req.ApplyOptions(opts...) 727 return out, req.Send() 728} 729 730const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration" 731 732// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 733// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return 734// value will be populated with the request's response once the request completes 735// successfuly. 736// 737// Use "Send" method on the returned Request to send the API call to the service. 738// the "output" return value is not valid until after Send returns without error. 739// 740// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration 741// API call, and error handling. 742// 743// This method is useful when you want to inject custom logic or configuration 744// into the SDK's request lifecycle. Such as custom headers, or retry logic. 745// 746// 747// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method. 748// req, resp := client.DeleteBucketInventoryConfigurationRequest(params) 749// 750// err := req.Send() 751// if err == nil { // resp is now filled 752// fmt.Println(resp) 753// } 754// 755// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 756func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) { 757 op := &request.Operation{ 758 Name: opDeleteBucketInventoryConfiguration, 759 HTTPMethod: "DELETE", 760 HTTPPath: "/{Bucket}?inventory", 761 } 762 763 if input == nil { 764 input = &DeleteBucketInventoryConfigurationInput{} 765 } 766 767 output = &DeleteBucketInventoryConfigurationOutput{} 768 req = c.newRequest(op, input, output) 769 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 770 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 771 return 772} 773 774// DeleteBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 775// 776// Deletes an inventory configuration (identified by the inventory ID) from 777// the bucket. 778// 779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 780// with awserr.Error's Code and Message methods to get detailed information about 781// the error. 782// 783// See the AWS API reference guide for Amazon Simple Storage Service's 784// API operation DeleteBucketInventoryConfiguration for usage and error information. 785// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 786func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) { 787 req, out := c.DeleteBucketInventoryConfigurationRequest(input) 788 return out, req.Send() 789} 790 791// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of 792// the ability to pass a context and additional request options. 793// 794// See DeleteBucketInventoryConfiguration for details on how to use this API operation. 795// 796// The context must be non-nil and will be used for request cancellation. If 797// the context is nil a panic will occur. In the future the SDK may create 798// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 799// for more information on using Contexts. 800func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) { 801 req, out := c.DeleteBucketInventoryConfigurationRequest(input) 802 req.SetContext(ctx) 803 req.ApplyOptions(opts...) 804 return out, req.Send() 805} 806 807const opDeleteBucketLifecycle = "DeleteBucketLifecycle" 808 809// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the 810// client's request for the DeleteBucketLifecycle operation. The "output" return 811// value will be populated with the request's response once the request completes 812// successfuly. 813// 814// Use "Send" method on the returned Request to send the API call to the service. 815// the "output" return value is not valid until after Send returns without error. 816// 817// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle 818// API call, and error handling. 819// 820// This method is useful when you want to inject custom logic or configuration 821// into the SDK's request lifecycle. Such as custom headers, or retry logic. 822// 823// 824// // Example sending a request using the DeleteBucketLifecycleRequest method. 825// req, resp := client.DeleteBucketLifecycleRequest(params) 826// 827// err := req.Send() 828// if err == nil { // resp is now filled 829// fmt.Println(resp) 830// } 831// 832// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 833func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) { 834 op := &request.Operation{ 835 Name: opDeleteBucketLifecycle, 836 HTTPMethod: "DELETE", 837 HTTPPath: "/{Bucket}?lifecycle", 838 } 839 840 if input == nil { 841 input = &DeleteBucketLifecycleInput{} 842 } 843 844 output = &DeleteBucketLifecycleOutput{} 845 req = c.newRequest(op, input, output) 846 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 847 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 848 return 849} 850 851// DeleteBucketLifecycle API operation for Amazon Simple Storage Service. 852// 853// Deletes the lifecycle configuration from the bucket. 854// 855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 856// with awserr.Error's Code and Message methods to get detailed information about 857// the error. 858// 859// See the AWS API reference guide for Amazon Simple Storage Service's 860// API operation DeleteBucketLifecycle for usage and error information. 861// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 862func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) { 863 req, out := c.DeleteBucketLifecycleRequest(input) 864 return out, req.Send() 865} 866 867// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of 868// the ability to pass a context and additional request options. 869// 870// See DeleteBucketLifecycle for details on how to use this API operation. 871// 872// The context must be non-nil and will be used for request cancellation. If 873// the context is nil a panic will occur. In the future the SDK may create 874// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 875// for more information on using Contexts. 876func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) { 877 req, out := c.DeleteBucketLifecycleRequest(input) 878 req.SetContext(ctx) 879 req.ApplyOptions(opts...) 880 return out, req.Send() 881} 882 883const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration" 884 885// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 886// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return 887// value will be populated with the request's response once the request completes 888// successfuly. 889// 890// Use "Send" method on the returned Request to send the API call to the service. 891// the "output" return value is not valid until after Send returns without error. 892// 893// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration 894// API call, and error handling. 895// 896// This method is useful when you want to inject custom logic or configuration 897// into the SDK's request lifecycle. Such as custom headers, or retry logic. 898// 899// 900// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method. 901// req, resp := client.DeleteBucketMetricsConfigurationRequest(params) 902// 903// err := req.Send() 904// if err == nil { // resp is now filled 905// fmt.Println(resp) 906// } 907// 908// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 909func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) { 910 op := &request.Operation{ 911 Name: opDeleteBucketMetricsConfiguration, 912 HTTPMethod: "DELETE", 913 HTTPPath: "/{Bucket}?metrics", 914 } 915 916 if input == nil { 917 input = &DeleteBucketMetricsConfigurationInput{} 918 } 919 920 output = &DeleteBucketMetricsConfigurationOutput{} 921 req = c.newRequest(op, input, output) 922 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 923 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 924 return 925} 926 927// DeleteBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 928// 929// Deletes a metrics configuration (specified by the metrics configuration ID) 930// from the bucket. 931// 932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 933// with awserr.Error's Code and Message methods to get detailed information about 934// the error. 935// 936// See the AWS API reference guide for Amazon Simple Storage Service's 937// API operation DeleteBucketMetricsConfiguration for usage and error information. 938// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 939func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) { 940 req, out := c.DeleteBucketMetricsConfigurationRequest(input) 941 return out, req.Send() 942} 943 944// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of 945// the ability to pass a context and additional request options. 946// 947// See DeleteBucketMetricsConfiguration for details on how to use this API operation. 948// 949// The context must be non-nil and will be used for request cancellation. If 950// the context is nil a panic will occur. In the future the SDK may create 951// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 952// for more information on using Contexts. 953func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) { 954 req, out := c.DeleteBucketMetricsConfigurationRequest(input) 955 req.SetContext(ctx) 956 req.ApplyOptions(opts...) 957 return out, req.Send() 958} 959 960const opDeleteBucketPolicy = "DeleteBucketPolicy" 961 962// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 963// client's request for the DeleteBucketPolicy operation. The "output" return 964// value will be populated with the request's response once the request completes 965// successfuly. 966// 967// Use "Send" method on the returned Request to send the API call to the service. 968// the "output" return value is not valid until after Send returns without error. 969// 970// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy 971// API call, and error handling. 972// 973// This method is useful when you want to inject custom logic or configuration 974// into the SDK's request lifecycle. Such as custom headers, or retry logic. 975// 976// 977// // Example sending a request using the DeleteBucketPolicyRequest method. 978// req, resp := client.DeleteBucketPolicyRequest(params) 979// 980// err := req.Send() 981// if err == nil { // resp is now filled 982// fmt.Println(resp) 983// } 984// 985// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 986func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 987 op := &request.Operation{ 988 Name: opDeleteBucketPolicy, 989 HTTPMethod: "DELETE", 990 HTTPPath: "/{Bucket}?policy", 991 } 992 993 if input == nil { 994 input = &DeleteBucketPolicyInput{} 995 } 996 997 output = &DeleteBucketPolicyOutput{} 998 req = c.newRequest(op, input, output) 999 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 1000 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 1001 return 1002} 1003 1004// DeleteBucketPolicy API operation for Amazon Simple Storage Service. 1005// 1006// Deletes the policy from the bucket. 1007// 1008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1009// with awserr.Error's Code and Message methods to get detailed information about 1010// the error. 1011// 1012// See the AWS API reference guide for Amazon Simple Storage Service's 1013// API operation DeleteBucketPolicy for usage and error information. 1014// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 1015func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 1016 req, out := c.DeleteBucketPolicyRequest(input) 1017 return out, req.Send() 1018} 1019 1020// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of 1021// the ability to pass a context and additional request options. 1022// 1023// See DeleteBucketPolicy for details on how to use this API operation. 1024// 1025// The context must be non-nil and will be used for request cancellation. If 1026// the context is nil a panic will occur. In the future the SDK may create 1027// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1028// for more information on using Contexts. 1029func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) { 1030 req, out := c.DeleteBucketPolicyRequest(input) 1031 req.SetContext(ctx) 1032 req.ApplyOptions(opts...) 1033 return out, req.Send() 1034} 1035 1036const opDeleteBucketReplication = "DeleteBucketReplication" 1037 1038// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the 1039// client's request for the DeleteBucketReplication operation. The "output" return 1040// value will be populated with the request's response once the request completes 1041// successfuly. 1042// 1043// Use "Send" method on the returned Request to send the API call to the service. 1044// the "output" return value is not valid until after Send returns without error. 1045// 1046// See DeleteBucketReplication for more information on using the DeleteBucketReplication 1047// API call, and error handling. 1048// 1049// This method is useful when you want to inject custom logic or configuration 1050// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1051// 1052// 1053// // Example sending a request using the DeleteBucketReplicationRequest method. 1054// req, resp := client.DeleteBucketReplicationRequest(params) 1055// 1056// err := req.Send() 1057// if err == nil { // resp is now filled 1058// fmt.Println(resp) 1059// } 1060// 1061// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1062func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { 1063 op := &request.Operation{ 1064 Name: opDeleteBucketReplication, 1065 HTTPMethod: "DELETE", 1066 HTTPPath: "/{Bucket}?replication", 1067 } 1068 1069 if input == nil { 1070 input = &DeleteBucketReplicationInput{} 1071 } 1072 1073 output = &DeleteBucketReplicationOutput{} 1074 req = c.newRequest(op, input, output) 1075 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 1076 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 1077 return 1078} 1079 1080// DeleteBucketReplication API operation for Amazon Simple Storage Service. 1081// 1082// Deletes the replication configuration from the bucket. 1083// 1084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1085// with awserr.Error's Code and Message methods to get detailed information about 1086// the error. 1087// 1088// See the AWS API reference guide for Amazon Simple Storage Service's 1089// API operation DeleteBucketReplication for usage and error information. 1090// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1091func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { 1092 req, out := c.DeleteBucketReplicationRequest(input) 1093 return out, req.Send() 1094} 1095 1096// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of 1097// the ability to pass a context and additional request options. 1098// 1099// See DeleteBucketReplication for details on how to use this API operation. 1100// 1101// The context must be non-nil and will be used for request cancellation. If 1102// the context is nil a panic will occur. In the future the SDK may create 1103// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1104// for more information on using Contexts. 1105func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) { 1106 req, out := c.DeleteBucketReplicationRequest(input) 1107 req.SetContext(ctx) 1108 req.ApplyOptions(opts...) 1109 return out, req.Send() 1110} 1111 1112const opDeleteBucketTagging = "DeleteBucketTagging" 1113 1114// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 1115// client's request for the DeleteBucketTagging operation. The "output" return 1116// value will be populated with the request's response once the request completes 1117// successfuly. 1118// 1119// Use "Send" method on the returned Request to send the API call to the service. 1120// the "output" return value is not valid until after Send returns without error. 1121// 1122// See DeleteBucketTagging for more information on using the DeleteBucketTagging 1123// API call, and error handling. 1124// 1125// This method is useful when you want to inject custom logic or configuration 1126// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1127// 1128// 1129// // Example sending a request using the DeleteBucketTaggingRequest method. 1130// req, resp := client.DeleteBucketTaggingRequest(params) 1131// 1132// err := req.Send() 1133// if err == nil { // resp is now filled 1134// fmt.Println(resp) 1135// } 1136// 1137// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1138func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 1139 op := &request.Operation{ 1140 Name: opDeleteBucketTagging, 1141 HTTPMethod: "DELETE", 1142 HTTPPath: "/{Bucket}?tagging", 1143 } 1144 1145 if input == nil { 1146 input = &DeleteBucketTaggingInput{} 1147 } 1148 1149 output = &DeleteBucketTaggingOutput{} 1150 req = c.newRequest(op, input, output) 1151 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 1152 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 1153 return 1154} 1155 1156// DeleteBucketTagging API operation for Amazon Simple Storage Service. 1157// 1158// Deletes the tags from the bucket. 1159// 1160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1161// with awserr.Error's Code and Message methods to get detailed information about 1162// the error. 1163// 1164// See the AWS API reference guide for Amazon Simple Storage Service's 1165// API operation DeleteBucketTagging for usage and error information. 1166// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1167func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 1168 req, out := c.DeleteBucketTaggingRequest(input) 1169 return out, req.Send() 1170} 1171 1172// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of 1173// the ability to pass a context and additional request options. 1174// 1175// See DeleteBucketTagging for details on how to use this API operation. 1176// 1177// The context must be non-nil and will be used for request cancellation. If 1178// the context is nil a panic will occur. In the future the SDK may create 1179// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1180// for more information on using Contexts. 1181func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) { 1182 req, out := c.DeleteBucketTaggingRequest(input) 1183 req.SetContext(ctx) 1184 req.ApplyOptions(opts...) 1185 return out, req.Send() 1186} 1187 1188const opDeleteBucketWebsite = "DeleteBucketWebsite" 1189 1190// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the 1191// client's request for the DeleteBucketWebsite operation. The "output" return 1192// value will be populated with the request's response once the request completes 1193// successfuly. 1194// 1195// Use "Send" method on the returned Request to send the API call to the service. 1196// the "output" return value is not valid until after Send returns without error. 1197// 1198// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite 1199// API call, and error handling. 1200// 1201// This method is useful when you want to inject custom logic or configuration 1202// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1203// 1204// 1205// // Example sending a request using the DeleteBucketWebsiteRequest method. 1206// req, resp := client.DeleteBucketWebsiteRequest(params) 1207// 1208// err := req.Send() 1209// if err == nil { // resp is now filled 1210// fmt.Println(resp) 1211// } 1212// 1213// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1214func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) { 1215 op := &request.Operation{ 1216 Name: opDeleteBucketWebsite, 1217 HTTPMethod: "DELETE", 1218 HTTPPath: "/{Bucket}?website", 1219 } 1220 1221 if input == nil { 1222 input = &DeleteBucketWebsiteInput{} 1223 } 1224 1225 output = &DeleteBucketWebsiteOutput{} 1226 req = c.newRequest(op, input, output) 1227 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 1228 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 1229 return 1230} 1231 1232// DeleteBucketWebsite API operation for Amazon Simple Storage Service. 1233// 1234// This operation removes the website configuration from the bucket. 1235// 1236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1237// with awserr.Error's Code and Message methods to get detailed information about 1238// the error. 1239// 1240// See the AWS API reference guide for Amazon Simple Storage Service's 1241// API operation DeleteBucketWebsite for usage and error information. 1242// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1243func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) { 1244 req, out := c.DeleteBucketWebsiteRequest(input) 1245 return out, req.Send() 1246} 1247 1248// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of 1249// the ability to pass a context and additional request options. 1250// 1251// See DeleteBucketWebsite for details on how to use this API operation. 1252// 1253// The context must be non-nil and will be used for request cancellation. If 1254// the context is nil a panic will occur. In the future the SDK may create 1255// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1256// for more information on using Contexts. 1257func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) { 1258 req, out := c.DeleteBucketWebsiteRequest(input) 1259 req.SetContext(ctx) 1260 req.ApplyOptions(opts...) 1261 return out, req.Send() 1262} 1263 1264const opDeleteObject = "DeleteObject" 1265 1266// DeleteObjectRequest generates a "aws/request.Request" representing the 1267// client's request for the DeleteObject operation. The "output" return 1268// value will be populated with the request's response once the request completes 1269// successfuly. 1270// 1271// Use "Send" method on the returned Request to send the API call to the service. 1272// the "output" return value is not valid until after Send returns without error. 1273// 1274// See DeleteObject for more information on using the DeleteObject 1275// API call, and error handling. 1276// 1277// This method is useful when you want to inject custom logic or configuration 1278// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1279// 1280// 1281// // Example sending a request using the DeleteObjectRequest method. 1282// req, resp := client.DeleteObjectRequest(params) 1283// 1284// err := req.Send() 1285// if err == nil { // resp is now filled 1286// fmt.Println(resp) 1287// } 1288// 1289// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1290func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { 1291 op := &request.Operation{ 1292 Name: opDeleteObject, 1293 HTTPMethod: "DELETE", 1294 HTTPPath: "/{Bucket}/{Key+}", 1295 } 1296 1297 if input == nil { 1298 input = &DeleteObjectInput{} 1299 } 1300 1301 output = &DeleteObjectOutput{} 1302 req = c.newRequest(op, input, output) 1303 return 1304} 1305 1306// DeleteObject API operation for Amazon Simple Storage Service. 1307// 1308// Removes the null version (if there is one) of an object and inserts a delete 1309// marker, which becomes the latest version of the object. If there isn't a 1310// null version, Amazon S3 does not remove any objects. 1311// 1312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1313// with awserr.Error's Code and Message methods to get detailed information about 1314// the error. 1315// 1316// See the AWS API reference guide for Amazon Simple Storage Service's 1317// API operation DeleteObject for usage and error information. 1318// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1319func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { 1320 req, out := c.DeleteObjectRequest(input) 1321 return out, req.Send() 1322} 1323 1324// DeleteObjectWithContext is the same as DeleteObject with the addition of 1325// the ability to pass a context and additional request options. 1326// 1327// See DeleteObject for details on how to use this API operation. 1328// 1329// The context must be non-nil and will be used for request cancellation. If 1330// the context is nil a panic will occur. In the future the SDK may create 1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1332// for more information on using Contexts. 1333func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) { 1334 req, out := c.DeleteObjectRequest(input) 1335 req.SetContext(ctx) 1336 req.ApplyOptions(opts...) 1337 return out, req.Send() 1338} 1339 1340const opDeleteObjectTagging = "DeleteObjectTagging" 1341 1342// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the 1343// client's request for the DeleteObjectTagging operation. The "output" return 1344// value will be populated with the request's response once the request completes 1345// successfuly. 1346// 1347// Use "Send" method on the returned Request to send the API call to the service. 1348// the "output" return value is not valid until after Send returns without error. 1349// 1350// See DeleteObjectTagging for more information on using the DeleteObjectTagging 1351// API call, and error handling. 1352// 1353// This method is useful when you want to inject custom logic or configuration 1354// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1355// 1356// 1357// // Example sending a request using the DeleteObjectTaggingRequest method. 1358// req, resp := client.DeleteObjectTaggingRequest(params) 1359// 1360// err := req.Send() 1361// if err == nil { // resp is now filled 1362// fmt.Println(resp) 1363// } 1364// 1365// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1366func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) { 1367 op := &request.Operation{ 1368 Name: opDeleteObjectTagging, 1369 HTTPMethod: "DELETE", 1370 HTTPPath: "/{Bucket}/{Key+}?tagging", 1371 } 1372 1373 if input == nil { 1374 input = &DeleteObjectTaggingInput{} 1375 } 1376 1377 output = &DeleteObjectTaggingOutput{} 1378 req = c.newRequest(op, input, output) 1379 return 1380} 1381 1382// DeleteObjectTagging API operation for Amazon Simple Storage Service. 1383// 1384// Removes the tag-set from an existing object. 1385// 1386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1387// with awserr.Error's Code and Message methods to get detailed information about 1388// the error. 1389// 1390// See the AWS API reference guide for Amazon Simple Storage Service's 1391// API operation DeleteObjectTagging for usage and error information. 1392// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1393func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) { 1394 req, out := c.DeleteObjectTaggingRequest(input) 1395 return out, req.Send() 1396} 1397 1398// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of 1399// the ability to pass a context and additional request options. 1400// 1401// See DeleteObjectTagging for details on how to use this API operation. 1402// 1403// The context must be non-nil and will be used for request cancellation. If 1404// the context is nil a panic will occur. In the future the SDK may create 1405// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1406// for more information on using Contexts. 1407func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) { 1408 req, out := c.DeleteObjectTaggingRequest(input) 1409 req.SetContext(ctx) 1410 req.ApplyOptions(opts...) 1411 return out, req.Send() 1412} 1413 1414const opDeleteObjects = "DeleteObjects" 1415 1416// DeleteObjectsRequest generates a "aws/request.Request" representing the 1417// client's request for the DeleteObjects operation. The "output" return 1418// value will be populated with the request's response once the request completes 1419// successfuly. 1420// 1421// Use "Send" method on the returned Request to send the API call to the service. 1422// the "output" return value is not valid until after Send returns without error. 1423// 1424// See DeleteObjects for more information on using the DeleteObjects 1425// API call, and error handling. 1426// 1427// This method is useful when you want to inject custom logic or configuration 1428// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1429// 1430// 1431// // Example sending a request using the DeleteObjectsRequest method. 1432// req, resp := client.DeleteObjectsRequest(params) 1433// 1434// err := req.Send() 1435// if err == nil { // resp is now filled 1436// fmt.Println(resp) 1437// } 1438// 1439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1440func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) { 1441 op := &request.Operation{ 1442 Name: opDeleteObjects, 1443 HTTPMethod: "POST", 1444 HTTPPath: "/{Bucket}?delete", 1445 } 1446 1447 if input == nil { 1448 input = &DeleteObjectsInput{} 1449 } 1450 1451 output = &DeleteObjectsOutput{} 1452 req = c.newRequest(op, input, output) 1453 return 1454} 1455 1456// DeleteObjects API operation for Amazon Simple Storage Service. 1457// 1458// This operation enables you to delete multiple objects from a bucket using 1459// a single HTTP request. You may specify up to 1000 keys. 1460// 1461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1462// with awserr.Error's Code and Message methods to get detailed information about 1463// the error. 1464// 1465// See the AWS API reference guide for Amazon Simple Storage Service's 1466// API operation DeleteObjects for usage and error information. 1467// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1468func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) { 1469 req, out := c.DeleteObjectsRequest(input) 1470 return out, req.Send() 1471} 1472 1473// DeleteObjectsWithContext is the same as DeleteObjects with the addition of 1474// the ability to pass a context and additional request options. 1475// 1476// See DeleteObjects for details on how to use this API operation. 1477// 1478// The context must be non-nil and will be used for request cancellation. If 1479// the context is nil a panic will occur. In the future the SDK may create 1480// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1481// for more information on using Contexts. 1482func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) { 1483 req, out := c.DeleteObjectsRequest(input) 1484 req.SetContext(ctx) 1485 req.ApplyOptions(opts...) 1486 return out, req.Send() 1487} 1488 1489const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration" 1490 1491// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 1492// client's request for the GetBucketAccelerateConfiguration operation. The "output" return 1493// value will be populated with the request's response once the request completes 1494// successfuly. 1495// 1496// Use "Send" method on the returned Request to send the API call to the service. 1497// the "output" return value is not valid until after Send returns without error. 1498// 1499// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration 1500// API call, and error handling. 1501// 1502// This method is useful when you want to inject custom logic or configuration 1503// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1504// 1505// 1506// // Example sending a request using the GetBucketAccelerateConfigurationRequest method. 1507// req, resp := client.GetBucketAccelerateConfigurationRequest(params) 1508// 1509// err := req.Send() 1510// if err == nil { // resp is now filled 1511// fmt.Println(resp) 1512// } 1513// 1514// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1515func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) { 1516 op := &request.Operation{ 1517 Name: opGetBucketAccelerateConfiguration, 1518 HTTPMethod: "GET", 1519 HTTPPath: "/{Bucket}?accelerate", 1520 } 1521 1522 if input == nil { 1523 input = &GetBucketAccelerateConfigurationInput{} 1524 } 1525 1526 output = &GetBucketAccelerateConfigurationOutput{} 1527 req = c.newRequest(op, input, output) 1528 return 1529} 1530 1531// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. 1532// 1533// Returns the accelerate configuration of a bucket. 1534// 1535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1536// with awserr.Error's Code and Message methods to get detailed information about 1537// the error. 1538// 1539// See the AWS API reference guide for Amazon Simple Storage Service's 1540// API operation GetBucketAccelerateConfiguration for usage and error information. 1541// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1542func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) { 1543 req, out := c.GetBucketAccelerateConfigurationRequest(input) 1544 return out, req.Send() 1545} 1546 1547// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of 1548// the ability to pass a context and additional request options. 1549// 1550// See GetBucketAccelerateConfiguration for details on how to use this API operation. 1551// 1552// The context must be non-nil and will be used for request cancellation. If 1553// the context is nil a panic will occur. In the future the SDK may create 1554// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1555// for more information on using Contexts. 1556func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) { 1557 req, out := c.GetBucketAccelerateConfigurationRequest(input) 1558 req.SetContext(ctx) 1559 req.ApplyOptions(opts...) 1560 return out, req.Send() 1561} 1562 1563const opGetBucketAcl = "GetBucketAcl" 1564 1565// GetBucketAclRequest generates a "aws/request.Request" representing the 1566// client's request for the GetBucketAcl operation. The "output" return 1567// value will be populated with the request's response once the request completes 1568// successfuly. 1569// 1570// Use "Send" method on the returned Request to send the API call to the service. 1571// the "output" return value is not valid until after Send returns without error. 1572// 1573// See GetBucketAcl for more information on using the GetBucketAcl 1574// API call, and error handling. 1575// 1576// This method is useful when you want to inject custom logic or configuration 1577// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1578// 1579// 1580// // Example sending a request using the GetBucketAclRequest method. 1581// req, resp := client.GetBucketAclRequest(params) 1582// 1583// err := req.Send() 1584// if err == nil { // resp is now filled 1585// fmt.Println(resp) 1586// } 1587// 1588// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1589func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) { 1590 op := &request.Operation{ 1591 Name: opGetBucketAcl, 1592 HTTPMethod: "GET", 1593 HTTPPath: "/{Bucket}?acl", 1594 } 1595 1596 if input == nil { 1597 input = &GetBucketAclInput{} 1598 } 1599 1600 output = &GetBucketAclOutput{} 1601 req = c.newRequest(op, input, output) 1602 return 1603} 1604 1605// GetBucketAcl API operation for Amazon Simple Storage Service. 1606// 1607// Gets the access control policy for the bucket. 1608// 1609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1610// with awserr.Error's Code and Message methods to get detailed information about 1611// the error. 1612// 1613// See the AWS API reference guide for Amazon Simple Storage Service's 1614// API operation GetBucketAcl for usage and error information. 1615// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1616func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) { 1617 req, out := c.GetBucketAclRequest(input) 1618 return out, req.Send() 1619} 1620 1621// GetBucketAclWithContext is the same as GetBucketAcl with the addition of 1622// the ability to pass a context and additional request options. 1623// 1624// See GetBucketAcl for details on how to use this API operation. 1625// 1626// The context must be non-nil and will be used for request cancellation. If 1627// the context is nil a panic will occur. In the future the SDK may create 1628// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1629// for more information on using Contexts. 1630func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) { 1631 req, out := c.GetBucketAclRequest(input) 1632 req.SetContext(ctx) 1633 req.ApplyOptions(opts...) 1634 return out, req.Send() 1635} 1636 1637const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration" 1638 1639// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 1640// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return 1641// value will be populated with the request's response once the request completes 1642// successfuly. 1643// 1644// Use "Send" method on the returned Request to send the API call to the service. 1645// the "output" return value is not valid until after Send returns without error. 1646// 1647// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration 1648// API call, and error handling. 1649// 1650// This method is useful when you want to inject custom logic or configuration 1651// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1652// 1653// 1654// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method. 1655// req, resp := client.GetBucketAnalyticsConfigurationRequest(params) 1656// 1657// err := req.Send() 1658// if err == nil { // resp is now filled 1659// fmt.Println(resp) 1660// } 1661// 1662// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1663func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) { 1664 op := &request.Operation{ 1665 Name: opGetBucketAnalyticsConfiguration, 1666 HTTPMethod: "GET", 1667 HTTPPath: "/{Bucket}?analytics", 1668 } 1669 1670 if input == nil { 1671 input = &GetBucketAnalyticsConfigurationInput{} 1672 } 1673 1674 output = &GetBucketAnalyticsConfigurationOutput{} 1675 req = c.newRequest(op, input, output) 1676 return 1677} 1678 1679// GetBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 1680// 1681// Gets an analytics configuration for the bucket (specified by the analytics 1682// configuration ID). 1683// 1684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1685// with awserr.Error's Code and Message methods to get detailed information about 1686// the error. 1687// 1688// See the AWS API reference guide for Amazon Simple Storage Service's 1689// API operation GetBucketAnalyticsConfiguration for usage and error information. 1690// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1691func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) { 1692 req, out := c.GetBucketAnalyticsConfigurationRequest(input) 1693 return out, req.Send() 1694} 1695 1696// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of 1697// the ability to pass a context and additional request options. 1698// 1699// See GetBucketAnalyticsConfiguration for details on how to use this API operation. 1700// 1701// The context must be non-nil and will be used for request cancellation. If 1702// the context is nil a panic will occur. In the future the SDK may create 1703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1704// for more information on using Contexts. 1705func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) { 1706 req, out := c.GetBucketAnalyticsConfigurationRequest(input) 1707 req.SetContext(ctx) 1708 req.ApplyOptions(opts...) 1709 return out, req.Send() 1710} 1711 1712const opGetBucketCors = "GetBucketCors" 1713 1714// GetBucketCorsRequest generates a "aws/request.Request" representing the 1715// client's request for the GetBucketCors operation. The "output" return 1716// value will be populated with the request's response once the request completes 1717// successfuly. 1718// 1719// Use "Send" method on the returned Request to send the API call to the service. 1720// the "output" return value is not valid until after Send returns without error. 1721// 1722// See GetBucketCors for more information on using the GetBucketCors 1723// API call, and error handling. 1724// 1725// This method is useful when you want to inject custom logic or configuration 1726// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1727// 1728// 1729// // Example sending a request using the GetBucketCorsRequest method. 1730// req, resp := client.GetBucketCorsRequest(params) 1731// 1732// err := req.Send() 1733// if err == nil { // resp is now filled 1734// fmt.Println(resp) 1735// } 1736// 1737// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1738func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) { 1739 op := &request.Operation{ 1740 Name: opGetBucketCors, 1741 HTTPMethod: "GET", 1742 HTTPPath: "/{Bucket}?cors", 1743 } 1744 1745 if input == nil { 1746 input = &GetBucketCorsInput{} 1747 } 1748 1749 output = &GetBucketCorsOutput{} 1750 req = c.newRequest(op, input, output) 1751 return 1752} 1753 1754// GetBucketCors API operation for Amazon Simple Storage Service. 1755// 1756// Returns the cors configuration for the bucket. 1757// 1758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1759// with awserr.Error's Code and Message methods to get detailed information about 1760// the error. 1761// 1762// See the AWS API reference guide for Amazon Simple Storage Service's 1763// API operation GetBucketCors for usage and error information. 1764// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1765func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) { 1766 req, out := c.GetBucketCorsRequest(input) 1767 return out, req.Send() 1768} 1769 1770// GetBucketCorsWithContext is the same as GetBucketCors with the addition of 1771// the ability to pass a context and additional request options. 1772// 1773// See GetBucketCors for details on how to use this API operation. 1774// 1775// The context must be non-nil and will be used for request cancellation. If 1776// the context is nil a panic will occur. In the future the SDK may create 1777// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1778// for more information on using Contexts. 1779func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) { 1780 req, out := c.GetBucketCorsRequest(input) 1781 req.SetContext(ctx) 1782 req.ApplyOptions(opts...) 1783 return out, req.Send() 1784} 1785 1786const opGetBucketEncryption = "GetBucketEncryption" 1787 1788// GetBucketEncryptionRequest generates a "aws/request.Request" representing the 1789// client's request for the GetBucketEncryption operation. The "output" return 1790// value will be populated with the request's response once the request completes 1791// successfuly. 1792// 1793// Use "Send" method on the returned Request to send the API call to the service. 1794// the "output" return value is not valid until after Send returns without error. 1795// 1796// See GetBucketEncryption for more information on using the GetBucketEncryption 1797// API call, and error handling. 1798// 1799// This method is useful when you want to inject custom logic or configuration 1800// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1801// 1802// 1803// // Example sending a request using the GetBucketEncryptionRequest method. 1804// req, resp := client.GetBucketEncryptionRequest(params) 1805// 1806// err := req.Send() 1807// if err == nil { // resp is now filled 1808// fmt.Println(resp) 1809// } 1810// 1811// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption 1812func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) { 1813 op := &request.Operation{ 1814 Name: opGetBucketEncryption, 1815 HTTPMethod: "GET", 1816 HTTPPath: "/{Bucket}?encryption", 1817 } 1818 1819 if input == nil { 1820 input = &GetBucketEncryptionInput{} 1821 } 1822 1823 output = &GetBucketEncryptionOutput{} 1824 req = c.newRequest(op, input, output) 1825 return 1826} 1827 1828// GetBucketEncryption API operation for Amazon Simple Storage Service. 1829// 1830// Returns the server-side encryption configuration of a bucket. 1831// 1832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1833// with awserr.Error's Code and Message methods to get detailed information about 1834// the error. 1835// 1836// See the AWS API reference guide for Amazon Simple Storage Service's 1837// API operation GetBucketEncryption for usage and error information. 1838// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption 1839func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) { 1840 req, out := c.GetBucketEncryptionRequest(input) 1841 return out, req.Send() 1842} 1843 1844// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of 1845// the ability to pass a context and additional request options. 1846// 1847// See GetBucketEncryption for details on how to use this API operation. 1848// 1849// The context must be non-nil and will be used for request cancellation. If 1850// the context is nil a panic will occur. In the future the SDK may create 1851// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1852// for more information on using Contexts. 1853func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) { 1854 req, out := c.GetBucketEncryptionRequest(input) 1855 req.SetContext(ctx) 1856 req.ApplyOptions(opts...) 1857 return out, req.Send() 1858} 1859 1860const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration" 1861 1862// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 1863// client's request for the GetBucketInventoryConfiguration operation. The "output" return 1864// value will be populated with the request's response once the request completes 1865// successfuly. 1866// 1867// Use "Send" method on the returned Request to send the API call to the service. 1868// the "output" return value is not valid until after Send returns without error. 1869// 1870// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration 1871// API call, and error handling. 1872// 1873// This method is useful when you want to inject custom logic or configuration 1874// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1875// 1876// 1877// // Example sending a request using the GetBucketInventoryConfigurationRequest method. 1878// req, resp := client.GetBucketInventoryConfigurationRequest(params) 1879// 1880// err := req.Send() 1881// if err == nil { // resp is now filled 1882// fmt.Println(resp) 1883// } 1884// 1885// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1886func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) { 1887 op := &request.Operation{ 1888 Name: opGetBucketInventoryConfiguration, 1889 HTTPMethod: "GET", 1890 HTTPPath: "/{Bucket}?inventory", 1891 } 1892 1893 if input == nil { 1894 input = &GetBucketInventoryConfigurationInput{} 1895 } 1896 1897 output = &GetBucketInventoryConfigurationOutput{} 1898 req = c.newRequest(op, input, output) 1899 return 1900} 1901 1902// GetBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 1903// 1904// Returns an inventory configuration (identified by the inventory ID) from 1905// the bucket. 1906// 1907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1908// with awserr.Error's Code and Message methods to get detailed information about 1909// the error. 1910// 1911// See the AWS API reference guide for Amazon Simple Storage Service's 1912// API operation GetBucketInventoryConfiguration for usage and error information. 1913// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1914func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) { 1915 req, out := c.GetBucketInventoryConfigurationRequest(input) 1916 return out, req.Send() 1917} 1918 1919// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of 1920// the ability to pass a context and additional request options. 1921// 1922// See GetBucketInventoryConfiguration for details on how to use this API operation. 1923// 1924// The context must be non-nil and will be used for request cancellation. If 1925// the context is nil a panic will occur. In the future the SDK may create 1926// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1927// for more information on using Contexts. 1928func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) { 1929 req, out := c.GetBucketInventoryConfigurationRequest(input) 1930 req.SetContext(ctx) 1931 req.ApplyOptions(opts...) 1932 return out, req.Send() 1933} 1934 1935const opGetBucketLifecycle = "GetBucketLifecycle" 1936 1937// GetBucketLifecycleRequest generates a "aws/request.Request" representing the 1938// client's request for the GetBucketLifecycle operation. The "output" return 1939// value will be populated with the request's response once the request completes 1940// successfuly. 1941// 1942// Use "Send" method on the returned Request to send the API call to the service. 1943// the "output" return value is not valid until after Send returns without error. 1944// 1945// See GetBucketLifecycle for more information on using the GetBucketLifecycle 1946// API call, and error handling. 1947// 1948// This method is useful when you want to inject custom logic or configuration 1949// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1950// 1951// 1952// // Example sending a request using the GetBucketLifecycleRequest method. 1953// req, resp := client.GetBucketLifecycleRequest(params) 1954// 1955// err := req.Send() 1956// if err == nil { // resp is now filled 1957// fmt.Println(resp) 1958// } 1959// 1960// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 1961func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) { 1962 if c.Client.Config.Logger != nil { 1963 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated") 1964 } 1965 op := &request.Operation{ 1966 Name: opGetBucketLifecycle, 1967 HTTPMethod: "GET", 1968 HTTPPath: "/{Bucket}?lifecycle", 1969 } 1970 1971 if input == nil { 1972 input = &GetBucketLifecycleInput{} 1973 } 1974 1975 output = &GetBucketLifecycleOutput{} 1976 req = c.newRequest(op, input, output) 1977 return 1978} 1979 1980// GetBucketLifecycle API operation for Amazon Simple Storage Service. 1981// 1982// Deprecated, see the GetBucketLifecycleConfiguration operation. 1983// 1984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1985// with awserr.Error's Code and Message methods to get detailed information about 1986// the error. 1987// 1988// See the AWS API reference guide for Amazon Simple Storage Service's 1989// API operation GetBucketLifecycle for usage and error information. 1990// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 1991func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) { 1992 req, out := c.GetBucketLifecycleRequest(input) 1993 return out, req.Send() 1994} 1995 1996// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of 1997// the ability to pass a context and additional request options. 1998// 1999// See GetBucketLifecycle for details on how to use this API operation. 2000// 2001// The context must be non-nil and will be used for request cancellation. If 2002// the context is nil a panic will occur. In the future the SDK may create 2003// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2004// for more information on using Contexts. 2005func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) { 2006 req, out := c.GetBucketLifecycleRequest(input) 2007 req.SetContext(ctx) 2008 req.ApplyOptions(opts...) 2009 return out, req.Send() 2010} 2011 2012const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" 2013 2014// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 2015// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 2016// value will be populated with the request's response once the request completes 2017// successfuly. 2018// 2019// Use "Send" method on the returned Request to send the API call to the service. 2020// the "output" return value is not valid until after Send returns without error. 2021// 2022// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration 2023// API call, and error handling. 2024// 2025// This method is useful when you want to inject custom logic or configuration 2026// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2027// 2028// 2029// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 2030// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 2031// 2032// err := req.Send() 2033// if err == nil { // resp is now filled 2034// fmt.Println(resp) 2035// } 2036// 2037// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2038func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 2039 op := &request.Operation{ 2040 Name: opGetBucketLifecycleConfiguration, 2041 HTTPMethod: "GET", 2042 HTTPPath: "/{Bucket}?lifecycle", 2043 } 2044 2045 if input == nil { 2046 input = &GetBucketLifecycleConfigurationInput{} 2047 } 2048 2049 output = &GetBucketLifecycleConfigurationOutput{} 2050 req = c.newRequest(op, input, output) 2051 return 2052} 2053 2054// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. 2055// 2056// Returns the lifecycle configuration information set on the bucket. 2057// 2058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2059// with awserr.Error's Code and Message methods to get detailed information about 2060// the error. 2061// 2062// See the AWS API reference guide for Amazon Simple Storage Service's 2063// API operation GetBucketLifecycleConfiguration for usage and error information. 2064// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2065func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 2066 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2067 return out, req.Send() 2068} 2069 2070// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of 2071// the ability to pass a context and additional request options. 2072// 2073// See GetBucketLifecycleConfiguration for details on how to use this API operation. 2074// 2075// The context must be non-nil and will be used for request cancellation. If 2076// the context is nil a panic will occur. In the future the SDK may create 2077// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2078// for more information on using Contexts. 2079func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) { 2080 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2081 req.SetContext(ctx) 2082 req.ApplyOptions(opts...) 2083 return out, req.Send() 2084} 2085 2086const opGetBucketLocation = "GetBucketLocation" 2087 2088// GetBucketLocationRequest generates a "aws/request.Request" representing the 2089// client's request for the GetBucketLocation operation. The "output" return 2090// value will be populated with the request's response once the request completes 2091// successfuly. 2092// 2093// Use "Send" method on the returned Request to send the API call to the service. 2094// the "output" return value is not valid until after Send returns without error. 2095// 2096// See GetBucketLocation for more information on using the GetBucketLocation 2097// API call, and error handling. 2098// 2099// This method is useful when you want to inject custom logic or configuration 2100// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2101// 2102// 2103// // Example sending a request using the GetBucketLocationRequest method. 2104// req, resp := client.GetBucketLocationRequest(params) 2105// 2106// err := req.Send() 2107// if err == nil { // resp is now filled 2108// fmt.Println(resp) 2109// } 2110// 2111// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2112func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) { 2113 op := &request.Operation{ 2114 Name: opGetBucketLocation, 2115 HTTPMethod: "GET", 2116 HTTPPath: "/{Bucket}?location", 2117 } 2118 2119 if input == nil { 2120 input = &GetBucketLocationInput{} 2121 } 2122 2123 output = &GetBucketLocationOutput{} 2124 req = c.newRequest(op, input, output) 2125 return 2126} 2127 2128// GetBucketLocation API operation for Amazon Simple Storage Service. 2129// 2130// Returns the region the bucket resides in. 2131// 2132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2133// with awserr.Error's Code and Message methods to get detailed information about 2134// the error. 2135// 2136// See the AWS API reference guide for Amazon Simple Storage Service's 2137// API operation GetBucketLocation for usage and error information. 2138// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2139func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) { 2140 req, out := c.GetBucketLocationRequest(input) 2141 return out, req.Send() 2142} 2143 2144// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of 2145// the ability to pass a context and additional request options. 2146// 2147// See GetBucketLocation for details on how to use this API operation. 2148// 2149// The context must be non-nil and will be used for request cancellation. If 2150// the context is nil a panic will occur. In the future the SDK may create 2151// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2152// for more information on using Contexts. 2153func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) { 2154 req, out := c.GetBucketLocationRequest(input) 2155 req.SetContext(ctx) 2156 req.ApplyOptions(opts...) 2157 return out, req.Send() 2158} 2159 2160const opGetBucketLogging = "GetBucketLogging" 2161 2162// GetBucketLoggingRequest generates a "aws/request.Request" representing the 2163// client's request for the GetBucketLogging operation. The "output" return 2164// value will be populated with the request's response once the request completes 2165// successfuly. 2166// 2167// Use "Send" method on the returned Request to send the API call to the service. 2168// the "output" return value is not valid until after Send returns without error. 2169// 2170// See GetBucketLogging for more information on using the GetBucketLogging 2171// API call, and error handling. 2172// 2173// This method is useful when you want to inject custom logic or configuration 2174// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2175// 2176// 2177// // Example sending a request using the GetBucketLoggingRequest method. 2178// req, resp := client.GetBucketLoggingRequest(params) 2179// 2180// err := req.Send() 2181// if err == nil { // resp is now filled 2182// fmt.Println(resp) 2183// } 2184// 2185// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2186func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) { 2187 op := &request.Operation{ 2188 Name: opGetBucketLogging, 2189 HTTPMethod: "GET", 2190 HTTPPath: "/{Bucket}?logging", 2191 } 2192 2193 if input == nil { 2194 input = &GetBucketLoggingInput{} 2195 } 2196 2197 output = &GetBucketLoggingOutput{} 2198 req = c.newRequest(op, input, output) 2199 return 2200} 2201 2202// GetBucketLogging API operation for Amazon Simple Storage Service. 2203// 2204// Returns the logging status of a bucket and the permissions users have to 2205// view and modify that status. To use GET, you must be the bucket owner. 2206// 2207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2208// with awserr.Error's Code and Message methods to get detailed information about 2209// the error. 2210// 2211// See the AWS API reference guide for Amazon Simple Storage Service's 2212// API operation GetBucketLogging for usage and error information. 2213// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2214func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) { 2215 req, out := c.GetBucketLoggingRequest(input) 2216 return out, req.Send() 2217} 2218 2219// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of 2220// the ability to pass a context and additional request options. 2221// 2222// See GetBucketLogging for details on how to use this API operation. 2223// 2224// The context must be non-nil and will be used for request cancellation. If 2225// the context is nil a panic will occur. In the future the SDK may create 2226// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2227// for more information on using Contexts. 2228func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) { 2229 req, out := c.GetBucketLoggingRequest(input) 2230 req.SetContext(ctx) 2231 req.ApplyOptions(opts...) 2232 return out, req.Send() 2233} 2234 2235const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration" 2236 2237// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 2238// client's request for the GetBucketMetricsConfiguration operation. The "output" return 2239// value will be populated with the request's response once the request completes 2240// successfuly. 2241// 2242// Use "Send" method on the returned Request to send the API call to the service. 2243// the "output" return value is not valid until after Send returns without error. 2244// 2245// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration 2246// API call, and error handling. 2247// 2248// This method is useful when you want to inject custom logic or configuration 2249// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2250// 2251// 2252// // Example sending a request using the GetBucketMetricsConfigurationRequest method. 2253// req, resp := client.GetBucketMetricsConfigurationRequest(params) 2254// 2255// err := req.Send() 2256// if err == nil { // resp is now filled 2257// fmt.Println(resp) 2258// } 2259// 2260// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2261func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) { 2262 op := &request.Operation{ 2263 Name: opGetBucketMetricsConfiguration, 2264 HTTPMethod: "GET", 2265 HTTPPath: "/{Bucket}?metrics", 2266 } 2267 2268 if input == nil { 2269 input = &GetBucketMetricsConfigurationInput{} 2270 } 2271 2272 output = &GetBucketMetricsConfigurationOutput{} 2273 req = c.newRequest(op, input, output) 2274 return 2275} 2276 2277// GetBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 2278// 2279// Gets a metrics configuration (specified by the metrics configuration ID) 2280// from the bucket. 2281// 2282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2283// with awserr.Error's Code and Message methods to get detailed information about 2284// the error. 2285// 2286// See the AWS API reference guide for Amazon Simple Storage Service's 2287// API operation GetBucketMetricsConfiguration for usage and error information. 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2289func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) { 2290 req, out := c.GetBucketMetricsConfigurationRequest(input) 2291 return out, req.Send() 2292} 2293 2294// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of 2295// the ability to pass a context and additional request options. 2296// 2297// See GetBucketMetricsConfiguration for details on how to use this API operation. 2298// 2299// The context must be non-nil and will be used for request cancellation. If 2300// the context is nil a panic will occur. In the future the SDK may create 2301// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2302// for more information on using Contexts. 2303func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) { 2304 req, out := c.GetBucketMetricsConfigurationRequest(input) 2305 req.SetContext(ctx) 2306 req.ApplyOptions(opts...) 2307 return out, req.Send() 2308} 2309 2310const opGetBucketNotification = "GetBucketNotification" 2311 2312// GetBucketNotificationRequest generates a "aws/request.Request" representing the 2313// client's request for the GetBucketNotification operation. The "output" return 2314// value will be populated with the request's response once the request completes 2315// successfuly. 2316// 2317// Use "Send" method on the returned Request to send the API call to the service. 2318// the "output" return value is not valid until after Send returns without error. 2319// 2320// See GetBucketNotification for more information on using the GetBucketNotification 2321// API call, and error handling. 2322// 2323// This method is useful when you want to inject custom logic or configuration 2324// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2325// 2326// 2327// // Example sending a request using the GetBucketNotificationRequest method. 2328// req, resp := client.GetBucketNotificationRequest(params) 2329// 2330// err := req.Send() 2331// if err == nil { // resp is now filled 2332// fmt.Println(resp) 2333// } 2334// 2335// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2336func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) { 2337 if c.Client.Config.Logger != nil { 2338 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated") 2339 } 2340 op := &request.Operation{ 2341 Name: opGetBucketNotification, 2342 HTTPMethod: "GET", 2343 HTTPPath: "/{Bucket}?notification", 2344 } 2345 2346 if input == nil { 2347 input = &GetBucketNotificationConfigurationRequest{} 2348 } 2349 2350 output = &NotificationConfigurationDeprecated{} 2351 req = c.newRequest(op, input, output) 2352 return 2353} 2354 2355// GetBucketNotification API operation for Amazon Simple Storage Service. 2356// 2357// Deprecated, see the GetBucketNotificationConfiguration operation. 2358// 2359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2360// with awserr.Error's Code and Message methods to get detailed information about 2361// the error. 2362// 2363// See the AWS API reference guide for Amazon Simple Storage Service's 2364// API operation GetBucketNotification for usage and error information. 2365// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2366func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) { 2367 req, out := c.GetBucketNotificationRequest(input) 2368 return out, req.Send() 2369} 2370 2371// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of 2372// the ability to pass a context and additional request options. 2373// 2374// See GetBucketNotification for details on how to use this API operation. 2375// 2376// The context must be non-nil and will be used for request cancellation. If 2377// the context is nil a panic will occur. In the future the SDK may create 2378// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2379// for more information on using Contexts. 2380func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) { 2381 req, out := c.GetBucketNotificationRequest(input) 2382 req.SetContext(ctx) 2383 req.ApplyOptions(opts...) 2384 return out, req.Send() 2385} 2386 2387const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration" 2388 2389// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 2390// client's request for the GetBucketNotificationConfiguration operation. The "output" return 2391// value will be populated with the request's response once the request completes 2392// successfuly. 2393// 2394// Use "Send" method on the returned Request to send the API call to the service. 2395// the "output" return value is not valid until after Send returns without error. 2396// 2397// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration 2398// API call, and error handling. 2399// 2400// This method is useful when you want to inject custom logic or configuration 2401// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2402// 2403// 2404// // Example sending a request using the GetBucketNotificationConfigurationRequest method. 2405// req, resp := client.GetBucketNotificationConfigurationRequest(params) 2406// 2407// err := req.Send() 2408// if err == nil { // resp is now filled 2409// fmt.Println(resp) 2410// } 2411// 2412// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2413func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) { 2414 op := &request.Operation{ 2415 Name: opGetBucketNotificationConfiguration, 2416 HTTPMethod: "GET", 2417 HTTPPath: "/{Bucket}?notification", 2418 } 2419 2420 if input == nil { 2421 input = &GetBucketNotificationConfigurationRequest{} 2422 } 2423 2424 output = &NotificationConfiguration{} 2425 req = c.newRequest(op, input, output) 2426 return 2427} 2428 2429// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service. 2430// 2431// Returns the notification configuration of a bucket. 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 GetBucketNotificationConfiguration for usage and error information. 2439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2440func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) { 2441 req, out := c.GetBucketNotificationConfigurationRequest(input) 2442 return out, req.Send() 2443} 2444 2445// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of 2446// the ability to pass a context and additional request options. 2447// 2448// See GetBucketNotificationConfiguration for details on how to use this API operation. 2449// 2450// The context must be non-nil and will be used for request cancellation. If 2451// the context is nil a panic will occur. In the future the SDK may create 2452// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2453// for more information on using Contexts. 2454func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) { 2455 req, out := c.GetBucketNotificationConfigurationRequest(input) 2456 req.SetContext(ctx) 2457 req.ApplyOptions(opts...) 2458 return out, req.Send() 2459} 2460 2461const opGetBucketPolicy = "GetBucketPolicy" 2462 2463// GetBucketPolicyRequest generates a "aws/request.Request" representing the 2464// client's request for the GetBucketPolicy operation. The "output" return 2465// value will be populated with the request's response once the request completes 2466// successfuly. 2467// 2468// Use "Send" method on the returned Request to send the API call to the service. 2469// the "output" return value is not valid until after Send returns without error. 2470// 2471// See GetBucketPolicy for more information on using the GetBucketPolicy 2472// API call, and error handling. 2473// 2474// This method is useful when you want to inject custom logic or configuration 2475// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2476// 2477// 2478// // Example sending a request using the GetBucketPolicyRequest method. 2479// req, resp := client.GetBucketPolicyRequest(params) 2480// 2481// err := req.Send() 2482// if err == nil { // resp is now filled 2483// fmt.Println(resp) 2484// } 2485// 2486// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2487func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 2488 op := &request.Operation{ 2489 Name: opGetBucketPolicy, 2490 HTTPMethod: "GET", 2491 HTTPPath: "/{Bucket}?policy", 2492 } 2493 2494 if input == nil { 2495 input = &GetBucketPolicyInput{} 2496 } 2497 2498 output = &GetBucketPolicyOutput{} 2499 req = c.newRequest(op, input, output) 2500 return 2501} 2502 2503// GetBucketPolicy API operation for Amazon Simple Storage Service. 2504// 2505// Returns the policy of a specified bucket. 2506// 2507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2508// with awserr.Error's Code and Message methods to get detailed information about 2509// the error. 2510// 2511// See the AWS API reference guide for Amazon Simple Storage Service's 2512// API operation GetBucketPolicy for usage and error information. 2513// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2514func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2515 req, out := c.GetBucketPolicyRequest(input) 2516 return out, req.Send() 2517} 2518 2519// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of 2520// the ability to pass a context and additional request options. 2521// 2522// See GetBucketPolicy for details on how to use this API operation. 2523// 2524// The context must be non-nil and will be used for request cancellation. If 2525// the context is nil a panic will occur. In the future the SDK may create 2526// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2527// for more information on using Contexts. 2528func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) { 2529 req, out := c.GetBucketPolicyRequest(input) 2530 req.SetContext(ctx) 2531 req.ApplyOptions(opts...) 2532 return out, req.Send() 2533} 2534 2535const opGetBucketReplication = "GetBucketReplication" 2536 2537// GetBucketReplicationRequest generates a "aws/request.Request" representing the 2538// client's request for the GetBucketReplication operation. The "output" return 2539// value will be populated with the request's response once the request completes 2540// successfuly. 2541// 2542// Use "Send" method on the returned Request to send the API call to the service. 2543// the "output" return value is not valid until after Send returns without error. 2544// 2545// See GetBucketReplication for more information on using the GetBucketReplication 2546// API call, and error handling. 2547// 2548// This method is useful when you want to inject custom logic or configuration 2549// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2550// 2551// 2552// // Example sending a request using the GetBucketReplicationRequest method. 2553// req, resp := client.GetBucketReplicationRequest(params) 2554// 2555// err := req.Send() 2556// if err == nil { // resp is now filled 2557// fmt.Println(resp) 2558// } 2559// 2560// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2561func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { 2562 op := &request.Operation{ 2563 Name: opGetBucketReplication, 2564 HTTPMethod: "GET", 2565 HTTPPath: "/{Bucket}?replication", 2566 } 2567 2568 if input == nil { 2569 input = &GetBucketReplicationInput{} 2570 } 2571 2572 output = &GetBucketReplicationOutput{} 2573 req = c.newRequest(op, input, output) 2574 return 2575} 2576 2577// GetBucketReplication API operation for Amazon Simple Storage Service. 2578// 2579// Returns the replication configuration of a bucket. 2580// 2581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2582// with awserr.Error's Code and Message methods to get detailed information about 2583// the error. 2584// 2585// See the AWS API reference guide for Amazon Simple Storage Service's 2586// API operation GetBucketReplication for usage and error information. 2587// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2588func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { 2589 req, out := c.GetBucketReplicationRequest(input) 2590 return out, req.Send() 2591} 2592 2593// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of 2594// the ability to pass a context and additional request options. 2595// 2596// See GetBucketReplication for details on how to use this API operation. 2597// 2598// The context must be non-nil and will be used for request cancellation. If 2599// the context is nil a panic will occur. In the future the SDK may create 2600// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2601// for more information on using Contexts. 2602func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) { 2603 req, out := c.GetBucketReplicationRequest(input) 2604 req.SetContext(ctx) 2605 req.ApplyOptions(opts...) 2606 return out, req.Send() 2607} 2608 2609const opGetBucketRequestPayment = "GetBucketRequestPayment" 2610 2611// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the 2612// client's request for the GetBucketRequestPayment operation. The "output" return 2613// value will be populated with the request's response once the request completes 2614// successfuly. 2615// 2616// Use "Send" method on the returned Request to send the API call to the service. 2617// the "output" return value is not valid until after Send returns without error. 2618// 2619// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment 2620// API call, and error handling. 2621// 2622// This method is useful when you want to inject custom logic or configuration 2623// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2624// 2625// 2626// // Example sending a request using the GetBucketRequestPaymentRequest method. 2627// req, resp := client.GetBucketRequestPaymentRequest(params) 2628// 2629// err := req.Send() 2630// if err == nil { // resp is now filled 2631// fmt.Println(resp) 2632// } 2633// 2634// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2635func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) { 2636 op := &request.Operation{ 2637 Name: opGetBucketRequestPayment, 2638 HTTPMethod: "GET", 2639 HTTPPath: "/{Bucket}?requestPayment", 2640 } 2641 2642 if input == nil { 2643 input = &GetBucketRequestPaymentInput{} 2644 } 2645 2646 output = &GetBucketRequestPaymentOutput{} 2647 req = c.newRequest(op, input, output) 2648 return 2649} 2650 2651// GetBucketRequestPayment API operation for Amazon Simple Storage Service. 2652// 2653// Returns the request payment configuration of a bucket. 2654// 2655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2656// with awserr.Error's Code and Message methods to get detailed information about 2657// the error. 2658// 2659// See the AWS API reference guide for Amazon Simple Storage Service's 2660// API operation GetBucketRequestPayment for usage and error information. 2661// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2662func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) { 2663 req, out := c.GetBucketRequestPaymentRequest(input) 2664 return out, req.Send() 2665} 2666 2667// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of 2668// the ability to pass a context and additional request options. 2669// 2670// See GetBucketRequestPayment for details on how to use this API operation. 2671// 2672// The context must be non-nil and will be used for request cancellation. If 2673// the context is nil a panic will occur. In the future the SDK may create 2674// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2675// for more information on using Contexts. 2676func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) { 2677 req, out := c.GetBucketRequestPaymentRequest(input) 2678 req.SetContext(ctx) 2679 req.ApplyOptions(opts...) 2680 return out, req.Send() 2681} 2682 2683const opGetBucketTagging = "GetBucketTagging" 2684 2685// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2686// client's request for the GetBucketTagging operation. The "output" return 2687// value will be populated with the request's response once the request completes 2688// successfuly. 2689// 2690// Use "Send" method on the returned Request to send the API call to the service. 2691// the "output" return value is not valid until after Send returns without error. 2692// 2693// See GetBucketTagging for more information on using the GetBucketTagging 2694// API call, and error handling. 2695// 2696// This method is useful when you want to inject custom logic or configuration 2697// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2698// 2699// 2700// // Example sending a request using the GetBucketTaggingRequest method. 2701// req, resp := client.GetBucketTaggingRequest(params) 2702// 2703// err := req.Send() 2704// if err == nil { // resp is now filled 2705// fmt.Println(resp) 2706// } 2707// 2708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2709func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2710 op := &request.Operation{ 2711 Name: opGetBucketTagging, 2712 HTTPMethod: "GET", 2713 HTTPPath: "/{Bucket}?tagging", 2714 } 2715 2716 if input == nil { 2717 input = &GetBucketTaggingInput{} 2718 } 2719 2720 output = &GetBucketTaggingOutput{} 2721 req = c.newRequest(op, input, output) 2722 return 2723} 2724 2725// GetBucketTagging API operation for Amazon Simple Storage Service. 2726// 2727// Returns the tag set associated with the bucket. 2728// 2729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2730// with awserr.Error's Code and Message methods to get detailed information about 2731// the error. 2732// 2733// See the AWS API reference guide for Amazon Simple Storage Service's 2734// API operation GetBucketTagging for usage and error information. 2735// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2736func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2737 req, out := c.GetBucketTaggingRequest(input) 2738 return out, req.Send() 2739} 2740 2741// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of 2742// the ability to pass a context and additional request options. 2743// 2744// See GetBucketTagging for details on how to use this API operation. 2745// 2746// The context must be non-nil and will be used for request cancellation. If 2747// the context is nil a panic will occur. In the future the SDK may create 2748// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2749// for more information on using Contexts. 2750func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) { 2751 req, out := c.GetBucketTaggingRequest(input) 2752 req.SetContext(ctx) 2753 req.ApplyOptions(opts...) 2754 return out, req.Send() 2755} 2756 2757const opGetBucketVersioning = "GetBucketVersioning" 2758 2759// GetBucketVersioningRequest generates a "aws/request.Request" representing the 2760// client's request for the GetBucketVersioning operation. The "output" return 2761// value will be populated with the request's response once the request completes 2762// successfuly. 2763// 2764// Use "Send" method on the returned Request to send the API call to the service. 2765// the "output" return value is not valid until after Send returns without error. 2766// 2767// See GetBucketVersioning for more information on using the GetBucketVersioning 2768// API call, and error handling. 2769// 2770// This method is useful when you want to inject custom logic or configuration 2771// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2772// 2773// 2774// // Example sending a request using the GetBucketVersioningRequest method. 2775// req, resp := client.GetBucketVersioningRequest(params) 2776// 2777// err := req.Send() 2778// if err == nil { // resp is now filled 2779// fmt.Println(resp) 2780// } 2781// 2782// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2783func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) { 2784 op := &request.Operation{ 2785 Name: opGetBucketVersioning, 2786 HTTPMethod: "GET", 2787 HTTPPath: "/{Bucket}?versioning", 2788 } 2789 2790 if input == nil { 2791 input = &GetBucketVersioningInput{} 2792 } 2793 2794 output = &GetBucketVersioningOutput{} 2795 req = c.newRequest(op, input, output) 2796 return 2797} 2798 2799// GetBucketVersioning API operation for Amazon Simple Storage Service. 2800// 2801// Returns the versioning state of a bucket. 2802// 2803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2804// with awserr.Error's Code and Message methods to get detailed information about 2805// the error. 2806// 2807// See the AWS API reference guide for Amazon Simple Storage Service's 2808// API operation GetBucketVersioning for usage and error information. 2809// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2810func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) { 2811 req, out := c.GetBucketVersioningRequest(input) 2812 return out, req.Send() 2813} 2814 2815// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of 2816// the ability to pass a context and additional request options. 2817// 2818// See GetBucketVersioning for details on how to use this API operation. 2819// 2820// The context must be non-nil and will be used for request cancellation. If 2821// the context is nil a panic will occur. In the future the SDK may create 2822// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2823// for more information on using Contexts. 2824func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) { 2825 req, out := c.GetBucketVersioningRequest(input) 2826 req.SetContext(ctx) 2827 req.ApplyOptions(opts...) 2828 return out, req.Send() 2829} 2830 2831const opGetBucketWebsite = "GetBucketWebsite" 2832 2833// GetBucketWebsiteRequest generates a "aws/request.Request" representing the 2834// client's request for the GetBucketWebsite operation. The "output" return 2835// value will be populated with the request's response once the request completes 2836// successfuly. 2837// 2838// Use "Send" method on the returned Request to send the API call to the service. 2839// the "output" return value is not valid until after Send returns without error. 2840// 2841// See GetBucketWebsite for more information on using the GetBucketWebsite 2842// API call, and error handling. 2843// 2844// This method is useful when you want to inject custom logic or configuration 2845// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2846// 2847// 2848// // Example sending a request using the GetBucketWebsiteRequest method. 2849// req, resp := client.GetBucketWebsiteRequest(params) 2850// 2851// err := req.Send() 2852// if err == nil { // resp is now filled 2853// fmt.Println(resp) 2854// } 2855// 2856// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 2857func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) { 2858 op := &request.Operation{ 2859 Name: opGetBucketWebsite, 2860 HTTPMethod: "GET", 2861 HTTPPath: "/{Bucket}?website", 2862 } 2863 2864 if input == nil { 2865 input = &GetBucketWebsiteInput{} 2866 } 2867 2868 output = &GetBucketWebsiteOutput{} 2869 req = c.newRequest(op, input, output) 2870 return 2871} 2872 2873// GetBucketWebsite API operation for Amazon Simple Storage Service. 2874// 2875// Returns the website configuration for a bucket. 2876// 2877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2878// with awserr.Error's Code and Message methods to get detailed information about 2879// the error. 2880// 2881// See the AWS API reference guide for Amazon Simple Storage Service's 2882// API operation GetBucketWebsite for usage and error information. 2883// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 2884func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) { 2885 req, out := c.GetBucketWebsiteRequest(input) 2886 return out, req.Send() 2887} 2888 2889// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of 2890// the ability to pass a context and additional request options. 2891// 2892// See GetBucketWebsite for details on how to use this API operation. 2893// 2894// The context must be non-nil and will be used for request cancellation. If 2895// the context is nil a panic will occur. In the future the SDK may create 2896// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2897// for more information on using Contexts. 2898func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) { 2899 req, out := c.GetBucketWebsiteRequest(input) 2900 req.SetContext(ctx) 2901 req.ApplyOptions(opts...) 2902 return out, req.Send() 2903} 2904 2905const opGetObject = "GetObject" 2906 2907// GetObjectRequest generates a "aws/request.Request" representing the 2908// client's request for the GetObject operation. The "output" return 2909// value will be populated with the request's response once the request completes 2910// successfuly. 2911// 2912// Use "Send" method on the returned Request to send the API call to the service. 2913// the "output" return value is not valid until after Send returns without error. 2914// 2915// See GetObject for more information on using the GetObject 2916// API call, and error handling. 2917// 2918// This method is useful when you want to inject custom logic or configuration 2919// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2920// 2921// 2922// // Example sending a request using the GetObjectRequest method. 2923// req, resp := client.GetObjectRequest(params) 2924// 2925// err := req.Send() 2926// if err == nil { // resp is now filled 2927// fmt.Println(resp) 2928// } 2929// 2930// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 2931func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { 2932 op := &request.Operation{ 2933 Name: opGetObject, 2934 HTTPMethod: "GET", 2935 HTTPPath: "/{Bucket}/{Key+}", 2936 } 2937 2938 if input == nil { 2939 input = &GetObjectInput{} 2940 } 2941 2942 output = &GetObjectOutput{} 2943 req = c.newRequest(op, input, output) 2944 return 2945} 2946 2947// GetObject API operation for Amazon Simple Storage Service. 2948// 2949// Retrieves objects from Amazon S3. 2950// 2951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2952// with awserr.Error's Code and Message methods to get detailed information about 2953// the error. 2954// 2955// See the AWS API reference guide for Amazon Simple Storage Service's 2956// API operation GetObject for usage and error information. 2957// 2958// Returned Error Codes: 2959// * ErrCodeNoSuchKey "NoSuchKey" 2960// The specified key does not exist. 2961// 2962// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 2963func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { 2964 req, out := c.GetObjectRequest(input) 2965 return out, req.Send() 2966} 2967 2968// GetObjectWithContext is the same as GetObject with the addition of 2969// the ability to pass a context and additional request options. 2970// 2971// See GetObject for details on how to use this API operation. 2972// 2973// The context must be non-nil and will be used for request cancellation. If 2974// the context is nil a panic will occur. In the future the SDK may create 2975// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2976// for more information on using Contexts. 2977func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) { 2978 req, out := c.GetObjectRequest(input) 2979 req.SetContext(ctx) 2980 req.ApplyOptions(opts...) 2981 return out, req.Send() 2982} 2983 2984const opGetObjectAcl = "GetObjectAcl" 2985 2986// GetObjectAclRequest generates a "aws/request.Request" representing the 2987// client's request for the GetObjectAcl operation. The "output" return 2988// value will be populated with the request's response once the request completes 2989// successfuly. 2990// 2991// Use "Send" method on the returned Request to send the API call to the service. 2992// the "output" return value is not valid until after Send returns without error. 2993// 2994// See GetObjectAcl for more information on using the GetObjectAcl 2995// API call, and error handling. 2996// 2997// This method is useful when you want to inject custom logic or configuration 2998// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2999// 3000// 3001// // Example sending a request using the GetObjectAclRequest method. 3002// req, resp := client.GetObjectAclRequest(params) 3003// 3004// err := req.Send() 3005// if err == nil { // resp is now filled 3006// fmt.Println(resp) 3007// } 3008// 3009// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3010func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) { 3011 op := &request.Operation{ 3012 Name: opGetObjectAcl, 3013 HTTPMethod: "GET", 3014 HTTPPath: "/{Bucket}/{Key+}?acl", 3015 } 3016 3017 if input == nil { 3018 input = &GetObjectAclInput{} 3019 } 3020 3021 output = &GetObjectAclOutput{} 3022 req = c.newRequest(op, input, output) 3023 return 3024} 3025 3026// GetObjectAcl API operation for Amazon Simple Storage Service. 3027// 3028// Returns the access control list (ACL) of an object. 3029// 3030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3031// with awserr.Error's Code and Message methods to get detailed information about 3032// the error. 3033// 3034// See the AWS API reference guide for Amazon Simple Storage Service's 3035// API operation GetObjectAcl for usage and error information. 3036// 3037// Returned Error Codes: 3038// * ErrCodeNoSuchKey "NoSuchKey" 3039// The specified key does not exist. 3040// 3041// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3042func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) { 3043 req, out := c.GetObjectAclRequest(input) 3044 return out, req.Send() 3045} 3046 3047// GetObjectAclWithContext is the same as GetObjectAcl with the addition of 3048// the ability to pass a context and additional request options. 3049// 3050// See GetObjectAcl for details on how to use this API operation. 3051// 3052// The context must be non-nil and will be used for request cancellation. If 3053// the context is nil a panic will occur. In the future the SDK may create 3054// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3055// for more information on using Contexts. 3056func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) { 3057 req, out := c.GetObjectAclRequest(input) 3058 req.SetContext(ctx) 3059 req.ApplyOptions(opts...) 3060 return out, req.Send() 3061} 3062 3063const opGetObjectTagging = "GetObjectTagging" 3064 3065// GetObjectTaggingRequest generates a "aws/request.Request" representing the 3066// client's request for the GetObjectTagging operation. The "output" return 3067// value will be populated with the request's response once the request completes 3068// successfuly. 3069// 3070// Use "Send" method on the returned Request to send the API call to the service. 3071// the "output" return value is not valid until after Send returns without error. 3072// 3073// See GetObjectTagging for more information on using the GetObjectTagging 3074// API call, and error handling. 3075// 3076// This method is useful when you want to inject custom logic or configuration 3077// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3078// 3079// 3080// // Example sending a request using the GetObjectTaggingRequest method. 3081// req, resp := client.GetObjectTaggingRequest(params) 3082// 3083// err := req.Send() 3084// if err == nil { // resp is now filled 3085// fmt.Println(resp) 3086// } 3087// 3088// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3089func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) { 3090 op := &request.Operation{ 3091 Name: opGetObjectTagging, 3092 HTTPMethod: "GET", 3093 HTTPPath: "/{Bucket}/{Key+}?tagging", 3094 } 3095 3096 if input == nil { 3097 input = &GetObjectTaggingInput{} 3098 } 3099 3100 output = &GetObjectTaggingOutput{} 3101 req = c.newRequest(op, input, output) 3102 return 3103} 3104 3105// GetObjectTagging API operation for Amazon Simple Storage Service. 3106// 3107// Returns the tag-set of an object. 3108// 3109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3110// with awserr.Error's Code and Message methods to get detailed information about 3111// the error. 3112// 3113// See the AWS API reference guide for Amazon Simple Storage Service's 3114// API operation GetObjectTagging for usage and error information. 3115// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3116func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) { 3117 req, out := c.GetObjectTaggingRequest(input) 3118 return out, req.Send() 3119} 3120 3121// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of 3122// the ability to pass a context and additional request options. 3123// 3124// See GetObjectTagging for details on how to use this API operation. 3125// 3126// The context must be non-nil and will be used for request cancellation. If 3127// the context is nil a panic will occur. In the future the SDK may create 3128// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3129// for more information on using Contexts. 3130func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) { 3131 req, out := c.GetObjectTaggingRequest(input) 3132 req.SetContext(ctx) 3133 req.ApplyOptions(opts...) 3134 return out, req.Send() 3135} 3136 3137const opGetObjectTorrent = "GetObjectTorrent" 3138 3139// GetObjectTorrentRequest generates a "aws/request.Request" representing the 3140// client's request for the GetObjectTorrent operation. The "output" return 3141// value will be populated with the request's response once the request completes 3142// successfuly. 3143// 3144// Use "Send" method on the returned Request to send the API call to the service. 3145// the "output" return value is not valid until after Send returns without error. 3146// 3147// See GetObjectTorrent for more information on using the GetObjectTorrent 3148// API call, and error handling. 3149// 3150// This method is useful when you want to inject custom logic or configuration 3151// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3152// 3153// 3154// // Example sending a request using the GetObjectTorrentRequest method. 3155// req, resp := client.GetObjectTorrentRequest(params) 3156// 3157// err := req.Send() 3158// if err == nil { // resp is now filled 3159// fmt.Println(resp) 3160// } 3161// 3162// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3163func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) { 3164 op := &request.Operation{ 3165 Name: opGetObjectTorrent, 3166 HTTPMethod: "GET", 3167 HTTPPath: "/{Bucket}/{Key+}?torrent", 3168 } 3169 3170 if input == nil { 3171 input = &GetObjectTorrentInput{} 3172 } 3173 3174 output = &GetObjectTorrentOutput{} 3175 req = c.newRequest(op, input, output) 3176 return 3177} 3178 3179// GetObjectTorrent API operation for Amazon Simple Storage Service. 3180// 3181// Return torrent files from a bucket. 3182// 3183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3184// with awserr.Error's Code and Message methods to get detailed information about 3185// the error. 3186// 3187// See the AWS API reference guide for Amazon Simple Storage Service's 3188// API operation GetObjectTorrent for usage and error information. 3189// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3190func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) { 3191 req, out := c.GetObjectTorrentRequest(input) 3192 return out, req.Send() 3193} 3194 3195// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of 3196// the ability to pass a context and additional request options. 3197// 3198// See GetObjectTorrent for details on how to use this API operation. 3199// 3200// The context must be non-nil and will be used for request cancellation. If 3201// the context is nil a panic will occur. In the future the SDK may create 3202// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3203// for more information on using Contexts. 3204func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) { 3205 req, out := c.GetObjectTorrentRequest(input) 3206 req.SetContext(ctx) 3207 req.ApplyOptions(opts...) 3208 return out, req.Send() 3209} 3210 3211const opHeadBucket = "HeadBucket" 3212 3213// HeadBucketRequest generates a "aws/request.Request" representing the 3214// client's request for the HeadBucket operation. The "output" return 3215// value will be populated with the request's response once the request completes 3216// successfuly. 3217// 3218// Use "Send" method on the returned Request to send the API call to the service. 3219// the "output" return value is not valid until after Send returns without error. 3220// 3221// See HeadBucket for more information on using the HeadBucket 3222// API call, and error handling. 3223// 3224// This method is useful when you want to inject custom logic or configuration 3225// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3226// 3227// 3228// // Example sending a request using the HeadBucketRequest method. 3229// req, resp := client.HeadBucketRequest(params) 3230// 3231// err := req.Send() 3232// if err == nil { // resp is now filled 3233// fmt.Println(resp) 3234// } 3235// 3236// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3237func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) { 3238 op := &request.Operation{ 3239 Name: opHeadBucket, 3240 HTTPMethod: "HEAD", 3241 HTTPPath: "/{Bucket}", 3242 } 3243 3244 if input == nil { 3245 input = &HeadBucketInput{} 3246 } 3247 3248 output = &HeadBucketOutput{} 3249 req = c.newRequest(op, input, output) 3250 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 3251 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 3252 return 3253} 3254 3255// HeadBucket API operation for Amazon Simple Storage Service. 3256// 3257// This operation is useful to determine if a bucket exists and you have permission 3258// to access it. 3259// 3260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3261// with awserr.Error's Code and Message methods to get detailed information about 3262// the error. 3263// 3264// See the AWS API reference guide for Amazon Simple Storage Service's 3265// API operation HeadBucket for usage and error information. 3266// 3267// Returned Error Codes: 3268// * ErrCodeNoSuchBucket "NoSuchBucket" 3269// The specified bucket does not exist. 3270// 3271// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3272func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { 3273 req, out := c.HeadBucketRequest(input) 3274 return out, req.Send() 3275} 3276 3277// HeadBucketWithContext is the same as HeadBucket with the addition of 3278// the ability to pass a context and additional request options. 3279// 3280// See HeadBucket for details on how to use this API operation. 3281// 3282// The context must be non-nil and will be used for request cancellation. If 3283// the context is nil a panic will occur. In the future the SDK may create 3284// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3285// for more information on using Contexts. 3286func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) { 3287 req, out := c.HeadBucketRequest(input) 3288 req.SetContext(ctx) 3289 req.ApplyOptions(opts...) 3290 return out, req.Send() 3291} 3292 3293const opHeadObject = "HeadObject" 3294 3295// HeadObjectRequest generates a "aws/request.Request" representing the 3296// client's request for the HeadObject operation. The "output" return 3297// value will be populated with the request's response once the request completes 3298// successfuly. 3299// 3300// Use "Send" method on the returned Request to send the API call to the service. 3301// the "output" return value is not valid until after Send returns without error. 3302// 3303// See HeadObject for more information on using the HeadObject 3304// API call, and error handling. 3305// 3306// This method is useful when you want to inject custom logic or configuration 3307// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3308// 3309// 3310// // Example sending a request using the HeadObjectRequest method. 3311// req, resp := client.HeadObjectRequest(params) 3312// 3313// err := req.Send() 3314// if err == nil { // resp is now filled 3315// fmt.Println(resp) 3316// } 3317// 3318// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3319func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) { 3320 op := &request.Operation{ 3321 Name: opHeadObject, 3322 HTTPMethod: "HEAD", 3323 HTTPPath: "/{Bucket}/{Key+}", 3324 } 3325 3326 if input == nil { 3327 input = &HeadObjectInput{} 3328 } 3329 3330 output = &HeadObjectOutput{} 3331 req = c.newRequest(op, input, output) 3332 return 3333} 3334 3335// HeadObject API operation for Amazon Simple Storage Service. 3336// 3337// The HEAD operation retrieves metadata from an object without returning the 3338// object itself. This operation is useful if you're only interested in an object's 3339// metadata. To use HEAD, you must have READ access to the object. 3340// 3341// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses 3342// for more information on returned errors. 3343// 3344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3345// with awserr.Error's Code and Message methods to get detailed information about 3346// the error. 3347// 3348// See the AWS API reference guide for Amazon Simple Storage Service's 3349// API operation HeadObject for usage and error information. 3350// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3351func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { 3352 req, out := c.HeadObjectRequest(input) 3353 return out, req.Send() 3354} 3355 3356// HeadObjectWithContext is the same as HeadObject with the addition of 3357// the ability to pass a context and additional request options. 3358// 3359// See HeadObject for details on how to use this API operation. 3360// 3361// The context must be non-nil and will be used for request cancellation. If 3362// the context is nil a panic will occur. In the future the SDK may create 3363// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3364// for more information on using Contexts. 3365func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) { 3366 req, out := c.HeadObjectRequest(input) 3367 req.SetContext(ctx) 3368 req.ApplyOptions(opts...) 3369 return out, req.Send() 3370} 3371 3372const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations" 3373 3374// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the 3375// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return 3376// value will be populated with the request's response once the request completes 3377// successfuly. 3378// 3379// Use "Send" method on the returned Request to send the API call to the service. 3380// the "output" return value is not valid until after Send returns without error. 3381// 3382// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations 3383// API call, and error handling. 3384// 3385// This method is useful when you want to inject custom logic or configuration 3386// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3387// 3388// 3389// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method. 3390// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params) 3391// 3392// err := req.Send() 3393// if err == nil { // resp is now filled 3394// fmt.Println(resp) 3395// } 3396// 3397// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3398func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) { 3399 op := &request.Operation{ 3400 Name: opListBucketAnalyticsConfigurations, 3401 HTTPMethod: "GET", 3402 HTTPPath: "/{Bucket}?analytics", 3403 } 3404 3405 if input == nil { 3406 input = &ListBucketAnalyticsConfigurationsInput{} 3407 } 3408 3409 output = &ListBucketAnalyticsConfigurationsOutput{} 3410 req = c.newRequest(op, input, output) 3411 return 3412} 3413 3414// ListBucketAnalyticsConfigurations API operation for Amazon Simple Storage Service. 3415// 3416// Lists the analytics configurations for the bucket. 3417// 3418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3419// with awserr.Error's Code and Message methods to get detailed information about 3420// the error. 3421// 3422// See the AWS API reference guide for Amazon Simple Storage Service's 3423// API operation ListBucketAnalyticsConfigurations for usage and error information. 3424// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3425func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) { 3426 req, out := c.ListBucketAnalyticsConfigurationsRequest(input) 3427 return out, req.Send() 3428} 3429 3430// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of 3431// the ability to pass a context and additional request options. 3432// 3433// See ListBucketAnalyticsConfigurations for details on how to use this API operation. 3434// 3435// The context must be non-nil and will be used for request cancellation. If 3436// the context is nil a panic will occur. In the future the SDK may create 3437// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3438// for more information on using Contexts. 3439func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) { 3440 req, out := c.ListBucketAnalyticsConfigurationsRequest(input) 3441 req.SetContext(ctx) 3442 req.ApplyOptions(opts...) 3443 return out, req.Send() 3444} 3445 3446const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations" 3447 3448// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the 3449// client's request for the ListBucketInventoryConfigurations operation. The "output" return 3450// value will be populated with the request's response once the request completes 3451// successfuly. 3452// 3453// Use "Send" method on the returned Request to send the API call to the service. 3454// the "output" return value is not valid until after Send returns without error. 3455// 3456// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations 3457// API call, and error handling. 3458// 3459// This method is useful when you want to inject custom logic or configuration 3460// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3461// 3462// 3463// // Example sending a request using the ListBucketInventoryConfigurationsRequest method. 3464// req, resp := client.ListBucketInventoryConfigurationsRequest(params) 3465// 3466// err := req.Send() 3467// if err == nil { // resp is now filled 3468// fmt.Println(resp) 3469// } 3470// 3471// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3472func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) { 3473 op := &request.Operation{ 3474 Name: opListBucketInventoryConfigurations, 3475 HTTPMethod: "GET", 3476 HTTPPath: "/{Bucket}?inventory", 3477 } 3478 3479 if input == nil { 3480 input = &ListBucketInventoryConfigurationsInput{} 3481 } 3482 3483 output = &ListBucketInventoryConfigurationsOutput{} 3484 req = c.newRequest(op, input, output) 3485 return 3486} 3487 3488// ListBucketInventoryConfigurations API operation for Amazon Simple Storage Service. 3489// 3490// Returns a list of inventory configurations for the bucket. 3491// 3492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3493// with awserr.Error's Code and Message methods to get detailed information about 3494// the error. 3495// 3496// See the AWS API reference guide for Amazon Simple Storage Service's 3497// API operation ListBucketInventoryConfigurations for usage and error information. 3498// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3499func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) { 3500 req, out := c.ListBucketInventoryConfigurationsRequest(input) 3501 return out, req.Send() 3502} 3503 3504// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of 3505// the ability to pass a context and additional request options. 3506// 3507// See ListBucketInventoryConfigurations for details on how to use this API operation. 3508// 3509// The context must be non-nil and will be used for request cancellation. If 3510// the context is nil a panic will occur. In the future the SDK may create 3511// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3512// for more information on using Contexts. 3513func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) { 3514 req, out := c.ListBucketInventoryConfigurationsRequest(input) 3515 req.SetContext(ctx) 3516 req.ApplyOptions(opts...) 3517 return out, req.Send() 3518} 3519 3520const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations" 3521 3522// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the 3523// client's request for the ListBucketMetricsConfigurations operation. The "output" return 3524// value will be populated with the request's response once the request completes 3525// successfuly. 3526// 3527// Use "Send" method on the returned Request to send the API call to the service. 3528// the "output" return value is not valid until after Send returns without error. 3529// 3530// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations 3531// API call, and error handling. 3532// 3533// This method is useful when you want to inject custom logic or configuration 3534// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3535// 3536// 3537// // Example sending a request using the ListBucketMetricsConfigurationsRequest method. 3538// req, resp := client.ListBucketMetricsConfigurationsRequest(params) 3539// 3540// err := req.Send() 3541// if err == nil { // resp is now filled 3542// fmt.Println(resp) 3543// } 3544// 3545// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 3546func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) { 3547 op := &request.Operation{ 3548 Name: opListBucketMetricsConfigurations, 3549 HTTPMethod: "GET", 3550 HTTPPath: "/{Bucket}?metrics", 3551 } 3552 3553 if input == nil { 3554 input = &ListBucketMetricsConfigurationsInput{} 3555 } 3556 3557 output = &ListBucketMetricsConfigurationsOutput{} 3558 req = c.newRequest(op, input, output) 3559 return 3560} 3561 3562// ListBucketMetricsConfigurations API operation for Amazon Simple Storage Service. 3563// 3564// Lists the metrics configurations for the bucket. 3565// 3566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3567// with awserr.Error's Code and Message methods to get detailed information about 3568// the error. 3569// 3570// See the AWS API reference guide for Amazon Simple Storage Service's 3571// API operation ListBucketMetricsConfigurations for usage and error information. 3572// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 3573func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) { 3574 req, out := c.ListBucketMetricsConfigurationsRequest(input) 3575 return out, req.Send() 3576} 3577 3578// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of 3579// the ability to pass a context and additional request options. 3580// 3581// See ListBucketMetricsConfigurations for details on how to use this API operation. 3582// 3583// The context must be non-nil and will be used for request cancellation. If 3584// the context is nil a panic will occur. In the future the SDK may create 3585// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3586// for more information on using Contexts. 3587func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) { 3588 req, out := c.ListBucketMetricsConfigurationsRequest(input) 3589 req.SetContext(ctx) 3590 req.ApplyOptions(opts...) 3591 return out, req.Send() 3592} 3593 3594const opListBuckets = "ListBuckets" 3595 3596// ListBucketsRequest generates a "aws/request.Request" representing the 3597// client's request for the ListBuckets operation. The "output" return 3598// value will be populated with the request's response once the request completes 3599// successfuly. 3600// 3601// Use "Send" method on the returned Request to send the API call to the service. 3602// the "output" return value is not valid until after Send returns without error. 3603// 3604// See ListBuckets for more information on using the ListBuckets 3605// API call, and error handling. 3606// 3607// This method is useful when you want to inject custom logic or configuration 3608// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3609// 3610// 3611// // Example sending a request using the ListBucketsRequest method. 3612// req, resp := client.ListBucketsRequest(params) 3613// 3614// err := req.Send() 3615// if err == nil { // resp is now filled 3616// fmt.Println(resp) 3617// } 3618// 3619// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 3620func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) { 3621 op := &request.Operation{ 3622 Name: opListBuckets, 3623 HTTPMethod: "GET", 3624 HTTPPath: "/", 3625 } 3626 3627 if input == nil { 3628 input = &ListBucketsInput{} 3629 } 3630 3631 output = &ListBucketsOutput{} 3632 req = c.newRequest(op, input, output) 3633 return 3634} 3635 3636// ListBuckets API operation for Amazon Simple Storage Service. 3637// 3638// Returns a list of all buckets owned by the authenticated sender of the request. 3639// 3640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3641// with awserr.Error's Code and Message methods to get detailed information about 3642// the error. 3643// 3644// See the AWS API reference guide for Amazon Simple Storage Service's 3645// API operation ListBuckets for usage and error information. 3646// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 3647func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { 3648 req, out := c.ListBucketsRequest(input) 3649 return out, req.Send() 3650} 3651 3652// ListBucketsWithContext is the same as ListBuckets with the addition of 3653// the ability to pass a context and additional request options. 3654// 3655// See ListBuckets for details on how to use this API operation. 3656// 3657// The context must be non-nil and will be used for request cancellation. If 3658// the context is nil a panic will occur. In the future the SDK may create 3659// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3660// for more information on using Contexts. 3661func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) { 3662 req, out := c.ListBucketsRequest(input) 3663 req.SetContext(ctx) 3664 req.ApplyOptions(opts...) 3665 return out, req.Send() 3666} 3667 3668const opListMultipartUploads = "ListMultipartUploads" 3669 3670// ListMultipartUploadsRequest generates a "aws/request.Request" representing the 3671// client's request for the ListMultipartUploads operation. The "output" return 3672// value will be populated with the request's response once the request completes 3673// successfuly. 3674// 3675// Use "Send" method on the returned Request to send the API call to the service. 3676// the "output" return value is not valid until after Send returns without error. 3677// 3678// See ListMultipartUploads for more information on using the ListMultipartUploads 3679// API call, and error handling. 3680// 3681// This method is useful when you want to inject custom logic or configuration 3682// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3683// 3684// 3685// // Example sending a request using the ListMultipartUploadsRequest method. 3686// req, resp := client.ListMultipartUploadsRequest(params) 3687// 3688// err := req.Send() 3689// if err == nil { // resp is now filled 3690// fmt.Println(resp) 3691// } 3692// 3693// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 3694func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { 3695 op := &request.Operation{ 3696 Name: opListMultipartUploads, 3697 HTTPMethod: "GET", 3698 HTTPPath: "/{Bucket}?uploads", 3699 Paginator: &request.Paginator{ 3700 InputTokens: []string{"KeyMarker", "UploadIdMarker"}, 3701 OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"}, 3702 LimitToken: "MaxUploads", 3703 TruncationToken: "IsTruncated", 3704 }, 3705 } 3706 3707 if input == nil { 3708 input = &ListMultipartUploadsInput{} 3709 } 3710 3711 output = &ListMultipartUploadsOutput{} 3712 req = c.newRequest(op, input, output) 3713 return 3714} 3715 3716// ListMultipartUploads API operation for Amazon Simple Storage Service. 3717// 3718// This operation lists in-progress multipart uploads. 3719// 3720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3721// with awserr.Error's Code and Message methods to get detailed information about 3722// the error. 3723// 3724// See the AWS API reference guide for Amazon Simple Storage Service's 3725// API operation ListMultipartUploads for usage and error information. 3726// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 3727func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { 3728 req, out := c.ListMultipartUploadsRequest(input) 3729 return out, req.Send() 3730} 3731 3732// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of 3733// the ability to pass a context and additional request options. 3734// 3735// See ListMultipartUploads for details on how to use this API operation. 3736// 3737// The context must be non-nil and will be used for request cancellation. If 3738// the context is nil a panic will occur. In the future the SDK may create 3739// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3740// for more information on using Contexts. 3741func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) { 3742 req, out := c.ListMultipartUploadsRequest(input) 3743 req.SetContext(ctx) 3744 req.ApplyOptions(opts...) 3745 return out, req.Send() 3746} 3747 3748// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, 3749// calling the "fn" function with the response data for each page. To stop 3750// iterating, return false from the fn function. 3751// 3752// See ListMultipartUploads method for more information on how to use this operation. 3753// 3754// Note: This operation can generate multiple requests to a service. 3755// 3756// // Example iterating over at most 3 pages of a ListMultipartUploads operation. 3757// pageNum := 0 3758// err := client.ListMultipartUploadsPages(params, 3759// func(page *ListMultipartUploadsOutput, lastPage bool) bool { 3760// pageNum++ 3761// fmt.Println(page) 3762// return pageNum <= 3 3763// }) 3764// 3765func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error { 3766 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn) 3767} 3768 3769// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except 3770// it takes a Context and allows setting request options on the pages. 3771// 3772// The context must be non-nil and will be used for request cancellation. If 3773// the context is nil a panic will occur. In the future the SDK may create 3774// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3775// for more information on using Contexts. 3776func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error { 3777 p := request.Pagination{ 3778 NewRequest: func() (*request.Request, error) { 3779 var inCpy *ListMultipartUploadsInput 3780 if input != nil { 3781 tmp := *input 3782 inCpy = &tmp 3783 } 3784 req, _ := c.ListMultipartUploadsRequest(inCpy) 3785 req.SetContext(ctx) 3786 req.ApplyOptions(opts...) 3787 return req, nil 3788 }, 3789 } 3790 3791 cont := true 3792 for p.Next() && cont { 3793 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage()) 3794 } 3795 return p.Err() 3796} 3797 3798const opListObjectVersions = "ListObjectVersions" 3799 3800// ListObjectVersionsRequest generates a "aws/request.Request" representing the 3801// client's request for the ListObjectVersions operation. The "output" return 3802// value will be populated with the request's response once the request completes 3803// successfuly. 3804// 3805// Use "Send" method on the returned Request to send the API call to the service. 3806// the "output" return value is not valid until after Send returns without error. 3807// 3808// See ListObjectVersions for more information on using the ListObjectVersions 3809// API call, and error handling. 3810// 3811// This method is useful when you want to inject custom logic or configuration 3812// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3813// 3814// 3815// // Example sending a request using the ListObjectVersionsRequest method. 3816// req, resp := client.ListObjectVersionsRequest(params) 3817// 3818// err := req.Send() 3819// if err == nil { // resp is now filled 3820// fmt.Println(resp) 3821// } 3822// 3823// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 3824func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) { 3825 op := &request.Operation{ 3826 Name: opListObjectVersions, 3827 HTTPMethod: "GET", 3828 HTTPPath: "/{Bucket}?versions", 3829 Paginator: &request.Paginator{ 3830 InputTokens: []string{"KeyMarker", "VersionIdMarker"}, 3831 OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"}, 3832 LimitToken: "MaxKeys", 3833 TruncationToken: "IsTruncated", 3834 }, 3835 } 3836 3837 if input == nil { 3838 input = &ListObjectVersionsInput{} 3839 } 3840 3841 output = &ListObjectVersionsOutput{} 3842 req = c.newRequest(op, input, output) 3843 return 3844} 3845 3846// ListObjectVersions API operation for Amazon Simple Storage Service. 3847// 3848// Returns metadata about all of the versions of objects in a bucket. 3849// 3850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3851// with awserr.Error's Code and Message methods to get detailed information about 3852// the error. 3853// 3854// See the AWS API reference guide for Amazon Simple Storage Service's 3855// API operation ListObjectVersions for usage and error information. 3856// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 3857func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) { 3858 req, out := c.ListObjectVersionsRequest(input) 3859 return out, req.Send() 3860} 3861 3862// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of 3863// the ability to pass a context and additional request options. 3864// 3865// See ListObjectVersions for details on how to use this API operation. 3866// 3867// The context must be non-nil and will be used for request cancellation. If 3868// the context is nil a panic will occur. In the future the SDK may create 3869// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3870// for more information on using Contexts. 3871func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) { 3872 req, out := c.ListObjectVersionsRequest(input) 3873 req.SetContext(ctx) 3874 req.ApplyOptions(opts...) 3875 return out, req.Send() 3876} 3877 3878// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation, 3879// calling the "fn" function with the response data for each page. To stop 3880// iterating, return false from the fn function. 3881// 3882// See ListObjectVersions method for more information on how to use this operation. 3883// 3884// Note: This operation can generate multiple requests to a service. 3885// 3886// // Example iterating over at most 3 pages of a ListObjectVersions operation. 3887// pageNum := 0 3888// err := client.ListObjectVersionsPages(params, 3889// func(page *ListObjectVersionsOutput, lastPage bool) bool { 3890// pageNum++ 3891// fmt.Println(page) 3892// return pageNum <= 3 3893// }) 3894// 3895func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error { 3896 return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 3897} 3898 3899// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except 3900// it takes a Context and allows setting request options on the pages. 3901// 3902// The context must be non-nil and will be used for request cancellation. If 3903// the context is nil a panic will occur. In the future the SDK may create 3904// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3905// for more information on using Contexts. 3906func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error { 3907 p := request.Pagination{ 3908 NewRequest: func() (*request.Request, error) { 3909 var inCpy *ListObjectVersionsInput 3910 if input != nil { 3911 tmp := *input 3912 inCpy = &tmp 3913 } 3914 req, _ := c.ListObjectVersionsRequest(inCpy) 3915 req.SetContext(ctx) 3916 req.ApplyOptions(opts...) 3917 return req, nil 3918 }, 3919 } 3920 3921 cont := true 3922 for p.Next() && cont { 3923 cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage()) 3924 } 3925 return p.Err() 3926} 3927 3928const opListObjects = "ListObjects" 3929 3930// ListObjectsRequest generates a "aws/request.Request" representing the 3931// client's request for the ListObjects operation. The "output" return 3932// value will be populated with the request's response once the request completes 3933// successfuly. 3934// 3935// Use "Send" method on the returned Request to send the API call to the service. 3936// the "output" return value is not valid until after Send returns without error. 3937// 3938// See ListObjects for more information on using the ListObjects 3939// API call, and error handling. 3940// 3941// This method is useful when you want to inject custom logic or configuration 3942// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3943// 3944// 3945// // Example sending a request using the ListObjectsRequest method. 3946// req, resp := client.ListObjectsRequest(params) 3947// 3948// err := req.Send() 3949// if err == nil { // resp is now filled 3950// fmt.Println(resp) 3951// } 3952// 3953// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 3954func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) { 3955 op := &request.Operation{ 3956 Name: opListObjects, 3957 HTTPMethod: "GET", 3958 HTTPPath: "/{Bucket}", 3959 Paginator: &request.Paginator{ 3960 InputTokens: []string{"Marker"}, 3961 OutputTokens: []string{"NextMarker || Contents[-1].Key"}, 3962 LimitToken: "MaxKeys", 3963 TruncationToken: "IsTruncated", 3964 }, 3965 } 3966 3967 if input == nil { 3968 input = &ListObjectsInput{} 3969 } 3970 3971 output = &ListObjectsOutput{} 3972 req = c.newRequest(op, input, output) 3973 return 3974} 3975 3976// ListObjects API operation for Amazon Simple Storage Service. 3977// 3978// Returns some or all (up to 1000) of the objects in a bucket. You can use 3979// the request parameters as selection criteria to return a subset of the objects 3980// in a bucket. 3981// 3982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3983// with awserr.Error's Code and Message methods to get detailed information about 3984// the error. 3985// 3986// See the AWS API reference guide for Amazon Simple Storage Service's 3987// API operation ListObjects for usage and error information. 3988// 3989// Returned Error Codes: 3990// * ErrCodeNoSuchBucket "NoSuchBucket" 3991// The specified bucket does not exist. 3992// 3993// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 3994func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) { 3995 req, out := c.ListObjectsRequest(input) 3996 return out, req.Send() 3997} 3998 3999// ListObjectsWithContext is the same as ListObjects with the addition of 4000// the ability to pass a context and additional request options. 4001// 4002// See ListObjects for details on how to use this API operation. 4003// 4004// The context must be non-nil and will be used for request cancellation. If 4005// the context is nil a panic will occur. In the future the SDK may create 4006// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4007// for more information on using Contexts. 4008func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) { 4009 req, out := c.ListObjectsRequest(input) 4010 req.SetContext(ctx) 4011 req.ApplyOptions(opts...) 4012 return out, req.Send() 4013} 4014 4015// ListObjectsPages iterates over the pages of a ListObjects operation, 4016// calling the "fn" function with the response data for each page. To stop 4017// iterating, return false from the fn function. 4018// 4019// See ListObjects method for more information on how to use this operation. 4020// 4021// Note: This operation can generate multiple requests to a service. 4022// 4023// // Example iterating over at most 3 pages of a ListObjects operation. 4024// pageNum := 0 4025// err := client.ListObjectsPages(params, 4026// func(page *ListObjectsOutput, lastPage bool) bool { 4027// pageNum++ 4028// fmt.Println(page) 4029// return pageNum <= 3 4030// }) 4031// 4032func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error { 4033 return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn) 4034} 4035 4036// ListObjectsPagesWithContext same as ListObjectsPages except 4037// it takes a Context and allows setting request options on the pages. 4038// 4039// The context must be non-nil and will be used for request cancellation. If 4040// the context is nil a panic will occur. In the future the SDK may create 4041// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4042// for more information on using Contexts. 4043func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error { 4044 p := request.Pagination{ 4045 NewRequest: func() (*request.Request, error) { 4046 var inCpy *ListObjectsInput 4047 if input != nil { 4048 tmp := *input 4049 inCpy = &tmp 4050 } 4051 req, _ := c.ListObjectsRequest(inCpy) 4052 req.SetContext(ctx) 4053 req.ApplyOptions(opts...) 4054 return req, nil 4055 }, 4056 } 4057 4058 cont := true 4059 for p.Next() && cont { 4060 cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage()) 4061 } 4062 return p.Err() 4063} 4064 4065const opListObjectsV2 = "ListObjectsV2" 4066 4067// ListObjectsV2Request generates a "aws/request.Request" representing the 4068// client's request for the ListObjectsV2 operation. The "output" return 4069// value will be populated with the request's response once the request completes 4070// successfuly. 4071// 4072// Use "Send" method on the returned Request to send the API call to the service. 4073// the "output" return value is not valid until after Send returns without error. 4074// 4075// See ListObjectsV2 for more information on using the ListObjectsV2 4076// API call, and error handling. 4077// 4078// This method is useful when you want to inject custom logic or configuration 4079// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4080// 4081// 4082// // Example sending a request using the ListObjectsV2Request method. 4083// req, resp := client.ListObjectsV2Request(params) 4084// 4085// err := req.Send() 4086// if err == nil { // resp is now filled 4087// fmt.Println(resp) 4088// } 4089// 4090// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4091func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) { 4092 op := &request.Operation{ 4093 Name: opListObjectsV2, 4094 HTTPMethod: "GET", 4095 HTTPPath: "/{Bucket}?list-type=2", 4096 Paginator: &request.Paginator{ 4097 InputTokens: []string{"ContinuationToken"}, 4098 OutputTokens: []string{"NextContinuationToken"}, 4099 LimitToken: "MaxKeys", 4100 TruncationToken: "", 4101 }, 4102 } 4103 4104 if input == nil { 4105 input = &ListObjectsV2Input{} 4106 } 4107 4108 output = &ListObjectsV2Output{} 4109 req = c.newRequest(op, input, output) 4110 return 4111} 4112 4113// ListObjectsV2 API operation for Amazon Simple Storage Service. 4114// 4115// Returns some or all (up to 1000) of the objects in a bucket. You can use 4116// the request parameters as selection criteria to return a subset of the objects 4117// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend 4118// you use this revised API for new application development. 4119// 4120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4121// with awserr.Error's Code and Message methods to get detailed information about 4122// the error. 4123// 4124// See the AWS API reference guide for Amazon Simple Storage Service's 4125// API operation ListObjectsV2 for usage and error information. 4126// 4127// Returned Error Codes: 4128// * ErrCodeNoSuchBucket "NoSuchBucket" 4129// The specified bucket does not exist. 4130// 4131// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4132func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) { 4133 req, out := c.ListObjectsV2Request(input) 4134 return out, req.Send() 4135} 4136 4137// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of 4138// the ability to pass a context and additional request options. 4139// 4140// See ListObjectsV2 for details on how to use this API operation. 4141// 4142// The context must be non-nil and will be used for request cancellation. If 4143// the context is nil a panic will occur. In the future the SDK may create 4144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4145// for more information on using Contexts. 4146func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) { 4147 req, out := c.ListObjectsV2Request(input) 4148 req.SetContext(ctx) 4149 req.ApplyOptions(opts...) 4150 return out, req.Send() 4151} 4152 4153// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation, 4154// calling the "fn" function with the response data for each page. To stop 4155// iterating, return false from the fn function. 4156// 4157// See ListObjectsV2 method for more information on how to use this operation. 4158// 4159// Note: This operation can generate multiple requests to a service. 4160// 4161// // Example iterating over at most 3 pages of a ListObjectsV2 operation. 4162// pageNum := 0 4163// err := client.ListObjectsV2Pages(params, 4164// func(page *ListObjectsV2Output, lastPage bool) bool { 4165// pageNum++ 4166// fmt.Println(page) 4167// return pageNum <= 3 4168// }) 4169// 4170func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error { 4171 return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn) 4172} 4173 4174// ListObjectsV2PagesWithContext same as ListObjectsV2Pages except 4175// it takes a Context and allows setting request options on the pages. 4176// 4177// The context must be non-nil and will be used for request cancellation. If 4178// the context is nil a panic will occur. In the future the SDK may create 4179// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4180// for more information on using Contexts. 4181func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error { 4182 p := request.Pagination{ 4183 NewRequest: func() (*request.Request, error) { 4184 var inCpy *ListObjectsV2Input 4185 if input != nil { 4186 tmp := *input 4187 inCpy = &tmp 4188 } 4189 req, _ := c.ListObjectsV2Request(inCpy) 4190 req.SetContext(ctx) 4191 req.ApplyOptions(opts...) 4192 return req, nil 4193 }, 4194 } 4195 4196 cont := true 4197 for p.Next() && cont { 4198 cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage()) 4199 } 4200 return p.Err() 4201} 4202 4203const opListParts = "ListParts" 4204 4205// ListPartsRequest generates a "aws/request.Request" representing the 4206// client's request for the ListParts operation. The "output" return 4207// value will be populated with the request's response once the request completes 4208// successfuly. 4209// 4210// Use "Send" method on the returned Request to send the API call to the service. 4211// the "output" return value is not valid until after Send returns without error. 4212// 4213// See ListParts for more information on using the ListParts 4214// API call, and error handling. 4215// 4216// This method is useful when you want to inject custom logic or configuration 4217// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4218// 4219// 4220// // Example sending a request using the ListPartsRequest method. 4221// req, resp := client.ListPartsRequest(params) 4222// 4223// err := req.Send() 4224// if err == nil { // resp is now filled 4225// fmt.Println(resp) 4226// } 4227// 4228// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4229func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { 4230 op := &request.Operation{ 4231 Name: opListParts, 4232 HTTPMethod: "GET", 4233 HTTPPath: "/{Bucket}/{Key+}", 4234 Paginator: &request.Paginator{ 4235 InputTokens: []string{"PartNumberMarker"}, 4236 OutputTokens: []string{"NextPartNumberMarker"}, 4237 LimitToken: "MaxParts", 4238 TruncationToken: "IsTruncated", 4239 }, 4240 } 4241 4242 if input == nil { 4243 input = &ListPartsInput{} 4244 } 4245 4246 output = &ListPartsOutput{} 4247 req = c.newRequest(op, input, output) 4248 return 4249} 4250 4251// ListParts API operation for Amazon Simple Storage Service. 4252// 4253// Lists the parts that have been uploaded for a specific multipart upload. 4254// 4255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4256// with awserr.Error's Code and Message methods to get detailed information about 4257// the error. 4258// 4259// See the AWS API reference guide for Amazon Simple Storage Service's 4260// API operation ListParts for usage and error information. 4261// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4262func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { 4263 req, out := c.ListPartsRequest(input) 4264 return out, req.Send() 4265} 4266 4267// ListPartsWithContext is the same as ListParts with the addition of 4268// the ability to pass a context and additional request options. 4269// 4270// See ListParts for details on how to use this API operation. 4271// 4272// The context must be non-nil and will be used for request cancellation. If 4273// the context is nil a panic will occur. In the future the SDK may create 4274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4275// for more information on using Contexts. 4276func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) { 4277 req, out := c.ListPartsRequest(input) 4278 req.SetContext(ctx) 4279 req.ApplyOptions(opts...) 4280 return out, req.Send() 4281} 4282 4283// ListPartsPages iterates over the pages of a ListParts operation, 4284// calling the "fn" function with the response data for each page. To stop 4285// iterating, return false from the fn function. 4286// 4287// See ListParts method for more information on how to use this operation. 4288// 4289// Note: This operation can generate multiple requests to a service. 4290// 4291// // Example iterating over at most 3 pages of a ListParts operation. 4292// pageNum := 0 4293// err := client.ListPartsPages(params, 4294// func(page *ListPartsOutput, lastPage bool) bool { 4295// pageNum++ 4296// fmt.Println(page) 4297// return pageNum <= 3 4298// }) 4299// 4300func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error { 4301 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn) 4302} 4303 4304// ListPartsPagesWithContext same as ListPartsPages except 4305// it takes a Context and allows setting request options on the pages. 4306// 4307// The context must be non-nil and will be used for request cancellation. If 4308// the context is nil a panic will occur. In the future the SDK may create 4309// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4310// for more information on using Contexts. 4311func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error { 4312 p := request.Pagination{ 4313 NewRequest: func() (*request.Request, error) { 4314 var inCpy *ListPartsInput 4315 if input != nil { 4316 tmp := *input 4317 inCpy = &tmp 4318 } 4319 req, _ := c.ListPartsRequest(inCpy) 4320 req.SetContext(ctx) 4321 req.ApplyOptions(opts...) 4322 return req, nil 4323 }, 4324 } 4325 4326 cont := true 4327 for p.Next() && cont { 4328 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage()) 4329 } 4330 return p.Err() 4331} 4332 4333const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration" 4334 4335// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 4336// client's request for the PutBucketAccelerateConfiguration operation. The "output" return 4337// value will be populated with the request's response once the request completes 4338// successfuly. 4339// 4340// Use "Send" method on the returned Request to send the API call to the service. 4341// the "output" return value is not valid until after Send returns without error. 4342// 4343// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration 4344// API call, and error handling. 4345// 4346// This method is useful when you want to inject custom logic or configuration 4347// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4348// 4349// 4350// // Example sending a request using the PutBucketAccelerateConfigurationRequest method. 4351// req, resp := client.PutBucketAccelerateConfigurationRequest(params) 4352// 4353// err := req.Send() 4354// if err == nil { // resp is now filled 4355// fmt.Println(resp) 4356// } 4357// 4358// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4359func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) { 4360 op := &request.Operation{ 4361 Name: opPutBucketAccelerateConfiguration, 4362 HTTPMethod: "PUT", 4363 HTTPPath: "/{Bucket}?accelerate", 4364 } 4365 4366 if input == nil { 4367 input = &PutBucketAccelerateConfigurationInput{} 4368 } 4369 4370 output = &PutBucketAccelerateConfigurationOutput{} 4371 req = c.newRequest(op, input, output) 4372 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4373 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4374 return 4375} 4376 4377// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. 4378// 4379// Sets the accelerate configuration of an existing bucket. 4380// 4381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4382// with awserr.Error's Code and Message methods to get detailed information about 4383// the error. 4384// 4385// See the AWS API reference guide for Amazon Simple Storage Service's 4386// API operation PutBucketAccelerateConfiguration for usage and error information. 4387// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4388func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) { 4389 req, out := c.PutBucketAccelerateConfigurationRequest(input) 4390 return out, req.Send() 4391} 4392 4393// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of 4394// the ability to pass a context and additional request options. 4395// 4396// See PutBucketAccelerateConfiguration for details on how to use this API operation. 4397// 4398// The context must be non-nil and will be used for request cancellation. If 4399// the context is nil a panic will occur. In the future the SDK may create 4400// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4401// for more information on using Contexts. 4402func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) { 4403 req, out := c.PutBucketAccelerateConfigurationRequest(input) 4404 req.SetContext(ctx) 4405 req.ApplyOptions(opts...) 4406 return out, req.Send() 4407} 4408 4409const opPutBucketAcl = "PutBucketAcl" 4410 4411// PutBucketAclRequest generates a "aws/request.Request" representing the 4412// client's request for the PutBucketAcl operation. The "output" return 4413// value will be populated with the request's response once the request completes 4414// successfuly. 4415// 4416// Use "Send" method on the returned Request to send the API call to the service. 4417// the "output" return value is not valid until after Send returns without error. 4418// 4419// See PutBucketAcl for more information on using the PutBucketAcl 4420// API call, and error handling. 4421// 4422// This method is useful when you want to inject custom logic or configuration 4423// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4424// 4425// 4426// // Example sending a request using the PutBucketAclRequest method. 4427// req, resp := client.PutBucketAclRequest(params) 4428// 4429// err := req.Send() 4430// if err == nil { // resp is now filled 4431// fmt.Println(resp) 4432// } 4433// 4434// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4435func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) { 4436 op := &request.Operation{ 4437 Name: opPutBucketAcl, 4438 HTTPMethod: "PUT", 4439 HTTPPath: "/{Bucket}?acl", 4440 } 4441 4442 if input == nil { 4443 input = &PutBucketAclInput{} 4444 } 4445 4446 output = &PutBucketAclOutput{} 4447 req = c.newRequest(op, input, output) 4448 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4449 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4450 return 4451} 4452 4453// PutBucketAcl API operation for Amazon Simple Storage Service. 4454// 4455// Sets the permissions on a bucket using access control lists (ACL). 4456// 4457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4458// with awserr.Error's Code and Message methods to get detailed information about 4459// the error. 4460// 4461// See the AWS API reference guide for Amazon Simple Storage Service's 4462// API operation PutBucketAcl for usage and error information. 4463// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4464func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) { 4465 req, out := c.PutBucketAclRequest(input) 4466 return out, req.Send() 4467} 4468 4469// PutBucketAclWithContext is the same as PutBucketAcl with the addition of 4470// the ability to pass a context and additional request options. 4471// 4472// See PutBucketAcl for details on how to use this API operation. 4473// 4474// The context must be non-nil and will be used for request cancellation. If 4475// the context is nil a panic will occur. In the future the SDK may create 4476// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4477// for more information on using Contexts. 4478func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) { 4479 req, out := c.PutBucketAclRequest(input) 4480 req.SetContext(ctx) 4481 req.ApplyOptions(opts...) 4482 return out, req.Send() 4483} 4484 4485const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration" 4486 4487// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 4488// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return 4489// value will be populated with the request's response once the request completes 4490// successfuly. 4491// 4492// Use "Send" method on the returned Request to send the API call to the service. 4493// the "output" return value is not valid until after Send returns without error. 4494// 4495// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration 4496// API call, and error handling. 4497// 4498// This method is useful when you want to inject custom logic or configuration 4499// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4500// 4501// 4502// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method. 4503// req, resp := client.PutBucketAnalyticsConfigurationRequest(params) 4504// 4505// err := req.Send() 4506// if err == nil { // resp is now filled 4507// fmt.Println(resp) 4508// } 4509// 4510// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4511func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) { 4512 op := &request.Operation{ 4513 Name: opPutBucketAnalyticsConfiguration, 4514 HTTPMethod: "PUT", 4515 HTTPPath: "/{Bucket}?analytics", 4516 } 4517 4518 if input == nil { 4519 input = &PutBucketAnalyticsConfigurationInput{} 4520 } 4521 4522 output = &PutBucketAnalyticsConfigurationOutput{} 4523 req = c.newRequest(op, input, output) 4524 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4525 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4526 return 4527} 4528 4529// PutBucketAnalyticsConfiguration API operation for Amazon Simple Storage Service. 4530// 4531// Sets an analytics configuration for the bucket (specified by the analytics 4532// configuration ID). 4533// 4534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4535// with awserr.Error's Code and Message methods to get detailed information about 4536// the error. 4537// 4538// See the AWS API reference guide for Amazon Simple Storage Service's 4539// API operation PutBucketAnalyticsConfiguration for usage and error information. 4540// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4541func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) { 4542 req, out := c.PutBucketAnalyticsConfigurationRequest(input) 4543 return out, req.Send() 4544} 4545 4546// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of 4547// the ability to pass a context and additional request options. 4548// 4549// See PutBucketAnalyticsConfiguration for details on how to use this API operation. 4550// 4551// The context must be non-nil and will be used for request cancellation. If 4552// the context is nil a panic will occur. In the future the SDK may create 4553// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4554// for more information on using Contexts. 4555func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) { 4556 req, out := c.PutBucketAnalyticsConfigurationRequest(input) 4557 req.SetContext(ctx) 4558 req.ApplyOptions(opts...) 4559 return out, req.Send() 4560} 4561 4562const opPutBucketCors = "PutBucketCors" 4563 4564// PutBucketCorsRequest generates a "aws/request.Request" representing the 4565// client's request for the PutBucketCors operation. The "output" return 4566// value will be populated with the request's response once the request completes 4567// successfuly. 4568// 4569// Use "Send" method on the returned Request to send the API call to the service. 4570// the "output" return value is not valid until after Send returns without error. 4571// 4572// See PutBucketCors for more information on using the PutBucketCors 4573// API call, and error handling. 4574// 4575// This method is useful when you want to inject custom logic or configuration 4576// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4577// 4578// 4579// // Example sending a request using the PutBucketCorsRequest method. 4580// req, resp := client.PutBucketCorsRequest(params) 4581// 4582// err := req.Send() 4583// if err == nil { // resp is now filled 4584// fmt.Println(resp) 4585// } 4586// 4587// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 4588func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) { 4589 op := &request.Operation{ 4590 Name: opPutBucketCors, 4591 HTTPMethod: "PUT", 4592 HTTPPath: "/{Bucket}?cors", 4593 } 4594 4595 if input == nil { 4596 input = &PutBucketCorsInput{} 4597 } 4598 4599 output = &PutBucketCorsOutput{} 4600 req = c.newRequest(op, input, output) 4601 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4602 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4603 return 4604} 4605 4606// PutBucketCors API operation for Amazon Simple Storage Service. 4607// 4608// Sets the cors configuration for a bucket. 4609// 4610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4611// with awserr.Error's Code and Message methods to get detailed information about 4612// the error. 4613// 4614// See the AWS API reference guide for Amazon Simple Storage Service's 4615// API operation PutBucketCors for usage and error information. 4616// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 4617func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) { 4618 req, out := c.PutBucketCorsRequest(input) 4619 return out, req.Send() 4620} 4621 4622// PutBucketCorsWithContext is the same as PutBucketCors with the addition of 4623// the ability to pass a context and additional request options. 4624// 4625// See PutBucketCors for details on how to use this API operation. 4626// 4627// The context must be non-nil and will be used for request cancellation. If 4628// the context is nil a panic will occur. In the future the SDK may create 4629// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4630// for more information on using Contexts. 4631func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) { 4632 req, out := c.PutBucketCorsRequest(input) 4633 req.SetContext(ctx) 4634 req.ApplyOptions(opts...) 4635 return out, req.Send() 4636} 4637 4638const opPutBucketEncryption = "PutBucketEncryption" 4639 4640// PutBucketEncryptionRequest generates a "aws/request.Request" representing the 4641// client's request for the PutBucketEncryption operation. The "output" return 4642// value will be populated with the request's response once the request completes 4643// successfuly. 4644// 4645// Use "Send" method on the returned Request to send the API call to the service. 4646// the "output" return value is not valid until after Send returns without error. 4647// 4648// See PutBucketEncryption for more information on using the PutBucketEncryption 4649// API call, and error handling. 4650// 4651// This method is useful when you want to inject custom logic or configuration 4652// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4653// 4654// 4655// // Example sending a request using the PutBucketEncryptionRequest method. 4656// req, resp := client.PutBucketEncryptionRequest(params) 4657// 4658// err := req.Send() 4659// if err == nil { // resp is now filled 4660// fmt.Println(resp) 4661// } 4662// 4663// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption 4664func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) { 4665 op := &request.Operation{ 4666 Name: opPutBucketEncryption, 4667 HTTPMethod: "PUT", 4668 HTTPPath: "/{Bucket}?encryption", 4669 } 4670 4671 if input == nil { 4672 input = &PutBucketEncryptionInput{} 4673 } 4674 4675 output = &PutBucketEncryptionOutput{} 4676 req = c.newRequest(op, input, output) 4677 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4678 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4679 return 4680} 4681 4682// PutBucketEncryption API operation for Amazon Simple Storage Service. 4683// 4684// Creates a new server-side encryption configuration (or replaces an existing 4685// one, if present). 4686// 4687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4688// with awserr.Error's Code and Message methods to get detailed information about 4689// the error. 4690// 4691// See the AWS API reference guide for Amazon Simple Storage Service's 4692// API operation PutBucketEncryption for usage and error information. 4693// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption 4694func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) { 4695 req, out := c.PutBucketEncryptionRequest(input) 4696 return out, req.Send() 4697} 4698 4699// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of 4700// the ability to pass a context and additional request options. 4701// 4702// See PutBucketEncryption for details on how to use this API operation. 4703// 4704// The context must be non-nil and will be used for request cancellation. If 4705// the context is nil a panic will occur. In the future the SDK may create 4706// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4707// for more information on using Contexts. 4708func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) { 4709 req, out := c.PutBucketEncryptionRequest(input) 4710 req.SetContext(ctx) 4711 req.ApplyOptions(opts...) 4712 return out, req.Send() 4713} 4714 4715const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration" 4716 4717// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 4718// client's request for the PutBucketInventoryConfiguration operation. The "output" return 4719// value will be populated with the request's response once the request completes 4720// successfuly. 4721// 4722// Use "Send" method on the returned Request to send the API call to the service. 4723// the "output" return value is not valid until after Send returns without error. 4724// 4725// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration 4726// API call, and error handling. 4727// 4728// This method is useful when you want to inject custom logic or configuration 4729// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4730// 4731// 4732// // Example sending a request using the PutBucketInventoryConfigurationRequest method. 4733// req, resp := client.PutBucketInventoryConfigurationRequest(params) 4734// 4735// err := req.Send() 4736// if err == nil { // resp is now filled 4737// fmt.Println(resp) 4738// } 4739// 4740// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 4741func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) { 4742 op := &request.Operation{ 4743 Name: opPutBucketInventoryConfiguration, 4744 HTTPMethod: "PUT", 4745 HTTPPath: "/{Bucket}?inventory", 4746 } 4747 4748 if input == nil { 4749 input = &PutBucketInventoryConfigurationInput{} 4750 } 4751 4752 output = &PutBucketInventoryConfigurationOutput{} 4753 req = c.newRequest(op, input, output) 4754 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4755 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4756 return 4757} 4758 4759// PutBucketInventoryConfiguration API operation for Amazon Simple Storage Service. 4760// 4761// Adds an inventory configuration (identified by the inventory ID) from the 4762// bucket. 4763// 4764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4765// with awserr.Error's Code and Message methods to get detailed information about 4766// the error. 4767// 4768// See the AWS API reference guide for Amazon Simple Storage Service's 4769// API operation PutBucketInventoryConfiguration for usage and error information. 4770// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 4771func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) { 4772 req, out := c.PutBucketInventoryConfigurationRequest(input) 4773 return out, req.Send() 4774} 4775 4776// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of 4777// the ability to pass a context and additional request options. 4778// 4779// See PutBucketInventoryConfiguration for details on how to use this API operation. 4780// 4781// The context must be non-nil and will be used for request cancellation. If 4782// the context is nil a panic will occur. In the future the SDK may create 4783// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4784// for more information on using Contexts. 4785func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) { 4786 req, out := c.PutBucketInventoryConfigurationRequest(input) 4787 req.SetContext(ctx) 4788 req.ApplyOptions(opts...) 4789 return out, req.Send() 4790} 4791 4792const opPutBucketLifecycle = "PutBucketLifecycle" 4793 4794// PutBucketLifecycleRequest generates a "aws/request.Request" representing the 4795// client's request for the PutBucketLifecycle operation. The "output" return 4796// value will be populated with the request's response once the request completes 4797// successfuly. 4798// 4799// Use "Send" method on the returned Request to send the API call to the service. 4800// the "output" return value is not valid until after Send returns without error. 4801// 4802// See PutBucketLifecycle for more information on using the PutBucketLifecycle 4803// API call, and error handling. 4804// 4805// This method is useful when you want to inject custom logic or configuration 4806// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4807// 4808// 4809// // Example sending a request using the PutBucketLifecycleRequest method. 4810// req, resp := client.PutBucketLifecycleRequest(params) 4811// 4812// err := req.Send() 4813// if err == nil { // resp is now filled 4814// fmt.Println(resp) 4815// } 4816// 4817// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 4818func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) { 4819 if c.Client.Config.Logger != nil { 4820 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated") 4821 } 4822 op := &request.Operation{ 4823 Name: opPutBucketLifecycle, 4824 HTTPMethod: "PUT", 4825 HTTPPath: "/{Bucket}?lifecycle", 4826 } 4827 4828 if input == nil { 4829 input = &PutBucketLifecycleInput{} 4830 } 4831 4832 output = &PutBucketLifecycleOutput{} 4833 req = c.newRequest(op, input, output) 4834 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4835 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4836 return 4837} 4838 4839// PutBucketLifecycle API operation for Amazon Simple Storage Service. 4840// 4841// Deprecated, see the PutBucketLifecycleConfiguration operation. 4842// 4843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4844// with awserr.Error's Code and Message methods to get detailed information about 4845// the error. 4846// 4847// See the AWS API reference guide for Amazon Simple Storage Service's 4848// API operation PutBucketLifecycle for usage and error information. 4849// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 4850func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) { 4851 req, out := c.PutBucketLifecycleRequest(input) 4852 return out, req.Send() 4853} 4854 4855// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of 4856// the ability to pass a context and additional request options. 4857// 4858// See PutBucketLifecycle for details on how to use this API operation. 4859// 4860// The context must be non-nil and will be used for request cancellation. If 4861// the context is nil a panic will occur. In the future the SDK may create 4862// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4863// for more information on using Contexts. 4864func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) { 4865 req, out := c.PutBucketLifecycleRequest(input) 4866 req.SetContext(ctx) 4867 req.ApplyOptions(opts...) 4868 return out, req.Send() 4869} 4870 4871const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" 4872 4873// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 4874// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 4875// value will be populated with the request's response once the request completes 4876// successfuly. 4877// 4878// Use "Send" method on the returned Request to send the API call to the service. 4879// the "output" return value is not valid until after Send returns without error. 4880// 4881// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration 4882// API call, and error handling. 4883// 4884// This method is useful when you want to inject custom logic or configuration 4885// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4886// 4887// 4888// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 4889// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 4890// 4891// err := req.Send() 4892// if err == nil { // resp is now filled 4893// fmt.Println(resp) 4894// } 4895// 4896// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 4897func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 4898 op := &request.Operation{ 4899 Name: opPutBucketLifecycleConfiguration, 4900 HTTPMethod: "PUT", 4901 HTTPPath: "/{Bucket}?lifecycle", 4902 } 4903 4904 if input == nil { 4905 input = &PutBucketLifecycleConfigurationInput{} 4906 } 4907 4908 output = &PutBucketLifecycleConfigurationOutput{} 4909 req = c.newRequest(op, input, output) 4910 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4911 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4912 return 4913} 4914 4915// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. 4916// 4917// Sets lifecycle configuration for your bucket. If a lifecycle configuration 4918// exists, it replaces it. 4919// 4920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4921// with awserr.Error's Code and Message methods to get detailed information about 4922// the error. 4923// 4924// See the AWS API reference guide for Amazon Simple Storage Service's 4925// API operation PutBucketLifecycleConfiguration for usage and error information. 4926// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 4927func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 4928 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4929 return out, req.Send() 4930} 4931 4932// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of 4933// the ability to pass a context and additional request options. 4934// 4935// See PutBucketLifecycleConfiguration for details on how to use this API operation. 4936// 4937// The context must be non-nil and will be used for request cancellation. If 4938// the context is nil a panic will occur. In the future the SDK may create 4939// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4940// for more information on using Contexts. 4941func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) { 4942 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4943 req.SetContext(ctx) 4944 req.ApplyOptions(opts...) 4945 return out, req.Send() 4946} 4947 4948const opPutBucketLogging = "PutBucketLogging" 4949 4950// PutBucketLoggingRequest generates a "aws/request.Request" representing the 4951// client's request for the PutBucketLogging operation. The "output" return 4952// value will be populated with the request's response once the request completes 4953// successfuly. 4954// 4955// Use "Send" method on the returned Request to send the API call to the service. 4956// the "output" return value is not valid until after Send returns without error. 4957// 4958// See PutBucketLogging for more information on using the PutBucketLogging 4959// API call, and error handling. 4960// 4961// This method is useful when you want to inject custom logic or configuration 4962// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4963// 4964// 4965// // Example sending a request using the PutBucketLoggingRequest method. 4966// req, resp := client.PutBucketLoggingRequest(params) 4967// 4968// err := req.Send() 4969// if err == nil { // resp is now filled 4970// fmt.Println(resp) 4971// } 4972// 4973// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 4974func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) { 4975 op := &request.Operation{ 4976 Name: opPutBucketLogging, 4977 HTTPMethod: "PUT", 4978 HTTPPath: "/{Bucket}?logging", 4979 } 4980 4981 if input == nil { 4982 input = &PutBucketLoggingInput{} 4983 } 4984 4985 output = &PutBucketLoggingOutput{} 4986 req = c.newRequest(op, input, output) 4987 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 4988 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 4989 return 4990} 4991 4992// PutBucketLogging API operation for Amazon Simple Storage Service. 4993// 4994// Set the logging parameters for a bucket and to specify permissions for who 4995// can view and modify the logging parameters. To set the logging status of 4996// a bucket, you must be the bucket owner. 4997// 4998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4999// with awserr.Error's Code and Message methods to get detailed information about 5000// the error. 5001// 5002// See the AWS API reference guide for Amazon Simple Storage Service's 5003// API operation PutBucketLogging for usage and error information. 5004// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 5005func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) { 5006 req, out := c.PutBucketLoggingRequest(input) 5007 return out, req.Send() 5008} 5009 5010// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of 5011// the ability to pass a context and additional request options. 5012// 5013// See PutBucketLogging for details on how to use this API operation. 5014// 5015// The context must be non-nil and will be used for request cancellation. If 5016// the context is nil a panic will occur. In the future the SDK may create 5017// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5018// for more information on using Contexts. 5019func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) { 5020 req, out := c.PutBucketLoggingRequest(input) 5021 req.SetContext(ctx) 5022 req.ApplyOptions(opts...) 5023 return out, req.Send() 5024} 5025 5026const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration" 5027 5028// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 5029// client's request for the PutBucketMetricsConfiguration operation. The "output" return 5030// value will be populated with the request's response once the request completes 5031// successfuly. 5032// 5033// Use "Send" method on the returned Request to send the API call to the service. 5034// the "output" return value is not valid until after Send returns without error. 5035// 5036// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration 5037// API call, and error handling. 5038// 5039// This method is useful when you want to inject custom logic or configuration 5040// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5041// 5042// 5043// // Example sending a request using the PutBucketMetricsConfigurationRequest method. 5044// req, resp := client.PutBucketMetricsConfigurationRequest(params) 5045// 5046// err := req.Send() 5047// if err == nil { // resp is now filled 5048// fmt.Println(resp) 5049// } 5050// 5051// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5052func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) { 5053 op := &request.Operation{ 5054 Name: opPutBucketMetricsConfiguration, 5055 HTTPMethod: "PUT", 5056 HTTPPath: "/{Bucket}?metrics", 5057 } 5058 5059 if input == nil { 5060 input = &PutBucketMetricsConfigurationInput{} 5061 } 5062 5063 output = &PutBucketMetricsConfigurationOutput{} 5064 req = c.newRequest(op, input, output) 5065 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5066 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5067 return 5068} 5069 5070// PutBucketMetricsConfiguration API operation for Amazon Simple Storage Service. 5071// 5072// Sets a metrics configuration (specified by the metrics configuration ID) 5073// for the bucket. 5074// 5075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5076// with awserr.Error's Code and Message methods to get detailed information about 5077// the error. 5078// 5079// See the AWS API reference guide for Amazon Simple Storage Service's 5080// API operation PutBucketMetricsConfiguration for usage and error information. 5081// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5082func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) { 5083 req, out := c.PutBucketMetricsConfigurationRequest(input) 5084 return out, req.Send() 5085} 5086 5087// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of 5088// the ability to pass a context and additional request options. 5089// 5090// See PutBucketMetricsConfiguration for details on how to use this API operation. 5091// 5092// The context must be non-nil and will be used for request cancellation. If 5093// the context is nil a panic will occur. In the future the SDK may create 5094// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5095// for more information on using Contexts. 5096func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) { 5097 req, out := c.PutBucketMetricsConfigurationRequest(input) 5098 req.SetContext(ctx) 5099 req.ApplyOptions(opts...) 5100 return out, req.Send() 5101} 5102 5103const opPutBucketNotification = "PutBucketNotification" 5104 5105// PutBucketNotificationRequest generates a "aws/request.Request" representing the 5106// client's request for the PutBucketNotification operation. The "output" return 5107// value will be populated with the request's response once the request completes 5108// successfuly. 5109// 5110// Use "Send" method on the returned Request to send the API call to the service. 5111// the "output" return value is not valid until after Send returns without error. 5112// 5113// See PutBucketNotification for more information on using the PutBucketNotification 5114// API call, and error handling. 5115// 5116// This method is useful when you want to inject custom logic or configuration 5117// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5118// 5119// 5120// // Example sending a request using the PutBucketNotificationRequest method. 5121// req, resp := client.PutBucketNotificationRequest(params) 5122// 5123// err := req.Send() 5124// if err == nil { // resp is now filled 5125// fmt.Println(resp) 5126// } 5127// 5128// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5129func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) { 5130 if c.Client.Config.Logger != nil { 5131 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated") 5132 } 5133 op := &request.Operation{ 5134 Name: opPutBucketNotification, 5135 HTTPMethod: "PUT", 5136 HTTPPath: "/{Bucket}?notification", 5137 } 5138 5139 if input == nil { 5140 input = &PutBucketNotificationInput{} 5141 } 5142 5143 output = &PutBucketNotificationOutput{} 5144 req = c.newRequest(op, input, output) 5145 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5146 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5147 return 5148} 5149 5150// PutBucketNotification API operation for Amazon Simple Storage Service. 5151// 5152// Deprecated, see the PutBucketNotificationConfiguraiton operation. 5153// 5154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5155// with awserr.Error's Code and Message methods to get detailed information about 5156// the error. 5157// 5158// See the AWS API reference guide for Amazon Simple Storage Service's 5159// API operation PutBucketNotification for usage and error information. 5160// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5161func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) { 5162 req, out := c.PutBucketNotificationRequest(input) 5163 return out, req.Send() 5164} 5165 5166// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of 5167// the ability to pass a context and additional request options. 5168// 5169// See PutBucketNotification for details on how to use this API operation. 5170// 5171// The context must be non-nil and will be used for request cancellation. If 5172// the context is nil a panic will occur. In the future the SDK may create 5173// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5174// for more information on using Contexts. 5175func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) { 5176 req, out := c.PutBucketNotificationRequest(input) 5177 req.SetContext(ctx) 5178 req.ApplyOptions(opts...) 5179 return out, req.Send() 5180} 5181 5182const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration" 5183 5184// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 5185// client's request for the PutBucketNotificationConfiguration operation. The "output" return 5186// value will be populated with the request's response once the request completes 5187// successfuly. 5188// 5189// Use "Send" method on the returned Request to send the API call to the service. 5190// the "output" return value is not valid until after Send returns without error. 5191// 5192// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration 5193// API call, and error handling. 5194// 5195// This method is useful when you want to inject custom logic or configuration 5196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5197// 5198// 5199// // Example sending a request using the PutBucketNotificationConfigurationRequest method. 5200// req, resp := client.PutBucketNotificationConfigurationRequest(params) 5201// 5202// err := req.Send() 5203// if err == nil { // resp is now filled 5204// fmt.Println(resp) 5205// } 5206// 5207// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5208func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) { 5209 op := &request.Operation{ 5210 Name: opPutBucketNotificationConfiguration, 5211 HTTPMethod: "PUT", 5212 HTTPPath: "/{Bucket}?notification", 5213 } 5214 5215 if input == nil { 5216 input = &PutBucketNotificationConfigurationInput{} 5217 } 5218 5219 output = &PutBucketNotificationConfigurationOutput{} 5220 req = c.newRequest(op, input, output) 5221 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5222 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5223 return 5224} 5225 5226// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service. 5227// 5228// Enables notifications of specified events for a bucket. 5229// 5230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5231// with awserr.Error's Code and Message methods to get detailed information about 5232// the error. 5233// 5234// See the AWS API reference guide for Amazon Simple Storage Service's 5235// API operation PutBucketNotificationConfiguration for usage and error information. 5236// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5237func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) { 5238 req, out := c.PutBucketNotificationConfigurationRequest(input) 5239 return out, req.Send() 5240} 5241 5242// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of 5243// the ability to pass a context and additional request options. 5244// 5245// See PutBucketNotificationConfiguration for details on how to use this API operation. 5246// 5247// The context must be non-nil and will be used for request cancellation. If 5248// the context is nil a panic will occur. In the future the SDK may create 5249// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5250// for more information on using Contexts. 5251func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) { 5252 req, out := c.PutBucketNotificationConfigurationRequest(input) 5253 req.SetContext(ctx) 5254 req.ApplyOptions(opts...) 5255 return out, req.Send() 5256} 5257 5258const opPutBucketPolicy = "PutBucketPolicy" 5259 5260// PutBucketPolicyRequest generates a "aws/request.Request" representing the 5261// client's request for the PutBucketPolicy operation. The "output" return 5262// value will be populated with the request's response once the request completes 5263// successfuly. 5264// 5265// Use "Send" method on the returned Request to send the API call to the service. 5266// the "output" return value is not valid until after Send returns without error. 5267// 5268// See PutBucketPolicy for more information on using the PutBucketPolicy 5269// API call, and error handling. 5270// 5271// This method is useful when you want to inject custom logic or configuration 5272// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5273// 5274// 5275// // Example sending a request using the PutBucketPolicyRequest method. 5276// req, resp := client.PutBucketPolicyRequest(params) 5277// 5278// err := req.Send() 5279// if err == nil { // resp is now filled 5280// fmt.Println(resp) 5281// } 5282// 5283// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5284func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 5285 op := &request.Operation{ 5286 Name: opPutBucketPolicy, 5287 HTTPMethod: "PUT", 5288 HTTPPath: "/{Bucket}?policy", 5289 } 5290 5291 if input == nil { 5292 input = &PutBucketPolicyInput{} 5293 } 5294 5295 output = &PutBucketPolicyOutput{} 5296 req = c.newRequest(op, input, output) 5297 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5298 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5299 return 5300} 5301 5302// PutBucketPolicy API operation for Amazon Simple Storage Service. 5303// 5304// Replaces a policy on a bucket. If the bucket already has a policy, the one 5305// in this request completely replaces it. 5306// 5307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5308// with awserr.Error's Code and Message methods to get detailed information about 5309// the error. 5310// 5311// See the AWS API reference guide for Amazon Simple Storage Service's 5312// API operation PutBucketPolicy for usage and error information. 5313// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5314func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 5315 req, out := c.PutBucketPolicyRequest(input) 5316 return out, req.Send() 5317} 5318 5319// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of 5320// the ability to pass a context and additional request options. 5321// 5322// See PutBucketPolicy for details on how to use this API operation. 5323// 5324// The context must be non-nil and will be used for request cancellation. If 5325// the context is nil a panic will occur. In the future the SDK may create 5326// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5327// for more information on using Contexts. 5328func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) { 5329 req, out := c.PutBucketPolicyRequest(input) 5330 req.SetContext(ctx) 5331 req.ApplyOptions(opts...) 5332 return out, req.Send() 5333} 5334 5335const opPutBucketReplication = "PutBucketReplication" 5336 5337// PutBucketReplicationRequest generates a "aws/request.Request" representing the 5338// client's request for the PutBucketReplication operation. The "output" return 5339// value will be populated with the request's response once the request completes 5340// successfuly. 5341// 5342// Use "Send" method on the returned Request to send the API call to the service. 5343// the "output" return value is not valid until after Send returns without error. 5344// 5345// See PutBucketReplication for more information on using the PutBucketReplication 5346// API call, and error handling. 5347// 5348// This method is useful when you want to inject custom logic or configuration 5349// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5350// 5351// 5352// // Example sending a request using the PutBucketReplicationRequest method. 5353// req, resp := client.PutBucketReplicationRequest(params) 5354// 5355// err := req.Send() 5356// if err == nil { // resp is now filled 5357// fmt.Println(resp) 5358// } 5359// 5360// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5361func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { 5362 op := &request.Operation{ 5363 Name: opPutBucketReplication, 5364 HTTPMethod: "PUT", 5365 HTTPPath: "/{Bucket}?replication", 5366 } 5367 5368 if input == nil { 5369 input = &PutBucketReplicationInput{} 5370 } 5371 5372 output = &PutBucketReplicationOutput{} 5373 req = c.newRequest(op, input, output) 5374 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5375 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5376 return 5377} 5378 5379// PutBucketReplication API operation for Amazon Simple Storage Service. 5380// 5381// Creates a new replication configuration (or replaces an existing one, if 5382// present). 5383// 5384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5385// with awserr.Error's Code and Message methods to get detailed information about 5386// the error. 5387// 5388// See the AWS API reference guide for Amazon Simple Storage Service's 5389// API operation PutBucketReplication for usage and error information. 5390// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5391func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { 5392 req, out := c.PutBucketReplicationRequest(input) 5393 return out, req.Send() 5394} 5395 5396// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of 5397// the ability to pass a context and additional request options. 5398// 5399// See PutBucketReplication for details on how to use this API operation. 5400// 5401// The context must be non-nil and will be used for request cancellation. If 5402// the context is nil a panic will occur. In the future the SDK may create 5403// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5404// for more information on using Contexts. 5405func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) { 5406 req, out := c.PutBucketReplicationRequest(input) 5407 req.SetContext(ctx) 5408 req.ApplyOptions(opts...) 5409 return out, req.Send() 5410} 5411 5412const opPutBucketRequestPayment = "PutBucketRequestPayment" 5413 5414// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the 5415// client's request for the PutBucketRequestPayment operation. The "output" return 5416// value will be populated with the request's response once the request completes 5417// successfuly. 5418// 5419// Use "Send" method on the returned Request to send the API call to the service. 5420// the "output" return value is not valid until after Send returns without error. 5421// 5422// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment 5423// API call, and error handling. 5424// 5425// This method is useful when you want to inject custom logic or configuration 5426// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5427// 5428// 5429// // Example sending a request using the PutBucketRequestPaymentRequest method. 5430// req, resp := client.PutBucketRequestPaymentRequest(params) 5431// 5432// err := req.Send() 5433// if err == nil { // resp is now filled 5434// fmt.Println(resp) 5435// } 5436// 5437// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5438func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) { 5439 op := &request.Operation{ 5440 Name: opPutBucketRequestPayment, 5441 HTTPMethod: "PUT", 5442 HTTPPath: "/{Bucket}?requestPayment", 5443 } 5444 5445 if input == nil { 5446 input = &PutBucketRequestPaymentInput{} 5447 } 5448 5449 output = &PutBucketRequestPaymentOutput{} 5450 req = c.newRequest(op, input, output) 5451 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5452 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5453 return 5454} 5455 5456// PutBucketRequestPayment API operation for Amazon Simple Storage Service. 5457// 5458// Sets the request payment configuration for a bucket. By default, the bucket 5459// owner pays for downloads from the bucket. This configuration parameter enables 5460// the bucket owner (only) to specify that the person requesting the download 5461// will be charged for the download. Documentation on requester pays buckets 5462// can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html 5463// 5464// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5465// with awserr.Error's Code and Message methods to get detailed information about 5466// the error. 5467// 5468// See the AWS API reference guide for Amazon Simple Storage Service's 5469// API operation PutBucketRequestPayment for usage and error information. 5470// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5471func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) { 5472 req, out := c.PutBucketRequestPaymentRequest(input) 5473 return out, req.Send() 5474} 5475 5476// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of 5477// the ability to pass a context and additional request options. 5478// 5479// See PutBucketRequestPayment for details on how to use this API operation. 5480// 5481// The context must be non-nil and will be used for request cancellation. If 5482// the context is nil a panic will occur. In the future the SDK may create 5483// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5484// for more information on using Contexts. 5485func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) { 5486 req, out := c.PutBucketRequestPaymentRequest(input) 5487 req.SetContext(ctx) 5488 req.ApplyOptions(opts...) 5489 return out, req.Send() 5490} 5491 5492const opPutBucketTagging = "PutBucketTagging" 5493 5494// PutBucketTaggingRequest generates a "aws/request.Request" representing the 5495// client's request for the PutBucketTagging operation. The "output" return 5496// value will be populated with the request's response once the request completes 5497// successfuly. 5498// 5499// Use "Send" method on the returned Request to send the API call to the service. 5500// the "output" return value is not valid until after Send returns without error. 5501// 5502// See PutBucketTagging for more information on using the PutBucketTagging 5503// API call, and error handling. 5504// 5505// This method is useful when you want to inject custom logic or configuration 5506// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5507// 5508// 5509// // Example sending a request using the PutBucketTaggingRequest method. 5510// req, resp := client.PutBucketTaggingRequest(params) 5511// 5512// err := req.Send() 5513// if err == nil { // resp is now filled 5514// fmt.Println(resp) 5515// } 5516// 5517// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5518func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 5519 op := &request.Operation{ 5520 Name: opPutBucketTagging, 5521 HTTPMethod: "PUT", 5522 HTTPPath: "/{Bucket}?tagging", 5523 } 5524 5525 if input == nil { 5526 input = &PutBucketTaggingInput{} 5527 } 5528 5529 output = &PutBucketTaggingOutput{} 5530 req = c.newRequest(op, input, output) 5531 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5532 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5533 return 5534} 5535 5536// PutBucketTagging API operation for Amazon Simple Storage Service. 5537// 5538// Sets the tags for a bucket. 5539// 5540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5541// with awserr.Error's Code and Message methods to get detailed information about 5542// the error. 5543// 5544// See the AWS API reference guide for Amazon Simple Storage Service's 5545// API operation PutBucketTagging for usage and error information. 5546// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5547func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 5548 req, out := c.PutBucketTaggingRequest(input) 5549 return out, req.Send() 5550} 5551 5552// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 5553// the ability to pass a context and additional request options. 5554// 5555// See PutBucketTagging for details on how to use this API operation. 5556// 5557// The context must be non-nil and will be used for request cancellation. If 5558// the context is nil a panic will occur. In the future the SDK may create 5559// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5560// for more information on using Contexts. 5561func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 5562 req, out := c.PutBucketTaggingRequest(input) 5563 req.SetContext(ctx) 5564 req.ApplyOptions(opts...) 5565 return out, req.Send() 5566} 5567 5568const opPutBucketVersioning = "PutBucketVersioning" 5569 5570// PutBucketVersioningRequest generates a "aws/request.Request" representing the 5571// client's request for the PutBucketVersioning operation. The "output" return 5572// value will be populated with the request's response once the request completes 5573// successfuly. 5574// 5575// Use "Send" method on the returned Request to send the API call to the service. 5576// the "output" return value is not valid until after Send returns without error. 5577// 5578// See PutBucketVersioning for more information on using the PutBucketVersioning 5579// API call, and error handling. 5580// 5581// This method is useful when you want to inject custom logic or configuration 5582// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5583// 5584// 5585// // Example sending a request using the PutBucketVersioningRequest method. 5586// req, resp := client.PutBucketVersioningRequest(params) 5587// 5588// err := req.Send() 5589// if err == nil { // resp is now filled 5590// fmt.Println(resp) 5591// } 5592// 5593// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 5594func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) { 5595 op := &request.Operation{ 5596 Name: opPutBucketVersioning, 5597 HTTPMethod: "PUT", 5598 HTTPPath: "/{Bucket}?versioning", 5599 } 5600 5601 if input == nil { 5602 input = &PutBucketVersioningInput{} 5603 } 5604 5605 output = &PutBucketVersioningOutput{} 5606 req = c.newRequest(op, input, output) 5607 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5608 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5609 return 5610} 5611 5612// PutBucketVersioning API operation for Amazon Simple Storage Service. 5613// 5614// Sets the versioning state of an existing bucket. To set the versioning state, 5615// you must be the bucket owner. 5616// 5617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5618// with awserr.Error's Code and Message methods to get detailed information about 5619// the error. 5620// 5621// See the AWS API reference guide for Amazon Simple Storage Service's 5622// API operation PutBucketVersioning for usage and error information. 5623// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 5624func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) { 5625 req, out := c.PutBucketVersioningRequest(input) 5626 return out, req.Send() 5627} 5628 5629// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of 5630// the ability to pass a context and additional request options. 5631// 5632// See PutBucketVersioning for details on how to use this API operation. 5633// 5634// The context must be non-nil and will be used for request cancellation. If 5635// the context is nil a panic will occur. In the future the SDK may create 5636// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5637// for more information on using Contexts. 5638func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) { 5639 req, out := c.PutBucketVersioningRequest(input) 5640 req.SetContext(ctx) 5641 req.ApplyOptions(opts...) 5642 return out, req.Send() 5643} 5644 5645const opPutBucketWebsite = "PutBucketWebsite" 5646 5647// PutBucketWebsiteRequest generates a "aws/request.Request" representing the 5648// client's request for the PutBucketWebsite operation. The "output" return 5649// value will be populated with the request's response once the request completes 5650// successfuly. 5651// 5652// Use "Send" method on the returned Request to send the API call to the service. 5653// the "output" return value is not valid until after Send returns without error. 5654// 5655// See PutBucketWebsite for more information on using the PutBucketWebsite 5656// API call, and error handling. 5657// 5658// This method is useful when you want to inject custom logic or configuration 5659// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5660// 5661// 5662// // Example sending a request using the PutBucketWebsiteRequest method. 5663// req, resp := client.PutBucketWebsiteRequest(params) 5664// 5665// err := req.Send() 5666// if err == nil { // resp is now filled 5667// fmt.Println(resp) 5668// } 5669// 5670// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 5671func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) { 5672 op := &request.Operation{ 5673 Name: opPutBucketWebsite, 5674 HTTPMethod: "PUT", 5675 HTTPPath: "/{Bucket}?website", 5676 } 5677 5678 if input == nil { 5679 input = &PutBucketWebsiteInput{} 5680 } 5681 5682 output = &PutBucketWebsiteOutput{} 5683 req = c.newRequest(op, input, output) 5684 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) 5685 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) 5686 return 5687} 5688 5689// PutBucketWebsite API operation for Amazon Simple Storage Service. 5690// 5691// Set the website configuration for a bucket. 5692// 5693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5694// with awserr.Error's Code and Message methods to get detailed information about 5695// the error. 5696// 5697// See the AWS API reference guide for Amazon Simple Storage Service's 5698// API operation PutBucketWebsite for usage and error information. 5699// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 5700func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) { 5701 req, out := c.PutBucketWebsiteRequest(input) 5702 return out, req.Send() 5703} 5704 5705// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of 5706// the ability to pass a context and additional request options. 5707// 5708// See PutBucketWebsite for details on how to use this API operation. 5709// 5710// The context must be non-nil and will be used for request cancellation. If 5711// the context is nil a panic will occur. In the future the SDK may create 5712// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5713// for more information on using Contexts. 5714func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) { 5715 req, out := c.PutBucketWebsiteRequest(input) 5716 req.SetContext(ctx) 5717 req.ApplyOptions(opts...) 5718 return out, req.Send() 5719} 5720 5721const opPutObject = "PutObject" 5722 5723// PutObjectRequest generates a "aws/request.Request" representing the 5724// client's request for the PutObject operation. The "output" return 5725// value will be populated with the request's response once the request completes 5726// successfuly. 5727// 5728// Use "Send" method on the returned Request to send the API call to the service. 5729// the "output" return value is not valid until after Send returns without error. 5730// 5731// See PutObject for more information on using the PutObject 5732// API call, and error handling. 5733// 5734// This method is useful when you want to inject custom logic or configuration 5735// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5736// 5737// 5738// // Example sending a request using the PutObjectRequest method. 5739// req, resp := client.PutObjectRequest(params) 5740// 5741// err := req.Send() 5742// if err == nil { // resp is now filled 5743// fmt.Println(resp) 5744// } 5745// 5746// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 5747func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { 5748 op := &request.Operation{ 5749 Name: opPutObject, 5750 HTTPMethod: "PUT", 5751 HTTPPath: "/{Bucket}/{Key+}", 5752 } 5753 5754 if input == nil { 5755 input = &PutObjectInput{} 5756 } 5757 5758 output = &PutObjectOutput{} 5759 req = c.newRequest(op, input, output) 5760 return 5761} 5762 5763// PutObject API operation for Amazon Simple Storage Service. 5764// 5765// Adds an object to a bucket. 5766// 5767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5768// with awserr.Error's Code and Message methods to get detailed information about 5769// the error. 5770// 5771// See the AWS API reference guide for Amazon Simple Storage Service's 5772// API operation PutObject for usage and error information. 5773// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 5774func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { 5775 req, out := c.PutObjectRequest(input) 5776 return out, req.Send() 5777} 5778 5779// PutObjectWithContext is the same as PutObject with the addition of 5780// the ability to pass a context and additional request options. 5781// 5782// See PutObject for details on how to use this API operation. 5783// 5784// The context must be non-nil and will be used for request cancellation. If 5785// the context is nil a panic will occur. In the future the SDK may create 5786// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5787// for more information on using Contexts. 5788func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) { 5789 req, out := c.PutObjectRequest(input) 5790 req.SetContext(ctx) 5791 req.ApplyOptions(opts...) 5792 return out, req.Send() 5793} 5794 5795const opPutObjectAcl = "PutObjectAcl" 5796 5797// PutObjectAclRequest generates a "aws/request.Request" representing the 5798// client's request for the PutObjectAcl operation. The "output" return 5799// value will be populated with the request's response once the request completes 5800// successfuly. 5801// 5802// Use "Send" method on the returned Request to send the API call to the service. 5803// the "output" return value is not valid until after Send returns without error. 5804// 5805// See PutObjectAcl for more information on using the PutObjectAcl 5806// API call, and error handling. 5807// 5808// This method is useful when you want to inject custom logic or configuration 5809// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5810// 5811// 5812// // Example sending a request using the PutObjectAclRequest method. 5813// req, resp := client.PutObjectAclRequest(params) 5814// 5815// err := req.Send() 5816// if err == nil { // resp is now filled 5817// fmt.Println(resp) 5818// } 5819// 5820// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 5821func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) { 5822 op := &request.Operation{ 5823 Name: opPutObjectAcl, 5824 HTTPMethod: "PUT", 5825 HTTPPath: "/{Bucket}/{Key+}?acl", 5826 } 5827 5828 if input == nil { 5829 input = &PutObjectAclInput{} 5830 } 5831 5832 output = &PutObjectAclOutput{} 5833 req = c.newRequest(op, input, output) 5834 return 5835} 5836 5837// PutObjectAcl API operation for Amazon Simple Storage Service. 5838// 5839// uses the acl subresource to set the access control list (ACL) permissions 5840// for an object that already exists in a bucket 5841// 5842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5843// with awserr.Error's Code and Message methods to get detailed information about 5844// the error. 5845// 5846// See the AWS API reference guide for Amazon Simple Storage Service's 5847// API operation PutObjectAcl for usage and error information. 5848// 5849// Returned Error Codes: 5850// * ErrCodeNoSuchKey "NoSuchKey" 5851// The specified key does not exist. 5852// 5853// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 5854func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) { 5855 req, out := c.PutObjectAclRequest(input) 5856 return out, req.Send() 5857} 5858 5859// PutObjectAclWithContext is the same as PutObjectAcl with the addition of 5860// the ability to pass a context and additional request options. 5861// 5862// See PutObjectAcl for details on how to use this API operation. 5863// 5864// The context must be non-nil and will be used for request cancellation. If 5865// the context is nil a panic will occur. In the future the SDK may create 5866// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5867// for more information on using Contexts. 5868func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) { 5869 req, out := c.PutObjectAclRequest(input) 5870 req.SetContext(ctx) 5871 req.ApplyOptions(opts...) 5872 return out, req.Send() 5873} 5874 5875const opPutObjectTagging = "PutObjectTagging" 5876 5877// PutObjectTaggingRequest generates a "aws/request.Request" representing the 5878// client's request for the PutObjectTagging operation. The "output" return 5879// value will be populated with the request's response once the request completes 5880// successfuly. 5881// 5882// Use "Send" method on the returned Request to send the API call to the service. 5883// the "output" return value is not valid until after Send returns without error. 5884// 5885// See PutObjectTagging for more information on using the PutObjectTagging 5886// API call, and error handling. 5887// 5888// This method is useful when you want to inject custom logic or configuration 5889// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5890// 5891// 5892// // Example sending a request using the PutObjectTaggingRequest method. 5893// req, resp := client.PutObjectTaggingRequest(params) 5894// 5895// err := req.Send() 5896// if err == nil { // resp is now filled 5897// fmt.Println(resp) 5898// } 5899// 5900// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 5901func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) { 5902 op := &request.Operation{ 5903 Name: opPutObjectTagging, 5904 HTTPMethod: "PUT", 5905 HTTPPath: "/{Bucket}/{Key+}?tagging", 5906 } 5907 5908 if input == nil { 5909 input = &PutObjectTaggingInput{} 5910 } 5911 5912 output = &PutObjectTaggingOutput{} 5913 req = c.newRequest(op, input, output) 5914 return 5915} 5916 5917// PutObjectTagging API operation for Amazon Simple Storage Service. 5918// 5919// Sets the supplied tag-set to an object that already exists in a bucket 5920// 5921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5922// with awserr.Error's Code and Message methods to get detailed information about 5923// the error. 5924// 5925// See the AWS API reference guide for Amazon Simple Storage Service's 5926// API operation PutObjectTagging for usage and error information. 5927// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 5928func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) { 5929 req, out := c.PutObjectTaggingRequest(input) 5930 return out, req.Send() 5931} 5932 5933// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of 5934// the ability to pass a context and additional request options. 5935// 5936// See PutObjectTagging for details on how to use this API operation. 5937// 5938// The context must be non-nil and will be used for request cancellation. If 5939// the context is nil a panic will occur. In the future the SDK may create 5940// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5941// for more information on using Contexts. 5942func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) { 5943 req, out := c.PutObjectTaggingRequest(input) 5944 req.SetContext(ctx) 5945 req.ApplyOptions(opts...) 5946 return out, req.Send() 5947} 5948 5949const opRestoreObject = "RestoreObject" 5950 5951// RestoreObjectRequest generates a "aws/request.Request" representing the 5952// client's request for the RestoreObject operation. The "output" return 5953// value will be populated with the request's response once the request completes 5954// successfuly. 5955// 5956// Use "Send" method on the returned Request to send the API call to the service. 5957// the "output" return value is not valid until after Send returns without error. 5958// 5959// See RestoreObject for more information on using the RestoreObject 5960// API call, and error handling. 5961// 5962// This method is useful when you want to inject custom logic or configuration 5963// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5964// 5965// 5966// // Example sending a request using the RestoreObjectRequest method. 5967// req, resp := client.RestoreObjectRequest(params) 5968// 5969// err := req.Send() 5970// if err == nil { // resp is now filled 5971// fmt.Println(resp) 5972// } 5973// 5974// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 5975func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) { 5976 op := &request.Operation{ 5977 Name: opRestoreObject, 5978 HTTPMethod: "POST", 5979 HTTPPath: "/{Bucket}/{Key+}?restore", 5980 } 5981 5982 if input == nil { 5983 input = &RestoreObjectInput{} 5984 } 5985 5986 output = &RestoreObjectOutput{} 5987 req = c.newRequest(op, input, output) 5988 return 5989} 5990 5991// RestoreObject API operation for Amazon Simple Storage Service. 5992// 5993// Restores an archived copy of an object back into Amazon S3 5994// 5995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5996// with awserr.Error's Code and Message methods to get detailed information about 5997// the error. 5998// 5999// See the AWS API reference guide for Amazon Simple Storage Service's 6000// API operation RestoreObject for usage and error information. 6001// 6002// Returned Error Codes: 6003// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError" 6004// This operation is not allowed against this storage tier 6005// 6006// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 6007func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) { 6008 req, out := c.RestoreObjectRequest(input) 6009 return out, req.Send() 6010} 6011 6012// RestoreObjectWithContext is the same as RestoreObject with the addition of 6013// the ability to pass a context and additional request options. 6014// 6015// See RestoreObject for details on how to use this API operation. 6016// 6017// The context must be non-nil and will be used for request cancellation. If 6018// the context is nil a panic will occur. In the future the SDK may create 6019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6020// for more information on using Contexts. 6021func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) { 6022 req, out := c.RestoreObjectRequest(input) 6023 req.SetContext(ctx) 6024 req.ApplyOptions(opts...) 6025 return out, req.Send() 6026} 6027 6028const opSelectObjectContent = "SelectObjectContent" 6029 6030// SelectObjectContentRequest generates a "aws/request.Request" representing the 6031// client's request for the SelectObjectContent operation. The "output" return 6032// value will be populated with the request's response once the request completes 6033// successfuly. 6034// 6035// Use "Send" method on the returned Request to send the API call to the service. 6036// the "output" return value is not valid until after Send returns without error. 6037// 6038// See SelectObjectContent for more information on using the SelectObjectContent 6039// API call, and error handling. 6040// 6041// This method is useful when you want to inject custom logic or configuration 6042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6043// 6044// 6045// // Example sending a request using the SelectObjectContentRequest method. 6046// req, resp := client.SelectObjectContentRequest(params) 6047// 6048// err := req.Send() 6049// if err == nil { // resp is now filled 6050// fmt.Println(resp) 6051// } 6052// 6053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent 6054func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) { 6055 op := &request.Operation{ 6056 Name: opSelectObjectContent, 6057 HTTPMethod: "POST", 6058 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2", 6059 } 6060 6061 if input == nil { 6062 input = &SelectObjectContentInput{} 6063 } 6064 6065 output = &SelectObjectContentOutput{} 6066 req = c.newRequest(op, input, output) 6067 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler) 6068 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler) 6069 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop) 6070 return 6071} 6072 6073// SelectObjectContent API operation for Amazon Simple Storage Service. 6074// 6075// This operation filters the contents of an Amazon S3 object based on a simple 6076// Structured Query Language (SQL) statement. In the request, along with the 6077// SQL expression, you must also specify a data serialization format (JSON or 6078// CSV) of the object. Amazon S3 uses this to parse object data into records, 6079// and returns only records that match the specified SQL expression. You must 6080// also specify the data serialization format for the response. 6081// 6082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6083// with awserr.Error's Code and Message methods to get detailed information about 6084// the error. 6085// 6086// See the AWS API reference guide for Amazon Simple Storage Service's 6087// API operation SelectObjectContent for usage and error information. 6088// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent 6089func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) { 6090 req, out := c.SelectObjectContentRequest(input) 6091 return out, req.Send() 6092} 6093 6094// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of 6095// the ability to pass a context and additional request options. 6096// 6097// See SelectObjectContent for details on how to use this API operation. 6098// 6099// The context must be non-nil and will be used for request cancellation. If 6100// the context is nil a panic will occur. In the future the SDK may create 6101// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6102// for more information on using Contexts. 6103func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) { 6104 req, out := c.SelectObjectContentRequest(input) 6105 req.SetContext(ctx) 6106 req.ApplyOptions(opts...) 6107 return out, req.Send() 6108} 6109 6110const opUploadPart = "UploadPart" 6111 6112// UploadPartRequest generates a "aws/request.Request" representing the 6113// client's request for the UploadPart operation. The "output" return 6114// value will be populated with the request's response once the request completes 6115// successfuly. 6116// 6117// Use "Send" method on the returned Request to send the API call to the service. 6118// the "output" return value is not valid until after Send returns without error. 6119// 6120// See UploadPart for more information on using the UploadPart 6121// API call, and error handling. 6122// 6123// This method is useful when you want to inject custom logic or configuration 6124// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6125// 6126// 6127// // Example sending a request using the UploadPartRequest method. 6128// req, resp := client.UploadPartRequest(params) 6129// 6130// err := req.Send() 6131// if err == nil { // resp is now filled 6132// fmt.Println(resp) 6133// } 6134// 6135// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6136func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) { 6137 op := &request.Operation{ 6138 Name: opUploadPart, 6139 HTTPMethod: "PUT", 6140 HTTPPath: "/{Bucket}/{Key+}", 6141 } 6142 6143 if input == nil { 6144 input = &UploadPartInput{} 6145 } 6146 6147 output = &UploadPartOutput{} 6148 req = c.newRequest(op, input, output) 6149 return 6150} 6151 6152// UploadPart API operation for Amazon Simple Storage Service. 6153// 6154// Uploads a part in a multipart upload. 6155// 6156// Note: After you initiate multipart upload and upload one or more parts, you 6157// must either complete or abort multipart upload in order to stop getting charged 6158// for storage of the uploaded parts. Only after you either complete or abort 6159// multipart upload, Amazon S3 frees up the parts storage and stops charging 6160// you for the parts storage. 6161// 6162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6163// with awserr.Error's Code and Message methods to get detailed information about 6164// the error. 6165// 6166// See the AWS API reference guide for Amazon Simple Storage Service's 6167// API operation UploadPart for usage and error information. 6168// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6169func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { 6170 req, out := c.UploadPartRequest(input) 6171 return out, req.Send() 6172} 6173 6174// UploadPartWithContext is the same as UploadPart with the addition of 6175// the ability to pass a context and additional request options. 6176// 6177// See UploadPart for details on how to use this API operation. 6178// 6179// The context must be non-nil and will be used for request cancellation. If 6180// the context is nil a panic will occur. In the future the SDK may create 6181// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6182// for more information on using Contexts. 6183func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) { 6184 req, out := c.UploadPartRequest(input) 6185 req.SetContext(ctx) 6186 req.ApplyOptions(opts...) 6187 return out, req.Send() 6188} 6189 6190const opUploadPartCopy = "UploadPartCopy" 6191 6192// UploadPartCopyRequest generates a "aws/request.Request" representing the 6193// client's request for the UploadPartCopy operation. The "output" return 6194// value will be populated with the request's response once the request completes 6195// successfuly. 6196// 6197// Use "Send" method on the returned Request to send the API call to the service. 6198// the "output" return value is not valid until after Send returns without error. 6199// 6200// See UploadPartCopy for more information on using the UploadPartCopy 6201// API call, and error handling. 6202// 6203// This method is useful when you want to inject custom logic or configuration 6204// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6205// 6206// 6207// // Example sending a request using the UploadPartCopyRequest method. 6208// req, resp := client.UploadPartCopyRequest(params) 6209// 6210// err := req.Send() 6211// if err == nil { // resp is now filled 6212// fmt.Println(resp) 6213// } 6214// 6215// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6216func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) { 6217 op := &request.Operation{ 6218 Name: opUploadPartCopy, 6219 HTTPMethod: "PUT", 6220 HTTPPath: "/{Bucket}/{Key+}", 6221 } 6222 6223 if input == nil { 6224 input = &UploadPartCopyInput{} 6225 } 6226 6227 output = &UploadPartCopyOutput{} 6228 req = c.newRequest(op, input, output) 6229 return 6230} 6231 6232// UploadPartCopy API operation for Amazon Simple Storage Service. 6233// 6234// Uploads a part by copying data from an existing object as data source. 6235// 6236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6237// with awserr.Error's Code and Message methods to get detailed information about 6238// the error. 6239// 6240// See the AWS API reference guide for Amazon Simple Storage Service's 6241// API operation UploadPartCopy for usage and error information. 6242// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6243func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) { 6244 req, out := c.UploadPartCopyRequest(input) 6245 return out, req.Send() 6246} 6247 6248// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of 6249// the ability to pass a context and additional request options. 6250// 6251// See UploadPartCopy for details on how to use this API operation. 6252// 6253// The context must be non-nil and will be used for request cancellation. If 6254// the context is nil a panic will occur. In the future the SDK may create 6255// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6256// for more information on using Contexts. 6257func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) { 6258 req, out := c.UploadPartCopyRequest(input) 6259 req.SetContext(ctx) 6260 req.ApplyOptions(opts...) 6261 return out, req.Send() 6262} 6263 6264// Specifies the days since the initiation of an Incomplete Multipart Upload 6265// that Lifecycle will wait before permanently removing all parts of the upload. 6266type AbortIncompleteMultipartUpload struct { 6267 _ struct{} `type:"structure"` 6268 6269 // Indicates the number of days that must pass since initiation for Lifecycle 6270 // to abort an Incomplete Multipart Upload. 6271 DaysAfterInitiation *int64 `type:"integer"` 6272} 6273 6274// String returns the string representation 6275func (s AbortIncompleteMultipartUpload) String() string { 6276 return awsutil.Prettify(s) 6277} 6278 6279// GoString returns the string representation 6280func (s AbortIncompleteMultipartUpload) GoString() string { 6281 return s.String() 6282} 6283 6284// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 6285func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 6286 s.DaysAfterInitiation = &v 6287 return s 6288} 6289 6290type AbortMultipartUploadInput struct { 6291 _ struct{} `type:"structure"` 6292 6293 // Bucket is a required field 6294 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 6295 6296 // Key is a required field 6297 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 6298 6299 // Confirms that the requester knows that she or he will be charged for the 6300 // request. Bucket owners need not specify this parameter in their requests. 6301 // Documentation on downloading objects from requester pays buckets can be found 6302 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 6303 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 6304 6305 // UploadId is a required field 6306 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 6307} 6308 6309// String returns the string representation 6310func (s AbortMultipartUploadInput) String() string { 6311 return awsutil.Prettify(s) 6312} 6313 6314// GoString returns the string representation 6315func (s AbortMultipartUploadInput) GoString() string { 6316 return s.String() 6317} 6318 6319// Validate inspects the fields of the type to determine if they are valid. 6320func (s *AbortMultipartUploadInput) Validate() error { 6321 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"} 6322 if s.Bucket == nil { 6323 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6324 } 6325 if s.Key == nil { 6326 invalidParams.Add(request.NewErrParamRequired("Key")) 6327 } 6328 if s.Key != nil && len(*s.Key) < 1 { 6329 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 6330 } 6331 if s.UploadId == nil { 6332 invalidParams.Add(request.NewErrParamRequired("UploadId")) 6333 } 6334 6335 if invalidParams.Len() > 0 { 6336 return invalidParams 6337 } 6338 return nil 6339} 6340 6341// SetBucket sets the Bucket field's value. 6342func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInput { 6343 s.Bucket = &v 6344 return s 6345} 6346 6347func (s *AbortMultipartUploadInput) getBucket() (v string) { 6348 if s.Bucket == nil { 6349 return v 6350 } 6351 return *s.Bucket 6352} 6353 6354// SetKey sets the Key field's value. 6355func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput { 6356 s.Key = &v 6357 return s 6358} 6359 6360// SetRequestPayer sets the RequestPayer field's value. 6361func (s *AbortMultipartUploadInput) SetRequestPayer(v string) *AbortMultipartUploadInput { 6362 s.RequestPayer = &v 6363 return s 6364} 6365 6366// SetUploadId sets the UploadId field's value. 6367func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput { 6368 s.UploadId = &v 6369 return s 6370} 6371 6372type AbortMultipartUploadOutput struct { 6373 _ struct{} `type:"structure"` 6374 6375 // If present, indicates that the requester was successfully charged for the 6376 // request. 6377 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 6378} 6379 6380// String returns the string representation 6381func (s AbortMultipartUploadOutput) String() string { 6382 return awsutil.Prettify(s) 6383} 6384 6385// GoString returns the string representation 6386func (s AbortMultipartUploadOutput) GoString() string { 6387 return s.String() 6388} 6389 6390// SetRequestCharged sets the RequestCharged field's value. 6391func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipartUploadOutput { 6392 s.RequestCharged = &v 6393 return s 6394} 6395 6396type AccelerateConfiguration struct { 6397 _ struct{} `type:"structure"` 6398 6399 // The accelerate configuration of the bucket. 6400 Status *string `type:"string" enum:"BucketAccelerateStatus"` 6401} 6402 6403// String returns the string representation 6404func (s AccelerateConfiguration) String() string { 6405 return awsutil.Prettify(s) 6406} 6407 6408// GoString returns the string representation 6409func (s AccelerateConfiguration) GoString() string { 6410 return s.String() 6411} 6412 6413// SetStatus sets the Status field's value. 6414func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration { 6415 s.Status = &v 6416 return s 6417} 6418 6419type AccessControlPolicy struct { 6420 _ struct{} `type:"structure"` 6421 6422 // A list of grants. 6423 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 6424 6425 Owner *Owner `type:"structure"` 6426} 6427 6428// String returns the string representation 6429func (s AccessControlPolicy) String() string { 6430 return awsutil.Prettify(s) 6431} 6432 6433// GoString returns the string representation 6434func (s AccessControlPolicy) GoString() string { 6435 return s.String() 6436} 6437 6438// Validate inspects the fields of the type to determine if they are valid. 6439func (s *AccessControlPolicy) Validate() error { 6440 invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"} 6441 if s.Grants != nil { 6442 for i, v := range s.Grants { 6443 if v == nil { 6444 continue 6445 } 6446 if err := v.Validate(); err != nil { 6447 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 6448 } 6449 } 6450 } 6451 6452 if invalidParams.Len() > 0 { 6453 return invalidParams 6454 } 6455 return nil 6456} 6457 6458// SetGrants sets the Grants field's value. 6459func (s *AccessControlPolicy) SetGrants(v []*Grant) *AccessControlPolicy { 6460 s.Grants = v 6461 return s 6462} 6463 6464// SetOwner sets the Owner field's value. 6465func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy { 6466 s.Owner = v 6467 return s 6468} 6469 6470// Container for information regarding the access control for replicas. 6471type AccessControlTranslation struct { 6472 _ struct{} `type:"structure"` 6473 6474 // The override value for the owner of the replica object. 6475 // 6476 // Owner is a required field 6477 Owner *string `type:"string" required:"true" enum:"OwnerOverride"` 6478} 6479 6480// String returns the string representation 6481func (s AccessControlTranslation) String() string { 6482 return awsutil.Prettify(s) 6483} 6484 6485// GoString returns the string representation 6486func (s AccessControlTranslation) GoString() string { 6487 return s.String() 6488} 6489 6490// Validate inspects the fields of the type to determine if they are valid. 6491func (s *AccessControlTranslation) Validate() error { 6492 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"} 6493 if s.Owner == nil { 6494 invalidParams.Add(request.NewErrParamRequired("Owner")) 6495 } 6496 6497 if invalidParams.Len() > 0 { 6498 return invalidParams 6499 } 6500 return nil 6501} 6502 6503// SetOwner sets the Owner field's value. 6504func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation { 6505 s.Owner = &v 6506 return s 6507} 6508 6509type AnalyticsAndOperator struct { 6510 _ struct{} `type:"structure"` 6511 6512 // The prefix to use when evaluating an AND predicate. 6513 Prefix *string `type:"string"` 6514 6515 // The list of tags to use when evaluating an AND predicate. 6516 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 6517} 6518 6519// String returns the string representation 6520func (s AnalyticsAndOperator) String() string { 6521 return awsutil.Prettify(s) 6522} 6523 6524// GoString returns the string representation 6525func (s AnalyticsAndOperator) GoString() string { 6526 return s.String() 6527} 6528 6529// Validate inspects the fields of the type to determine if they are valid. 6530func (s *AnalyticsAndOperator) Validate() error { 6531 invalidParams := request.ErrInvalidParams{Context: "AnalyticsAndOperator"} 6532 if s.Tags != nil { 6533 for i, v := range s.Tags { 6534 if v == nil { 6535 continue 6536 } 6537 if err := v.Validate(); err != nil { 6538 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 6539 } 6540 } 6541 } 6542 6543 if invalidParams.Len() > 0 { 6544 return invalidParams 6545 } 6546 return nil 6547} 6548 6549// SetPrefix sets the Prefix field's value. 6550func (s *AnalyticsAndOperator) SetPrefix(v string) *AnalyticsAndOperator { 6551 s.Prefix = &v 6552 return s 6553} 6554 6555// SetTags sets the Tags field's value. 6556func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator { 6557 s.Tags = v 6558 return s 6559} 6560 6561type AnalyticsConfiguration struct { 6562 _ struct{} `type:"structure"` 6563 6564 // The filter used to describe a set of objects for analyses. A filter must 6565 // have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). 6566 // If no filter is provided, all objects will be considered in any analysis. 6567 Filter *AnalyticsFilter `type:"structure"` 6568 6569 // The identifier used to represent an analytics configuration. 6570 // 6571 // Id is a required field 6572 Id *string `type:"string" required:"true"` 6573 6574 // If present, it indicates that data related to access patterns will be collected 6575 // and made available to analyze the tradeoffs between different storage classes. 6576 // 6577 // StorageClassAnalysis is a required field 6578 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"` 6579} 6580 6581// String returns the string representation 6582func (s AnalyticsConfiguration) String() string { 6583 return awsutil.Prettify(s) 6584} 6585 6586// GoString returns the string representation 6587func (s AnalyticsConfiguration) GoString() string { 6588 return s.String() 6589} 6590 6591// Validate inspects the fields of the type to determine if they are valid. 6592func (s *AnalyticsConfiguration) Validate() error { 6593 invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfiguration"} 6594 if s.Id == nil { 6595 invalidParams.Add(request.NewErrParamRequired("Id")) 6596 } 6597 if s.StorageClassAnalysis == nil { 6598 invalidParams.Add(request.NewErrParamRequired("StorageClassAnalysis")) 6599 } 6600 if s.Filter != nil { 6601 if err := s.Filter.Validate(); err != nil { 6602 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 6603 } 6604 } 6605 if s.StorageClassAnalysis != nil { 6606 if err := s.StorageClassAnalysis.Validate(); err != nil { 6607 invalidParams.AddNested("StorageClassAnalysis", err.(request.ErrInvalidParams)) 6608 } 6609 } 6610 6611 if invalidParams.Len() > 0 { 6612 return invalidParams 6613 } 6614 return nil 6615} 6616 6617// SetFilter sets the Filter field's value. 6618func (s *AnalyticsConfiguration) SetFilter(v *AnalyticsFilter) *AnalyticsConfiguration { 6619 s.Filter = v 6620 return s 6621} 6622 6623// SetId sets the Id field's value. 6624func (s *AnalyticsConfiguration) SetId(v string) *AnalyticsConfiguration { 6625 s.Id = &v 6626 return s 6627} 6628 6629// SetStorageClassAnalysis sets the StorageClassAnalysis field's value. 6630func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis) *AnalyticsConfiguration { 6631 s.StorageClassAnalysis = v 6632 return s 6633} 6634 6635type AnalyticsExportDestination struct { 6636 _ struct{} `type:"structure"` 6637 6638 // A destination signifying output to an S3 bucket. 6639 // 6640 // S3BucketDestination is a required field 6641 S3BucketDestination *AnalyticsS3BucketDestination `type:"structure" required:"true"` 6642} 6643 6644// String returns the string representation 6645func (s AnalyticsExportDestination) String() string { 6646 return awsutil.Prettify(s) 6647} 6648 6649// GoString returns the string representation 6650func (s AnalyticsExportDestination) GoString() string { 6651 return s.String() 6652} 6653 6654// Validate inspects the fields of the type to determine if they are valid. 6655func (s *AnalyticsExportDestination) Validate() error { 6656 invalidParams := request.ErrInvalidParams{Context: "AnalyticsExportDestination"} 6657 if s.S3BucketDestination == nil { 6658 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 6659 } 6660 if s.S3BucketDestination != nil { 6661 if err := s.S3BucketDestination.Validate(); err != nil { 6662 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 6663 } 6664 } 6665 6666 if invalidParams.Len() > 0 { 6667 return invalidParams 6668 } 6669 return nil 6670} 6671 6672// SetS3BucketDestination sets the S3BucketDestination field's value. 6673func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3BucketDestination) *AnalyticsExportDestination { 6674 s.S3BucketDestination = v 6675 return s 6676} 6677 6678type AnalyticsFilter struct { 6679 _ struct{} `type:"structure"` 6680 6681 // A conjunction (logical AND) of predicates, which is used in evaluating an 6682 // analytics filter. The operator must have at least two predicates. 6683 And *AnalyticsAndOperator `type:"structure"` 6684 6685 // The prefix to use when evaluating an analytics filter. 6686 Prefix *string `type:"string"` 6687 6688 // The tag to use when evaluating an analytics filter. 6689 Tag *Tag `type:"structure"` 6690} 6691 6692// String returns the string representation 6693func (s AnalyticsFilter) String() string { 6694 return awsutil.Prettify(s) 6695} 6696 6697// GoString returns the string representation 6698func (s AnalyticsFilter) GoString() string { 6699 return s.String() 6700} 6701 6702// Validate inspects the fields of the type to determine if they are valid. 6703func (s *AnalyticsFilter) Validate() error { 6704 invalidParams := request.ErrInvalidParams{Context: "AnalyticsFilter"} 6705 if s.And != nil { 6706 if err := s.And.Validate(); err != nil { 6707 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 6708 } 6709 } 6710 if s.Tag != nil { 6711 if err := s.Tag.Validate(); err != nil { 6712 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 6713 } 6714 } 6715 6716 if invalidParams.Len() > 0 { 6717 return invalidParams 6718 } 6719 return nil 6720} 6721 6722// SetAnd sets the And field's value. 6723func (s *AnalyticsFilter) SetAnd(v *AnalyticsAndOperator) *AnalyticsFilter { 6724 s.And = v 6725 return s 6726} 6727 6728// SetPrefix sets the Prefix field's value. 6729func (s *AnalyticsFilter) SetPrefix(v string) *AnalyticsFilter { 6730 s.Prefix = &v 6731 return s 6732} 6733 6734// SetTag sets the Tag field's value. 6735func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter { 6736 s.Tag = v 6737 return s 6738} 6739 6740type AnalyticsS3BucketDestination struct { 6741 _ struct{} `type:"structure"` 6742 6743 // The Amazon resource name (ARN) of the bucket to which data is exported. 6744 // 6745 // Bucket is a required field 6746 Bucket *string `type:"string" required:"true"` 6747 6748 // The account ID that owns the destination bucket. If no account ID is provided, 6749 // the owner will not be validated prior to exporting data. 6750 BucketAccountId *string `type:"string"` 6751 6752 // The file format used when exporting data to Amazon S3. 6753 // 6754 // Format is a required field 6755 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"` 6756 6757 // The prefix to use when exporting data. The exported data begins with this 6758 // prefix. 6759 Prefix *string `type:"string"` 6760} 6761 6762// String returns the string representation 6763func (s AnalyticsS3BucketDestination) String() string { 6764 return awsutil.Prettify(s) 6765} 6766 6767// GoString returns the string representation 6768func (s AnalyticsS3BucketDestination) GoString() string { 6769 return s.String() 6770} 6771 6772// Validate inspects the fields of the type to determine if they are valid. 6773func (s *AnalyticsS3BucketDestination) Validate() error { 6774 invalidParams := request.ErrInvalidParams{Context: "AnalyticsS3BucketDestination"} 6775 if s.Bucket == nil { 6776 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6777 } 6778 if s.Format == nil { 6779 invalidParams.Add(request.NewErrParamRequired("Format")) 6780 } 6781 6782 if invalidParams.Len() > 0 { 6783 return invalidParams 6784 } 6785 return nil 6786} 6787 6788// SetBucket sets the Bucket field's value. 6789func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDestination { 6790 s.Bucket = &v 6791 return s 6792} 6793 6794func (s *AnalyticsS3BucketDestination) getBucket() (v string) { 6795 if s.Bucket == nil { 6796 return v 6797 } 6798 return *s.Bucket 6799} 6800 6801// SetBucketAccountId sets the BucketAccountId field's value. 6802func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination { 6803 s.BucketAccountId = &v 6804 return s 6805} 6806 6807// SetFormat sets the Format field's value. 6808func (s *AnalyticsS3BucketDestination) SetFormat(v string) *AnalyticsS3BucketDestination { 6809 s.Format = &v 6810 return s 6811} 6812 6813// SetPrefix sets the Prefix field's value. 6814func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDestination { 6815 s.Prefix = &v 6816 return s 6817} 6818 6819type Bucket struct { 6820 _ struct{} `type:"structure"` 6821 6822 // Date the bucket was created. 6823 CreationDate *time.Time `type:"timestamp"` 6824 6825 // The name of the bucket. 6826 Name *string `type:"string"` 6827} 6828 6829// String returns the string representation 6830func (s Bucket) String() string { 6831 return awsutil.Prettify(s) 6832} 6833 6834// GoString returns the string representation 6835func (s Bucket) GoString() string { 6836 return s.String() 6837} 6838 6839// SetCreationDate sets the CreationDate field's value. 6840func (s *Bucket) SetCreationDate(v time.Time) *Bucket { 6841 s.CreationDate = &v 6842 return s 6843} 6844 6845// SetName sets the Name field's value. 6846func (s *Bucket) SetName(v string) *Bucket { 6847 s.Name = &v 6848 return s 6849} 6850 6851type BucketLifecycleConfiguration struct { 6852 _ struct{} `type:"structure"` 6853 6854 // Rules is a required field 6855 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 6856} 6857 6858// String returns the string representation 6859func (s BucketLifecycleConfiguration) String() string { 6860 return awsutil.Prettify(s) 6861} 6862 6863// GoString returns the string representation 6864func (s BucketLifecycleConfiguration) GoString() string { 6865 return s.String() 6866} 6867 6868// Validate inspects the fields of the type to determine if they are valid. 6869func (s *BucketLifecycleConfiguration) Validate() error { 6870 invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"} 6871 if s.Rules == nil { 6872 invalidParams.Add(request.NewErrParamRequired("Rules")) 6873 } 6874 if s.Rules != nil { 6875 for i, v := range s.Rules { 6876 if v == nil { 6877 continue 6878 } 6879 if err := v.Validate(); err != nil { 6880 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 6881 } 6882 } 6883 } 6884 6885 if invalidParams.Len() > 0 { 6886 return invalidParams 6887 } 6888 return nil 6889} 6890 6891// SetRules sets the Rules field's value. 6892func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifecycleConfiguration { 6893 s.Rules = v 6894 return s 6895} 6896 6897type BucketLoggingStatus struct { 6898 _ struct{} `type:"structure"` 6899 6900 // Container for logging information. Presence of this element indicates that 6901 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 6902 // in this case. 6903 LoggingEnabled *LoggingEnabled `type:"structure"` 6904} 6905 6906// String returns the string representation 6907func (s BucketLoggingStatus) String() string { 6908 return awsutil.Prettify(s) 6909} 6910 6911// GoString returns the string representation 6912func (s BucketLoggingStatus) GoString() string { 6913 return s.String() 6914} 6915 6916// Validate inspects the fields of the type to determine if they are valid. 6917func (s *BucketLoggingStatus) Validate() error { 6918 invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"} 6919 if s.LoggingEnabled != nil { 6920 if err := s.LoggingEnabled.Validate(); err != nil { 6921 invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams)) 6922 } 6923 } 6924 6925 if invalidParams.Len() > 0 { 6926 return invalidParams 6927 } 6928 return nil 6929} 6930 6931// SetLoggingEnabled sets the LoggingEnabled field's value. 6932func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggingStatus { 6933 s.LoggingEnabled = v 6934 return s 6935} 6936 6937type CORSConfiguration struct { 6938 _ struct{} `type:"structure"` 6939 6940 // CORSRules is a required field 6941 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` 6942} 6943 6944// String returns the string representation 6945func (s CORSConfiguration) String() string { 6946 return awsutil.Prettify(s) 6947} 6948 6949// GoString returns the string representation 6950func (s CORSConfiguration) GoString() string { 6951 return s.String() 6952} 6953 6954// Validate inspects the fields of the type to determine if they are valid. 6955func (s *CORSConfiguration) Validate() error { 6956 invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"} 6957 if s.CORSRules == nil { 6958 invalidParams.Add(request.NewErrParamRequired("CORSRules")) 6959 } 6960 if s.CORSRules != nil { 6961 for i, v := range s.CORSRules { 6962 if v == nil { 6963 continue 6964 } 6965 if err := v.Validate(); err != nil { 6966 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams)) 6967 } 6968 } 6969 } 6970 6971 if invalidParams.Len() > 0 { 6972 return invalidParams 6973 } 6974 return nil 6975} 6976 6977// SetCORSRules sets the CORSRules field's value. 6978func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration { 6979 s.CORSRules = v 6980 return s 6981} 6982 6983type CORSRule struct { 6984 _ struct{} `type:"structure"` 6985 6986 // Specifies which headers are allowed in a pre-flight OPTIONS request. 6987 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"` 6988 6989 // Identifies HTTP methods that the domain/origin specified in the rule is allowed 6990 // to execute. 6991 // 6992 // AllowedMethods is a required field 6993 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` 6994 6995 // One or more origins you want customers to be able to access the bucket from. 6996 // 6997 // AllowedOrigins is a required field 6998 AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"` 6999 7000 // One or more headers in the response that you want customers to be able to 7001 // access from their applications (for example, from a JavaScript XMLHttpRequest 7002 // object). 7003 ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"` 7004 7005 // The time in seconds that your browser is to cache the preflight response 7006 // for the specified resource. 7007 MaxAgeSeconds *int64 `type:"integer"` 7008} 7009 7010// String returns the string representation 7011func (s CORSRule) String() string { 7012 return awsutil.Prettify(s) 7013} 7014 7015// GoString returns the string representation 7016func (s CORSRule) GoString() string { 7017 return s.String() 7018} 7019 7020// Validate inspects the fields of the type to determine if they are valid. 7021func (s *CORSRule) Validate() error { 7022 invalidParams := request.ErrInvalidParams{Context: "CORSRule"} 7023 if s.AllowedMethods == nil { 7024 invalidParams.Add(request.NewErrParamRequired("AllowedMethods")) 7025 } 7026 if s.AllowedOrigins == nil { 7027 invalidParams.Add(request.NewErrParamRequired("AllowedOrigins")) 7028 } 7029 7030 if invalidParams.Len() > 0 { 7031 return invalidParams 7032 } 7033 return nil 7034} 7035 7036// SetAllowedHeaders sets the AllowedHeaders field's value. 7037func (s *CORSRule) SetAllowedHeaders(v []*string) *CORSRule { 7038 s.AllowedHeaders = v 7039 return s 7040} 7041 7042// SetAllowedMethods sets the AllowedMethods field's value. 7043func (s *CORSRule) SetAllowedMethods(v []*string) *CORSRule { 7044 s.AllowedMethods = v 7045 return s 7046} 7047 7048// SetAllowedOrigins sets the AllowedOrigins field's value. 7049func (s *CORSRule) SetAllowedOrigins(v []*string) *CORSRule { 7050 s.AllowedOrigins = v 7051 return s 7052} 7053 7054// SetExposeHeaders sets the ExposeHeaders field's value. 7055func (s *CORSRule) SetExposeHeaders(v []*string) *CORSRule { 7056 s.ExposeHeaders = v 7057 return s 7058} 7059 7060// SetMaxAgeSeconds sets the MaxAgeSeconds field's value. 7061func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule { 7062 s.MaxAgeSeconds = &v 7063 return s 7064} 7065 7066// Describes how a CSV-formatted input object is formatted. 7067type CSVInput struct { 7068 _ struct{} `type:"structure"` 7069 7070 // Specifies that CSV field values may contain quoted record delimiters and 7071 // such records should be allowed. Default value is FALSE. Setting this value 7072 // to TRUE may lower performance. 7073 AllowQuotedRecordDelimiter *bool `type:"boolean"` 7074 7075 // Single character used to indicate a row should be ignored when present at 7076 // the start of a row. 7077 Comments *string `type:"string"` 7078 7079 // Value used to separate individual fields in a record. 7080 FieldDelimiter *string `type:"string"` 7081 7082 // Describes the first line of input. Valid values: None, Ignore, Use. 7083 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"` 7084 7085 // Value used for escaping where the field delimiter is part of the value. 7086 QuoteCharacter *string `type:"string"` 7087 7088 // Single character used for escaping the quote character inside an already 7089 // escaped value. 7090 QuoteEscapeCharacter *string `type:"string"` 7091 7092 // Value used to separate individual records. 7093 RecordDelimiter *string `type:"string"` 7094} 7095 7096// String returns the string representation 7097func (s CSVInput) String() string { 7098 return awsutil.Prettify(s) 7099} 7100 7101// GoString returns the string representation 7102func (s CSVInput) GoString() string { 7103 return s.String() 7104} 7105 7106// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value. 7107func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput { 7108 s.AllowQuotedRecordDelimiter = &v 7109 return s 7110} 7111 7112// SetComments sets the Comments field's value. 7113func (s *CSVInput) SetComments(v string) *CSVInput { 7114 s.Comments = &v 7115 return s 7116} 7117 7118// SetFieldDelimiter sets the FieldDelimiter field's value. 7119func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput { 7120 s.FieldDelimiter = &v 7121 return s 7122} 7123 7124// SetFileHeaderInfo sets the FileHeaderInfo field's value. 7125func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput { 7126 s.FileHeaderInfo = &v 7127 return s 7128} 7129 7130// SetQuoteCharacter sets the QuoteCharacter field's value. 7131func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput { 7132 s.QuoteCharacter = &v 7133 return s 7134} 7135 7136// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 7137func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput { 7138 s.QuoteEscapeCharacter = &v 7139 return s 7140} 7141 7142// SetRecordDelimiter sets the RecordDelimiter field's value. 7143func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput { 7144 s.RecordDelimiter = &v 7145 return s 7146} 7147 7148// Describes how CSV-formatted results are formatted. 7149type CSVOutput struct { 7150 _ struct{} `type:"structure"` 7151 7152 // Value used to separate individual fields in a record. 7153 FieldDelimiter *string `type:"string"` 7154 7155 // Value used for escaping where the field delimiter is part of the value. 7156 QuoteCharacter *string `type:"string"` 7157 7158 // Single character used for escaping the quote character inside an already 7159 // escaped value. 7160 QuoteEscapeCharacter *string `type:"string"` 7161 7162 // Indicates whether or not all output fields should be quoted. 7163 QuoteFields *string `type:"string" enum:"QuoteFields"` 7164 7165 // Value used to separate individual records. 7166 RecordDelimiter *string `type:"string"` 7167} 7168 7169// String returns the string representation 7170func (s CSVOutput) String() string { 7171 return awsutil.Prettify(s) 7172} 7173 7174// GoString returns the string representation 7175func (s CSVOutput) GoString() string { 7176 return s.String() 7177} 7178 7179// SetFieldDelimiter sets the FieldDelimiter field's value. 7180func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput { 7181 s.FieldDelimiter = &v 7182 return s 7183} 7184 7185// SetQuoteCharacter sets the QuoteCharacter field's value. 7186func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput { 7187 s.QuoteCharacter = &v 7188 return s 7189} 7190 7191// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 7192func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput { 7193 s.QuoteEscapeCharacter = &v 7194 return s 7195} 7196 7197// SetQuoteFields sets the QuoteFields field's value. 7198func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput { 7199 s.QuoteFields = &v 7200 return s 7201} 7202 7203// SetRecordDelimiter sets the RecordDelimiter field's value. 7204func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput { 7205 s.RecordDelimiter = &v 7206 return s 7207} 7208 7209type CloudFunctionConfiguration struct { 7210 _ struct{} `type:"structure"` 7211 7212 CloudFunction *string `type:"string"` 7213 7214 // Bucket event for which to send notifications. 7215 Event *string `deprecated:"true" type:"string" enum:"Event"` 7216 7217 Events []*string `locationName:"Event" type:"list" flattened:"true"` 7218 7219 // Optional unique identifier for configurations in a notification configuration. 7220 // If you don't provide one, Amazon S3 will assign an ID. 7221 Id *string `type:"string"` 7222 7223 InvocationRole *string `type:"string"` 7224} 7225 7226// String returns the string representation 7227func (s CloudFunctionConfiguration) String() string { 7228 return awsutil.Prettify(s) 7229} 7230 7231// GoString returns the string representation 7232func (s CloudFunctionConfiguration) GoString() string { 7233 return s.String() 7234} 7235 7236// SetCloudFunction sets the CloudFunction field's value. 7237func (s *CloudFunctionConfiguration) SetCloudFunction(v string) *CloudFunctionConfiguration { 7238 s.CloudFunction = &v 7239 return s 7240} 7241 7242// SetEvent sets the Event field's value. 7243func (s *CloudFunctionConfiguration) SetEvent(v string) *CloudFunctionConfiguration { 7244 s.Event = &v 7245 return s 7246} 7247 7248// SetEvents sets the Events field's value. 7249func (s *CloudFunctionConfiguration) SetEvents(v []*string) *CloudFunctionConfiguration { 7250 s.Events = v 7251 return s 7252} 7253 7254// SetId sets the Id field's value. 7255func (s *CloudFunctionConfiguration) SetId(v string) *CloudFunctionConfiguration { 7256 s.Id = &v 7257 return s 7258} 7259 7260// SetInvocationRole sets the InvocationRole field's value. 7261func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionConfiguration { 7262 s.InvocationRole = &v 7263 return s 7264} 7265 7266type CommonPrefix struct { 7267 _ struct{} `type:"structure"` 7268 7269 Prefix *string `type:"string"` 7270} 7271 7272// String returns the string representation 7273func (s CommonPrefix) String() string { 7274 return awsutil.Prettify(s) 7275} 7276 7277// GoString returns the string representation 7278func (s CommonPrefix) GoString() string { 7279 return s.String() 7280} 7281 7282// SetPrefix sets the Prefix field's value. 7283func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix { 7284 s.Prefix = &v 7285 return s 7286} 7287 7288type CompleteMultipartUploadInput struct { 7289 _ struct{} `type:"structure" payload:"MultipartUpload"` 7290 7291 // Bucket is a required field 7292 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 7293 7294 // Key is a required field 7295 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 7296 7297 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 7298 7299 // Confirms that the requester knows that she or he will be charged for the 7300 // request. Bucket owners need not specify this parameter in their requests. 7301 // Documentation on downloading objects from requester pays buckets can be found 7302 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 7303 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 7304 7305 // UploadId is a required field 7306 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 7307} 7308 7309// String returns the string representation 7310func (s CompleteMultipartUploadInput) String() string { 7311 return awsutil.Prettify(s) 7312} 7313 7314// GoString returns the string representation 7315func (s CompleteMultipartUploadInput) GoString() string { 7316 return s.String() 7317} 7318 7319// Validate inspects the fields of the type to determine if they are valid. 7320func (s *CompleteMultipartUploadInput) Validate() error { 7321 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"} 7322 if s.Bucket == nil { 7323 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7324 } 7325 if s.Key == nil { 7326 invalidParams.Add(request.NewErrParamRequired("Key")) 7327 } 7328 if s.Key != nil && len(*s.Key) < 1 { 7329 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7330 } 7331 if s.UploadId == nil { 7332 invalidParams.Add(request.NewErrParamRequired("UploadId")) 7333 } 7334 7335 if invalidParams.Len() > 0 { 7336 return invalidParams 7337 } 7338 return nil 7339} 7340 7341// SetBucket sets the Bucket field's value. 7342func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUploadInput { 7343 s.Bucket = &v 7344 return s 7345} 7346 7347func (s *CompleteMultipartUploadInput) getBucket() (v string) { 7348 if s.Bucket == nil { 7349 return v 7350 } 7351 return *s.Bucket 7352} 7353 7354// SetKey sets the Key field's value. 7355func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput { 7356 s.Key = &v 7357 return s 7358} 7359 7360// SetMultipartUpload sets the MultipartUpload field's value. 7361func (s *CompleteMultipartUploadInput) SetMultipartUpload(v *CompletedMultipartUpload) *CompleteMultipartUploadInput { 7362 s.MultipartUpload = v 7363 return s 7364} 7365 7366// SetRequestPayer sets the RequestPayer field's value. 7367func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultipartUploadInput { 7368 s.RequestPayer = &v 7369 return s 7370} 7371 7372// SetUploadId sets the UploadId field's value. 7373func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput { 7374 s.UploadId = &v 7375 return s 7376} 7377 7378type CompleteMultipartUploadOutput struct { 7379 _ struct{} `type:"structure"` 7380 7381 Bucket *string `type:"string"` 7382 7383 // Entity tag of the object. 7384 ETag *string `type:"string"` 7385 7386 // If the object expiration is configured, this will contain the expiration 7387 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. 7388 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 7389 7390 Key *string `min:"1" type:"string"` 7391 7392 Location *string `type:"string"` 7393 7394 // If present, indicates that the requester was successfully charged for the 7395 // request. 7396 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 7397 7398 // If present, specifies the ID of the AWS Key Management Service (KMS) master 7399 // encryption key that was used for the object. 7400 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 7401 7402 // The Server-side encryption algorithm used when storing this object in S3 7403 // (e.g., AES256, aws:kms). 7404 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 7405 7406 // Version of the object. 7407 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 7408} 7409 7410// String returns the string representation 7411func (s CompleteMultipartUploadOutput) String() string { 7412 return awsutil.Prettify(s) 7413} 7414 7415// GoString returns the string representation 7416func (s CompleteMultipartUploadOutput) GoString() string { 7417 return s.String() 7418} 7419 7420// SetBucket sets the Bucket field's value. 7421func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUploadOutput { 7422 s.Bucket = &v 7423 return s 7424} 7425 7426func (s *CompleteMultipartUploadOutput) getBucket() (v string) { 7427 if s.Bucket == nil { 7428 return v 7429 } 7430 return *s.Bucket 7431} 7432 7433// SetETag sets the ETag field's value. 7434func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput { 7435 s.ETag = &v 7436 return s 7437} 7438 7439// SetExpiration sets the Expiration field's value. 7440func (s *CompleteMultipartUploadOutput) SetExpiration(v string) *CompleteMultipartUploadOutput { 7441 s.Expiration = &v 7442 return s 7443} 7444 7445// SetKey sets the Key field's value. 7446func (s *CompleteMultipartUploadOutput) SetKey(v string) *CompleteMultipartUploadOutput { 7447 s.Key = &v 7448 return s 7449} 7450 7451// SetLocation sets the Location field's value. 7452func (s *CompleteMultipartUploadOutput) SetLocation(v string) *CompleteMultipartUploadOutput { 7453 s.Location = &v 7454 return s 7455} 7456 7457// SetRequestCharged sets the RequestCharged field's value. 7458func (s *CompleteMultipartUploadOutput) SetRequestCharged(v string) *CompleteMultipartUploadOutput { 7459 s.RequestCharged = &v 7460 return s 7461} 7462 7463// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 7464func (s *CompleteMultipartUploadOutput) SetSSEKMSKeyId(v string) *CompleteMultipartUploadOutput { 7465 s.SSEKMSKeyId = &v 7466 return s 7467} 7468 7469// SetServerSideEncryption sets the ServerSideEncryption field's value. 7470func (s *CompleteMultipartUploadOutput) SetServerSideEncryption(v string) *CompleteMultipartUploadOutput { 7471 s.ServerSideEncryption = &v 7472 return s 7473} 7474 7475// SetVersionId sets the VersionId field's value. 7476func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipartUploadOutput { 7477 s.VersionId = &v 7478 return s 7479} 7480 7481type CompletedMultipartUpload struct { 7482 _ struct{} `type:"structure"` 7483 7484 Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"` 7485} 7486 7487// String returns the string representation 7488func (s CompletedMultipartUpload) String() string { 7489 return awsutil.Prettify(s) 7490} 7491 7492// GoString returns the string representation 7493func (s CompletedMultipartUpload) GoString() string { 7494 return s.String() 7495} 7496 7497// SetParts sets the Parts field's value. 7498func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultipartUpload { 7499 s.Parts = v 7500 return s 7501} 7502 7503type CompletedPart struct { 7504 _ struct{} `type:"structure"` 7505 7506 // Entity tag returned when the part was uploaded. 7507 ETag *string `type:"string"` 7508 7509 // Part number that identifies the part. This is a positive integer between 7510 // 1 and 10,000. 7511 PartNumber *int64 `type:"integer"` 7512} 7513 7514// String returns the string representation 7515func (s CompletedPart) String() string { 7516 return awsutil.Prettify(s) 7517} 7518 7519// GoString returns the string representation 7520func (s CompletedPart) GoString() string { 7521 return s.String() 7522} 7523 7524// SetETag sets the ETag field's value. 7525func (s *CompletedPart) SetETag(v string) *CompletedPart { 7526 s.ETag = &v 7527 return s 7528} 7529 7530// SetPartNumber sets the PartNumber field's value. 7531func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart { 7532 s.PartNumber = &v 7533 return s 7534} 7535 7536type Condition struct { 7537 _ struct{} `type:"structure"` 7538 7539 // The HTTP error code when the redirect is applied. In the event of an error, 7540 // if the error code equals this value, then the specified redirect is applied. 7541 // Required when parent element Condition is specified and sibling KeyPrefixEquals 7542 // is not specified. If both are specified, then both must be true for the redirect 7543 // to be applied. 7544 HttpErrorCodeReturnedEquals *string `type:"string"` 7545 7546 // The object key name prefix when the redirect is applied. For example, to 7547 // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. 7548 // To redirect request for all pages with the prefix docs/, the key prefix will 7549 // be /docs, which identifies all objects in the docs/ folder. Required when 7550 // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals 7551 // is not specified. If both conditions are specified, both must be true for 7552 // the redirect to be applied. 7553 KeyPrefixEquals *string `type:"string"` 7554} 7555 7556// String returns the string representation 7557func (s Condition) String() string { 7558 return awsutil.Prettify(s) 7559} 7560 7561// GoString returns the string representation 7562func (s Condition) GoString() string { 7563 return s.String() 7564} 7565 7566// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value. 7567func (s *Condition) SetHttpErrorCodeReturnedEquals(v string) *Condition { 7568 s.HttpErrorCodeReturnedEquals = &v 7569 return s 7570} 7571 7572// SetKeyPrefixEquals sets the KeyPrefixEquals field's value. 7573func (s *Condition) SetKeyPrefixEquals(v string) *Condition { 7574 s.KeyPrefixEquals = &v 7575 return s 7576} 7577 7578type ContinuationEvent struct { 7579 _ struct{} `locationName:"ContinuationEvent" type:"structure"` 7580} 7581 7582// String returns the string representation 7583func (s ContinuationEvent) String() string { 7584 return awsutil.Prettify(s) 7585} 7586 7587// GoString returns the string representation 7588func (s ContinuationEvent) GoString() string { 7589 return s.String() 7590} 7591 7592// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events. 7593func (s *ContinuationEvent) eventSelectObjectContentEventStream() {} 7594 7595// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value. 7596// This method is only used internally within the SDK's EventStream handling. 7597func (s *ContinuationEvent) UnmarshalEvent( 7598 payloadUnmarshaler protocol.PayloadUnmarshaler, 7599 msg eventstream.Message, 7600) error { 7601 return nil 7602} 7603 7604type CopyObjectInput struct { 7605 _ struct{} `type:"structure"` 7606 7607 // The canned ACL to apply to the object. 7608 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 7609 7610 // Bucket is a required field 7611 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 7612 7613 // Specifies caching behavior along the request/reply chain. 7614 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 7615 7616 // Specifies presentational information for the object. 7617 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 7618 7619 // Specifies what content encodings have been applied to the object and thus 7620 // what decoding mechanisms must be applied to obtain the media-type referenced 7621 // by the Content-Type header field. 7622 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 7623 7624 // The language the content is in. 7625 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 7626 7627 // A standard MIME type describing the format of the object data. 7628 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 7629 7630 // The name of the source bucket and key name of the source object, separated 7631 // by a slash (/). Must be URL-encoded. 7632 // 7633 // CopySource is a required field 7634 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` 7635 7636 // Copies the object if its entity tag (ETag) matches the specified tag. 7637 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 7638 7639 // Copies the object if it has been modified since the specified time. 7640 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"` 7641 7642 // Copies the object if its entity tag (ETag) is different than the specified 7643 // ETag. 7644 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 7645 7646 // Copies the object if it hasn't been modified since the specified time. 7647 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"` 7648 7649 // Specifies the algorithm to use when decrypting the source object (e.g., AES256). 7650 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` 7651 7652 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 7653 // the source object. The encryption key provided in this header must be one 7654 // that was used when the source object was created. 7655 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` 7656 7657 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 7658 // Amazon S3 uses this header for a message integrity check to ensure the encryption 7659 // key was transmitted without error. 7660 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` 7661 7662 // The date and time at which the object is no longer cacheable. 7663 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 7664 7665 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 7666 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 7667 7668 // Allows grantee to read the object data and its metadata. 7669 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 7670 7671 // Allows grantee to read the object ACL. 7672 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 7673 7674 // Allows grantee to write the ACL for the applicable object. 7675 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 7676 7677 // Key is a required field 7678 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 7679 7680 // A map of metadata to store with the object in S3. 7681 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 7682 7683 // Specifies whether the metadata is copied from the source object or replaced 7684 // with metadata provided in the request. 7685 MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"` 7686 7687 // Confirms that the requester knows that she or he will be charged for the 7688 // request. Bucket owners need not specify this parameter in their requests. 7689 // Documentation on downloading objects from requester pays buckets can be found 7690 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 7691 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 7692 7693 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 7694 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 7695 7696 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 7697 // data. This value is used to store the object and then it is discarded; Amazon 7698 // does not store the encryption key. The key must be appropriate for use with 7699 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 7700 // header. 7701 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 7702 7703 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 7704 // Amazon S3 uses this header for a message integrity check to ensure the encryption 7705 // key was transmitted without error. 7706 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 7707 7708 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 7709 // requests for an object protected by AWS KMS will fail if not made via SSL 7710 // or using SigV4. Documentation on configuring any of the officially supported 7711 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 7712 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 7713 7714 // The Server-side encryption algorithm used when storing this object in S3 7715 // (e.g., AES256, aws:kms). 7716 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 7717 7718 // The type of storage to use for the object. Defaults to 'STANDARD'. 7719 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 7720 7721 // The tag-set for the object destination object this value must be used in 7722 // conjunction with the TaggingDirective. The tag-set must be encoded as URL 7723 // Query parameters 7724 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 7725 7726 // Specifies whether the object tag-set are copied from the source object or 7727 // replaced with tag-set provided in the request. 7728 TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string" enum:"TaggingDirective"` 7729 7730 // If the bucket is configured as a website, redirects requests for this object 7731 // to another object in the same bucket or to an external URL. Amazon S3 stores 7732 // the value of this header in the object metadata. 7733 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 7734} 7735 7736// String returns the string representation 7737func (s CopyObjectInput) String() string { 7738 return awsutil.Prettify(s) 7739} 7740 7741// GoString returns the string representation 7742func (s CopyObjectInput) GoString() string { 7743 return s.String() 7744} 7745 7746// Validate inspects the fields of the type to determine if they are valid. 7747func (s *CopyObjectInput) Validate() error { 7748 invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"} 7749 if s.Bucket == nil { 7750 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7751 } 7752 if s.CopySource == nil { 7753 invalidParams.Add(request.NewErrParamRequired("CopySource")) 7754 } 7755 if s.Key == nil { 7756 invalidParams.Add(request.NewErrParamRequired("Key")) 7757 } 7758 if s.Key != nil && len(*s.Key) < 1 { 7759 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7760 } 7761 7762 if invalidParams.Len() > 0 { 7763 return invalidParams 7764 } 7765 return nil 7766} 7767 7768// SetACL sets the ACL field's value. 7769func (s *CopyObjectInput) SetACL(v string) *CopyObjectInput { 7770 s.ACL = &v 7771 return s 7772} 7773 7774// SetBucket sets the Bucket field's value. 7775func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput { 7776 s.Bucket = &v 7777 return s 7778} 7779 7780func (s *CopyObjectInput) getBucket() (v string) { 7781 if s.Bucket == nil { 7782 return v 7783 } 7784 return *s.Bucket 7785} 7786 7787// SetCacheControl sets the CacheControl field's value. 7788func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput { 7789 s.CacheControl = &v 7790 return s 7791} 7792 7793// SetContentDisposition sets the ContentDisposition field's value. 7794func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput { 7795 s.ContentDisposition = &v 7796 return s 7797} 7798 7799// SetContentEncoding sets the ContentEncoding field's value. 7800func (s *CopyObjectInput) SetContentEncoding(v string) *CopyObjectInput { 7801 s.ContentEncoding = &v 7802 return s 7803} 7804 7805// SetContentLanguage sets the ContentLanguage field's value. 7806func (s *CopyObjectInput) SetContentLanguage(v string) *CopyObjectInput { 7807 s.ContentLanguage = &v 7808 return s 7809} 7810 7811// SetContentType sets the ContentType field's value. 7812func (s *CopyObjectInput) SetContentType(v string) *CopyObjectInput { 7813 s.ContentType = &v 7814 return s 7815} 7816 7817// SetCopySource sets the CopySource field's value. 7818func (s *CopyObjectInput) SetCopySource(v string) *CopyObjectInput { 7819 s.CopySource = &v 7820 return s 7821} 7822 7823// SetCopySourceIfMatch sets the CopySourceIfMatch field's value. 7824func (s *CopyObjectInput) SetCopySourceIfMatch(v string) *CopyObjectInput { 7825 s.CopySourceIfMatch = &v 7826 return s 7827} 7828 7829// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value. 7830func (s *CopyObjectInput) SetCopySourceIfModifiedSince(v time.Time) *CopyObjectInput { 7831 s.CopySourceIfModifiedSince = &v 7832 return s 7833} 7834 7835// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value. 7836func (s *CopyObjectInput) SetCopySourceIfNoneMatch(v string) *CopyObjectInput { 7837 s.CopySourceIfNoneMatch = &v 7838 return s 7839} 7840 7841// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value. 7842func (s *CopyObjectInput) SetCopySourceIfUnmodifiedSince(v time.Time) *CopyObjectInput { 7843 s.CopySourceIfUnmodifiedSince = &v 7844 return s 7845} 7846 7847// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value. 7848func (s *CopyObjectInput) SetCopySourceSSECustomerAlgorithm(v string) *CopyObjectInput { 7849 s.CopySourceSSECustomerAlgorithm = &v 7850 return s 7851} 7852 7853// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value. 7854func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput { 7855 s.CopySourceSSECustomerKey = &v 7856 return s 7857} 7858 7859func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) { 7860 if s.CopySourceSSECustomerKey == nil { 7861 return v 7862 } 7863 return *s.CopySourceSSECustomerKey 7864} 7865 7866// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 7867func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput { 7868 s.CopySourceSSECustomerKeyMD5 = &v 7869 return s 7870} 7871 7872// SetExpires sets the Expires field's value. 7873func (s *CopyObjectInput) SetExpires(v time.Time) *CopyObjectInput { 7874 s.Expires = &v 7875 return s 7876} 7877 7878// SetGrantFullControl sets the GrantFullControl field's value. 7879func (s *CopyObjectInput) SetGrantFullControl(v string) *CopyObjectInput { 7880 s.GrantFullControl = &v 7881 return s 7882} 7883 7884// SetGrantRead sets the GrantRead field's value. 7885func (s *CopyObjectInput) SetGrantRead(v string) *CopyObjectInput { 7886 s.GrantRead = &v 7887 return s 7888} 7889 7890// SetGrantReadACP sets the GrantReadACP field's value. 7891func (s *CopyObjectInput) SetGrantReadACP(v string) *CopyObjectInput { 7892 s.GrantReadACP = &v 7893 return s 7894} 7895 7896// SetGrantWriteACP sets the GrantWriteACP field's value. 7897func (s *CopyObjectInput) SetGrantWriteACP(v string) *CopyObjectInput { 7898 s.GrantWriteACP = &v 7899 return s 7900} 7901 7902// SetKey sets the Key field's value. 7903func (s *CopyObjectInput) SetKey(v string) *CopyObjectInput { 7904 s.Key = &v 7905 return s 7906} 7907 7908// SetMetadata sets the Metadata field's value. 7909func (s *CopyObjectInput) SetMetadata(v map[string]*string) *CopyObjectInput { 7910 s.Metadata = v 7911 return s 7912} 7913 7914// SetMetadataDirective sets the MetadataDirective field's value. 7915func (s *CopyObjectInput) SetMetadataDirective(v string) *CopyObjectInput { 7916 s.MetadataDirective = &v 7917 return s 7918} 7919 7920// SetRequestPayer sets the RequestPayer field's value. 7921func (s *CopyObjectInput) SetRequestPayer(v string) *CopyObjectInput { 7922 s.RequestPayer = &v 7923 return s 7924} 7925 7926// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 7927func (s *CopyObjectInput) SetSSECustomerAlgorithm(v string) *CopyObjectInput { 7928 s.SSECustomerAlgorithm = &v 7929 return s 7930} 7931 7932// SetSSECustomerKey sets the SSECustomerKey field's value. 7933func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput { 7934 s.SSECustomerKey = &v 7935 return s 7936} 7937 7938func (s *CopyObjectInput) getSSECustomerKey() (v string) { 7939 if s.SSECustomerKey == nil { 7940 return v 7941 } 7942 return *s.SSECustomerKey 7943} 7944 7945// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 7946func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput { 7947 s.SSECustomerKeyMD5 = &v 7948 return s 7949} 7950 7951// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 7952func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput { 7953 s.SSEKMSKeyId = &v 7954 return s 7955} 7956 7957// SetServerSideEncryption sets the ServerSideEncryption field's value. 7958func (s *CopyObjectInput) SetServerSideEncryption(v string) *CopyObjectInput { 7959 s.ServerSideEncryption = &v 7960 return s 7961} 7962 7963// SetStorageClass sets the StorageClass field's value. 7964func (s *CopyObjectInput) SetStorageClass(v string) *CopyObjectInput { 7965 s.StorageClass = &v 7966 return s 7967} 7968 7969// SetTagging sets the Tagging field's value. 7970func (s *CopyObjectInput) SetTagging(v string) *CopyObjectInput { 7971 s.Tagging = &v 7972 return s 7973} 7974 7975// SetTaggingDirective sets the TaggingDirective field's value. 7976func (s *CopyObjectInput) SetTaggingDirective(v string) *CopyObjectInput { 7977 s.TaggingDirective = &v 7978 return s 7979} 7980 7981// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 7982func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput { 7983 s.WebsiteRedirectLocation = &v 7984 return s 7985} 7986 7987type CopyObjectOutput struct { 7988 _ struct{} `type:"structure" payload:"CopyObjectResult"` 7989 7990 CopyObjectResult *CopyObjectResult `type:"structure"` 7991 7992 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` 7993 7994 // If the object expiration is configured, the response includes this header. 7995 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 7996 7997 // If present, indicates that the requester was successfully charged for the 7998 // request. 7999 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 8000 8001 // If server-side encryption with a customer-provided encryption key was requested, 8002 // the response will include this header confirming the encryption algorithm 8003 // used. 8004 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 8005 8006 // If server-side encryption with a customer-provided encryption key was requested, 8007 // the response will include this header to provide round trip message integrity 8008 // verification of the customer-provided encryption key. 8009 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8010 8011 // If present, specifies the ID of the AWS Key Management Service (KMS) master 8012 // encryption key that was used for the object. 8013 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 8014 8015 // The Server-side encryption algorithm used when storing this object in S3 8016 // (e.g., AES256, aws:kms). 8017 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8018 8019 // Version ID of the newly created copy. 8020 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 8021} 8022 8023// String returns the string representation 8024func (s CopyObjectOutput) String() string { 8025 return awsutil.Prettify(s) 8026} 8027 8028// GoString returns the string representation 8029func (s CopyObjectOutput) GoString() string { 8030 return s.String() 8031} 8032 8033// SetCopyObjectResult sets the CopyObjectResult field's value. 8034func (s *CopyObjectOutput) SetCopyObjectResult(v *CopyObjectResult) *CopyObjectOutput { 8035 s.CopyObjectResult = v 8036 return s 8037} 8038 8039// SetCopySourceVersionId sets the CopySourceVersionId field's value. 8040func (s *CopyObjectOutput) SetCopySourceVersionId(v string) *CopyObjectOutput { 8041 s.CopySourceVersionId = &v 8042 return s 8043} 8044 8045// SetExpiration sets the Expiration field's value. 8046func (s *CopyObjectOutput) SetExpiration(v string) *CopyObjectOutput { 8047 s.Expiration = &v 8048 return s 8049} 8050 8051// SetRequestCharged sets the RequestCharged field's value. 8052func (s *CopyObjectOutput) SetRequestCharged(v string) *CopyObjectOutput { 8053 s.RequestCharged = &v 8054 return s 8055} 8056 8057// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 8058func (s *CopyObjectOutput) SetSSECustomerAlgorithm(v string) *CopyObjectOutput { 8059 s.SSECustomerAlgorithm = &v 8060 return s 8061} 8062 8063// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8064func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput { 8065 s.SSECustomerKeyMD5 = &v 8066 return s 8067} 8068 8069// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8070func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput { 8071 s.SSEKMSKeyId = &v 8072 return s 8073} 8074 8075// SetServerSideEncryption sets the ServerSideEncryption field's value. 8076func (s *CopyObjectOutput) SetServerSideEncryption(v string) *CopyObjectOutput { 8077 s.ServerSideEncryption = &v 8078 return s 8079} 8080 8081// SetVersionId sets the VersionId field's value. 8082func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput { 8083 s.VersionId = &v 8084 return s 8085} 8086 8087type CopyObjectResult struct { 8088 _ struct{} `type:"structure"` 8089 8090 ETag *string `type:"string"` 8091 8092 LastModified *time.Time `type:"timestamp"` 8093} 8094 8095// String returns the string representation 8096func (s CopyObjectResult) String() string { 8097 return awsutil.Prettify(s) 8098} 8099 8100// GoString returns the string representation 8101func (s CopyObjectResult) GoString() string { 8102 return s.String() 8103} 8104 8105// SetETag sets the ETag field's value. 8106func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult { 8107 s.ETag = &v 8108 return s 8109} 8110 8111// SetLastModified sets the LastModified field's value. 8112func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult { 8113 s.LastModified = &v 8114 return s 8115} 8116 8117type CopyPartResult struct { 8118 _ struct{} `type:"structure"` 8119 8120 // Entity tag of the object. 8121 ETag *string `type:"string"` 8122 8123 // Date and time at which the object was uploaded. 8124 LastModified *time.Time `type:"timestamp"` 8125} 8126 8127// String returns the string representation 8128func (s CopyPartResult) String() string { 8129 return awsutil.Prettify(s) 8130} 8131 8132// GoString returns the string representation 8133func (s CopyPartResult) GoString() string { 8134 return s.String() 8135} 8136 8137// SetETag sets the ETag field's value. 8138func (s *CopyPartResult) SetETag(v string) *CopyPartResult { 8139 s.ETag = &v 8140 return s 8141} 8142 8143// SetLastModified sets the LastModified field's value. 8144func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult { 8145 s.LastModified = &v 8146 return s 8147} 8148 8149type CreateBucketConfiguration struct { 8150 _ struct{} `type:"structure"` 8151 8152 // Specifies the region where the bucket will be created. If you don't specify 8153 // a region, the bucket will be created in US Standard. 8154 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 8155} 8156 8157// String returns the string representation 8158func (s CreateBucketConfiguration) String() string { 8159 return awsutil.Prettify(s) 8160} 8161 8162// GoString returns the string representation 8163func (s CreateBucketConfiguration) GoString() string { 8164 return s.String() 8165} 8166 8167// SetLocationConstraint sets the LocationConstraint field's value. 8168func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 8169 s.LocationConstraint = &v 8170 return s 8171} 8172 8173type CreateBucketInput struct { 8174 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"` 8175 8176 // The canned ACL to apply to the bucket. 8177 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 8178 8179 // Bucket is a required field 8180 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8181 8182 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 8183 8184 // Allows grantee the read, write, read ACP, and write ACP permissions on the 8185 // bucket. 8186 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 8187 8188 // Allows grantee to list the objects in the bucket. 8189 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 8190 8191 // Allows grantee to read the bucket ACL. 8192 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 8193 8194 // Allows grantee to create, overwrite, and delete any object in the bucket. 8195 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 8196 8197 // Allows grantee to write the ACL for the applicable bucket. 8198 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 8199} 8200 8201// String returns the string representation 8202func (s CreateBucketInput) String() string { 8203 return awsutil.Prettify(s) 8204} 8205 8206// GoString returns the string representation 8207func (s CreateBucketInput) GoString() string { 8208 return s.String() 8209} 8210 8211// Validate inspects the fields of the type to determine if they are valid. 8212func (s *CreateBucketInput) Validate() error { 8213 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 8214 if s.Bucket == nil { 8215 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8216 } 8217 8218 if invalidParams.Len() > 0 { 8219 return invalidParams 8220 } 8221 return nil 8222} 8223 8224// SetACL sets the ACL field's value. 8225func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 8226 s.ACL = &v 8227 return s 8228} 8229 8230// SetBucket sets the Bucket field's value. 8231func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 8232 s.Bucket = &v 8233 return s 8234} 8235 8236func (s *CreateBucketInput) getBucket() (v string) { 8237 if s.Bucket == nil { 8238 return v 8239 } 8240 return *s.Bucket 8241} 8242 8243// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 8244func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 8245 s.CreateBucketConfiguration = v 8246 return s 8247} 8248 8249// SetGrantFullControl sets the GrantFullControl field's value. 8250func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 8251 s.GrantFullControl = &v 8252 return s 8253} 8254 8255// SetGrantRead sets the GrantRead field's value. 8256func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 8257 s.GrantRead = &v 8258 return s 8259} 8260 8261// SetGrantReadACP sets the GrantReadACP field's value. 8262func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 8263 s.GrantReadACP = &v 8264 return s 8265} 8266 8267// SetGrantWrite sets the GrantWrite field's value. 8268func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 8269 s.GrantWrite = &v 8270 return s 8271} 8272 8273// SetGrantWriteACP sets the GrantWriteACP field's value. 8274func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 8275 s.GrantWriteACP = &v 8276 return s 8277} 8278 8279type CreateBucketOutput struct { 8280 _ struct{} `type:"structure"` 8281 8282 Location *string `location:"header" locationName:"Location" type:"string"` 8283} 8284 8285// String returns the string representation 8286func (s CreateBucketOutput) String() string { 8287 return awsutil.Prettify(s) 8288} 8289 8290// GoString returns the string representation 8291func (s CreateBucketOutput) GoString() string { 8292 return s.String() 8293} 8294 8295// SetLocation sets the Location field's value. 8296func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 8297 s.Location = &v 8298 return s 8299} 8300 8301type CreateMultipartUploadInput struct { 8302 _ struct{} `type:"structure"` 8303 8304 // The canned ACL to apply to the object. 8305 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 8306 8307 // Bucket is a required field 8308 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8309 8310 // Specifies caching behavior along the request/reply chain. 8311 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 8312 8313 // Specifies presentational information for the object. 8314 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 8315 8316 // Specifies what content encodings have been applied to the object and thus 8317 // what decoding mechanisms must be applied to obtain the media-type referenced 8318 // by the Content-Type header field. 8319 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 8320 8321 // The language the content is in. 8322 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 8323 8324 // A standard MIME type describing the format of the object data. 8325 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 8326 8327 // The date and time at which the object is no longer cacheable. 8328 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 8329 8330 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 8331 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 8332 8333 // Allows grantee to read the object data and its metadata. 8334 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 8335 8336 // Allows grantee to read the object ACL. 8337 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 8338 8339 // Allows grantee to write the ACL for the applicable object. 8340 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 8341 8342 // Key is a required field 8343 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 8344 8345 // A map of metadata to store with the object in S3. 8346 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 8347 8348 // Confirms that the requester knows that she or he will be charged for the 8349 // request. Bucket owners need not specify this parameter in their requests. 8350 // Documentation on downloading objects from requester pays buckets can be found 8351 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 8352 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 8353 8354 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 8355 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 8356 8357 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 8358 // data. This value is used to store the object and then it is discarded; Amazon 8359 // does not store the encryption key. The key must be appropriate for use with 8360 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 8361 // header. 8362 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 8363 8364 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 8365 // Amazon S3 uses this header for a message integrity check to ensure the encryption 8366 // key was transmitted without error. 8367 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8368 8369 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 8370 // requests for an object protected by AWS KMS will fail if not made via SSL 8371 // or using SigV4. Documentation on configuring any of the officially supported 8372 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 8373 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 8374 8375 // The Server-side encryption algorithm used when storing this object in S3 8376 // (e.g., AES256, aws:kms). 8377 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8378 8379 // The type of storage to use for the object. Defaults to 'STANDARD'. 8380 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 8381 8382 // The tag-set for the object. The tag-set must be encoded as URL Query parameters 8383 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 8384 8385 // If the bucket is configured as a website, redirects requests for this object 8386 // to another object in the same bucket or to an external URL. Amazon S3 stores 8387 // the value of this header in the object metadata. 8388 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 8389} 8390 8391// String returns the string representation 8392func (s CreateMultipartUploadInput) String() string { 8393 return awsutil.Prettify(s) 8394} 8395 8396// GoString returns the string representation 8397func (s CreateMultipartUploadInput) GoString() string { 8398 return s.String() 8399} 8400 8401// Validate inspects the fields of the type to determine if they are valid. 8402func (s *CreateMultipartUploadInput) Validate() error { 8403 invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"} 8404 if s.Bucket == nil { 8405 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8406 } 8407 if s.Key == nil { 8408 invalidParams.Add(request.NewErrParamRequired("Key")) 8409 } 8410 if s.Key != nil && len(*s.Key) < 1 { 8411 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 8412 } 8413 8414 if invalidParams.Len() > 0 { 8415 return invalidParams 8416 } 8417 return nil 8418} 8419 8420// SetACL sets the ACL field's value. 8421func (s *CreateMultipartUploadInput) SetACL(v string) *CreateMultipartUploadInput { 8422 s.ACL = &v 8423 return s 8424} 8425 8426// SetBucket sets the Bucket field's value. 8427func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadInput { 8428 s.Bucket = &v 8429 return s 8430} 8431 8432func (s *CreateMultipartUploadInput) getBucket() (v string) { 8433 if s.Bucket == nil { 8434 return v 8435 } 8436 return *s.Bucket 8437} 8438 8439// SetCacheControl sets the CacheControl field's value. 8440func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput { 8441 s.CacheControl = &v 8442 return s 8443} 8444 8445// SetContentDisposition sets the ContentDisposition field's value. 8446func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput { 8447 s.ContentDisposition = &v 8448 return s 8449} 8450 8451// SetContentEncoding sets the ContentEncoding field's value. 8452func (s *CreateMultipartUploadInput) SetContentEncoding(v string) *CreateMultipartUploadInput { 8453 s.ContentEncoding = &v 8454 return s 8455} 8456 8457// SetContentLanguage sets the ContentLanguage field's value. 8458func (s *CreateMultipartUploadInput) SetContentLanguage(v string) *CreateMultipartUploadInput { 8459 s.ContentLanguage = &v 8460 return s 8461} 8462 8463// SetContentType sets the ContentType field's value. 8464func (s *CreateMultipartUploadInput) SetContentType(v string) *CreateMultipartUploadInput { 8465 s.ContentType = &v 8466 return s 8467} 8468 8469// SetExpires sets the Expires field's value. 8470func (s *CreateMultipartUploadInput) SetExpires(v time.Time) *CreateMultipartUploadInput { 8471 s.Expires = &v 8472 return s 8473} 8474 8475// SetGrantFullControl sets the GrantFullControl field's value. 8476func (s *CreateMultipartUploadInput) SetGrantFullControl(v string) *CreateMultipartUploadInput { 8477 s.GrantFullControl = &v 8478 return s 8479} 8480 8481// SetGrantRead sets the GrantRead field's value. 8482func (s *CreateMultipartUploadInput) SetGrantRead(v string) *CreateMultipartUploadInput { 8483 s.GrantRead = &v 8484 return s 8485} 8486 8487// SetGrantReadACP sets the GrantReadACP field's value. 8488func (s *CreateMultipartUploadInput) SetGrantReadACP(v string) *CreateMultipartUploadInput { 8489 s.GrantReadACP = &v 8490 return s 8491} 8492 8493// SetGrantWriteACP sets the GrantWriteACP field's value. 8494func (s *CreateMultipartUploadInput) SetGrantWriteACP(v string) *CreateMultipartUploadInput { 8495 s.GrantWriteACP = &v 8496 return s 8497} 8498 8499// SetKey sets the Key field's value. 8500func (s *CreateMultipartUploadInput) SetKey(v string) *CreateMultipartUploadInput { 8501 s.Key = &v 8502 return s 8503} 8504 8505// SetMetadata sets the Metadata field's value. 8506func (s *CreateMultipartUploadInput) SetMetadata(v map[string]*string) *CreateMultipartUploadInput { 8507 s.Metadata = v 8508 return s 8509} 8510 8511// SetRequestPayer sets the RequestPayer field's value. 8512func (s *CreateMultipartUploadInput) SetRequestPayer(v string) *CreateMultipartUploadInput { 8513 s.RequestPayer = &v 8514 return s 8515} 8516 8517// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 8518func (s *CreateMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadInput { 8519 s.SSECustomerAlgorithm = &v 8520 return s 8521} 8522 8523// SetSSECustomerKey sets the SSECustomerKey field's value. 8524func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipartUploadInput { 8525 s.SSECustomerKey = &v 8526 return s 8527} 8528 8529func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) { 8530 if s.SSECustomerKey == nil { 8531 return v 8532 } 8533 return *s.SSECustomerKey 8534} 8535 8536// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8537func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput { 8538 s.SSECustomerKeyMD5 = &v 8539 return s 8540} 8541 8542// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8543func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput { 8544 s.SSEKMSKeyId = &v 8545 return s 8546} 8547 8548// SetServerSideEncryption sets the ServerSideEncryption field's value. 8549func (s *CreateMultipartUploadInput) SetServerSideEncryption(v string) *CreateMultipartUploadInput { 8550 s.ServerSideEncryption = &v 8551 return s 8552} 8553 8554// SetStorageClass sets the StorageClass field's value. 8555func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartUploadInput { 8556 s.StorageClass = &v 8557 return s 8558} 8559 8560// SetTagging sets the Tagging field's value. 8561func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput { 8562 s.Tagging = &v 8563 return s 8564} 8565 8566// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 8567func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput { 8568 s.WebsiteRedirectLocation = &v 8569 return s 8570} 8571 8572type CreateMultipartUploadOutput struct { 8573 _ struct{} `type:"structure"` 8574 8575 // Date when multipart upload will become eligible for abort operation by lifecycle. 8576 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"` 8577 8578 // Id of the lifecycle rule that makes a multipart upload eligible for abort 8579 // operation. 8580 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` 8581 8582 // Name of the bucket to which the multipart upload was initiated. 8583 Bucket *string `locationName:"Bucket" type:"string"` 8584 8585 // Object key for which the multipart upload was initiated. 8586 Key *string `min:"1" type:"string"` 8587 8588 // If present, indicates that the requester was successfully charged for the 8589 // request. 8590 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 8591 8592 // If server-side encryption with a customer-provided encryption key was requested, 8593 // the response will include this header confirming the encryption algorithm 8594 // used. 8595 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 8596 8597 // If server-side encryption with a customer-provided encryption key was requested, 8598 // the response will include this header to provide round trip message integrity 8599 // verification of the customer-provided encryption key. 8600 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8601 8602 // If present, specifies the ID of the AWS Key Management Service (KMS) master 8603 // encryption key that was used for the object. 8604 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 8605 8606 // The Server-side encryption algorithm used when storing this object in S3 8607 // (e.g., AES256, aws:kms). 8608 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 8609 8610 // ID for the initiated multipart upload. 8611 UploadId *string `type:"string"` 8612} 8613 8614// String returns the string representation 8615func (s CreateMultipartUploadOutput) String() string { 8616 return awsutil.Prettify(s) 8617} 8618 8619// GoString returns the string representation 8620func (s CreateMultipartUploadOutput) GoString() string { 8621 return s.String() 8622} 8623 8624// SetAbortDate sets the AbortDate field's value. 8625func (s *CreateMultipartUploadOutput) SetAbortDate(v time.Time) *CreateMultipartUploadOutput { 8626 s.AbortDate = &v 8627 return s 8628} 8629 8630// SetAbortRuleId sets the AbortRuleId field's value. 8631func (s *CreateMultipartUploadOutput) SetAbortRuleId(v string) *CreateMultipartUploadOutput { 8632 s.AbortRuleId = &v 8633 return s 8634} 8635 8636// SetBucket sets the Bucket field's value. 8637func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUploadOutput { 8638 s.Bucket = &v 8639 return s 8640} 8641 8642func (s *CreateMultipartUploadOutput) getBucket() (v string) { 8643 if s.Bucket == nil { 8644 return v 8645 } 8646 return *s.Bucket 8647} 8648 8649// SetKey sets the Key field's value. 8650func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput { 8651 s.Key = &v 8652 return s 8653} 8654 8655// SetRequestCharged sets the RequestCharged field's value. 8656func (s *CreateMultipartUploadOutput) SetRequestCharged(v string) *CreateMultipartUploadOutput { 8657 s.RequestCharged = &v 8658 return s 8659} 8660 8661// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 8662func (s *CreateMultipartUploadOutput) SetSSECustomerAlgorithm(v string) *CreateMultipartUploadOutput { 8663 s.SSECustomerAlgorithm = &v 8664 return s 8665} 8666 8667// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8668func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadOutput { 8669 s.SSECustomerKeyMD5 = &v 8670 return s 8671} 8672 8673// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8674func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput { 8675 s.SSEKMSKeyId = &v 8676 return s 8677} 8678 8679// SetServerSideEncryption sets the ServerSideEncryption field's value. 8680func (s *CreateMultipartUploadOutput) SetServerSideEncryption(v string) *CreateMultipartUploadOutput { 8681 s.ServerSideEncryption = &v 8682 return s 8683} 8684 8685// SetUploadId sets the UploadId field's value. 8686func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUploadOutput { 8687 s.UploadId = &v 8688 return s 8689} 8690 8691type Delete struct { 8692 _ struct{} `type:"structure"` 8693 8694 // Objects is a required field 8695 Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"` 8696 8697 // Element to enable quiet mode for the request. When you add this element, 8698 // you must set its value to true. 8699 Quiet *bool `type:"boolean"` 8700} 8701 8702// String returns the string representation 8703func (s Delete) String() string { 8704 return awsutil.Prettify(s) 8705} 8706 8707// GoString returns the string representation 8708func (s Delete) GoString() string { 8709 return s.String() 8710} 8711 8712// Validate inspects the fields of the type to determine if they are valid. 8713func (s *Delete) Validate() error { 8714 invalidParams := request.ErrInvalidParams{Context: "Delete"} 8715 if s.Objects == nil { 8716 invalidParams.Add(request.NewErrParamRequired("Objects")) 8717 } 8718 if s.Objects != nil { 8719 for i, v := range s.Objects { 8720 if v == nil { 8721 continue 8722 } 8723 if err := v.Validate(); err != nil { 8724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams)) 8725 } 8726 } 8727 } 8728 8729 if invalidParams.Len() > 0 { 8730 return invalidParams 8731 } 8732 return nil 8733} 8734 8735// SetObjects sets the Objects field's value. 8736func (s *Delete) SetObjects(v []*ObjectIdentifier) *Delete { 8737 s.Objects = v 8738 return s 8739} 8740 8741// SetQuiet sets the Quiet field's value. 8742func (s *Delete) SetQuiet(v bool) *Delete { 8743 s.Quiet = &v 8744 return s 8745} 8746 8747type DeleteBucketAnalyticsConfigurationInput struct { 8748 _ struct{} `type:"structure"` 8749 8750 // The name of the bucket from which an analytics configuration is deleted. 8751 // 8752 // Bucket is a required field 8753 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8754 8755 // The identifier used to represent an analytics configuration. 8756 // 8757 // Id is a required field 8758 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 8759} 8760 8761// String returns the string representation 8762func (s DeleteBucketAnalyticsConfigurationInput) String() string { 8763 return awsutil.Prettify(s) 8764} 8765 8766// GoString returns the string representation 8767func (s DeleteBucketAnalyticsConfigurationInput) GoString() string { 8768 return s.String() 8769} 8770 8771// Validate inspects the fields of the type to determine if they are valid. 8772func (s *DeleteBucketAnalyticsConfigurationInput) Validate() error { 8773 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAnalyticsConfigurationInput"} 8774 if s.Bucket == nil { 8775 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8776 } 8777 if s.Id == nil { 8778 invalidParams.Add(request.NewErrParamRequired("Id")) 8779 } 8780 8781 if invalidParams.Len() > 0 { 8782 return invalidParams 8783 } 8784 return nil 8785} 8786 8787// SetBucket sets the Bucket field's value. 8788func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBucketAnalyticsConfigurationInput { 8789 s.Bucket = &v 8790 return s 8791} 8792 8793func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) { 8794 if s.Bucket == nil { 8795 return v 8796 } 8797 return *s.Bucket 8798} 8799 8800// SetId sets the Id field's value. 8801func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput { 8802 s.Id = &v 8803 return s 8804} 8805 8806type DeleteBucketAnalyticsConfigurationOutput struct { 8807 _ struct{} `type:"structure"` 8808} 8809 8810// String returns the string representation 8811func (s DeleteBucketAnalyticsConfigurationOutput) String() string { 8812 return awsutil.Prettify(s) 8813} 8814 8815// GoString returns the string representation 8816func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string { 8817 return s.String() 8818} 8819 8820type DeleteBucketCorsInput struct { 8821 _ struct{} `type:"structure"` 8822 8823 // Bucket is a required field 8824 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8825} 8826 8827// String returns the string representation 8828func (s DeleteBucketCorsInput) String() string { 8829 return awsutil.Prettify(s) 8830} 8831 8832// GoString returns the string representation 8833func (s DeleteBucketCorsInput) GoString() string { 8834 return s.String() 8835} 8836 8837// Validate inspects the fields of the type to determine if they are valid. 8838func (s *DeleteBucketCorsInput) Validate() error { 8839 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"} 8840 if s.Bucket == nil { 8841 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8842 } 8843 8844 if invalidParams.Len() > 0 { 8845 return invalidParams 8846 } 8847 return nil 8848} 8849 8850// SetBucket sets the Bucket field's value. 8851func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput { 8852 s.Bucket = &v 8853 return s 8854} 8855 8856func (s *DeleteBucketCorsInput) getBucket() (v string) { 8857 if s.Bucket == nil { 8858 return v 8859 } 8860 return *s.Bucket 8861} 8862 8863type DeleteBucketCorsOutput struct { 8864 _ struct{} `type:"structure"` 8865} 8866 8867// String returns the string representation 8868func (s DeleteBucketCorsOutput) String() string { 8869 return awsutil.Prettify(s) 8870} 8871 8872// GoString returns the string representation 8873func (s DeleteBucketCorsOutput) GoString() string { 8874 return s.String() 8875} 8876 8877type DeleteBucketEncryptionInput struct { 8878 _ struct{} `type:"structure"` 8879 8880 // The name of the bucket containing the server-side encryption configuration 8881 // to delete. 8882 // 8883 // Bucket is a required field 8884 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8885} 8886 8887// String returns the string representation 8888func (s DeleteBucketEncryptionInput) String() string { 8889 return awsutil.Prettify(s) 8890} 8891 8892// GoString returns the string representation 8893func (s DeleteBucketEncryptionInput) GoString() string { 8894 return s.String() 8895} 8896 8897// Validate inspects the fields of the type to determine if they are valid. 8898func (s *DeleteBucketEncryptionInput) Validate() error { 8899 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"} 8900 if s.Bucket == nil { 8901 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8902 } 8903 8904 if invalidParams.Len() > 0 { 8905 return invalidParams 8906 } 8907 return nil 8908} 8909 8910// SetBucket sets the Bucket field's value. 8911func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput { 8912 s.Bucket = &v 8913 return s 8914} 8915 8916func (s *DeleteBucketEncryptionInput) getBucket() (v string) { 8917 if s.Bucket == nil { 8918 return v 8919 } 8920 return *s.Bucket 8921} 8922 8923type DeleteBucketEncryptionOutput struct { 8924 _ struct{} `type:"structure"` 8925} 8926 8927// String returns the string representation 8928func (s DeleteBucketEncryptionOutput) String() string { 8929 return awsutil.Prettify(s) 8930} 8931 8932// GoString returns the string representation 8933func (s DeleteBucketEncryptionOutput) GoString() string { 8934 return s.String() 8935} 8936 8937type DeleteBucketInput struct { 8938 _ struct{} `type:"structure"` 8939 8940 // Bucket is a required field 8941 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8942} 8943 8944// String returns the string representation 8945func (s DeleteBucketInput) String() string { 8946 return awsutil.Prettify(s) 8947} 8948 8949// GoString returns the string representation 8950func (s DeleteBucketInput) GoString() string { 8951 return s.String() 8952} 8953 8954// Validate inspects the fields of the type to determine if they are valid. 8955func (s *DeleteBucketInput) Validate() error { 8956 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 8957 if s.Bucket == nil { 8958 invalidParams.Add(request.NewErrParamRequired("Bucket")) 8959 } 8960 8961 if invalidParams.Len() > 0 { 8962 return invalidParams 8963 } 8964 return nil 8965} 8966 8967// SetBucket sets the Bucket field's value. 8968func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 8969 s.Bucket = &v 8970 return s 8971} 8972 8973func (s *DeleteBucketInput) getBucket() (v string) { 8974 if s.Bucket == nil { 8975 return v 8976 } 8977 return *s.Bucket 8978} 8979 8980type DeleteBucketInventoryConfigurationInput struct { 8981 _ struct{} `type:"structure"` 8982 8983 // The name of the bucket containing the inventory configuration to delete. 8984 // 8985 // Bucket is a required field 8986 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8987 8988 // The ID used to identify the inventory configuration. 8989 // 8990 // Id is a required field 8991 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 8992} 8993 8994// String returns the string representation 8995func (s DeleteBucketInventoryConfigurationInput) String() string { 8996 return awsutil.Prettify(s) 8997} 8998 8999// GoString returns the string representation 9000func (s DeleteBucketInventoryConfigurationInput) GoString() string { 9001 return s.String() 9002} 9003 9004// Validate inspects the fields of the type to determine if they are valid. 9005func (s *DeleteBucketInventoryConfigurationInput) Validate() error { 9006 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInventoryConfigurationInput"} 9007 if s.Bucket == nil { 9008 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9009 } 9010 if s.Id == nil { 9011 invalidParams.Add(request.NewErrParamRequired("Id")) 9012 } 9013 9014 if invalidParams.Len() > 0 { 9015 return invalidParams 9016 } 9017 return nil 9018} 9019 9020// SetBucket sets the Bucket field's value. 9021func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBucketInventoryConfigurationInput { 9022 s.Bucket = &v 9023 return s 9024} 9025 9026func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) { 9027 if s.Bucket == nil { 9028 return v 9029 } 9030 return *s.Bucket 9031} 9032 9033// SetId sets the Id field's value. 9034func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput { 9035 s.Id = &v 9036 return s 9037} 9038 9039type DeleteBucketInventoryConfigurationOutput struct { 9040 _ struct{} `type:"structure"` 9041} 9042 9043// String returns the string representation 9044func (s DeleteBucketInventoryConfigurationOutput) String() string { 9045 return awsutil.Prettify(s) 9046} 9047 9048// GoString returns the string representation 9049func (s DeleteBucketInventoryConfigurationOutput) GoString() string { 9050 return s.String() 9051} 9052 9053type DeleteBucketLifecycleInput struct { 9054 _ struct{} `type:"structure"` 9055 9056 // Bucket is a required field 9057 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9058} 9059 9060// String returns the string representation 9061func (s DeleteBucketLifecycleInput) String() string { 9062 return awsutil.Prettify(s) 9063} 9064 9065// GoString returns the string representation 9066func (s DeleteBucketLifecycleInput) GoString() string { 9067 return s.String() 9068} 9069 9070// Validate inspects the fields of the type to determine if they are valid. 9071func (s *DeleteBucketLifecycleInput) Validate() error { 9072 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"} 9073 if s.Bucket == nil { 9074 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9075 } 9076 9077 if invalidParams.Len() > 0 { 9078 return invalidParams 9079 } 9080 return nil 9081} 9082 9083// SetBucket sets the Bucket field's value. 9084func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleInput { 9085 s.Bucket = &v 9086 return s 9087} 9088 9089func (s *DeleteBucketLifecycleInput) getBucket() (v string) { 9090 if s.Bucket == nil { 9091 return v 9092 } 9093 return *s.Bucket 9094} 9095 9096type DeleteBucketLifecycleOutput struct { 9097 _ struct{} `type:"structure"` 9098} 9099 9100// String returns the string representation 9101func (s DeleteBucketLifecycleOutput) String() string { 9102 return awsutil.Prettify(s) 9103} 9104 9105// GoString returns the string representation 9106func (s DeleteBucketLifecycleOutput) GoString() string { 9107 return s.String() 9108} 9109 9110type DeleteBucketMetricsConfigurationInput struct { 9111 _ struct{} `type:"structure"` 9112 9113 // The name of the bucket containing the metrics configuration to delete. 9114 // 9115 // Bucket is a required field 9116 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9117 9118 // The ID used to identify the metrics configuration. 9119 // 9120 // Id is a required field 9121 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 9122} 9123 9124// String returns the string representation 9125func (s DeleteBucketMetricsConfigurationInput) String() string { 9126 return awsutil.Prettify(s) 9127} 9128 9129// GoString returns the string representation 9130func (s DeleteBucketMetricsConfigurationInput) GoString() string { 9131 return s.String() 9132} 9133 9134// Validate inspects the fields of the type to determine if they are valid. 9135func (s *DeleteBucketMetricsConfigurationInput) Validate() error { 9136 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketMetricsConfigurationInput"} 9137 if s.Bucket == nil { 9138 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9139 } 9140 if s.Id == nil { 9141 invalidParams.Add(request.NewErrParamRequired("Id")) 9142 } 9143 9144 if invalidParams.Len() > 0 { 9145 return invalidParams 9146 } 9147 return nil 9148} 9149 9150// SetBucket sets the Bucket field's value. 9151func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucketMetricsConfigurationInput { 9152 s.Bucket = &v 9153 return s 9154} 9155 9156func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) { 9157 if s.Bucket == nil { 9158 return v 9159 } 9160 return *s.Bucket 9161} 9162 9163// SetId sets the Id field's value. 9164func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput { 9165 s.Id = &v 9166 return s 9167} 9168 9169type DeleteBucketMetricsConfigurationOutput struct { 9170 _ struct{} `type:"structure"` 9171} 9172 9173// String returns the string representation 9174func (s DeleteBucketMetricsConfigurationOutput) String() string { 9175 return awsutil.Prettify(s) 9176} 9177 9178// GoString returns the string representation 9179func (s DeleteBucketMetricsConfigurationOutput) GoString() string { 9180 return s.String() 9181} 9182 9183type DeleteBucketOutput struct { 9184 _ struct{} `type:"structure"` 9185} 9186 9187// String returns the string representation 9188func (s DeleteBucketOutput) String() string { 9189 return awsutil.Prettify(s) 9190} 9191 9192// GoString returns the string representation 9193func (s DeleteBucketOutput) GoString() string { 9194 return s.String() 9195} 9196 9197type DeleteBucketPolicyInput struct { 9198 _ struct{} `type:"structure"` 9199 9200 // Bucket is a required field 9201 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9202} 9203 9204// String returns the string representation 9205func (s DeleteBucketPolicyInput) String() string { 9206 return awsutil.Prettify(s) 9207} 9208 9209// GoString returns the string representation 9210func (s DeleteBucketPolicyInput) GoString() string { 9211 return s.String() 9212} 9213 9214// Validate inspects the fields of the type to determine if they are valid. 9215func (s *DeleteBucketPolicyInput) Validate() error { 9216 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 9217 if s.Bucket == nil { 9218 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9219 } 9220 9221 if invalidParams.Len() > 0 { 9222 return invalidParams 9223 } 9224 return nil 9225} 9226 9227// SetBucket sets the Bucket field's value. 9228func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 9229 s.Bucket = &v 9230 return s 9231} 9232 9233func (s *DeleteBucketPolicyInput) getBucket() (v string) { 9234 if s.Bucket == nil { 9235 return v 9236 } 9237 return *s.Bucket 9238} 9239 9240type DeleteBucketPolicyOutput struct { 9241 _ struct{} `type:"structure"` 9242} 9243 9244// String returns the string representation 9245func (s DeleteBucketPolicyOutput) String() string { 9246 return awsutil.Prettify(s) 9247} 9248 9249// GoString returns the string representation 9250func (s DeleteBucketPolicyOutput) GoString() string { 9251 return s.String() 9252} 9253 9254type DeleteBucketReplicationInput struct { 9255 _ struct{} `type:"structure"` 9256 9257 // Bucket is a required field 9258 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9259} 9260 9261// String returns the string representation 9262func (s DeleteBucketReplicationInput) String() string { 9263 return awsutil.Prettify(s) 9264} 9265 9266// GoString returns the string representation 9267func (s DeleteBucketReplicationInput) GoString() string { 9268 return s.String() 9269} 9270 9271// Validate inspects the fields of the type to determine if they are valid. 9272func (s *DeleteBucketReplicationInput) Validate() error { 9273 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"} 9274 if s.Bucket == nil { 9275 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9276 } 9277 9278 if invalidParams.Len() > 0 { 9279 return invalidParams 9280 } 9281 return nil 9282} 9283 9284// SetBucket sets the Bucket field's value. 9285func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicationInput { 9286 s.Bucket = &v 9287 return s 9288} 9289 9290func (s *DeleteBucketReplicationInput) getBucket() (v string) { 9291 if s.Bucket == nil { 9292 return v 9293 } 9294 return *s.Bucket 9295} 9296 9297type DeleteBucketReplicationOutput struct { 9298 _ struct{} `type:"structure"` 9299} 9300 9301// String returns the string representation 9302func (s DeleteBucketReplicationOutput) String() string { 9303 return awsutil.Prettify(s) 9304} 9305 9306// GoString returns the string representation 9307func (s DeleteBucketReplicationOutput) GoString() string { 9308 return s.String() 9309} 9310 9311type DeleteBucketTaggingInput struct { 9312 _ struct{} `type:"structure"` 9313 9314 // Bucket is a required field 9315 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9316} 9317 9318// String returns the string representation 9319func (s DeleteBucketTaggingInput) String() string { 9320 return awsutil.Prettify(s) 9321} 9322 9323// GoString returns the string representation 9324func (s DeleteBucketTaggingInput) GoString() string { 9325 return s.String() 9326} 9327 9328// Validate inspects the fields of the type to determine if they are valid. 9329func (s *DeleteBucketTaggingInput) Validate() error { 9330 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 9331 if s.Bucket == nil { 9332 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9333 } 9334 9335 if invalidParams.Len() > 0 { 9336 return invalidParams 9337 } 9338 return nil 9339} 9340 9341// SetBucket sets the Bucket field's value. 9342func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 9343 s.Bucket = &v 9344 return s 9345} 9346 9347func (s *DeleteBucketTaggingInput) getBucket() (v string) { 9348 if s.Bucket == nil { 9349 return v 9350 } 9351 return *s.Bucket 9352} 9353 9354type DeleteBucketTaggingOutput struct { 9355 _ struct{} `type:"structure"` 9356} 9357 9358// String returns the string representation 9359func (s DeleteBucketTaggingOutput) String() string { 9360 return awsutil.Prettify(s) 9361} 9362 9363// GoString returns the string representation 9364func (s DeleteBucketTaggingOutput) GoString() string { 9365 return s.String() 9366} 9367 9368type DeleteBucketWebsiteInput struct { 9369 _ struct{} `type:"structure"` 9370 9371 // Bucket is a required field 9372 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9373} 9374 9375// String returns the string representation 9376func (s DeleteBucketWebsiteInput) String() string { 9377 return awsutil.Prettify(s) 9378} 9379 9380// GoString returns the string representation 9381func (s DeleteBucketWebsiteInput) GoString() string { 9382 return s.String() 9383} 9384 9385// Validate inspects the fields of the type to determine if they are valid. 9386func (s *DeleteBucketWebsiteInput) Validate() error { 9387 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"} 9388 if s.Bucket == nil { 9389 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9390 } 9391 9392 if invalidParams.Len() > 0 { 9393 return invalidParams 9394 } 9395 return nil 9396} 9397 9398// SetBucket sets the Bucket field's value. 9399func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput { 9400 s.Bucket = &v 9401 return s 9402} 9403 9404func (s *DeleteBucketWebsiteInput) getBucket() (v string) { 9405 if s.Bucket == nil { 9406 return v 9407 } 9408 return *s.Bucket 9409} 9410 9411type DeleteBucketWebsiteOutput struct { 9412 _ struct{} `type:"structure"` 9413} 9414 9415// String returns the string representation 9416func (s DeleteBucketWebsiteOutput) String() string { 9417 return awsutil.Prettify(s) 9418} 9419 9420// GoString returns the string representation 9421func (s DeleteBucketWebsiteOutput) GoString() string { 9422 return s.String() 9423} 9424 9425type DeleteMarkerEntry struct { 9426 _ struct{} `type:"structure"` 9427 9428 // Specifies whether the object is (true) or is not (false) the latest version 9429 // of an object. 9430 IsLatest *bool `type:"boolean"` 9431 9432 // The object key. 9433 Key *string `min:"1" type:"string"` 9434 9435 // Date and time the object was last modified. 9436 LastModified *time.Time `type:"timestamp"` 9437 9438 Owner *Owner `type:"structure"` 9439 9440 // Version ID of an object. 9441 VersionId *string `type:"string"` 9442} 9443 9444// String returns the string representation 9445func (s DeleteMarkerEntry) String() string { 9446 return awsutil.Prettify(s) 9447} 9448 9449// GoString returns the string representation 9450func (s DeleteMarkerEntry) GoString() string { 9451 return s.String() 9452} 9453 9454// SetIsLatest sets the IsLatest field's value. 9455func (s *DeleteMarkerEntry) SetIsLatest(v bool) *DeleteMarkerEntry { 9456 s.IsLatest = &v 9457 return s 9458} 9459 9460// SetKey sets the Key field's value. 9461func (s *DeleteMarkerEntry) SetKey(v string) *DeleteMarkerEntry { 9462 s.Key = &v 9463 return s 9464} 9465 9466// SetLastModified sets the LastModified field's value. 9467func (s *DeleteMarkerEntry) SetLastModified(v time.Time) *DeleteMarkerEntry { 9468 s.LastModified = &v 9469 return s 9470} 9471 9472// SetOwner sets the Owner field's value. 9473func (s *DeleteMarkerEntry) SetOwner(v *Owner) *DeleteMarkerEntry { 9474 s.Owner = v 9475 return s 9476} 9477 9478// SetVersionId sets the VersionId field's value. 9479func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry { 9480 s.VersionId = &v 9481 return s 9482} 9483 9484type DeleteObjectInput struct { 9485 _ struct{} `type:"structure"` 9486 9487 // Bucket is a required field 9488 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9489 9490 // Key is a required field 9491 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 9492 9493 // The concatenation of the authentication device's serial number, a space, 9494 // and the value that is displayed on your authentication device. 9495 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 9496 9497 // Confirms that the requester knows that she or he will be charged for the 9498 // request. Bucket owners need not specify this parameter in their requests. 9499 // Documentation on downloading objects from requester pays buckets can be found 9500 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 9501 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 9502 9503 // VersionId used to reference a specific version of the object. 9504 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 9505} 9506 9507// String returns the string representation 9508func (s DeleteObjectInput) String() string { 9509 return awsutil.Prettify(s) 9510} 9511 9512// GoString returns the string representation 9513func (s DeleteObjectInput) GoString() string { 9514 return s.String() 9515} 9516 9517// Validate inspects the fields of the type to determine if they are valid. 9518func (s *DeleteObjectInput) Validate() error { 9519 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"} 9520 if s.Bucket == nil { 9521 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9522 } 9523 if s.Key == nil { 9524 invalidParams.Add(request.NewErrParamRequired("Key")) 9525 } 9526 if s.Key != nil && len(*s.Key) < 1 { 9527 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9528 } 9529 9530 if invalidParams.Len() > 0 { 9531 return invalidParams 9532 } 9533 return nil 9534} 9535 9536// SetBucket sets the Bucket field's value. 9537func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput { 9538 s.Bucket = &v 9539 return s 9540} 9541 9542func (s *DeleteObjectInput) getBucket() (v string) { 9543 if s.Bucket == nil { 9544 return v 9545 } 9546 return *s.Bucket 9547} 9548 9549// SetKey sets the Key field's value. 9550func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput { 9551 s.Key = &v 9552 return s 9553} 9554 9555// SetMFA sets the MFA field's value. 9556func (s *DeleteObjectInput) SetMFA(v string) *DeleteObjectInput { 9557 s.MFA = &v 9558 return s 9559} 9560 9561// SetRequestPayer sets the RequestPayer field's value. 9562func (s *DeleteObjectInput) SetRequestPayer(v string) *DeleteObjectInput { 9563 s.RequestPayer = &v 9564 return s 9565} 9566 9567// SetVersionId sets the VersionId field's value. 9568func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput { 9569 s.VersionId = &v 9570 return s 9571} 9572 9573type DeleteObjectOutput struct { 9574 _ struct{} `type:"structure"` 9575 9576 // Specifies whether the versioned object that was permanently deleted was (true) 9577 // or was not (false) a delete marker. 9578 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 9579 9580 // If present, indicates that the requester was successfully charged for the 9581 // request. 9582 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 9583 9584 // Returns the version ID of the delete marker created as a result of the DELETE 9585 // operation. 9586 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 9587} 9588 9589// String returns the string representation 9590func (s DeleteObjectOutput) String() string { 9591 return awsutil.Prettify(s) 9592} 9593 9594// GoString returns the string representation 9595func (s DeleteObjectOutput) GoString() string { 9596 return s.String() 9597} 9598 9599// SetDeleteMarker sets the DeleteMarker field's value. 9600func (s *DeleteObjectOutput) SetDeleteMarker(v bool) *DeleteObjectOutput { 9601 s.DeleteMarker = &v 9602 return s 9603} 9604 9605// SetRequestCharged sets the RequestCharged field's value. 9606func (s *DeleteObjectOutput) SetRequestCharged(v string) *DeleteObjectOutput { 9607 s.RequestCharged = &v 9608 return s 9609} 9610 9611// SetVersionId sets the VersionId field's value. 9612func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput { 9613 s.VersionId = &v 9614 return s 9615} 9616 9617type DeleteObjectTaggingInput struct { 9618 _ struct{} `type:"structure"` 9619 9620 // Bucket is a required field 9621 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9622 9623 // Key is a required field 9624 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 9625 9626 // The versionId of the object that the tag-set will be removed from. 9627 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 9628} 9629 9630// String returns the string representation 9631func (s DeleteObjectTaggingInput) String() string { 9632 return awsutil.Prettify(s) 9633} 9634 9635// GoString returns the string representation 9636func (s DeleteObjectTaggingInput) GoString() string { 9637 return s.String() 9638} 9639 9640// Validate inspects the fields of the type to determine if they are valid. 9641func (s *DeleteObjectTaggingInput) Validate() error { 9642 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectTaggingInput"} 9643 if s.Bucket == nil { 9644 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9645 } 9646 if s.Key == nil { 9647 invalidParams.Add(request.NewErrParamRequired("Key")) 9648 } 9649 if s.Key != nil && len(*s.Key) < 1 { 9650 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9651 } 9652 9653 if invalidParams.Len() > 0 { 9654 return invalidParams 9655 } 9656 return nil 9657} 9658 9659// SetBucket sets the Bucket field's value. 9660func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput { 9661 s.Bucket = &v 9662 return s 9663} 9664 9665func (s *DeleteObjectTaggingInput) getBucket() (v string) { 9666 if s.Bucket == nil { 9667 return v 9668 } 9669 return *s.Bucket 9670} 9671 9672// SetKey sets the Key field's value. 9673func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput { 9674 s.Key = &v 9675 return s 9676} 9677 9678// SetVersionId sets the VersionId field's value. 9679func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingInput { 9680 s.VersionId = &v 9681 return s 9682} 9683 9684type DeleteObjectTaggingOutput struct { 9685 _ struct{} `type:"structure"` 9686 9687 // The versionId of the object the tag-set was removed from. 9688 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 9689} 9690 9691// String returns the string representation 9692func (s DeleteObjectTaggingOutput) String() string { 9693 return awsutil.Prettify(s) 9694} 9695 9696// GoString returns the string representation 9697func (s DeleteObjectTaggingOutput) GoString() string { 9698 return s.String() 9699} 9700 9701// SetVersionId sets the VersionId field's value. 9702func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingOutput { 9703 s.VersionId = &v 9704 return s 9705} 9706 9707type DeleteObjectsInput struct { 9708 _ struct{} `type:"structure" payload:"Delete"` 9709 9710 // Bucket is a required field 9711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9712 9713 // Delete is a required field 9714 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 9715 9716 // The concatenation of the authentication device's serial number, a space, 9717 // and the value that is displayed on your authentication device. 9718 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 9719 9720 // Confirms that the requester knows that she or he will be charged for the 9721 // request. Bucket owners need not specify this parameter in their requests. 9722 // Documentation on downloading objects from requester pays buckets can be found 9723 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 9724 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 9725} 9726 9727// String returns the string representation 9728func (s DeleteObjectsInput) String() string { 9729 return awsutil.Prettify(s) 9730} 9731 9732// GoString returns the string representation 9733func (s DeleteObjectsInput) GoString() string { 9734 return s.String() 9735} 9736 9737// Validate inspects the fields of the type to determine if they are valid. 9738func (s *DeleteObjectsInput) Validate() error { 9739 invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"} 9740 if s.Bucket == nil { 9741 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9742 } 9743 if s.Delete == nil { 9744 invalidParams.Add(request.NewErrParamRequired("Delete")) 9745 } 9746 if s.Delete != nil { 9747 if err := s.Delete.Validate(); err != nil { 9748 invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) 9749 } 9750 } 9751 9752 if invalidParams.Len() > 0 { 9753 return invalidParams 9754 } 9755 return nil 9756} 9757 9758// SetBucket sets the Bucket field's value. 9759func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput { 9760 s.Bucket = &v 9761 return s 9762} 9763 9764func (s *DeleteObjectsInput) getBucket() (v string) { 9765 if s.Bucket == nil { 9766 return v 9767 } 9768 return *s.Bucket 9769} 9770 9771// SetDelete sets the Delete field's value. 9772func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput { 9773 s.Delete = v 9774 return s 9775} 9776 9777// SetMFA sets the MFA field's value. 9778func (s *DeleteObjectsInput) SetMFA(v string) *DeleteObjectsInput { 9779 s.MFA = &v 9780 return s 9781} 9782 9783// SetRequestPayer sets the RequestPayer field's value. 9784func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput { 9785 s.RequestPayer = &v 9786 return s 9787} 9788 9789type DeleteObjectsOutput struct { 9790 _ struct{} `type:"structure"` 9791 9792 Deleted []*DeletedObject `type:"list" flattened:"true"` 9793 9794 Errors []*Error `locationName:"Error" type:"list" flattened:"true"` 9795 9796 // If present, indicates that the requester was successfully charged for the 9797 // request. 9798 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 9799} 9800 9801// String returns the string representation 9802func (s DeleteObjectsOutput) String() string { 9803 return awsutil.Prettify(s) 9804} 9805 9806// GoString returns the string representation 9807func (s DeleteObjectsOutput) GoString() string { 9808 return s.String() 9809} 9810 9811// SetDeleted sets the Deleted field's value. 9812func (s *DeleteObjectsOutput) SetDeleted(v []*DeletedObject) *DeleteObjectsOutput { 9813 s.Deleted = v 9814 return s 9815} 9816 9817// SetErrors sets the Errors field's value. 9818func (s *DeleteObjectsOutput) SetErrors(v []*Error) *DeleteObjectsOutput { 9819 s.Errors = v 9820 return s 9821} 9822 9823// SetRequestCharged sets the RequestCharged field's value. 9824func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput { 9825 s.RequestCharged = &v 9826 return s 9827} 9828 9829type DeletedObject struct { 9830 _ struct{} `type:"structure"` 9831 9832 DeleteMarker *bool `type:"boolean"` 9833 9834 DeleteMarkerVersionId *string `type:"string"` 9835 9836 Key *string `min:"1" type:"string"` 9837 9838 VersionId *string `type:"string"` 9839} 9840 9841// String returns the string representation 9842func (s DeletedObject) String() string { 9843 return awsutil.Prettify(s) 9844} 9845 9846// GoString returns the string representation 9847func (s DeletedObject) GoString() string { 9848 return s.String() 9849} 9850 9851// SetDeleteMarker sets the DeleteMarker field's value. 9852func (s *DeletedObject) SetDeleteMarker(v bool) *DeletedObject { 9853 s.DeleteMarker = &v 9854 return s 9855} 9856 9857// SetDeleteMarkerVersionId sets the DeleteMarkerVersionId field's value. 9858func (s *DeletedObject) SetDeleteMarkerVersionId(v string) *DeletedObject { 9859 s.DeleteMarkerVersionId = &v 9860 return s 9861} 9862 9863// SetKey sets the Key field's value. 9864func (s *DeletedObject) SetKey(v string) *DeletedObject { 9865 s.Key = &v 9866 return s 9867} 9868 9869// SetVersionId sets the VersionId field's value. 9870func (s *DeletedObject) SetVersionId(v string) *DeletedObject { 9871 s.VersionId = &v 9872 return s 9873} 9874 9875// Container for replication destination information. 9876type Destination struct { 9877 _ struct{} `type:"structure"` 9878 9879 // Container for information regarding the access control for replicas. 9880 AccessControlTranslation *AccessControlTranslation `type:"structure"` 9881 9882 // Account ID of the destination bucket. Currently this is only being verified 9883 // if Access Control Translation is enabled 9884 Account *string `type:"string"` 9885 9886 // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store 9887 // replicas of the object identified by the rule. 9888 // 9889 // Bucket is a required field 9890 Bucket *string `type:"string" required:"true"` 9891 9892 // Container for information regarding encryption based configuration for replicas. 9893 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 9894 9895 // The class of storage used to store the object. 9896 StorageClass *string `type:"string" enum:"StorageClass"` 9897} 9898 9899// String returns the string representation 9900func (s Destination) String() string { 9901 return awsutil.Prettify(s) 9902} 9903 9904// GoString returns the string representation 9905func (s Destination) GoString() string { 9906 return s.String() 9907} 9908 9909// Validate inspects the fields of the type to determine if they are valid. 9910func (s *Destination) Validate() error { 9911 invalidParams := request.ErrInvalidParams{Context: "Destination"} 9912 if s.Bucket == nil { 9913 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9914 } 9915 if s.AccessControlTranslation != nil { 9916 if err := s.AccessControlTranslation.Validate(); err != nil { 9917 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams)) 9918 } 9919 } 9920 9921 if invalidParams.Len() > 0 { 9922 return invalidParams 9923 } 9924 return nil 9925} 9926 9927// SetAccessControlTranslation sets the AccessControlTranslation field's value. 9928func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination { 9929 s.AccessControlTranslation = v 9930 return s 9931} 9932 9933// SetAccount sets the Account field's value. 9934func (s *Destination) SetAccount(v string) *Destination { 9935 s.Account = &v 9936 return s 9937} 9938 9939// SetBucket sets the Bucket field's value. 9940func (s *Destination) SetBucket(v string) *Destination { 9941 s.Bucket = &v 9942 return s 9943} 9944 9945func (s *Destination) getBucket() (v string) { 9946 if s.Bucket == nil { 9947 return v 9948 } 9949 return *s.Bucket 9950} 9951 9952// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 9953func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination { 9954 s.EncryptionConfiguration = v 9955 return s 9956} 9957 9958// SetStorageClass sets the StorageClass field's value. 9959func (s *Destination) SetStorageClass(v string) *Destination { 9960 s.StorageClass = &v 9961 return s 9962} 9963 9964// Describes the server-side encryption that will be applied to the restore 9965// results. 9966type Encryption struct { 9967 _ struct{} `type:"structure"` 9968 9969 // The server-side encryption algorithm used when storing job results in Amazon 9970 // S3 (e.g., AES256, aws:kms). 9971 // 9972 // EncryptionType is a required field 9973 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"` 9974 9975 // If the encryption type is aws:kms, this optional value can be used to specify 9976 // the encryption context for the restore results. 9977 KMSContext *string `type:"string"` 9978 9979 // If the encryption type is aws:kms, this optional value specifies the AWS 9980 // KMS key ID to use for encryption of job results. 9981 KMSKeyId *string `type:"string"` 9982} 9983 9984// String returns the string representation 9985func (s Encryption) String() string { 9986 return awsutil.Prettify(s) 9987} 9988 9989// GoString returns the string representation 9990func (s Encryption) GoString() string { 9991 return s.String() 9992} 9993 9994// Validate inspects the fields of the type to determine if they are valid. 9995func (s *Encryption) Validate() error { 9996 invalidParams := request.ErrInvalidParams{Context: "Encryption"} 9997 if s.EncryptionType == nil { 9998 invalidParams.Add(request.NewErrParamRequired("EncryptionType")) 9999 } 10000 10001 if invalidParams.Len() > 0 { 10002 return invalidParams 10003 } 10004 return nil 10005} 10006 10007// SetEncryptionType sets the EncryptionType field's value. 10008func (s *Encryption) SetEncryptionType(v string) *Encryption { 10009 s.EncryptionType = &v 10010 return s 10011} 10012 10013// SetKMSContext sets the KMSContext field's value. 10014func (s *Encryption) SetKMSContext(v string) *Encryption { 10015 s.KMSContext = &v 10016 return s 10017} 10018 10019// SetKMSKeyId sets the KMSKeyId field's value. 10020func (s *Encryption) SetKMSKeyId(v string) *Encryption { 10021 s.KMSKeyId = &v 10022 return s 10023} 10024 10025// Container for information regarding encryption based configuration for replicas. 10026type EncryptionConfiguration struct { 10027 _ struct{} `type:"structure"` 10028 10029 // The id of the KMS key used to encrypt the replica object. 10030 ReplicaKmsKeyID *string `type:"string"` 10031} 10032 10033// String returns the string representation 10034func (s EncryptionConfiguration) String() string { 10035 return awsutil.Prettify(s) 10036} 10037 10038// GoString returns the string representation 10039func (s EncryptionConfiguration) GoString() string { 10040 return s.String() 10041} 10042 10043// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value. 10044func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration { 10045 s.ReplicaKmsKeyID = &v 10046 return s 10047} 10048 10049type EndEvent struct { 10050 _ struct{} `locationName:"EndEvent" type:"structure"` 10051} 10052 10053// String returns the string representation 10054func (s EndEvent) String() string { 10055 return awsutil.Prettify(s) 10056} 10057 10058// GoString returns the string representation 10059func (s EndEvent) GoString() string { 10060 return s.String() 10061} 10062 10063// The EndEvent is and event in the SelectObjectContentEventStream group of events. 10064func (s *EndEvent) eventSelectObjectContentEventStream() {} 10065 10066// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value. 10067// This method is only used internally within the SDK's EventStream handling. 10068func (s *EndEvent) UnmarshalEvent( 10069 payloadUnmarshaler protocol.PayloadUnmarshaler, 10070 msg eventstream.Message, 10071) error { 10072 return nil 10073} 10074 10075type Error struct { 10076 _ struct{} `type:"structure"` 10077 10078 Code *string `type:"string"` 10079 10080 Key *string `min:"1" type:"string"` 10081 10082 Message *string `type:"string"` 10083 10084 VersionId *string `type:"string"` 10085} 10086 10087// String returns the string representation 10088func (s Error) String() string { 10089 return awsutil.Prettify(s) 10090} 10091 10092// GoString returns the string representation 10093func (s Error) GoString() string { 10094 return s.String() 10095} 10096 10097// SetCode sets the Code field's value. 10098func (s *Error) SetCode(v string) *Error { 10099 s.Code = &v 10100 return s 10101} 10102 10103// SetKey sets the Key field's value. 10104func (s *Error) SetKey(v string) *Error { 10105 s.Key = &v 10106 return s 10107} 10108 10109// SetMessage sets the Message field's value. 10110func (s *Error) SetMessage(v string) *Error { 10111 s.Message = &v 10112 return s 10113} 10114 10115// SetVersionId sets the VersionId field's value. 10116func (s *Error) SetVersionId(v string) *Error { 10117 s.VersionId = &v 10118 return s 10119} 10120 10121type ErrorDocument struct { 10122 _ struct{} `type:"structure"` 10123 10124 // The object key name to use when a 4XX class error occurs. 10125 // 10126 // Key is a required field 10127 Key *string `min:"1" type:"string" required:"true"` 10128} 10129 10130// String returns the string representation 10131func (s ErrorDocument) String() string { 10132 return awsutil.Prettify(s) 10133} 10134 10135// GoString returns the string representation 10136func (s ErrorDocument) GoString() string { 10137 return s.String() 10138} 10139 10140// Validate inspects the fields of the type to determine if they are valid. 10141func (s *ErrorDocument) Validate() error { 10142 invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"} 10143 if s.Key == nil { 10144 invalidParams.Add(request.NewErrParamRequired("Key")) 10145 } 10146 if s.Key != nil && len(*s.Key) < 1 { 10147 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 10148 } 10149 10150 if invalidParams.Len() > 0 { 10151 return invalidParams 10152 } 10153 return nil 10154} 10155 10156// SetKey sets the Key field's value. 10157func (s *ErrorDocument) SetKey(v string) *ErrorDocument { 10158 s.Key = &v 10159 return s 10160} 10161 10162// Container for key value pair that defines the criteria for the filter rule. 10163type FilterRule struct { 10164 _ struct{} `type:"structure"` 10165 10166 // Object key name prefix or suffix identifying one or more objects to which 10167 // the filtering rule applies. Maximum prefix length can be up to 1,024 characters. 10168 // Overlapping prefixes and suffixes are not supported. For more information, 10169 // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 10170 // in the Amazon Simple Storage Service Developer Guide. 10171 Name *string `type:"string" enum:"FilterRuleName"` 10172 10173 Value *string `type:"string"` 10174} 10175 10176// String returns the string representation 10177func (s FilterRule) String() string { 10178 return awsutil.Prettify(s) 10179} 10180 10181// GoString returns the string representation 10182func (s FilterRule) GoString() string { 10183 return s.String() 10184} 10185 10186// SetName sets the Name field's value. 10187func (s *FilterRule) SetName(v string) *FilterRule { 10188 s.Name = &v 10189 return s 10190} 10191 10192// SetValue sets the Value field's value. 10193func (s *FilterRule) SetValue(v string) *FilterRule { 10194 s.Value = &v 10195 return s 10196} 10197 10198type GetBucketAccelerateConfigurationInput struct { 10199 _ struct{} `type:"structure"` 10200 10201 // Name of the bucket for which the accelerate configuration is retrieved. 10202 // 10203 // Bucket is a required field 10204 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10205} 10206 10207// String returns the string representation 10208func (s GetBucketAccelerateConfigurationInput) String() string { 10209 return awsutil.Prettify(s) 10210} 10211 10212// GoString returns the string representation 10213func (s GetBucketAccelerateConfigurationInput) GoString() string { 10214 return s.String() 10215} 10216 10217// Validate inspects the fields of the type to determine if they are valid. 10218func (s *GetBucketAccelerateConfigurationInput) Validate() error { 10219 invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"} 10220 if s.Bucket == nil { 10221 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10222 } 10223 10224 if invalidParams.Len() > 0 { 10225 return invalidParams 10226 } 10227 return nil 10228} 10229 10230// SetBucket sets the Bucket field's value. 10231func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAccelerateConfigurationInput { 10232 s.Bucket = &v 10233 return s 10234} 10235 10236func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) { 10237 if s.Bucket == nil { 10238 return v 10239 } 10240 return *s.Bucket 10241} 10242 10243type GetBucketAccelerateConfigurationOutput struct { 10244 _ struct{} `type:"structure"` 10245 10246 // The accelerate configuration of the bucket. 10247 Status *string `type:"string" enum:"BucketAccelerateStatus"` 10248} 10249 10250// String returns the string representation 10251func (s GetBucketAccelerateConfigurationOutput) String() string { 10252 return awsutil.Prettify(s) 10253} 10254 10255// GoString returns the string representation 10256func (s GetBucketAccelerateConfigurationOutput) GoString() string { 10257 return s.String() 10258} 10259 10260// SetStatus sets the Status field's value. 10261func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketAccelerateConfigurationOutput { 10262 s.Status = &v 10263 return s 10264} 10265 10266type GetBucketAclInput struct { 10267 _ struct{} `type:"structure"` 10268 10269 // Bucket is a required field 10270 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10271} 10272 10273// String returns the string representation 10274func (s GetBucketAclInput) String() string { 10275 return awsutil.Prettify(s) 10276} 10277 10278// GoString returns the string representation 10279func (s GetBucketAclInput) GoString() string { 10280 return s.String() 10281} 10282 10283// Validate inspects the fields of the type to determine if they are valid. 10284func (s *GetBucketAclInput) Validate() error { 10285 invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"} 10286 if s.Bucket == nil { 10287 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10288 } 10289 10290 if invalidParams.Len() > 0 { 10291 return invalidParams 10292 } 10293 return nil 10294} 10295 10296// SetBucket sets the Bucket field's value. 10297func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput { 10298 s.Bucket = &v 10299 return s 10300} 10301 10302func (s *GetBucketAclInput) getBucket() (v string) { 10303 if s.Bucket == nil { 10304 return v 10305 } 10306 return *s.Bucket 10307} 10308 10309type GetBucketAclOutput struct { 10310 _ struct{} `type:"structure"` 10311 10312 // A list of grants. 10313 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 10314 10315 Owner *Owner `type:"structure"` 10316} 10317 10318// String returns the string representation 10319func (s GetBucketAclOutput) String() string { 10320 return awsutil.Prettify(s) 10321} 10322 10323// GoString returns the string representation 10324func (s GetBucketAclOutput) GoString() string { 10325 return s.String() 10326} 10327 10328// SetGrants sets the Grants field's value. 10329func (s *GetBucketAclOutput) SetGrants(v []*Grant) *GetBucketAclOutput { 10330 s.Grants = v 10331 return s 10332} 10333 10334// SetOwner sets the Owner field's value. 10335func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput { 10336 s.Owner = v 10337 return s 10338} 10339 10340type GetBucketAnalyticsConfigurationInput struct { 10341 _ struct{} `type:"structure"` 10342 10343 // The name of the bucket from which an analytics configuration is retrieved. 10344 // 10345 // Bucket is a required field 10346 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10347 10348 // The identifier used to represent an analytics configuration. 10349 // 10350 // Id is a required field 10351 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 10352} 10353 10354// String returns the string representation 10355func (s GetBucketAnalyticsConfigurationInput) String() string { 10356 return awsutil.Prettify(s) 10357} 10358 10359// GoString returns the string representation 10360func (s GetBucketAnalyticsConfigurationInput) GoString() string { 10361 return s.String() 10362} 10363 10364// Validate inspects the fields of the type to determine if they are valid. 10365func (s *GetBucketAnalyticsConfigurationInput) Validate() error { 10366 invalidParams := request.ErrInvalidParams{Context: "GetBucketAnalyticsConfigurationInput"} 10367 if s.Bucket == nil { 10368 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10369 } 10370 if s.Id == nil { 10371 invalidParams.Add(request.NewErrParamRequired("Id")) 10372 } 10373 10374 if invalidParams.Len() > 0 { 10375 return invalidParams 10376 } 10377 return nil 10378} 10379 10380// SetBucket sets the Bucket field's value. 10381func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAnalyticsConfigurationInput { 10382 s.Bucket = &v 10383 return s 10384} 10385 10386func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) { 10387 if s.Bucket == nil { 10388 return v 10389 } 10390 return *s.Bucket 10391} 10392 10393// SetId sets the Id field's value. 10394func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput { 10395 s.Id = &v 10396 return s 10397} 10398 10399type GetBucketAnalyticsConfigurationOutput struct { 10400 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 10401 10402 // The configuration and any analyses for the analytics filter. 10403 AnalyticsConfiguration *AnalyticsConfiguration `type:"structure"` 10404} 10405 10406// String returns the string representation 10407func (s GetBucketAnalyticsConfigurationOutput) String() string { 10408 return awsutil.Prettify(s) 10409} 10410 10411// GoString returns the string representation 10412func (s GetBucketAnalyticsConfigurationOutput) GoString() string { 10413 return s.String() 10414} 10415 10416// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value. 10417func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *GetBucketAnalyticsConfigurationOutput { 10418 s.AnalyticsConfiguration = v 10419 return s 10420} 10421 10422type GetBucketCorsInput 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 10429// String returns the string representation 10430func (s GetBucketCorsInput) String() string { 10431 return awsutil.Prettify(s) 10432} 10433 10434// GoString returns the string representation 10435func (s GetBucketCorsInput) GoString() string { 10436 return s.String() 10437} 10438 10439// Validate inspects the fields of the type to determine if they are valid. 10440func (s *GetBucketCorsInput) Validate() error { 10441 invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"} 10442 if s.Bucket == nil { 10443 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10444 } 10445 10446 if invalidParams.Len() > 0 { 10447 return invalidParams 10448 } 10449 return nil 10450} 10451 10452// SetBucket sets the Bucket field's value. 10453func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput { 10454 s.Bucket = &v 10455 return s 10456} 10457 10458func (s *GetBucketCorsInput) getBucket() (v string) { 10459 if s.Bucket == nil { 10460 return v 10461 } 10462 return *s.Bucket 10463} 10464 10465type GetBucketCorsOutput struct { 10466 _ struct{} `type:"structure"` 10467 10468 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"` 10469} 10470 10471// String returns the string representation 10472func (s GetBucketCorsOutput) String() string { 10473 return awsutil.Prettify(s) 10474} 10475 10476// GoString returns the string representation 10477func (s GetBucketCorsOutput) GoString() string { 10478 return s.String() 10479} 10480 10481// SetCORSRules sets the CORSRules field's value. 10482func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput { 10483 s.CORSRules = v 10484 return s 10485} 10486 10487type GetBucketEncryptionInput struct { 10488 _ struct{} `type:"structure"` 10489 10490 // The name of the bucket from which the server-side encryption configuration 10491 // is retrieved. 10492 // 10493 // Bucket is a required field 10494 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10495} 10496 10497// String returns the string representation 10498func (s GetBucketEncryptionInput) String() string { 10499 return awsutil.Prettify(s) 10500} 10501 10502// GoString returns the string representation 10503func (s GetBucketEncryptionInput) GoString() string { 10504 return s.String() 10505} 10506 10507// Validate inspects the fields of the type to determine if they are valid. 10508func (s *GetBucketEncryptionInput) Validate() error { 10509 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"} 10510 if s.Bucket == nil { 10511 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10512 } 10513 10514 if invalidParams.Len() > 0 { 10515 return invalidParams 10516 } 10517 return nil 10518} 10519 10520// SetBucket sets the Bucket field's value. 10521func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput { 10522 s.Bucket = &v 10523 return s 10524} 10525 10526func (s *GetBucketEncryptionInput) getBucket() (v string) { 10527 if s.Bucket == nil { 10528 return v 10529 } 10530 return *s.Bucket 10531} 10532 10533type GetBucketEncryptionOutput struct { 10534 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 10535 10536 // Container for server-side encryption configuration rules. Currently S3 supports 10537 // one rule only. 10538 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` 10539} 10540 10541// String returns the string representation 10542func (s GetBucketEncryptionOutput) String() string { 10543 return awsutil.Prettify(s) 10544} 10545 10546// GoString returns the string representation 10547func (s GetBucketEncryptionOutput) GoString() string { 10548 return s.String() 10549} 10550 10551// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. 10552func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput { 10553 s.ServerSideEncryptionConfiguration = v 10554 return s 10555} 10556 10557type GetBucketInventoryConfigurationInput struct { 10558 _ struct{} `type:"structure"` 10559 10560 // The name of the bucket containing the inventory configuration to retrieve. 10561 // 10562 // Bucket is a required field 10563 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10564 10565 // The ID used to identify the inventory configuration. 10566 // 10567 // Id is a required field 10568 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 10569} 10570 10571// String returns the string representation 10572func (s GetBucketInventoryConfigurationInput) String() string { 10573 return awsutil.Prettify(s) 10574} 10575 10576// GoString returns the string representation 10577func (s GetBucketInventoryConfigurationInput) GoString() string { 10578 return s.String() 10579} 10580 10581// Validate inspects the fields of the type to determine if they are valid. 10582func (s *GetBucketInventoryConfigurationInput) Validate() error { 10583 invalidParams := request.ErrInvalidParams{Context: "GetBucketInventoryConfigurationInput"} 10584 if s.Bucket == nil { 10585 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10586 } 10587 if s.Id == nil { 10588 invalidParams.Add(request.NewErrParamRequired("Id")) 10589 } 10590 10591 if invalidParams.Len() > 0 { 10592 return invalidParams 10593 } 10594 return nil 10595} 10596 10597// SetBucket sets the Bucket field's value. 10598func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInventoryConfigurationInput { 10599 s.Bucket = &v 10600 return s 10601} 10602 10603func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) { 10604 if s.Bucket == nil { 10605 return v 10606 } 10607 return *s.Bucket 10608} 10609 10610// SetId sets the Id field's value. 10611func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput { 10612 s.Id = &v 10613 return s 10614} 10615 10616type GetBucketInventoryConfigurationOutput struct { 10617 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 10618 10619 // Specifies the inventory configuration. 10620 InventoryConfiguration *InventoryConfiguration `type:"structure"` 10621} 10622 10623// String returns the string representation 10624func (s GetBucketInventoryConfigurationOutput) String() string { 10625 return awsutil.Prettify(s) 10626} 10627 10628// GoString returns the string representation 10629func (s GetBucketInventoryConfigurationOutput) GoString() string { 10630 return s.String() 10631} 10632 10633// SetInventoryConfiguration sets the InventoryConfiguration field's value. 10634func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *InventoryConfiguration) *GetBucketInventoryConfigurationOutput { 10635 s.InventoryConfiguration = v 10636 return s 10637} 10638 10639type GetBucketLifecycleConfigurationInput struct { 10640 _ struct{} `type:"structure"` 10641 10642 // Bucket is a required field 10643 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10644} 10645 10646// String returns the string representation 10647func (s GetBucketLifecycleConfigurationInput) String() string { 10648 return awsutil.Prettify(s) 10649} 10650 10651// GoString returns the string representation 10652func (s GetBucketLifecycleConfigurationInput) GoString() string { 10653 return s.String() 10654} 10655 10656// Validate inspects the fields of the type to determine if they are valid. 10657func (s *GetBucketLifecycleConfigurationInput) Validate() error { 10658 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 10659 if s.Bucket == nil { 10660 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10661 } 10662 10663 if invalidParams.Len() > 0 { 10664 return invalidParams 10665 } 10666 return nil 10667} 10668 10669// SetBucket sets the Bucket field's value. 10670func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 10671 s.Bucket = &v 10672 return s 10673} 10674 10675func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) { 10676 if s.Bucket == nil { 10677 return v 10678 } 10679 return *s.Bucket 10680} 10681 10682type GetBucketLifecycleConfigurationOutput struct { 10683 _ struct{} `type:"structure"` 10684 10685 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"` 10686} 10687 10688// String returns the string representation 10689func (s GetBucketLifecycleConfigurationOutput) String() string { 10690 return awsutil.Prettify(s) 10691} 10692 10693// GoString returns the string representation 10694func (s GetBucketLifecycleConfigurationOutput) GoString() string { 10695 return s.String() 10696} 10697 10698// SetRules sets the Rules field's value. 10699func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 10700 s.Rules = v 10701 return s 10702} 10703 10704type GetBucketLifecycleInput struct { 10705 _ struct{} `type:"structure"` 10706 10707 // Bucket is a required field 10708 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10709} 10710 10711// String returns the string representation 10712func (s GetBucketLifecycleInput) String() string { 10713 return awsutil.Prettify(s) 10714} 10715 10716// GoString returns the string representation 10717func (s GetBucketLifecycleInput) GoString() string { 10718 return s.String() 10719} 10720 10721// Validate inspects the fields of the type to determine if they are valid. 10722func (s *GetBucketLifecycleInput) Validate() error { 10723 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"} 10724 if s.Bucket == nil { 10725 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10726 } 10727 10728 if invalidParams.Len() > 0 { 10729 return invalidParams 10730 } 10731 return nil 10732} 10733 10734// SetBucket sets the Bucket field's value. 10735func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput { 10736 s.Bucket = &v 10737 return s 10738} 10739 10740func (s *GetBucketLifecycleInput) getBucket() (v string) { 10741 if s.Bucket == nil { 10742 return v 10743 } 10744 return *s.Bucket 10745} 10746 10747type GetBucketLifecycleOutput struct { 10748 _ struct{} `type:"structure"` 10749 10750 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"` 10751} 10752 10753// String returns the string representation 10754func (s GetBucketLifecycleOutput) String() string { 10755 return awsutil.Prettify(s) 10756} 10757 10758// GoString returns the string representation 10759func (s GetBucketLifecycleOutput) GoString() string { 10760 return s.String() 10761} 10762 10763// SetRules sets the Rules field's value. 10764func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput { 10765 s.Rules = v 10766 return s 10767} 10768 10769type GetBucketLocationInput struct { 10770 _ struct{} `type:"structure"` 10771 10772 // Bucket is a required field 10773 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10774} 10775 10776// String returns the string representation 10777func (s GetBucketLocationInput) String() string { 10778 return awsutil.Prettify(s) 10779} 10780 10781// GoString returns the string representation 10782func (s GetBucketLocationInput) GoString() string { 10783 return s.String() 10784} 10785 10786// Validate inspects the fields of the type to determine if they are valid. 10787func (s *GetBucketLocationInput) Validate() error { 10788 invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"} 10789 if s.Bucket == nil { 10790 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10791 } 10792 10793 if invalidParams.Len() > 0 { 10794 return invalidParams 10795 } 10796 return nil 10797} 10798 10799// SetBucket sets the Bucket field's value. 10800func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput { 10801 s.Bucket = &v 10802 return s 10803} 10804 10805func (s *GetBucketLocationInput) getBucket() (v string) { 10806 if s.Bucket == nil { 10807 return v 10808 } 10809 return *s.Bucket 10810} 10811 10812type GetBucketLocationOutput struct { 10813 _ struct{} `type:"structure"` 10814 10815 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 10816} 10817 10818// String returns the string representation 10819func (s GetBucketLocationOutput) String() string { 10820 return awsutil.Prettify(s) 10821} 10822 10823// GoString returns the string representation 10824func (s GetBucketLocationOutput) GoString() string { 10825 return s.String() 10826} 10827 10828// SetLocationConstraint sets the LocationConstraint field's value. 10829func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLocationOutput { 10830 s.LocationConstraint = &v 10831 return s 10832} 10833 10834type GetBucketLoggingInput struct { 10835 _ struct{} `type:"structure"` 10836 10837 // Bucket is a required field 10838 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10839} 10840 10841// String returns the string representation 10842func (s GetBucketLoggingInput) String() string { 10843 return awsutil.Prettify(s) 10844} 10845 10846// GoString returns the string representation 10847func (s GetBucketLoggingInput) GoString() string { 10848 return s.String() 10849} 10850 10851// Validate inspects the fields of the type to determine if they are valid. 10852func (s *GetBucketLoggingInput) Validate() error { 10853 invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"} 10854 if s.Bucket == nil { 10855 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10856 } 10857 10858 if invalidParams.Len() > 0 { 10859 return invalidParams 10860 } 10861 return nil 10862} 10863 10864// SetBucket sets the Bucket field's value. 10865func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput { 10866 s.Bucket = &v 10867 return s 10868} 10869 10870func (s *GetBucketLoggingInput) getBucket() (v string) { 10871 if s.Bucket == nil { 10872 return v 10873 } 10874 return *s.Bucket 10875} 10876 10877type GetBucketLoggingOutput struct { 10878 _ struct{} `type:"structure"` 10879 10880 // Container for logging information. Presence of this element indicates that 10881 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 10882 // in this case. 10883 LoggingEnabled *LoggingEnabled `type:"structure"` 10884} 10885 10886// String returns the string representation 10887func (s GetBucketLoggingOutput) String() string { 10888 return awsutil.Prettify(s) 10889} 10890 10891// GoString returns the string representation 10892func (s GetBucketLoggingOutput) GoString() string { 10893 return s.String() 10894} 10895 10896// SetLoggingEnabled sets the LoggingEnabled field's value. 10897func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucketLoggingOutput { 10898 s.LoggingEnabled = v 10899 return s 10900} 10901 10902type GetBucketMetricsConfigurationInput struct { 10903 _ struct{} `type:"structure"` 10904 10905 // The name of the bucket containing the metrics configuration to retrieve. 10906 // 10907 // Bucket is a required field 10908 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10909 10910 // The ID used to identify the metrics configuration. 10911 // 10912 // Id is a required field 10913 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 10914} 10915 10916// String returns the string representation 10917func (s GetBucketMetricsConfigurationInput) String() string { 10918 return awsutil.Prettify(s) 10919} 10920 10921// GoString returns the string representation 10922func (s GetBucketMetricsConfigurationInput) GoString() string { 10923 return s.String() 10924} 10925 10926// Validate inspects the fields of the type to determine if they are valid. 10927func (s *GetBucketMetricsConfigurationInput) Validate() error { 10928 invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricsConfigurationInput"} 10929 if s.Bucket == nil { 10930 invalidParams.Add(request.NewErrParamRequired("Bucket")) 10931 } 10932 if s.Id == nil { 10933 invalidParams.Add(request.NewErrParamRequired("Id")) 10934 } 10935 10936 if invalidParams.Len() > 0 { 10937 return invalidParams 10938 } 10939 return nil 10940} 10941 10942// SetBucket sets the Bucket field's value. 10943func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetricsConfigurationInput { 10944 s.Bucket = &v 10945 return s 10946} 10947 10948func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) { 10949 if s.Bucket == nil { 10950 return v 10951 } 10952 return *s.Bucket 10953} 10954 10955// SetId sets the Id field's value. 10956func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput { 10957 s.Id = &v 10958 return s 10959} 10960 10961type GetBucketMetricsConfigurationOutput struct { 10962 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 10963 10964 // Specifies the metrics configuration. 10965 MetricsConfiguration *MetricsConfiguration `type:"structure"` 10966} 10967 10968// String returns the string representation 10969func (s GetBucketMetricsConfigurationOutput) String() string { 10970 return awsutil.Prettify(s) 10971} 10972 10973// GoString returns the string representation 10974func (s GetBucketMetricsConfigurationOutput) GoString() string { 10975 return s.String() 10976} 10977 10978// SetMetricsConfiguration sets the MetricsConfiguration field's value. 10979func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *MetricsConfiguration) *GetBucketMetricsConfigurationOutput { 10980 s.MetricsConfiguration = v 10981 return s 10982} 10983 10984type GetBucketNotificationConfigurationRequest struct { 10985 _ struct{} `type:"structure"` 10986 10987 // Name of the bucket to get the notification configuration for. 10988 // 10989 // Bucket is a required field 10990 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10991} 10992 10993// String returns the string representation 10994func (s GetBucketNotificationConfigurationRequest) String() string { 10995 return awsutil.Prettify(s) 10996} 10997 10998// GoString returns the string representation 10999func (s GetBucketNotificationConfigurationRequest) GoString() string { 11000 return s.String() 11001} 11002 11003// Validate inspects the fields of the type to determine if they are valid. 11004func (s *GetBucketNotificationConfigurationRequest) Validate() error { 11005 invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"} 11006 if s.Bucket == nil { 11007 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11008 } 11009 11010 if invalidParams.Len() > 0 { 11011 return invalidParams 11012 } 11013 return nil 11014} 11015 11016// SetBucket sets the Bucket field's value. 11017func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBucketNotificationConfigurationRequest { 11018 s.Bucket = &v 11019 return s 11020} 11021 11022func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) { 11023 if s.Bucket == nil { 11024 return v 11025 } 11026 return *s.Bucket 11027} 11028 11029type GetBucketPolicyInput struct { 11030 _ struct{} `type:"structure"` 11031 11032 // Bucket is a required field 11033 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11034} 11035 11036// String returns the string representation 11037func (s GetBucketPolicyInput) String() string { 11038 return awsutil.Prettify(s) 11039} 11040 11041// GoString returns the string representation 11042func (s GetBucketPolicyInput) GoString() string { 11043 return s.String() 11044} 11045 11046// Validate inspects the fields of the type to determine if they are valid. 11047func (s *GetBucketPolicyInput) Validate() error { 11048 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 11049 if s.Bucket == nil { 11050 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11051 } 11052 11053 if invalidParams.Len() > 0 { 11054 return invalidParams 11055 } 11056 return nil 11057} 11058 11059// SetBucket sets the Bucket field's value. 11060func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 11061 s.Bucket = &v 11062 return s 11063} 11064 11065func (s *GetBucketPolicyInput) getBucket() (v string) { 11066 if s.Bucket == nil { 11067 return v 11068 } 11069 return *s.Bucket 11070} 11071 11072type GetBucketPolicyOutput struct { 11073 _ struct{} `type:"structure" payload:"Policy"` 11074 11075 // The bucket policy as a JSON document. 11076 Policy *string `type:"string"` 11077} 11078 11079// String returns the string representation 11080func (s GetBucketPolicyOutput) String() string { 11081 return awsutil.Prettify(s) 11082} 11083 11084// GoString returns the string representation 11085func (s GetBucketPolicyOutput) GoString() string { 11086 return s.String() 11087} 11088 11089// SetPolicy sets the Policy field's value. 11090func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 11091 s.Policy = &v 11092 return s 11093} 11094 11095type GetBucketReplicationInput struct { 11096 _ struct{} `type:"structure"` 11097 11098 // Bucket is a required field 11099 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11100} 11101 11102// String returns the string representation 11103func (s GetBucketReplicationInput) String() string { 11104 return awsutil.Prettify(s) 11105} 11106 11107// GoString returns the string representation 11108func (s GetBucketReplicationInput) GoString() string { 11109 return s.String() 11110} 11111 11112// Validate inspects the fields of the type to determine if they are valid. 11113func (s *GetBucketReplicationInput) Validate() error { 11114 invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"} 11115 if s.Bucket == nil { 11116 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11117 } 11118 11119 if invalidParams.Len() > 0 { 11120 return invalidParams 11121 } 11122 return nil 11123} 11124 11125// SetBucket sets the Bucket field's value. 11126func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInput { 11127 s.Bucket = &v 11128 return s 11129} 11130 11131func (s *GetBucketReplicationInput) getBucket() (v string) { 11132 if s.Bucket == nil { 11133 return v 11134 } 11135 return *s.Bucket 11136} 11137 11138type GetBucketReplicationOutput struct { 11139 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 11140 11141 // Container for replication rules. You can add as many as 1,000 rules. Total 11142 // replication configuration size can be up to 2 MB. 11143 ReplicationConfiguration *ReplicationConfiguration `type:"structure"` 11144} 11145 11146// String returns the string representation 11147func (s GetBucketReplicationOutput) String() string { 11148 return awsutil.Prettify(s) 11149} 11150 11151// GoString returns the string representation 11152func (s GetBucketReplicationOutput) GoString() string { 11153 return s.String() 11154} 11155 11156// SetReplicationConfiguration sets the ReplicationConfiguration field's value. 11157func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationConfiguration) *GetBucketReplicationOutput { 11158 s.ReplicationConfiguration = v 11159 return s 11160} 11161 11162type GetBucketRequestPaymentInput struct { 11163 _ struct{} `type:"structure"` 11164 11165 // Bucket is a required field 11166 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11167} 11168 11169// String returns the string representation 11170func (s GetBucketRequestPaymentInput) String() string { 11171 return awsutil.Prettify(s) 11172} 11173 11174// GoString returns the string representation 11175func (s GetBucketRequestPaymentInput) GoString() string { 11176 return s.String() 11177} 11178 11179// Validate inspects the fields of the type to determine if they are valid. 11180func (s *GetBucketRequestPaymentInput) Validate() error { 11181 invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"} 11182 if s.Bucket == nil { 11183 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11184 } 11185 11186 if invalidParams.Len() > 0 { 11187 return invalidParams 11188 } 11189 return nil 11190} 11191 11192// SetBucket sets the Bucket field's value. 11193func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaymentInput { 11194 s.Bucket = &v 11195 return s 11196} 11197 11198func (s *GetBucketRequestPaymentInput) getBucket() (v string) { 11199 if s.Bucket == nil { 11200 return v 11201 } 11202 return *s.Bucket 11203} 11204 11205type GetBucketRequestPaymentOutput struct { 11206 _ struct{} `type:"structure"` 11207 11208 // Specifies who pays for the download and request fees. 11209 Payer *string `type:"string" enum:"Payer"` 11210} 11211 11212// String returns the string representation 11213func (s GetBucketRequestPaymentOutput) String() string { 11214 return awsutil.Prettify(s) 11215} 11216 11217// GoString returns the string representation 11218func (s GetBucketRequestPaymentOutput) GoString() string { 11219 return s.String() 11220} 11221 11222// SetPayer sets the Payer field's value. 11223func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaymentOutput { 11224 s.Payer = &v 11225 return s 11226} 11227 11228type GetBucketTaggingInput struct { 11229 _ struct{} `type:"structure"` 11230 11231 // Bucket is a required field 11232 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11233} 11234 11235// String returns the string representation 11236func (s GetBucketTaggingInput) String() string { 11237 return awsutil.Prettify(s) 11238} 11239 11240// GoString returns the string representation 11241func (s GetBucketTaggingInput) GoString() string { 11242 return s.String() 11243} 11244 11245// Validate inspects the fields of the type to determine if they are valid. 11246func (s *GetBucketTaggingInput) Validate() error { 11247 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 11248 if s.Bucket == nil { 11249 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11250 } 11251 11252 if invalidParams.Len() > 0 { 11253 return invalidParams 11254 } 11255 return nil 11256} 11257 11258// SetBucket sets the Bucket field's value. 11259func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 11260 s.Bucket = &v 11261 return s 11262} 11263 11264func (s *GetBucketTaggingInput) getBucket() (v string) { 11265 if s.Bucket == nil { 11266 return v 11267 } 11268 return *s.Bucket 11269} 11270 11271type GetBucketTaggingOutput struct { 11272 _ struct{} `type:"structure"` 11273 11274 // TagSet is a required field 11275 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 11276} 11277 11278// String returns the string representation 11279func (s GetBucketTaggingOutput) String() string { 11280 return awsutil.Prettify(s) 11281} 11282 11283// GoString returns the string representation 11284func (s GetBucketTaggingOutput) GoString() string { 11285 return s.String() 11286} 11287 11288// SetTagSet sets the TagSet field's value. 11289func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput { 11290 s.TagSet = v 11291 return s 11292} 11293 11294type GetBucketVersioningInput struct { 11295 _ struct{} `type:"structure"` 11296 11297 // Bucket is a required field 11298 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11299} 11300 11301// String returns the string representation 11302func (s GetBucketVersioningInput) String() string { 11303 return awsutil.Prettify(s) 11304} 11305 11306// GoString returns the string representation 11307func (s GetBucketVersioningInput) GoString() string { 11308 return s.String() 11309} 11310 11311// Validate inspects the fields of the type to determine if they are valid. 11312func (s *GetBucketVersioningInput) Validate() error { 11313 invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"} 11314 if s.Bucket == nil { 11315 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11316 } 11317 11318 if invalidParams.Len() > 0 { 11319 return invalidParams 11320 } 11321 return nil 11322} 11323 11324// SetBucket sets the Bucket field's value. 11325func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput { 11326 s.Bucket = &v 11327 return s 11328} 11329 11330func (s *GetBucketVersioningInput) getBucket() (v string) { 11331 if s.Bucket == nil { 11332 return v 11333 } 11334 return *s.Bucket 11335} 11336 11337type GetBucketVersioningOutput struct { 11338 _ struct{} `type:"structure"` 11339 11340 // Specifies whether MFA delete is enabled in the bucket versioning configuration. 11341 // This element is only returned if the bucket has been configured with MFA 11342 // delete. If the bucket has never been so configured, this element is not returned. 11343 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"` 11344 11345 // The versioning state of the bucket. 11346 Status *string `type:"string" enum:"BucketVersioningStatus"` 11347} 11348 11349// String returns the string representation 11350func (s GetBucketVersioningOutput) String() string { 11351 return awsutil.Prettify(s) 11352} 11353 11354// GoString returns the string representation 11355func (s GetBucketVersioningOutput) GoString() string { 11356 return s.String() 11357} 11358 11359// SetMFADelete sets the MFADelete field's value. 11360func (s *GetBucketVersioningOutput) SetMFADelete(v string) *GetBucketVersioningOutput { 11361 s.MFADelete = &v 11362 return s 11363} 11364 11365// SetStatus sets the Status field's value. 11366func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutput { 11367 s.Status = &v 11368 return s 11369} 11370 11371type GetBucketWebsiteInput struct { 11372 _ struct{} `type:"structure"` 11373 11374 // Bucket is a required field 11375 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11376} 11377 11378// String returns the string representation 11379func (s GetBucketWebsiteInput) String() string { 11380 return awsutil.Prettify(s) 11381} 11382 11383// GoString returns the string representation 11384func (s GetBucketWebsiteInput) GoString() string { 11385 return s.String() 11386} 11387 11388// Validate inspects the fields of the type to determine if they are valid. 11389func (s *GetBucketWebsiteInput) Validate() error { 11390 invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"} 11391 if s.Bucket == nil { 11392 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11393 } 11394 11395 if invalidParams.Len() > 0 { 11396 return invalidParams 11397 } 11398 return nil 11399} 11400 11401// SetBucket sets the Bucket field's value. 11402func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput { 11403 s.Bucket = &v 11404 return s 11405} 11406 11407func (s *GetBucketWebsiteInput) getBucket() (v string) { 11408 if s.Bucket == nil { 11409 return v 11410 } 11411 return *s.Bucket 11412} 11413 11414type GetBucketWebsiteOutput struct { 11415 _ struct{} `type:"structure"` 11416 11417 ErrorDocument *ErrorDocument `type:"structure"` 11418 11419 IndexDocument *IndexDocument `type:"structure"` 11420 11421 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 11422 11423 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 11424} 11425 11426// String returns the string representation 11427func (s GetBucketWebsiteOutput) String() string { 11428 return awsutil.Prettify(s) 11429} 11430 11431// GoString returns the string representation 11432func (s GetBucketWebsiteOutput) GoString() string { 11433 return s.String() 11434} 11435 11436// SetErrorDocument sets the ErrorDocument field's value. 11437func (s *GetBucketWebsiteOutput) SetErrorDocument(v *ErrorDocument) *GetBucketWebsiteOutput { 11438 s.ErrorDocument = v 11439 return s 11440} 11441 11442// SetIndexDocument sets the IndexDocument field's value. 11443func (s *GetBucketWebsiteOutput) SetIndexDocument(v *IndexDocument) *GetBucketWebsiteOutput { 11444 s.IndexDocument = v 11445 return s 11446} 11447 11448// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value. 11449func (s *GetBucketWebsiteOutput) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *GetBucketWebsiteOutput { 11450 s.RedirectAllRequestsTo = v 11451 return s 11452} 11453 11454// SetRoutingRules sets the RoutingRules field's value. 11455func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWebsiteOutput { 11456 s.RoutingRules = v 11457 return s 11458} 11459 11460type GetObjectAclInput struct { 11461 _ struct{} `type:"structure"` 11462 11463 // Bucket is a required field 11464 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11465 11466 // Key is a required field 11467 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 11468 11469 // Confirms that the requester knows that she or he will be charged for the 11470 // request. Bucket owners need not specify this parameter in their requests. 11471 // Documentation on downloading objects from requester pays buckets can be found 11472 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 11473 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 11474 11475 // VersionId used to reference a specific version of the object. 11476 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 11477} 11478 11479// String returns the string representation 11480func (s GetObjectAclInput) String() string { 11481 return awsutil.Prettify(s) 11482} 11483 11484// GoString returns the string representation 11485func (s GetObjectAclInput) GoString() string { 11486 return s.String() 11487} 11488 11489// Validate inspects the fields of the type to determine if they are valid. 11490func (s *GetObjectAclInput) Validate() error { 11491 invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"} 11492 if s.Bucket == nil { 11493 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11494 } 11495 if s.Key == nil { 11496 invalidParams.Add(request.NewErrParamRequired("Key")) 11497 } 11498 if s.Key != nil && len(*s.Key) < 1 { 11499 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 11500 } 11501 11502 if invalidParams.Len() > 0 { 11503 return invalidParams 11504 } 11505 return nil 11506} 11507 11508// SetBucket sets the Bucket field's value. 11509func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput { 11510 s.Bucket = &v 11511 return s 11512} 11513 11514func (s *GetObjectAclInput) getBucket() (v string) { 11515 if s.Bucket == nil { 11516 return v 11517 } 11518 return *s.Bucket 11519} 11520 11521// SetKey sets the Key field's value. 11522func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput { 11523 s.Key = &v 11524 return s 11525} 11526 11527// SetRequestPayer sets the RequestPayer field's value. 11528func (s *GetObjectAclInput) SetRequestPayer(v string) *GetObjectAclInput { 11529 s.RequestPayer = &v 11530 return s 11531} 11532 11533// SetVersionId sets the VersionId field's value. 11534func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput { 11535 s.VersionId = &v 11536 return s 11537} 11538 11539type GetObjectAclOutput struct { 11540 _ struct{} `type:"structure"` 11541 11542 // A list of grants. 11543 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 11544 11545 Owner *Owner `type:"structure"` 11546 11547 // If present, indicates that the requester was successfully charged for the 11548 // request. 11549 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 11550} 11551 11552// String returns the string representation 11553func (s GetObjectAclOutput) String() string { 11554 return awsutil.Prettify(s) 11555} 11556 11557// GoString returns the string representation 11558func (s GetObjectAclOutput) GoString() string { 11559 return s.String() 11560} 11561 11562// SetGrants sets the Grants field's value. 11563func (s *GetObjectAclOutput) SetGrants(v []*Grant) *GetObjectAclOutput { 11564 s.Grants = v 11565 return s 11566} 11567 11568// SetOwner sets the Owner field's value. 11569func (s *GetObjectAclOutput) SetOwner(v *Owner) *GetObjectAclOutput { 11570 s.Owner = v 11571 return s 11572} 11573 11574// SetRequestCharged sets the RequestCharged field's value. 11575func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput { 11576 s.RequestCharged = &v 11577 return s 11578} 11579 11580type GetObjectInput struct { 11581 _ struct{} `type:"structure"` 11582 11583 // Bucket is a required field 11584 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11585 11586 // Return the object only if its entity tag (ETag) is the same as the one specified, 11587 // otherwise return a 412 (precondition failed). 11588 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 11589 11590 // Return the object only if it has been modified since the specified time, 11591 // otherwise return a 304 (not modified). 11592 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"` 11593 11594 // Return the object only if its entity tag (ETag) is different from the one 11595 // specified, otherwise return a 304 (not modified). 11596 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` 11597 11598 // Return the object only if it has not been modified since the specified time, 11599 // otherwise return a 412 (precondition failed). 11600 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"` 11601 11602 // Key is a required field 11603 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 11604 11605 // Part number of the object being read. This is a positive integer between 11606 // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. 11607 // Useful for downloading just a part of an object. 11608 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` 11609 11610 // Downloads the specified range bytes of an object. For more information about 11611 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. 11612 Range *string `location:"header" locationName:"Range" type:"string"` 11613 11614 // Confirms that the requester knows that she or he will be charged for the 11615 // request. Bucket owners need not specify this parameter in their requests. 11616 // Documentation on downloading objects from requester pays buckets can be found 11617 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 11618 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 11619 11620 // Sets the Cache-Control header of the response. 11621 ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"` 11622 11623 // Sets the Content-Disposition header of the response 11624 ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"` 11625 11626 // Sets the Content-Encoding header of the response. 11627 ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"` 11628 11629 // Sets the Content-Language header of the response. 11630 ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"` 11631 11632 // Sets the Content-Type header of the response. 11633 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"` 11634 11635 // Sets the Expires header of the response. 11636 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"` 11637 11638 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 11639 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 11640 11641 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 11642 // data. This value is used to store the object and then it is discarded; Amazon 11643 // does not store the encryption key. The key must be appropriate for use with 11644 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 11645 // header. 11646 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 11647 11648 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 11649 // Amazon S3 uses this header for a message integrity check to ensure the encryption 11650 // key was transmitted without error. 11651 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 11652 11653 // VersionId used to reference a specific version of the object. 11654 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 11655} 11656 11657// String returns the string representation 11658func (s GetObjectInput) String() string { 11659 return awsutil.Prettify(s) 11660} 11661 11662// GoString returns the string representation 11663func (s GetObjectInput) GoString() string { 11664 return s.String() 11665} 11666 11667// Validate inspects the fields of the type to determine if they are valid. 11668func (s *GetObjectInput) Validate() error { 11669 invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"} 11670 if s.Bucket == nil { 11671 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11672 } 11673 if s.Key == nil { 11674 invalidParams.Add(request.NewErrParamRequired("Key")) 11675 } 11676 if s.Key != nil && len(*s.Key) < 1 { 11677 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 11678 } 11679 11680 if invalidParams.Len() > 0 { 11681 return invalidParams 11682 } 11683 return nil 11684} 11685 11686// SetBucket sets the Bucket field's value. 11687func (s *GetObjectInput) SetBucket(v string) *GetObjectInput { 11688 s.Bucket = &v 11689 return s 11690} 11691 11692func (s *GetObjectInput) getBucket() (v string) { 11693 if s.Bucket == nil { 11694 return v 11695 } 11696 return *s.Bucket 11697} 11698 11699// SetIfMatch sets the IfMatch field's value. 11700func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput { 11701 s.IfMatch = &v 11702 return s 11703} 11704 11705// SetIfModifiedSince sets the IfModifiedSince field's value. 11706func (s *GetObjectInput) SetIfModifiedSince(v time.Time) *GetObjectInput { 11707 s.IfModifiedSince = &v 11708 return s 11709} 11710 11711// SetIfNoneMatch sets the IfNoneMatch field's value. 11712func (s *GetObjectInput) SetIfNoneMatch(v string) *GetObjectInput { 11713 s.IfNoneMatch = &v 11714 return s 11715} 11716 11717// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value. 11718func (s *GetObjectInput) SetIfUnmodifiedSince(v time.Time) *GetObjectInput { 11719 s.IfUnmodifiedSince = &v 11720 return s 11721} 11722 11723// SetKey sets the Key field's value. 11724func (s *GetObjectInput) SetKey(v string) *GetObjectInput { 11725 s.Key = &v 11726 return s 11727} 11728 11729// SetPartNumber sets the PartNumber field's value. 11730func (s *GetObjectInput) SetPartNumber(v int64) *GetObjectInput { 11731 s.PartNumber = &v 11732 return s 11733} 11734 11735// SetRange sets the Range field's value. 11736func (s *GetObjectInput) SetRange(v string) *GetObjectInput { 11737 s.Range = &v 11738 return s 11739} 11740 11741// SetRequestPayer sets the RequestPayer field's value. 11742func (s *GetObjectInput) SetRequestPayer(v string) *GetObjectInput { 11743 s.RequestPayer = &v 11744 return s 11745} 11746 11747// SetResponseCacheControl sets the ResponseCacheControl field's value. 11748func (s *GetObjectInput) SetResponseCacheControl(v string) *GetObjectInput { 11749 s.ResponseCacheControl = &v 11750 return s 11751} 11752 11753// SetResponseContentDisposition sets the ResponseContentDisposition field's value. 11754func (s *GetObjectInput) SetResponseContentDisposition(v string) *GetObjectInput { 11755 s.ResponseContentDisposition = &v 11756 return s 11757} 11758 11759// SetResponseContentEncoding sets the ResponseContentEncoding field's value. 11760func (s *GetObjectInput) SetResponseContentEncoding(v string) *GetObjectInput { 11761 s.ResponseContentEncoding = &v 11762 return s 11763} 11764 11765// SetResponseContentLanguage sets the ResponseContentLanguage field's value. 11766func (s *GetObjectInput) SetResponseContentLanguage(v string) *GetObjectInput { 11767 s.ResponseContentLanguage = &v 11768 return s 11769} 11770 11771// SetResponseContentType sets the ResponseContentType field's value. 11772func (s *GetObjectInput) SetResponseContentType(v string) *GetObjectInput { 11773 s.ResponseContentType = &v 11774 return s 11775} 11776 11777// SetResponseExpires sets the ResponseExpires field's value. 11778func (s *GetObjectInput) SetResponseExpires(v time.Time) *GetObjectInput { 11779 s.ResponseExpires = &v 11780 return s 11781} 11782 11783// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 11784func (s *GetObjectInput) SetSSECustomerAlgorithm(v string) *GetObjectInput { 11785 s.SSECustomerAlgorithm = &v 11786 return s 11787} 11788 11789// SetSSECustomerKey sets the SSECustomerKey field's value. 11790func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput { 11791 s.SSECustomerKey = &v 11792 return s 11793} 11794 11795func (s *GetObjectInput) getSSECustomerKey() (v string) { 11796 if s.SSECustomerKey == nil { 11797 return v 11798 } 11799 return *s.SSECustomerKey 11800} 11801 11802// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 11803func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput { 11804 s.SSECustomerKeyMD5 = &v 11805 return s 11806} 11807 11808// SetVersionId sets the VersionId field's value. 11809func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput { 11810 s.VersionId = &v 11811 return s 11812} 11813 11814type GetObjectOutput struct { 11815 _ struct{} `type:"structure" payload:"Body"` 11816 11817 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` 11818 11819 // Object data. 11820 Body io.ReadCloser `type:"blob"` 11821 11822 // Specifies caching behavior along the request/reply chain. 11823 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 11824 11825 // Specifies presentational information for the object. 11826 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 11827 11828 // Specifies what content encodings have been applied to the object and thus 11829 // what decoding mechanisms must be applied to obtain the media-type referenced 11830 // by the Content-Type header field. 11831 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 11832 11833 // The language the content is in. 11834 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 11835 11836 // Size of the body in bytes. 11837 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 11838 11839 // The portion of the object returned in the response. 11840 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` 11841 11842 // A standard MIME type describing the format of the object data. 11843 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 11844 11845 // Specifies whether the object retrieved was (true) or was not (false) a Delete 11846 // Marker. If false, this response header does not appear in the response. 11847 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 11848 11849 // An ETag is an opaque identifier assigned by a web server to a specific version 11850 // of a resource found at a URL 11851 ETag *string `location:"header" locationName:"ETag" type:"string"` 11852 11853 // If the object expiration is configured (see PUT Bucket lifecycle), the response 11854 // includes this header. It includes the expiry-date and rule-id key value pairs 11855 // providing object expiration information. The value of the rule-id is URL 11856 // encoded. 11857 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 11858 11859 // The date and time at which the object is no longer cacheable. 11860 Expires *string `location:"header" locationName:"Expires" type:"string"` 11861 11862 // Last modified date of the object 11863 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` 11864 11865 // A map of metadata to store with the object in S3. 11866 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 11867 11868 // This is set to the number of metadata entries not returned in x-amz-meta 11869 // headers. This can happen if you create metadata using an API like SOAP that 11870 // supports more flexible metadata than the REST API. For example, using SOAP, 11871 // you can create metadata whose values are not legal HTTP headers. 11872 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` 11873 11874 // The count of parts this object has. 11875 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` 11876 11877 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` 11878 11879 // If present, indicates that the requester was successfully charged for the 11880 // request. 11881 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 11882 11883 // Provides information about object restoration operation and expiration time 11884 // of the restored object copy. 11885 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` 11886 11887 // If server-side encryption with a customer-provided encryption key was requested, 11888 // the response will include this header confirming the encryption algorithm 11889 // used. 11890 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 11891 11892 // If server-side encryption with a customer-provided encryption key was requested, 11893 // the response will include this header to provide round trip message integrity 11894 // verification of the customer-provided encryption key. 11895 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 11896 11897 // If present, specifies the ID of the AWS Key Management Service (KMS) master 11898 // encryption key that was used for the object. 11899 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 11900 11901 // The Server-side encryption algorithm used when storing this object in S3 11902 // (e.g., AES256, aws:kms). 11903 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 11904 11905 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 11906 11907 // The number of tags, if any, on the object. 11908 TagCount *int64 `location:"header" locationName:"x-amz-tagging-count" type:"integer"` 11909 11910 // Version of the object. 11911 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 11912 11913 // If the bucket is configured as a website, redirects requests for this object 11914 // to another object in the same bucket or to an external URL. Amazon S3 stores 11915 // the value of this header in the object metadata. 11916 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 11917} 11918 11919// String returns the string representation 11920func (s GetObjectOutput) String() string { 11921 return awsutil.Prettify(s) 11922} 11923 11924// GoString returns the string representation 11925func (s GetObjectOutput) GoString() string { 11926 return s.String() 11927} 11928 11929// SetAcceptRanges sets the AcceptRanges field's value. 11930func (s *GetObjectOutput) SetAcceptRanges(v string) *GetObjectOutput { 11931 s.AcceptRanges = &v 11932 return s 11933} 11934 11935// SetBody sets the Body field's value. 11936func (s *GetObjectOutput) SetBody(v io.ReadCloser) *GetObjectOutput { 11937 s.Body = v 11938 return s 11939} 11940 11941// SetCacheControl sets the CacheControl field's value. 11942func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput { 11943 s.CacheControl = &v 11944 return s 11945} 11946 11947// SetContentDisposition sets the ContentDisposition field's value. 11948func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput { 11949 s.ContentDisposition = &v 11950 return s 11951} 11952 11953// SetContentEncoding sets the ContentEncoding field's value. 11954func (s *GetObjectOutput) SetContentEncoding(v string) *GetObjectOutput { 11955 s.ContentEncoding = &v 11956 return s 11957} 11958 11959// SetContentLanguage sets the ContentLanguage field's value. 11960func (s *GetObjectOutput) SetContentLanguage(v string) *GetObjectOutput { 11961 s.ContentLanguage = &v 11962 return s 11963} 11964 11965// SetContentLength sets the ContentLength field's value. 11966func (s *GetObjectOutput) SetContentLength(v int64) *GetObjectOutput { 11967 s.ContentLength = &v 11968 return s 11969} 11970 11971// SetContentRange sets the ContentRange field's value. 11972func (s *GetObjectOutput) SetContentRange(v string) *GetObjectOutput { 11973 s.ContentRange = &v 11974 return s 11975} 11976 11977// SetContentType sets the ContentType field's value. 11978func (s *GetObjectOutput) SetContentType(v string) *GetObjectOutput { 11979 s.ContentType = &v 11980 return s 11981} 11982 11983// SetDeleteMarker sets the DeleteMarker field's value. 11984func (s *GetObjectOutput) SetDeleteMarker(v bool) *GetObjectOutput { 11985 s.DeleteMarker = &v 11986 return s 11987} 11988 11989// SetETag sets the ETag field's value. 11990func (s *GetObjectOutput) SetETag(v string) *GetObjectOutput { 11991 s.ETag = &v 11992 return s 11993} 11994 11995// SetExpiration sets the Expiration field's value. 11996func (s *GetObjectOutput) SetExpiration(v string) *GetObjectOutput { 11997 s.Expiration = &v 11998 return s 11999} 12000 12001// SetExpires sets the Expires field's value. 12002func (s *GetObjectOutput) SetExpires(v string) *GetObjectOutput { 12003 s.Expires = &v 12004 return s 12005} 12006 12007// SetLastModified sets the LastModified field's value. 12008func (s *GetObjectOutput) SetLastModified(v time.Time) *GetObjectOutput { 12009 s.LastModified = &v 12010 return s 12011} 12012 12013// SetMetadata sets the Metadata field's value. 12014func (s *GetObjectOutput) SetMetadata(v map[string]*string) *GetObjectOutput { 12015 s.Metadata = v 12016 return s 12017} 12018 12019// SetMissingMeta sets the MissingMeta field's value. 12020func (s *GetObjectOutput) SetMissingMeta(v int64) *GetObjectOutput { 12021 s.MissingMeta = &v 12022 return s 12023} 12024 12025// SetPartsCount sets the PartsCount field's value. 12026func (s *GetObjectOutput) SetPartsCount(v int64) *GetObjectOutput { 12027 s.PartsCount = &v 12028 return s 12029} 12030 12031// SetReplicationStatus sets the ReplicationStatus field's value. 12032func (s *GetObjectOutput) SetReplicationStatus(v string) *GetObjectOutput { 12033 s.ReplicationStatus = &v 12034 return s 12035} 12036 12037// SetRequestCharged sets the RequestCharged field's value. 12038func (s *GetObjectOutput) SetRequestCharged(v string) *GetObjectOutput { 12039 s.RequestCharged = &v 12040 return s 12041} 12042 12043// SetRestore sets the Restore field's value. 12044func (s *GetObjectOutput) SetRestore(v string) *GetObjectOutput { 12045 s.Restore = &v 12046 return s 12047} 12048 12049// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 12050func (s *GetObjectOutput) SetSSECustomerAlgorithm(v string) *GetObjectOutput { 12051 s.SSECustomerAlgorithm = &v 12052 return s 12053} 12054 12055// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 12056func (s *GetObjectOutput) SetSSECustomerKeyMD5(v string) *GetObjectOutput { 12057 s.SSECustomerKeyMD5 = &v 12058 return s 12059} 12060 12061// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 12062func (s *GetObjectOutput) SetSSEKMSKeyId(v string) *GetObjectOutput { 12063 s.SSEKMSKeyId = &v 12064 return s 12065} 12066 12067// SetServerSideEncryption sets the ServerSideEncryption field's value. 12068func (s *GetObjectOutput) SetServerSideEncryption(v string) *GetObjectOutput { 12069 s.ServerSideEncryption = &v 12070 return s 12071} 12072 12073// SetStorageClass sets the StorageClass field's value. 12074func (s *GetObjectOutput) SetStorageClass(v string) *GetObjectOutput { 12075 s.StorageClass = &v 12076 return s 12077} 12078 12079// SetTagCount sets the TagCount field's value. 12080func (s *GetObjectOutput) SetTagCount(v int64) *GetObjectOutput { 12081 s.TagCount = &v 12082 return s 12083} 12084 12085// SetVersionId sets the VersionId field's value. 12086func (s *GetObjectOutput) SetVersionId(v string) *GetObjectOutput { 12087 s.VersionId = &v 12088 return s 12089} 12090 12091// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 12092func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput { 12093 s.WebsiteRedirectLocation = &v 12094 return s 12095} 12096 12097type GetObjectTaggingInput struct { 12098 _ struct{} `type:"structure"` 12099 12100 // Bucket is a required field 12101 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12102 12103 // Key is a required field 12104 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12105 12106 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 12107} 12108 12109// String returns the string representation 12110func (s GetObjectTaggingInput) String() string { 12111 return awsutil.Prettify(s) 12112} 12113 12114// GoString returns the string representation 12115func (s GetObjectTaggingInput) GoString() string { 12116 return s.String() 12117} 12118 12119// Validate inspects the fields of the type to determine if they are valid. 12120func (s *GetObjectTaggingInput) Validate() error { 12121 invalidParams := request.ErrInvalidParams{Context: "GetObjectTaggingInput"} 12122 if s.Bucket == nil { 12123 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12124 } 12125 if s.Key == nil { 12126 invalidParams.Add(request.NewErrParamRequired("Key")) 12127 } 12128 if s.Key != nil && len(*s.Key) < 1 { 12129 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 12130 } 12131 12132 if invalidParams.Len() > 0 { 12133 return invalidParams 12134 } 12135 return nil 12136} 12137 12138// SetBucket sets the Bucket field's value. 12139func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput { 12140 s.Bucket = &v 12141 return s 12142} 12143 12144func (s *GetObjectTaggingInput) getBucket() (v string) { 12145 if s.Bucket == nil { 12146 return v 12147 } 12148 return *s.Bucket 12149} 12150 12151// SetKey sets the Key field's value. 12152func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput { 12153 s.Key = &v 12154 return s 12155} 12156 12157// SetVersionId sets the VersionId field's value. 12158func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput { 12159 s.VersionId = &v 12160 return s 12161} 12162 12163type GetObjectTaggingOutput struct { 12164 _ struct{} `type:"structure"` 12165 12166 // TagSet is a required field 12167 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 12168 12169 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 12170} 12171 12172// String returns the string representation 12173func (s GetObjectTaggingOutput) String() string { 12174 return awsutil.Prettify(s) 12175} 12176 12177// GoString returns the string representation 12178func (s GetObjectTaggingOutput) GoString() string { 12179 return s.String() 12180} 12181 12182// SetTagSet sets the TagSet field's value. 12183func (s *GetObjectTaggingOutput) SetTagSet(v []*Tag) *GetObjectTaggingOutput { 12184 s.TagSet = v 12185 return s 12186} 12187 12188// SetVersionId sets the VersionId field's value. 12189func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput { 12190 s.VersionId = &v 12191 return s 12192} 12193 12194type GetObjectTorrentInput struct { 12195 _ struct{} `type:"structure"` 12196 12197 // Bucket is a required field 12198 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12199 12200 // Key is a required field 12201 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12202 12203 // Confirms that the requester knows that she or he will be charged for the 12204 // request. Bucket owners need not specify this parameter in their requests. 12205 // Documentation on downloading objects from requester pays buckets can be found 12206 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 12207 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 12208} 12209 12210// String returns the string representation 12211func (s GetObjectTorrentInput) String() string { 12212 return awsutil.Prettify(s) 12213} 12214 12215// GoString returns the string representation 12216func (s GetObjectTorrentInput) GoString() string { 12217 return s.String() 12218} 12219 12220// Validate inspects the fields of the type to determine if they are valid. 12221func (s *GetObjectTorrentInput) Validate() error { 12222 invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"} 12223 if s.Bucket == nil { 12224 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12225 } 12226 if s.Key == nil { 12227 invalidParams.Add(request.NewErrParamRequired("Key")) 12228 } 12229 if s.Key != nil && len(*s.Key) < 1 { 12230 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 12231 } 12232 12233 if invalidParams.Len() > 0 { 12234 return invalidParams 12235 } 12236 return nil 12237} 12238 12239// SetBucket sets the Bucket field's value. 12240func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput { 12241 s.Bucket = &v 12242 return s 12243} 12244 12245func (s *GetObjectTorrentInput) getBucket() (v string) { 12246 if s.Bucket == nil { 12247 return v 12248 } 12249 return *s.Bucket 12250} 12251 12252// SetKey sets the Key field's value. 12253func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput { 12254 s.Key = &v 12255 return s 12256} 12257 12258// SetRequestPayer sets the RequestPayer field's value. 12259func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput { 12260 s.RequestPayer = &v 12261 return s 12262} 12263 12264type GetObjectTorrentOutput struct { 12265 _ struct{} `type:"structure" payload:"Body"` 12266 12267 Body io.ReadCloser `type:"blob"` 12268 12269 // If present, indicates that the requester was successfully charged for the 12270 // request. 12271 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 12272} 12273 12274// String returns the string representation 12275func (s GetObjectTorrentOutput) String() string { 12276 return awsutil.Prettify(s) 12277} 12278 12279// GoString returns the string representation 12280func (s GetObjectTorrentOutput) GoString() string { 12281 return s.String() 12282} 12283 12284// SetBody sets the Body field's value. 12285func (s *GetObjectTorrentOutput) SetBody(v io.ReadCloser) *GetObjectTorrentOutput { 12286 s.Body = v 12287 return s 12288} 12289 12290// SetRequestCharged sets the RequestCharged field's value. 12291func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOutput { 12292 s.RequestCharged = &v 12293 return s 12294} 12295 12296type GlacierJobParameters struct { 12297 _ struct{} `type:"structure"` 12298 12299 // Glacier retrieval tier at which the restore will be processed. 12300 // 12301 // Tier is a required field 12302 Tier *string `type:"string" required:"true" enum:"Tier"` 12303} 12304 12305// String returns the string representation 12306func (s GlacierJobParameters) String() string { 12307 return awsutil.Prettify(s) 12308} 12309 12310// GoString returns the string representation 12311func (s GlacierJobParameters) GoString() string { 12312 return s.String() 12313} 12314 12315// Validate inspects the fields of the type to determine if they are valid. 12316func (s *GlacierJobParameters) Validate() error { 12317 invalidParams := request.ErrInvalidParams{Context: "GlacierJobParameters"} 12318 if s.Tier == nil { 12319 invalidParams.Add(request.NewErrParamRequired("Tier")) 12320 } 12321 12322 if invalidParams.Len() > 0 { 12323 return invalidParams 12324 } 12325 return nil 12326} 12327 12328// SetTier sets the Tier field's value. 12329func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters { 12330 s.Tier = &v 12331 return s 12332} 12333 12334type Grant struct { 12335 _ struct{} `type:"structure"` 12336 12337 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 12338 12339 // Specifies the permission given to the grantee. 12340 Permission *string `type:"string" enum:"Permission"` 12341} 12342 12343// String returns the string representation 12344func (s Grant) String() string { 12345 return awsutil.Prettify(s) 12346} 12347 12348// GoString returns the string representation 12349func (s Grant) GoString() string { 12350 return s.String() 12351} 12352 12353// Validate inspects the fields of the type to determine if they are valid. 12354func (s *Grant) Validate() error { 12355 invalidParams := request.ErrInvalidParams{Context: "Grant"} 12356 if s.Grantee != nil { 12357 if err := s.Grantee.Validate(); err != nil { 12358 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 12359 } 12360 } 12361 12362 if invalidParams.Len() > 0 { 12363 return invalidParams 12364 } 12365 return nil 12366} 12367 12368// SetGrantee sets the Grantee field's value. 12369func (s *Grant) SetGrantee(v *Grantee) *Grant { 12370 s.Grantee = v 12371 return s 12372} 12373 12374// SetPermission sets the Permission field's value. 12375func (s *Grant) SetPermission(v string) *Grant { 12376 s.Permission = &v 12377 return s 12378} 12379 12380type Grantee struct { 12381 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 12382 12383 // Screen name of the grantee. 12384 DisplayName *string `type:"string"` 12385 12386 // Email address of the grantee. 12387 EmailAddress *string `type:"string"` 12388 12389 // The canonical user ID of the grantee. 12390 ID *string `type:"string"` 12391 12392 // Type of grantee 12393 // 12394 // Type is a required field 12395 Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"` 12396 12397 // URI of the grantee group. 12398 URI *string `type:"string"` 12399} 12400 12401// String returns the string representation 12402func (s Grantee) String() string { 12403 return awsutil.Prettify(s) 12404} 12405 12406// GoString returns the string representation 12407func (s Grantee) GoString() string { 12408 return s.String() 12409} 12410 12411// Validate inspects the fields of the type to determine if they are valid. 12412func (s *Grantee) Validate() error { 12413 invalidParams := request.ErrInvalidParams{Context: "Grantee"} 12414 if s.Type == nil { 12415 invalidParams.Add(request.NewErrParamRequired("Type")) 12416 } 12417 12418 if invalidParams.Len() > 0 { 12419 return invalidParams 12420 } 12421 return nil 12422} 12423 12424// SetDisplayName sets the DisplayName field's value. 12425func (s *Grantee) SetDisplayName(v string) *Grantee { 12426 s.DisplayName = &v 12427 return s 12428} 12429 12430// SetEmailAddress sets the EmailAddress field's value. 12431func (s *Grantee) SetEmailAddress(v string) *Grantee { 12432 s.EmailAddress = &v 12433 return s 12434} 12435 12436// SetID sets the ID field's value. 12437func (s *Grantee) SetID(v string) *Grantee { 12438 s.ID = &v 12439 return s 12440} 12441 12442// SetType sets the Type field's value. 12443func (s *Grantee) SetType(v string) *Grantee { 12444 s.Type = &v 12445 return s 12446} 12447 12448// SetURI sets the URI field's value. 12449func (s *Grantee) SetURI(v string) *Grantee { 12450 s.URI = &v 12451 return s 12452} 12453 12454type HeadBucketInput struct { 12455 _ struct{} `type:"structure"` 12456 12457 // Bucket is a required field 12458 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12459} 12460 12461// String returns the string representation 12462func (s HeadBucketInput) String() string { 12463 return awsutil.Prettify(s) 12464} 12465 12466// GoString returns the string representation 12467func (s HeadBucketInput) GoString() string { 12468 return s.String() 12469} 12470 12471// Validate inspects the fields of the type to determine if they are valid. 12472func (s *HeadBucketInput) Validate() error { 12473 invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"} 12474 if s.Bucket == nil { 12475 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12476 } 12477 12478 if invalidParams.Len() > 0 { 12479 return invalidParams 12480 } 12481 return nil 12482} 12483 12484// SetBucket sets the Bucket field's value. 12485func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput { 12486 s.Bucket = &v 12487 return s 12488} 12489 12490func (s *HeadBucketInput) getBucket() (v string) { 12491 if s.Bucket == nil { 12492 return v 12493 } 12494 return *s.Bucket 12495} 12496 12497type HeadBucketOutput struct { 12498 _ struct{} `type:"structure"` 12499} 12500 12501// String returns the string representation 12502func (s HeadBucketOutput) String() string { 12503 return awsutil.Prettify(s) 12504} 12505 12506// GoString returns the string representation 12507func (s HeadBucketOutput) GoString() string { 12508 return s.String() 12509} 12510 12511type HeadObjectInput struct { 12512 _ struct{} `type:"structure"` 12513 12514 // Bucket is a required field 12515 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 12516 12517 // Return the object only if its entity tag (ETag) is the same as the one specified, 12518 // otherwise return a 412 (precondition failed). 12519 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 12520 12521 // Return the object only if it has been modified since the specified time, 12522 // otherwise return a 304 (not modified). 12523 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"` 12524 12525 // Return the object only if its entity tag (ETag) is different from the one 12526 // specified, otherwise return a 304 (not modified). 12527 IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` 12528 12529 // Return the object only if it has not been modified since the specified time, 12530 // otherwise return a 412 (precondition failed). 12531 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"` 12532 12533 // Key is a required field 12534 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12535 12536 // Part number of the object being read. This is a positive integer between 12537 // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. 12538 // Useful querying about the size of the part and the number of parts in this 12539 // object. 12540 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` 12541 12542 // Downloads the specified range bytes of an object. For more information about 12543 // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. 12544 Range *string `location:"header" locationName:"Range" type:"string"` 12545 12546 // Confirms that the requester knows that she or he will be charged for the 12547 // request. Bucket owners need not specify this parameter in their requests. 12548 // Documentation on downloading objects from requester pays buckets can be found 12549 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 12550 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 12551 12552 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 12553 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 12554 12555 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 12556 // data. This value is used to store the object and then it is discarded; Amazon 12557 // does not store the encryption key. The key must be appropriate for use with 12558 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 12559 // header. 12560 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 12561 12562 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 12563 // Amazon S3 uses this header for a message integrity check to ensure the encryption 12564 // key was transmitted without error. 12565 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 12566 12567 // VersionId used to reference a specific version of the object. 12568 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 12569} 12570 12571// String returns the string representation 12572func (s HeadObjectInput) String() string { 12573 return awsutil.Prettify(s) 12574} 12575 12576// GoString returns the string representation 12577func (s HeadObjectInput) GoString() string { 12578 return s.String() 12579} 12580 12581// Validate inspects the fields of the type to determine if they are valid. 12582func (s *HeadObjectInput) Validate() error { 12583 invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"} 12584 if s.Bucket == nil { 12585 invalidParams.Add(request.NewErrParamRequired("Bucket")) 12586 } 12587 if s.Key == nil { 12588 invalidParams.Add(request.NewErrParamRequired("Key")) 12589 } 12590 if s.Key != nil && len(*s.Key) < 1 { 12591 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 12592 } 12593 12594 if invalidParams.Len() > 0 { 12595 return invalidParams 12596 } 12597 return nil 12598} 12599 12600// SetBucket sets the Bucket field's value. 12601func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput { 12602 s.Bucket = &v 12603 return s 12604} 12605 12606func (s *HeadObjectInput) getBucket() (v string) { 12607 if s.Bucket == nil { 12608 return v 12609 } 12610 return *s.Bucket 12611} 12612 12613// SetIfMatch sets the IfMatch field's value. 12614func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput { 12615 s.IfMatch = &v 12616 return s 12617} 12618 12619// SetIfModifiedSince sets the IfModifiedSince field's value. 12620func (s *HeadObjectInput) SetIfModifiedSince(v time.Time) *HeadObjectInput { 12621 s.IfModifiedSince = &v 12622 return s 12623} 12624 12625// SetIfNoneMatch sets the IfNoneMatch field's value. 12626func (s *HeadObjectInput) SetIfNoneMatch(v string) *HeadObjectInput { 12627 s.IfNoneMatch = &v 12628 return s 12629} 12630 12631// SetIfUnmodifiedSince sets the IfUnmodifiedSince field's value. 12632func (s *HeadObjectInput) SetIfUnmodifiedSince(v time.Time) *HeadObjectInput { 12633 s.IfUnmodifiedSince = &v 12634 return s 12635} 12636 12637// SetKey sets the Key field's value. 12638func (s *HeadObjectInput) SetKey(v string) *HeadObjectInput { 12639 s.Key = &v 12640 return s 12641} 12642 12643// SetPartNumber sets the PartNumber field's value. 12644func (s *HeadObjectInput) SetPartNumber(v int64) *HeadObjectInput { 12645 s.PartNumber = &v 12646 return s 12647} 12648 12649// SetRange sets the Range field's value. 12650func (s *HeadObjectInput) SetRange(v string) *HeadObjectInput { 12651 s.Range = &v 12652 return s 12653} 12654 12655// SetRequestPayer sets the RequestPayer field's value. 12656func (s *HeadObjectInput) SetRequestPayer(v string) *HeadObjectInput { 12657 s.RequestPayer = &v 12658 return s 12659} 12660 12661// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 12662func (s *HeadObjectInput) SetSSECustomerAlgorithm(v string) *HeadObjectInput { 12663 s.SSECustomerAlgorithm = &v 12664 return s 12665} 12666 12667// SetSSECustomerKey sets the SSECustomerKey field's value. 12668func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput { 12669 s.SSECustomerKey = &v 12670 return s 12671} 12672 12673func (s *HeadObjectInput) getSSECustomerKey() (v string) { 12674 if s.SSECustomerKey == nil { 12675 return v 12676 } 12677 return *s.SSECustomerKey 12678} 12679 12680// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 12681func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput { 12682 s.SSECustomerKeyMD5 = &v 12683 return s 12684} 12685 12686// SetVersionId sets the VersionId field's value. 12687func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput { 12688 s.VersionId = &v 12689 return s 12690} 12691 12692type HeadObjectOutput struct { 12693 _ struct{} `type:"structure"` 12694 12695 AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` 12696 12697 // Specifies caching behavior along the request/reply chain. 12698 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 12699 12700 // Specifies presentational information for the object. 12701 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 12702 12703 // Specifies what content encodings have been applied to the object and thus 12704 // what decoding mechanisms must be applied to obtain the media-type referenced 12705 // by the Content-Type header field. 12706 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 12707 12708 // The language the content is in. 12709 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 12710 12711 // Size of the body in bytes. 12712 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 12713 12714 // A standard MIME type describing the format of the object data. 12715 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 12716 12717 // Specifies whether the object retrieved was (true) or was not (false) a Delete 12718 // Marker. If false, this response header does not appear in the response. 12719 DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` 12720 12721 // An ETag is an opaque identifier assigned by a web server to a specific version 12722 // of a resource found at a URL 12723 ETag *string `location:"header" locationName:"ETag" type:"string"` 12724 12725 // If the object expiration is configured (see PUT Bucket lifecycle), the response 12726 // includes this header. It includes the expiry-date and rule-id key value pairs 12727 // providing object expiration information. The value of the rule-id is URL 12728 // encoded. 12729 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 12730 12731 // The date and time at which the object is no longer cacheable. 12732 Expires *string `location:"header" locationName:"Expires" type:"string"` 12733 12734 // Last modified date of the object 12735 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` 12736 12737 // A map of metadata to store with the object in S3. 12738 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 12739 12740 // This is set to the number of metadata entries not returned in x-amz-meta 12741 // headers. This can happen if you create metadata using an API like SOAP that 12742 // supports more flexible metadata than the REST API. For example, using SOAP, 12743 // you can create metadata whose values are not legal HTTP headers. 12744 MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` 12745 12746 // The count of parts this object has. 12747 PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` 12748 12749 ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` 12750 12751 // If present, indicates that the requester was successfully charged for the 12752 // request. 12753 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 12754 12755 // Provides information about object restoration operation and expiration time 12756 // of the restored object copy. 12757 Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` 12758 12759 // If server-side encryption with a customer-provided encryption key was requested, 12760 // the response will include this header confirming the encryption algorithm 12761 // used. 12762 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 12763 12764 // If server-side encryption with a customer-provided encryption key was requested, 12765 // the response will include this header to provide round trip message integrity 12766 // verification of the customer-provided encryption key. 12767 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 12768 12769 // If present, specifies the ID of the AWS Key Management Service (KMS) master 12770 // encryption key that was used for the object. 12771 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 12772 12773 // The Server-side encryption algorithm used when storing this object in S3 12774 // (e.g., AES256, aws:kms). 12775 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 12776 12777 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 12778 12779 // Version of the object. 12780 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 12781 12782 // If the bucket is configured as a website, redirects requests for this object 12783 // to another object in the same bucket or to an external URL. Amazon S3 stores 12784 // the value of this header in the object metadata. 12785 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 12786} 12787 12788// String returns the string representation 12789func (s HeadObjectOutput) String() string { 12790 return awsutil.Prettify(s) 12791} 12792 12793// GoString returns the string representation 12794func (s HeadObjectOutput) GoString() string { 12795 return s.String() 12796} 12797 12798// SetAcceptRanges sets the AcceptRanges field's value. 12799func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput { 12800 s.AcceptRanges = &v 12801 return s 12802} 12803 12804// SetCacheControl sets the CacheControl field's value. 12805func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput { 12806 s.CacheControl = &v 12807 return s 12808} 12809 12810// SetContentDisposition sets the ContentDisposition field's value. 12811func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput { 12812 s.ContentDisposition = &v 12813 return s 12814} 12815 12816// SetContentEncoding sets the ContentEncoding field's value. 12817func (s *HeadObjectOutput) SetContentEncoding(v string) *HeadObjectOutput { 12818 s.ContentEncoding = &v 12819 return s 12820} 12821 12822// SetContentLanguage sets the ContentLanguage field's value. 12823func (s *HeadObjectOutput) SetContentLanguage(v string) *HeadObjectOutput { 12824 s.ContentLanguage = &v 12825 return s 12826} 12827 12828// SetContentLength sets the ContentLength field's value. 12829func (s *HeadObjectOutput) SetContentLength(v int64) *HeadObjectOutput { 12830 s.ContentLength = &v 12831 return s 12832} 12833 12834// SetContentType sets the ContentType field's value. 12835func (s *HeadObjectOutput) SetContentType(v string) *HeadObjectOutput { 12836 s.ContentType = &v 12837 return s 12838} 12839 12840// SetDeleteMarker sets the DeleteMarker field's value. 12841func (s *HeadObjectOutput) SetDeleteMarker(v bool) *HeadObjectOutput { 12842 s.DeleteMarker = &v 12843 return s 12844} 12845 12846// SetETag sets the ETag field's value. 12847func (s *HeadObjectOutput) SetETag(v string) *HeadObjectOutput { 12848 s.ETag = &v 12849 return s 12850} 12851 12852// SetExpiration sets the Expiration field's value. 12853func (s *HeadObjectOutput) SetExpiration(v string) *HeadObjectOutput { 12854 s.Expiration = &v 12855 return s 12856} 12857 12858// SetExpires sets the Expires field's value. 12859func (s *HeadObjectOutput) SetExpires(v string) *HeadObjectOutput { 12860 s.Expires = &v 12861 return s 12862} 12863 12864// SetLastModified sets the LastModified field's value. 12865func (s *HeadObjectOutput) SetLastModified(v time.Time) *HeadObjectOutput { 12866 s.LastModified = &v 12867 return s 12868} 12869 12870// SetMetadata sets the Metadata field's value. 12871func (s *HeadObjectOutput) SetMetadata(v map[string]*string) *HeadObjectOutput { 12872 s.Metadata = v 12873 return s 12874} 12875 12876// SetMissingMeta sets the MissingMeta field's value. 12877func (s *HeadObjectOutput) SetMissingMeta(v int64) *HeadObjectOutput { 12878 s.MissingMeta = &v 12879 return s 12880} 12881 12882// SetPartsCount sets the PartsCount field's value. 12883func (s *HeadObjectOutput) SetPartsCount(v int64) *HeadObjectOutput { 12884 s.PartsCount = &v 12885 return s 12886} 12887 12888// SetReplicationStatus sets the ReplicationStatus field's value. 12889func (s *HeadObjectOutput) SetReplicationStatus(v string) *HeadObjectOutput { 12890 s.ReplicationStatus = &v 12891 return s 12892} 12893 12894// SetRequestCharged sets the RequestCharged field's value. 12895func (s *HeadObjectOutput) SetRequestCharged(v string) *HeadObjectOutput { 12896 s.RequestCharged = &v 12897 return s 12898} 12899 12900// SetRestore sets the Restore field's value. 12901func (s *HeadObjectOutput) SetRestore(v string) *HeadObjectOutput { 12902 s.Restore = &v 12903 return s 12904} 12905 12906// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 12907func (s *HeadObjectOutput) SetSSECustomerAlgorithm(v string) *HeadObjectOutput { 12908 s.SSECustomerAlgorithm = &v 12909 return s 12910} 12911 12912// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 12913func (s *HeadObjectOutput) SetSSECustomerKeyMD5(v string) *HeadObjectOutput { 12914 s.SSECustomerKeyMD5 = &v 12915 return s 12916} 12917 12918// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 12919func (s *HeadObjectOutput) SetSSEKMSKeyId(v string) *HeadObjectOutput { 12920 s.SSEKMSKeyId = &v 12921 return s 12922} 12923 12924// SetServerSideEncryption sets the ServerSideEncryption field's value. 12925func (s *HeadObjectOutput) SetServerSideEncryption(v string) *HeadObjectOutput { 12926 s.ServerSideEncryption = &v 12927 return s 12928} 12929 12930// SetStorageClass sets the StorageClass field's value. 12931func (s *HeadObjectOutput) SetStorageClass(v string) *HeadObjectOutput { 12932 s.StorageClass = &v 12933 return s 12934} 12935 12936// SetVersionId sets the VersionId field's value. 12937func (s *HeadObjectOutput) SetVersionId(v string) *HeadObjectOutput { 12938 s.VersionId = &v 12939 return s 12940} 12941 12942// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 12943func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutput { 12944 s.WebsiteRedirectLocation = &v 12945 return s 12946} 12947 12948type IndexDocument struct { 12949 _ struct{} `type:"structure"` 12950 12951 // A suffix that is appended to a request that is for a directory on the website 12952 // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ 12953 // the data that is returned will be for the object with the key name images/index.html) 12954 // The suffix must not be empty and must not include a slash character. 12955 // 12956 // Suffix is a required field 12957 Suffix *string `type:"string" required:"true"` 12958} 12959 12960// String returns the string representation 12961func (s IndexDocument) String() string { 12962 return awsutil.Prettify(s) 12963} 12964 12965// GoString returns the string representation 12966func (s IndexDocument) GoString() string { 12967 return s.String() 12968} 12969 12970// Validate inspects the fields of the type to determine if they are valid. 12971func (s *IndexDocument) Validate() error { 12972 invalidParams := request.ErrInvalidParams{Context: "IndexDocument"} 12973 if s.Suffix == nil { 12974 invalidParams.Add(request.NewErrParamRequired("Suffix")) 12975 } 12976 12977 if invalidParams.Len() > 0 { 12978 return invalidParams 12979 } 12980 return nil 12981} 12982 12983// SetSuffix sets the Suffix field's value. 12984func (s *IndexDocument) SetSuffix(v string) *IndexDocument { 12985 s.Suffix = &v 12986 return s 12987} 12988 12989type Initiator struct { 12990 _ struct{} `type:"structure"` 12991 12992 // Name of the Principal. 12993 DisplayName *string `type:"string"` 12994 12995 // If the principal is an AWS account, it provides the Canonical User ID. If 12996 // the principal is an IAM User, it provides a user ARN value. 12997 ID *string `type:"string"` 12998} 12999 13000// String returns the string representation 13001func (s Initiator) String() string { 13002 return awsutil.Prettify(s) 13003} 13004 13005// GoString returns the string representation 13006func (s Initiator) GoString() string { 13007 return s.String() 13008} 13009 13010// SetDisplayName sets the DisplayName field's value. 13011func (s *Initiator) SetDisplayName(v string) *Initiator { 13012 s.DisplayName = &v 13013 return s 13014} 13015 13016// SetID sets the ID field's value. 13017func (s *Initiator) SetID(v string) *Initiator { 13018 s.ID = &v 13019 return s 13020} 13021 13022// Describes the serialization format of the object. 13023type InputSerialization struct { 13024 _ struct{} `type:"structure"` 13025 13026 // Describes the serialization of a CSV-encoded object. 13027 CSV *CSVInput `type:"structure"` 13028 13029 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default 13030 // Value: NONE. 13031 CompressionType *string `type:"string" enum:"CompressionType"` 13032 13033 // Specifies JSON as object's input serialization format. 13034 JSON *JSONInput `type:"structure"` 13035} 13036 13037// String returns the string representation 13038func (s InputSerialization) String() string { 13039 return awsutil.Prettify(s) 13040} 13041 13042// GoString returns the string representation 13043func (s InputSerialization) GoString() string { 13044 return s.String() 13045} 13046 13047// SetCSV sets the CSV field's value. 13048func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization { 13049 s.CSV = v 13050 return s 13051} 13052 13053// SetCompressionType sets the CompressionType field's value. 13054func (s *InputSerialization) SetCompressionType(v string) *InputSerialization { 13055 s.CompressionType = &v 13056 return s 13057} 13058 13059// SetJSON sets the JSON field's value. 13060func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization { 13061 s.JSON = v 13062 return s 13063} 13064 13065type InventoryConfiguration struct { 13066 _ struct{} `type:"structure"` 13067 13068 // Contains information about where to publish the inventory results. 13069 // 13070 // Destination is a required field 13071 Destination *InventoryDestination `type:"structure" required:"true"` 13072 13073 // Specifies an inventory filter. The inventory only includes objects that meet 13074 // the filter's criteria. 13075 Filter *InventoryFilter `type:"structure"` 13076 13077 // The ID used to identify the inventory configuration. 13078 // 13079 // Id is a required field 13080 Id *string `type:"string" required:"true"` 13081 13082 // Specifies which object version(s) to included in the inventory results. 13083 // 13084 // IncludedObjectVersions is a required field 13085 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"` 13086 13087 // Specifies whether the inventory is enabled or disabled. 13088 // 13089 // IsEnabled is a required field 13090 IsEnabled *bool `type:"boolean" required:"true"` 13091 13092 // Contains the optional fields that are included in the inventory results. 13093 OptionalFields []*string `locationNameList:"Field" type:"list"` 13094 13095 // Specifies the schedule for generating inventory results. 13096 // 13097 // Schedule is a required field 13098 Schedule *InventorySchedule `type:"structure" required:"true"` 13099} 13100 13101// String returns the string representation 13102func (s InventoryConfiguration) String() string { 13103 return awsutil.Prettify(s) 13104} 13105 13106// GoString returns the string representation 13107func (s InventoryConfiguration) GoString() string { 13108 return s.String() 13109} 13110 13111// Validate inspects the fields of the type to determine if they are valid. 13112func (s *InventoryConfiguration) Validate() error { 13113 invalidParams := request.ErrInvalidParams{Context: "InventoryConfiguration"} 13114 if s.Destination == nil { 13115 invalidParams.Add(request.NewErrParamRequired("Destination")) 13116 } 13117 if s.Id == nil { 13118 invalidParams.Add(request.NewErrParamRequired("Id")) 13119 } 13120 if s.IncludedObjectVersions == nil { 13121 invalidParams.Add(request.NewErrParamRequired("IncludedObjectVersions")) 13122 } 13123 if s.IsEnabled == nil { 13124 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 13125 } 13126 if s.Schedule == nil { 13127 invalidParams.Add(request.NewErrParamRequired("Schedule")) 13128 } 13129 if s.Destination != nil { 13130 if err := s.Destination.Validate(); err != nil { 13131 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 13132 } 13133 } 13134 if s.Filter != nil { 13135 if err := s.Filter.Validate(); err != nil { 13136 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 13137 } 13138 } 13139 if s.Schedule != nil { 13140 if err := s.Schedule.Validate(); err != nil { 13141 invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) 13142 } 13143 } 13144 13145 if invalidParams.Len() > 0 { 13146 return invalidParams 13147 } 13148 return nil 13149} 13150 13151// SetDestination sets the Destination field's value. 13152func (s *InventoryConfiguration) SetDestination(v *InventoryDestination) *InventoryConfiguration { 13153 s.Destination = v 13154 return s 13155} 13156 13157// SetFilter sets the Filter field's value. 13158func (s *InventoryConfiguration) SetFilter(v *InventoryFilter) *InventoryConfiguration { 13159 s.Filter = v 13160 return s 13161} 13162 13163// SetId sets the Id field's value. 13164func (s *InventoryConfiguration) SetId(v string) *InventoryConfiguration { 13165 s.Id = &v 13166 return s 13167} 13168 13169// SetIncludedObjectVersions sets the IncludedObjectVersions field's value. 13170func (s *InventoryConfiguration) SetIncludedObjectVersions(v string) *InventoryConfiguration { 13171 s.IncludedObjectVersions = &v 13172 return s 13173} 13174 13175// SetIsEnabled sets the IsEnabled field's value. 13176func (s *InventoryConfiguration) SetIsEnabled(v bool) *InventoryConfiguration { 13177 s.IsEnabled = &v 13178 return s 13179} 13180 13181// SetOptionalFields sets the OptionalFields field's value. 13182func (s *InventoryConfiguration) SetOptionalFields(v []*string) *InventoryConfiguration { 13183 s.OptionalFields = v 13184 return s 13185} 13186 13187// SetSchedule sets the Schedule field's value. 13188func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryConfiguration { 13189 s.Schedule = v 13190 return s 13191} 13192 13193type InventoryDestination struct { 13194 _ struct{} `type:"structure"` 13195 13196 // Contains the bucket name, file format, bucket owner (optional), and prefix 13197 // (optional) where inventory results are published. 13198 // 13199 // S3BucketDestination is a required field 13200 S3BucketDestination *InventoryS3BucketDestination `type:"structure" required:"true"` 13201} 13202 13203// String returns the string representation 13204func (s InventoryDestination) String() string { 13205 return awsutil.Prettify(s) 13206} 13207 13208// GoString returns the string representation 13209func (s InventoryDestination) GoString() string { 13210 return s.String() 13211} 13212 13213// Validate inspects the fields of the type to determine if they are valid. 13214func (s *InventoryDestination) Validate() error { 13215 invalidParams := request.ErrInvalidParams{Context: "InventoryDestination"} 13216 if s.S3BucketDestination == nil { 13217 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 13218 } 13219 if s.S3BucketDestination != nil { 13220 if err := s.S3BucketDestination.Validate(); err != nil { 13221 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 13222 } 13223 } 13224 13225 if invalidParams.Len() > 0 { 13226 return invalidParams 13227 } 13228 return nil 13229} 13230 13231// SetS3BucketDestination sets the S3BucketDestination field's value. 13232func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestination) *InventoryDestination { 13233 s.S3BucketDestination = v 13234 return s 13235} 13236 13237// Contains the type of server-side encryption used to encrypt the inventory 13238// results. 13239type InventoryEncryption struct { 13240 _ struct{} `type:"structure"` 13241 13242 // Specifies the use of SSE-KMS to encrypt delievered Inventory reports. 13243 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 13244 13245 // Specifies the use of SSE-S3 to encrypt delievered Inventory reports. 13246 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 13247} 13248 13249// String returns the string representation 13250func (s InventoryEncryption) String() string { 13251 return awsutil.Prettify(s) 13252} 13253 13254// GoString returns the string representation 13255func (s InventoryEncryption) GoString() string { 13256 return s.String() 13257} 13258 13259// Validate inspects the fields of the type to determine if they are valid. 13260func (s *InventoryEncryption) Validate() error { 13261 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"} 13262 if s.SSEKMS != nil { 13263 if err := s.SSEKMS.Validate(); err != nil { 13264 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 13265 } 13266 } 13267 13268 if invalidParams.Len() > 0 { 13269 return invalidParams 13270 } 13271 return nil 13272} 13273 13274// SetSSEKMS sets the SSEKMS field's value. 13275func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption { 13276 s.SSEKMS = v 13277 return s 13278} 13279 13280// SetSSES3 sets the SSES3 field's value. 13281func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption { 13282 s.SSES3 = v 13283 return s 13284} 13285 13286type InventoryFilter struct { 13287 _ struct{} `type:"structure"` 13288 13289 // The prefix that an object must have to be included in the inventory results. 13290 // 13291 // Prefix is a required field 13292 Prefix *string `type:"string" required:"true"` 13293} 13294 13295// String returns the string representation 13296func (s InventoryFilter) String() string { 13297 return awsutil.Prettify(s) 13298} 13299 13300// GoString returns the string representation 13301func (s InventoryFilter) GoString() string { 13302 return s.String() 13303} 13304 13305// Validate inspects the fields of the type to determine if they are valid. 13306func (s *InventoryFilter) Validate() error { 13307 invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"} 13308 if s.Prefix == nil { 13309 invalidParams.Add(request.NewErrParamRequired("Prefix")) 13310 } 13311 13312 if invalidParams.Len() > 0 { 13313 return invalidParams 13314 } 13315 return nil 13316} 13317 13318// SetPrefix sets the Prefix field's value. 13319func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter { 13320 s.Prefix = &v 13321 return s 13322} 13323 13324type InventoryS3BucketDestination struct { 13325 _ struct{} `type:"structure"` 13326 13327 // The ID of the account that owns the destination bucket. 13328 AccountId *string `type:"string"` 13329 13330 // The Amazon resource name (ARN) of the bucket where inventory results will 13331 // be published. 13332 // 13333 // Bucket is a required field 13334 Bucket *string `type:"string" required:"true"` 13335 13336 // Contains the type of server-side encryption used to encrypt the inventory 13337 // results. 13338 Encryption *InventoryEncryption `type:"structure"` 13339 13340 // Specifies the output format of the inventory results. 13341 // 13342 // Format is a required field 13343 Format *string `type:"string" required:"true" enum:"InventoryFormat"` 13344 13345 // The prefix that is prepended to all inventory results. 13346 Prefix *string `type:"string"` 13347} 13348 13349// String returns the string representation 13350func (s InventoryS3BucketDestination) String() string { 13351 return awsutil.Prettify(s) 13352} 13353 13354// GoString returns the string representation 13355func (s InventoryS3BucketDestination) GoString() string { 13356 return s.String() 13357} 13358 13359// Validate inspects the fields of the type to determine if they are valid. 13360func (s *InventoryS3BucketDestination) Validate() error { 13361 invalidParams := request.ErrInvalidParams{Context: "InventoryS3BucketDestination"} 13362 if s.Bucket == nil { 13363 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13364 } 13365 if s.Format == nil { 13366 invalidParams.Add(request.NewErrParamRequired("Format")) 13367 } 13368 if s.Encryption != nil { 13369 if err := s.Encryption.Validate(); err != nil { 13370 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 13371 } 13372 } 13373 13374 if invalidParams.Len() > 0 { 13375 return invalidParams 13376 } 13377 return nil 13378} 13379 13380// SetAccountId sets the AccountId field's value. 13381func (s *InventoryS3BucketDestination) SetAccountId(v string) *InventoryS3BucketDestination { 13382 s.AccountId = &v 13383 return s 13384} 13385 13386// SetBucket sets the Bucket field's value. 13387func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDestination { 13388 s.Bucket = &v 13389 return s 13390} 13391 13392func (s *InventoryS3BucketDestination) getBucket() (v string) { 13393 if s.Bucket == nil { 13394 return v 13395 } 13396 return *s.Bucket 13397} 13398 13399// SetEncryption sets the Encryption field's value. 13400func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination { 13401 s.Encryption = v 13402 return s 13403} 13404 13405// SetFormat sets the Format field's value. 13406func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination { 13407 s.Format = &v 13408 return s 13409} 13410 13411// SetPrefix sets the Prefix field's value. 13412func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDestination { 13413 s.Prefix = &v 13414 return s 13415} 13416 13417type InventorySchedule struct { 13418 _ struct{} `type:"structure"` 13419 13420 // Specifies how frequently inventory results are produced. 13421 // 13422 // Frequency is a required field 13423 Frequency *string `type:"string" required:"true" enum:"InventoryFrequency"` 13424} 13425 13426// String returns the string representation 13427func (s InventorySchedule) String() string { 13428 return awsutil.Prettify(s) 13429} 13430 13431// GoString returns the string representation 13432func (s InventorySchedule) GoString() string { 13433 return s.String() 13434} 13435 13436// Validate inspects the fields of the type to determine if they are valid. 13437func (s *InventorySchedule) Validate() error { 13438 invalidParams := request.ErrInvalidParams{Context: "InventorySchedule"} 13439 if s.Frequency == nil { 13440 invalidParams.Add(request.NewErrParamRequired("Frequency")) 13441 } 13442 13443 if invalidParams.Len() > 0 { 13444 return invalidParams 13445 } 13446 return nil 13447} 13448 13449// SetFrequency sets the Frequency field's value. 13450func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule { 13451 s.Frequency = &v 13452 return s 13453} 13454 13455type JSONInput struct { 13456 _ struct{} `type:"structure"` 13457 13458 // The type of JSON. Valid values: Document, Lines. 13459 Type *string `type:"string" enum:"JSONType"` 13460} 13461 13462// String returns the string representation 13463func (s JSONInput) String() string { 13464 return awsutil.Prettify(s) 13465} 13466 13467// GoString returns the string representation 13468func (s JSONInput) GoString() string { 13469 return s.String() 13470} 13471 13472// SetType sets the Type field's value. 13473func (s *JSONInput) SetType(v string) *JSONInput { 13474 s.Type = &v 13475 return s 13476} 13477 13478type JSONOutput struct { 13479 _ struct{} `type:"structure"` 13480 13481 // The value used to separate individual records in the output. 13482 RecordDelimiter *string `type:"string"` 13483} 13484 13485// String returns the string representation 13486func (s JSONOutput) String() string { 13487 return awsutil.Prettify(s) 13488} 13489 13490// GoString returns the string representation 13491func (s JSONOutput) GoString() string { 13492 return s.String() 13493} 13494 13495// SetRecordDelimiter sets the RecordDelimiter field's value. 13496func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput { 13497 s.RecordDelimiter = &v 13498 return s 13499} 13500 13501// Container for object key name prefix and suffix filtering rules. 13502type KeyFilter struct { 13503 _ struct{} `type:"structure"` 13504 13505 // A list of containers for key value pair that defines the criteria for the 13506 // filter rule. 13507 FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"` 13508} 13509 13510// String returns the string representation 13511func (s KeyFilter) String() string { 13512 return awsutil.Prettify(s) 13513} 13514 13515// GoString returns the string representation 13516func (s KeyFilter) GoString() string { 13517 return s.String() 13518} 13519 13520// SetFilterRules sets the FilterRules field's value. 13521func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter { 13522 s.FilterRules = v 13523 return s 13524} 13525 13526// Container for specifying the AWS Lambda notification configuration. 13527type LambdaFunctionConfiguration struct { 13528 _ struct{} `type:"structure"` 13529 13530 // Events is a required field 13531 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 13532 13533 // Container for object key name filtering rules. For information about key 13534 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 13535 // in the Amazon Simple Storage Service Developer Guide. 13536 Filter *NotificationConfigurationFilter `type:"structure"` 13537 13538 // Optional unique identifier for configurations in a notification configuration. 13539 // If you don't provide one, Amazon S3 will assign an ID. 13540 Id *string `type:"string"` 13541 13542 // Lambda cloud function ARN that Amazon S3 can invoke when it detects events 13543 // of the specified type. 13544 // 13545 // LambdaFunctionArn is a required field 13546 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` 13547} 13548 13549// String returns the string representation 13550func (s LambdaFunctionConfiguration) String() string { 13551 return awsutil.Prettify(s) 13552} 13553 13554// GoString returns the string representation 13555func (s LambdaFunctionConfiguration) GoString() string { 13556 return s.String() 13557} 13558 13559// Validate inspects the fields of the type to determine if they are valid. 13560func (s *LambdaFunctionConfiguration) Validate() error { 13561 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"} 13562 if s.Events == nil { 13563 invalidParams.Add(request.NewErrParamRequired("Events")) 13564 } 13565 if s.LambdaFunctionArn == nil { 13566 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn")) 13567 } 13568 13569 if invalidParams.Len() > 0 { 13570 return invalidParams 13571 } 13572 return nil 13573} 13574 13575// SetEvents sets the Events field's value. 13576func (s *LambdaFunctionConfiguration) SetEvents(v []*string) *LambdaFunctionConfiguration { 13577 s.Events = v 13578 return s 13579} 13580 13581// SetFilter sets the Filter field's value. 13582func (s *LambdaFunctionConfiguration) SetFilter(v *NotificationConfigurationFilter) *LambdaFunctionConfiguration { 13583 s.Filter = v 13584 return s 13585} 13586 13587// SetId sets the Id field's value. 13588func (s *LambdaFunctionConfiguration) SetId(v string) *LambdaFunctionConfiguration { 13589 s.Id = &v 13590 return s 13591} 13592 13593// SetLambdaFunctionArn sets the LambdaFunctionArn field's value. 13594func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunctionConfiguration { 13595 s.LambdaFunctionArn = &v 13596 return s 13597} 13598 13599type LifecycleConfiguration struct { 13600 _ struct{} `type:"structure"` 13601 13602 // Rules is a required field 13603 Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 13604} 13605 13606// String returns the string representation 13607func (s LifecycleConfiguration) String() string { 13608 return awsutil.Prettify(s) 13609} 13610 13611// GoString returns the string representation 13612func (s LifecycleConfiguration) GoString() string { 13613 return s.String() 13614} 13615 13616// Validate inspects the fields of the type to determine if they are valid. 13617func (s *LifecycleConfiguration) Validate() error { 13618 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 13619 if s.Rules == nil { 13620 invalidParams.Add(request.NewErrParamRequired("Rules")) 13621 } 13622 if s.Rules != nil { 13623 for i, v := range s.Rules { 13624 if v == nil { 13625 continue 13626 } 13627 if err := v.Validate(); err != nil { 13628 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 13629 } 13630 } 13631 } 13632 13633 if invalidParams.Len() > 0 { 13634 return invalidParams 13635 } 13636 return nil 13637} 13638 13639// SetRules sets the Rules field's value. 13640func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration { 13641 s.Rules = v 13642 return s 13643} 13644 13645type LifecycleExpiration struct { 13646 _ struct{} `type:"structure"` 13647 13648 // Indicates at what date the object is to be moved or deleted. Should be in 13649 // GMT ISO 8601 Format. 13650 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` 13651 13652 // Indicates the lifetime, in days, of the objects that are subject to the rule. 13653 // The value must be a non-zero positive integer. 13654 Days *int64 `type:"integer"` 13655 13656 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 13657 // versions. If set to true, the delete marker will be expired; if set to false 13658 // the policy takes no action. This cannot be specified with Days or Date in 13659 // a Lifecycle Expiration Policy. 13660 ExpiredObjectDeleteMarker *bool `type:"boolean"` 13661} 13662 13663// String returns the string representation 13664func (s LifecycleExpiration) String() string { 13665 return awsutil.Prettify(s) 13666} 13667 13668// GoString returns the string representation 13669func (s LifecycleExpiration) GoString() string { 13670 return s.String() 13671} 13672 13673// SetDate sets the Date field's value. 13674func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 13675 s.Date = &v 13676 return s 13677} 13678 13679// SetDays sets the Days field's value. 13680func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 13681 s.Days = &v 13682 return s 13683} 13684 13685// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 13686func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 13687 s.ExpiredObjectDeleteMarker = &v 13688 return s 13689} 13690 13691type LifecycleRule struct { 13692 _ struct{} `type:"structure"` 13693 13694 // Specifies the days since the initiation of an Incomplete Multipart Upload 13695 // that Lifecycle will wait before permanently removing all parts of the upload. 13696 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 13697 13698 Expiration *LifecycleExpiration `type:"structure"` 13699 13700 // The Filter is used to identify objects that a Lifecycle Rule applies to. 13701 // A Filter must have exactly one of Prefix, Tag, or And specified. 13702 Filter *LifecycleRuleFilter `type:"structure"` 13703 13704 // Unique identifier for the rule. The value cannot be longer than 255 characters. 13705 ID *string `type:"string"` 13706 13707 // Specifies when noncurrent object versions expire. Upon expiration, Amazon 13708 // S3 permanently deletes the noncurrent object versions. You set this lifecycle 13709 // configuration action on a bucket that has versioning enabled (or suspended) 13710 // to request that Amazon S3 delete noncurrent object versions at a specific 13711 // period in the object's lifetime. 13712 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 13713 13714 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"` 13715 13716 // Prefix identifying one or more objects to which the rule applies. This is 13717 // deprecated; use Filter instead. 13718 Prefix *string `deprecated:"true" type:"string"` 13719 13720 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 13721 // is not currently being applied. 13722 // 13723 // Status is a required field 13724 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 13725 13726 Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"` 13727} 13728 13729// String returns the string representation 13730func (s LifecycleRule) String() string { 13731 return awsutil.Prettify(s) 13732} 13733 13734// GoString returns the string representation 13735func (s LifecycleRule) GoString() string { 13736 return s.String() 13737} 13738 13739// Validate inspects the fields of the type to determine if they are valid. 13740func (s *LifecycleRule) Validate() error { 13741 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 13742 if s.Status == nil { 13743 invalidParams.Add(request.NewErrParamRequired("Status")) 13744 } 13745 if s.Filter != nil { 13746 if err := s.Filter.Validate(); err != nil { 13747 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 13748 } 13749 } 13750 13751 if invalidParams.Len() > 0 { 13752 return invalidParams 13753 } 13754 return nil 13755} 13756 13757// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 13758func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 13759 s.AbortIncompleteMultipartUpload = v 13760 return s 13761} 13762 13763// SetExpiration sets the Expiration field's value. 13764func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 13765 s.Expiration = v 13766 return s 13767} 13768 13769// SetFilter sets the Filter field's value. 13770func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 13771 s.Filter = v 13772 return s 13773} 13774 13775// SetID sets the ID field's value. 13776func (s *LifecycleRule) SetID(v string) *LifecycleRule { 13777 s.ID = &v 13778 return s 13779} 13780 13781// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 13782func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 13783 s.NoncurrentVersionExpiration = v 13784 return s 13785} 13786 13787// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 13788func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 13789 s.NoncurrentVersionTransitions = v 13790 return s 13791} 13792 13793// SetPrefix sets the Prefix field's value. 13794func (s *LifecycleRule) SetPrefix(v string) *LifecycleRule { 13795 s.Prefix = &v 13796 return s 13797} 13798 13799// SetStatus sets the Status field's value. 13800func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 13801 s.Status = &v 13802 return s 13803} 13804 13805// SetTransitions sets the Transitions field's value. 13806func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 13807 s.Transitions = v 13808 return s 13809} 13810 13811// This is used in a Lifecycle Rule Filter to apply a logical AND to two or 13812// more predicates. The Lifecycle Rule will apply to any object matching all 13813// of the predicates configured inside the And operator. 13814type LifecycleRuleAndOperator struct { 13815 _ struct{} `type:"structure"` 13816 13817 Prefix *string `type:"string"` 13818 13819 // All of these tags must exist in the object's tag set in order for the rule 13820 // to apply. 13821 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 13822} 13823 13824// String returns the string representation 13825func (s LifecycleRuleAndOperator) String() string { 13826 return awsutil.Prettify(s) 13827} 13828 13829// GoString returns the string representation 13830func (s LifecycleRuleAndOperator) GoString() string { 13831 return s.String() 13832} 13833 13834// Validate inspects the fields of the type to determine if they are valid. 13835func (s *LifecycleRuleAndOperator) Validate() error { 13836 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 13837 if s.Tags != nil { 13838 for i, v := range s.Tags { 13839 if v == nil { 13840 continue 13841 } 13842 if err := v.Validate(); err != nil { 13843 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13844 } 13845 } 13846 } 13847 13848 if invalidParams.Len() > 0 { 13849 return invalidParams 13850 } 13851 return nil 13852} 13853 13854// SetPrefix sets the Prefix field's value. 13855func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 13856 s.Prefix = &v 13857 return s 13858} 13859 13860// SetTags sets the Tags field's value. 13861func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator { 13862 s.Tags = v 13863 return s 13864} 13865 13866// The Filter is used to identify objects that a Lifecycle Rule applies to. 13867// A Filter must have exactly one of Prefix, Tag, or And specified. 13868type LifecycleRuleFilter struct { 13869 _ struct{} `type:"structure"` 13870 13871 // This is used in a Lifecycle Rule Filter to apply a logical AND to two or 13872 // more predicates. The Lifecycle Rule will apply to any object matching all 13873 // of the predicates configured inside the And operator. 13874 And *LifecycleRuleAndOperator `type:"structure"` 13875 13876 // Prefix identifying one or more objects to which the rule applies. 13877 Prefix *string `type:"string"` 13878 13879 // This tag must exist in the object's tag set in order for the rule to apply. 13880 Tag *Tag `type:"structure"` 13881} 13882 13883// String returns the string representation 13884func (s LifecycleRuleFilter) String() string { 13885 return awsutil.Prettify(s) 13886} 13887 13888// GoString returns the string representation 13889func (s LifecycleRuleFilter) GoString() string { 13890 return s.String() 13891} 13892 13893// Validate inspects the fields of the type to determine if they are valid. 13894func (s *LifecycleRuleFilter) Validate() error { 13895 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 13896 if s.And != nil { 13897 if err := s.And.Validate(); err != nil { 13898 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 13899 } 13900 } 13901 if s.Tag != nil { 13902 if err := s.Tag.Validate(); err != nil { 13903 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 13904 } 13905 } 13906 13907 if invalidParams.Len() > 0 { 13908 return invalidParams 13909 } 13910 return nil 13911} 13912 13913// SetAnd sets the And field's value. 13914func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 13915 s.And = v 13916 return s 13917} 13918 13919// SetPrefix sets the Prefix field's value. 13920func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 13921 s.Prefix = &v 13922 return s 13923} 13924 13925// SetTag sets the Tag field's value. 13926func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter { 13927 s.Tag = v 13928 return s 13929} 13930 13931type ListBucketAnalyticsConfigurationsInput struct { 13932 _ struct{} `type:"structure"` 13933 13934 // The name of the bucket from which analytics configurations are retrieved. 13935 // 13936 // Bucket is a required field 13937 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13938 13939 // The ContinuationToken that represents a placeholder from where this request 13940 // should begin. 13941 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 13942} 13943 13944// String returns the string representation 13945func (s ListBucketAnalyticsConfigurationsInput) String() string { 13946 return awsutil.Prettify(s) 13947} 13948 13949// GoString returns the string representation 13950func (s ListBucketAnalyticsConfigurationsInput) GoString() string { 13951 return s.String() 13952} 13953 13954// Validate inspects the fields of the type to determine if they are valid. 13955func (s *ListBucketAnalyticsConfigurationsInput) Validate() error { 13956 invalidParams := request.ErrInvalidParams{Context: "ListBucketAnalyticsConfigurationsInput"} 13957 if s.Bucket == nil { 13958 invalidParams.Add(request.NewErrParamRequired("Bucket")) 13959 } 13960 13961 if invalidParams.Len() > 0 { 13962 return invalidParams 13963 } 13964 return nil 13965} 13966 13967// SetBucket sets the Bucket field's value. 13968func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucketAnalyticsConfigurationsInput { 13969 s.Bucket = &v 13970 return s 13971} 13972 13973func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) { 13974 if s.Bucket == nil { 13975 return v 13976 } 13977 return *s.Bucket 13978} 13979 13980// SetContinuationToken sets the ContinuationToken field's value. 13981func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput { 13982 s.ContinuationToken = &v 13983 return s 13984} 13985 13986type ListBucketAnalyticsConfigurationsOutput struct { 13987 _ struct{} `type:"structure"` 13988 13989 // The list of analytics configurations for a bucket. 13990 AnalyticsConfigurationList []*AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"list" flattened:"true"` 13991 13992 // The ContinuationToken that represents where this request began. 13993 ContinuationToken *string `type:"string"` 13994 13995 // Indicates whether the returned list of analytics configurations is complete. 13996 // A value of true indicates that the list is not complete and the NextContinuationToken 13997 // will be provided for a subsequent request. 13998 IsTruncated *bool `type:"boolean"` 13999 14000 // NextContinuationToken is sent when isTruncated is true, which indicates that 14001 // there are more analytics configurations to list. The next request must include 14002 // this NextContinuationToken. The token is obfuscated and is not a usable value. 14003 NextContinuationToken *string `type:"string"` 14004} 14005 14006// String returns the string representation 14007func (s ListBucketAnalyticsConfigurationsOutput) String() string { 14008 return awsutil.Prettify(s) 14009} 14010 14011// GoString returns the string representation 14012func (s ListBucketAnalyticsConfigurationsOutput) GoString() string { 14013 return s.String() 14014} 14015 14016// SetAnalyticsConfigurationList sets the AnalyticsConfigurationList field's value. 14017func (s *ListBucketAnalyticsConfigurationsOutput) SetAnalyticsConfigurationList(v []*AnalyticsConfiguration) *ListBucketAnalyticsConfigurationsOutput { 14018 s.AnalyticsConfigurationList = v 14019 return s 14020} 14021 14022// SetContinuationToken sets the ContinuationToken field's value. 14023func (s *ListBucketAnalyticsConfigurationsOutput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput { 14024 s.ContinuationToken = &v 14025 return s 14026} 14027 14028// SetIsTruncated sets the IsTruncated field's value. 14029func (s *ListBucketAnalyticsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketAnalyticsConfigurationsOutput { 14030 s.IsTruncated = &v 14031 return s 14032} 14033 14034// SetNextContinuationToken sets the NextContinuationToken field's value. 14035func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketAnalyticsConfigurationsOutput { 14036 s.NextContinuationToken = &v 14037 return s 14038} 14039 14040type ListBucketInventoryConfigurationsInput struct { 14041 _ struct{} `type:"structure"` 14042 14043 // The name of the bucket containing the inventory configurations to retrieve. 14044 // 14045 // Bucket is a required field 14046 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14047 14048 // The marker used to continue an inventory configuration listing that has been 14049 // truncated. Use the NextContinuationToken from a previously truncated list 14050 // response to continue the listing. The continuation token is an opaque value 14051 // that Amazon S3 understands. 14052 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 14053} 14054 14055// String returns the string representation 14056func (s ListBucketInventoryConfigurationsInput) String() string { 14057 return awsutil.Prettify(s) 14058} 14059 14060// GoString returns the string representation 14061func (s ListBucketInventoryConfigurationsInput) GoString() string { 14062 return s.String() 14063} 14064 14065// Validate inspects the fields of the type to determine if they are valid. 14066func (s *ListBucketInventoryConfigurationsInput) Validate() error { 14067 invalidParams := request.ErrInvalidParams{Context: "ListBucketInventoryConfigurationsInput"} 14068 if s.Bucket == nil { 14069 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14070 } 14071 14072 if invalidParams.Len() > 0 { 14073 return invalidParams 14074 } 14075 return nil 14076} 14077 14078// SetBucket sets the Bucket field's value. 14079func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucketInventoryConfigurationsInput { 14080 s.Bucket = &v 14081 return s 14082} 14083 14084func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) { 14085 if s.Bucket == nil { 14086 return v 14087 } 14088 return *s.Bucket 14089} 14090 14091// SetContinuationToken sets the ContinuationToken field's value. 14092func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput { 14093 s.ContinuationToken = &v 14094 return s 14095} 14096 14097type ListBucketInventoryConfigurationsOutput struct { 14098 _ struct{} `type:"structure"` 14099 14100 // If sent in the request, the marker that is used as a starting point for this 14101 // inventory configuration list response. 14102 ContinuationToken *string `type:"string"` 14103 14104 // The list of inventory configurations for a bucket. 14105 InventoryConfigurationList []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"` 14106 14107 // Indicates whether the returned list of inventory configurations is truncated 14108 // in this response. A value of true indicates that the list is truncated. 14109 IsTruncated *bool `type:"boolean"` 14110 14111 // The marker used to continue this inventory configuration listing. Use the 14112 // NextContinuationToken from this response to continue the listing in a subsequent 14113 // request. The continuation token is an opaque value that Amazon S3 understands. 14114 NextContinuationToken *string `type:"string"` 14115} 14116 14117// String returns the string representation 14118func (s ListBucketInventoryConfigurationsOutput) String() string { 14119 return awsutil.Prettify(s) 14120} 14121 14122// GoString returns the string representation 14123func (s ListBucketInventoryConfigurationsOutput) GoString() string { 14124 return s.String() 14125} 14126 14127// SetContinuationToken sets the ContinuationToken field's value. 14128func (s *ListBucketInventoryConfigurationsOutput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsOutput { 14129 s.ContinuationToken = &v 14130 return s 14131} 14132 14133// SetInventoryConfigurationList sets the InventoryConfigurationList field's value. 14134func (s *ListBucketInventoryConfigurationsOutput) SetInventoryConfigurationList(v []*InventoryConfiguration) *ListBucketInventoryConfigurationsOutput { 14135 s.InventoryConfigurationList = v 14136 return s 14137} 14138 14139// SetIsTruncated sets the IsTruncated field's value. 14140func (s *ListBucketInventoryConfigurationsOutput) SetIsTruncated(v bool) *ListBucketInventoryConfigurationsOutput { 14141 s.IsTruncated = &v 14142 return s 14143} 14144 14145// SetNextContinuationToken sets the NextContinuationToken field's value. 14146func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketInventoryConfigurationsOutput { 14147 s.NextContinuationToken = &v 14148 return s 14149} 14150 14151type ListBucketMetricsConfigurationsInput struct { 14152 _ struct{} `type:"structure"` 14153 14154 // The name of the bucket containing the metrics configurations to retrieve. 14155 // 14156 // Bucket is a required field 14157 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14158 14159 // The marker that is used to continue a metrics configuration listing that 14160 // has been truncated. Use the NextContinuationToken from a previously truncated 14161 // list response to continue the listing. The continuation token is an opaque 14162 // value that Amazon S3 understands. 14163 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 14164} 14165 14166// String returns the string representation 14167func (s ListBucketMetricsConfigurationsInput) String() string { 14168 return awsutil.Prettify(s) 14169} 14170 14171// GoString returns the string representation 14172func (s ListBucketMetricsConfigurationsInput) GoString() string { 14173 return s.String() 14174} 14175 14176// Validate inspects the fields of the type to determine if they are valid. 14177func (s *ListBucketMetricsConfigurationsInput) Validate() error { 14178 invalidParams := request.ErrInvalidParams{Context: "ListBucketMetricsConfigurationsInput"} 14179 if s.Bucket == nil { 14180 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14181 } 14182 14183 if invalidParams.Len() > 0 { 14184 return invalidParams 14185 } 14186 return nil 14187} 14188 14189// SetBucket sets the Bucket field's value. 14190func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMetricsConfigurationsInput { 14191 s.Bucket = &v 14192 return s 14193} 14194 14195func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) { 14196 if s.Bucket == nil { 14197 return v 14198 } 14199 return *s.Bucket 14200} 14201 14202// SetContinuationToken sets the ContinuationToken field's value. 14203func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput { 14204 s.ContinuationToken = &v 14205 return s 14206} 14207 14208type ListBucketMetricsConfigurationsOutput struct { 14209 _ struct{} `type:"structure"` 14210 14211 // The marker that is used as a starting point for this metrics configuration 14212 // list response. This value is present if it was sent in the request. 14213 ContinuationToken *string `type:"string"` 14214 14215 // Indicates whether the returned list of metrics configurations is complete. 14216 // A value of true indicates that the list is not complete and the NextContinuationToken 14217 // will be provided for a subsequent request. 14218 IsTruncated *bool `type:"boolean"` 14219 14220 // The list of metrics configurations for a bucket. 14221 MetricsConfigurationList []*MetricsConfiguration `locationName:"MetricsConfiguration" type:"list" flattened:"true"` 14222 14223 // The marker used to continue a metrics configuration listing that has been 14224 // truncated. Use the NextContinuationToken from a previously truncated list 14225 // response to continue the listing. The continuation token is an opaque value 14226 // that Amazon S3 understands. 14227 NextContinuationToken *string `type:"string"` 14228} 14229 14230// String returns the string representation 14231func (s ListBucketMetricsConfigurationsOutput) String() string { 14232 return awsutil.Prettify(s) 14233} 14234 14235// GoString returns the string representation 14236func (s ListBucketMetricsConfigurationsOutput) GoString() string { 14237 return s.String() 14238} 14239 14240// SetContinuationToken sets the ContinuationToken field's value. 14241func (s *ListBucketMetricsConfigurationsOutput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsOutput { 14242 s.ContinuationToken = &v 14243 return s 14244} 14245 14246// SetIsTruncated sets the IsTruncated field's value. 14247func (s *ListBucketMetricsConfigurationsOutput) SetIsTruncated(v bool) *ListBucketMetricsConfigurationsOutput { 14248 s.IsTruncated = &v 14249 return s 14250} 14251 14252// SetMetricsConfigurationList sets the MetricsConfigurationList field's value. 14253func (s *ListBucketMetricsConfigurationsOutput) SetMetricsConfigurationList(v []*MetricsConfiguration) *ListBucketMetricsConfigurationsOutput { 14254 s.MetricsConfigurationList = v 14255 return s 14256} 14257 14258// SetNextContinuationToken sets the NextContinuationToken field's value. 14259func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketMetricsConfigurationsOutput { 14260 s.NextContinuationToken = &v 14261 return s 14262} 14263 14264type ListBucketsInput struct { 14265 _ struct{} `type:"structure"` 14266} 14267 14268// String returns the string representation 14269func (s ListBucketsInput) String() string { 14270 return awsutil.Prettify(s) 14271} 14272 14273// GoString returns the string representation 14274func (s ListBucketsInput) GoString() string { 14275 return s.String() 14276} 14277 14278type ListBucketsOutput struct { 14279 _ struct{} `type:"structure"` 14280 14281 Buckets []*Bucket `locationNameList:"Bucket" type:"list"` 14282 14283 Owner *Owner `type:"structure"` 14284} 14285 14286// String returns the string representation 14287func (s ListBucketsOutput) String() string { 14288 return awsutil.Prettify(s) 14289} 14290 14291// GoString returns the string representation 14292func (s ListBucketsOutput) GoString() string { 14293 return s.String() 14294} 14295 14296// SetBuckets sets the Buckets field's value. 14297func (s *ListBucketsOutput) SetBuckets(v []*Bucket) *ListBucketsOutput { 14298 s.Buckets = v 14299 return s 14300} 14301 14302// SetOwner sets the Owner field's value. 14303func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput { 14304 s.Owner = v 14305 return s 14306} 14307 14308type ListMultipartUploadsInput struct { 14309 _ struct{} `type:"structure"` 14310 14311 // Bucket is a required field 14312 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14313 14314 // Character you use to group keys. 14315 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 14316 14317 // Requests Amazon S3 to encode the object keys in the response and specifies 14318 // the encoding method to use. An object key may contain any Unicode character; 14319 // however, XML 1.0 parser cannot parse some characters, such as characters 14320 // with an ASCII value from 0 to 10. For characters that are not supported in 14321 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 14322 // keys in the response. 14323 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 14324 14325 // Together with upload-id-marker, this parameter specifies the multipart upload 14326 // after which listing should begin. 14327 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` 14328 14329 // Sets the maximum number of multipart uploads, from 1 to 1,000, to return 14330 // in the response body. 1,000 is the maximum number of uploads that can be 14331 // returned in a response. 14332 MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"` 14333 14334 // Lists in-progress uploads only for those keys that begin with the specified 14335 // prefix. 14336 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 14337 14338 // Together with key-marker, specifies the multipart upload after which listing 14339 // should begin. If key-marker is not specified, the upload-id-marker parameter 14340 // is ignored. 14341 UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"` 14342} 14343 14344// String returns the string representation 14345func (s ListMultipartUploadsInput) String() string { 14346 return awsutil.Prettify(s) 14347} 14348 14349// GoString returns the string representation 14350func (s ListMultipartUploadsInput) GoString() string { 14351 return s.String() 14352} 14353 14354// Validate inspects the fields of the type to determine if they are valid. 14355func (s *ListMultipartUploadsInput) Validate() error { 14356 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"} 14357 if s.Bucket == nil { 14358 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14359 } 14360 14361 if invalidParams.Len() > 0 { 14362 return invalidParams 14363 } 14364 return nil 14365} 14366 14367// SetBucket sets the Bucket field's value. 14368func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInput { 14369 s.Bucket = &v 14370 return s 14371} 14372 14373func (s *ListMultipartUploadsInput) getBucket() (v string) { 14374 if s.Bucket == nil { 14375 return v 14376 } 14377 return *s.Bucket 14378} 14379 14380// SetDelimiter sets the Delimiter field's value. 14381func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput { 14382 s.Delimiter = &v 14383 return s 14384} 14385 14386// SetEncodingType sets the EncodingType field's value. 14387func (s *ListMultipartUploadsInput) SetEncodingType(v string) *ListMultipartUploadsInput { 14388 s.EncodingType = &v 14389 return s 14390} 14391 14392// SetKeyMarker sets the KeyMarker field's value. 14393func (s *ListMultipartUploadsInput) SetKeyMarker(v string) *ListMultipartUploadsInput { 14394 s.KeyMarker = &v 14395 return s 14396} 14397 14398// SetMaxUploads sets the MaxUploads field's value. 14399func (s *ListMultipartUploadsInput) SetMaxUploads(v int64) *ListMultipartUploadsInput { 14400 s.MaxUploads = &v 14401 return s 14402} 14403 14404// SetPrefix sets the Prefix field's value. 14405func (s *ListMultipartUploadsInput) SetPrefix(v string) *ListMultipartUploadsInput { 14406 s.Prefix = &v 14407 return s 14408} 14409 14410// SetUploadIdMarker sets the UploadIdMarker field's value. 14411func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUploadsInput { 14412 s.UploadIdMarker = &v 14413 return s 14414} 14415 14416type ListMultipartUploadsOutput struct { 14417 _ struct{} `type:"structure"` 14418 14419 // Name of the bucket to which the multipart upload was initiated. 14420 Bucket *string `type:"string"` 14421 14422 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 14423 14424 Delimiter *string `type:"string"` 14425 14426 // Encoding type used by Amazon S3 to encode object keys in the response. 14427 EncodingType *string `type:"string" enum:"EncodingType"` 14428 14429 // Indicates whether the returned list of multipart uploads is truncated. A 14430 // value of true indicates that the list was truncated. The list can be truncated 14431 // if the number of multipart uploads exceeds the limit allowed or specified 14432 // by max uploads. 14433 IsTruncated *bool `type:"boolean"` 14434 14435 // The key at or after which the listing began. 14436 KeyMarker *string `type:"string"` 14437 14438 // Maximum number of multipart uploads that could have been included in the 14439 // response. 14440 MaxUploads *int64 `type:"integer"` 14441 14442 // When a list is truncated, this element specifies the value that should be 14443 // used for the key-marker request parameter in a subsequent request. 14444 NextKeyMarker *string `type:"string"` 14445 14446 // When a list is truncated, this element specifies the value that should be 14447 // used for the upload-id-marker request parameter in a subsequent request. 14448 NextUploadIdMarker *string `type:"string"` 14449 14450 // When a prefix is provided in the request, this field contains the specified 14451 // prefix. The result contains only keys starting with the specified prefix. 14452 Prefix *string `type:"string"` 14453 14454 // Upload ID after which listing began. 14455 UploadIdMarker *string `type:"string"` 14456 14457 Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"` 14458} 14459 14460// String returns the string representation 14461func (s ListMultipartUploadsOutput) String() string { 14462 return awsutil.Prettify(s) 14463} 14464 14465// GoString returns the string representation 14466func (s ListMultipartUploadsOutput) GoString() string { 14467 return s.String() 14468} 14469 14470// SetBucket sets the Bucket field's value. 14471func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOutput { 14472 s.Bucket = &v 14473 return s 14474} 14475 14476func (s *ListMultipartUploadsOutput) getBucket() (v string) { 14477 if s.Bucket == nil { 14478 return v 14479 } 14480 return *s.Bucket 14481} 14482 14483// SetCommonPrefixes sets the CommonPrefixes field's value. 14484func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput { 14485 s.CommonPrefixes = v 14486 return s 14487} 14488 14489// SetDelimiter sets the Delimiter field's value. 14490func (s *ListMultipartUploadsOutput) SetDelimiter(v string) *ListMultipartUploadsOutput { 14491 s.Delimiter = &v 14492 return s 14493} 14494 14495// SetEncodingType sets the EncodingType field's value. 14496func (s *ListMultipartUploadsOutput) SetEncodingType(v string) *ListMultipartUploadsOutput { 14497 s.EncodingType = &v 14498 return s 14499} 14500 14501// SetIsTruncated sets the IsTruncated field's value. 14502func (s *ListMultipartUploadsOutput) SetIsTruncated(v bool) *ListMultipartUploadsOutput { 14503 s.IsTruncated = &v 14504 return s 14505} 14506 14507// SetKeyMarker sets the KeyMarker field's value. 14508func (s *ListMultipartUploadsOutput) SetKeyMarker(v string) *ListMultipartUploadsOutput { 14509 s.KeyMarker = &v 14510 return s 14511} 14512 14513// SetMaxUploads sets the MaxUploads field's value. 14514func (s *ListMultipartUploadsOutput) SetMaxUploads(v int64) *ListMultipartUploadsOutput { 14515 s.MaxUploads = &v 14516 return s 14517} 14518 14519// SetNextKeyMarker sets the NextKeyMarker field's value. 14520func (s *ListMultipartUploadsOutput) SetNextKeyMarker(v string) *ListMultipartUploadsOutput { 14521 s.NextKeyMarker = &v 14522 return s 14523} 14524 14525// SetNextUploadIdMarker sets the NextUploadIdMarker field's value. 14526func (s *ListMultipartUploadsOutput) SetNextUploadIdMarker(v string) *ListMultipartUploadsOutput { 14527 s.NextUploadIdMarker = &v 14528 return s 14529} 14530 14531// SetPrefix sets the Prefix field's value. 14532func (s *ListMultipartUploadsOutput) SetPrefix(v string) *ListMultipartUploadsOutput { 14533 s.Prefix = &v 14534 return s 14535} 14536 14537// SetUploadIdMarker sets the UploadIdMarker field's value. 14538func (s *ListMultipartUploadsOutput) SetUploadIdMarker(v string) *ListMultipartUploadsOutput { 14539 s.UploadIdMarker = &v 14540 return s 14541} 14542 14543// SetUploads sets the Uploads field's value. 14544func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMultipartUploadsOutput { 14545 s.Uploads = v 14546 return s 14547} 14548 14549type ListObjectVersionsInput struct { 14550 _ struct{} `type:"structure"` 14551 14552 // Bucket is a required field 14553 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14554 14555 // A delimiter is a character you use to group keys. 14556 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 14557 14558 // Requests Amazon S3 to encode the object keys in the response and specifies 14559 // the encoding method to use. An object key may contain any Unicode character; 14560 // however, XML 1.0 parser cannot parse some characters, such as characters 14561 // with an ASCII value from 0 to 10. For characters that are not supported in 14562 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 14563 // keys in the response. 14564 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 14565 14566 // Specifies the key to start with when listing objects in a bucket. 14567 KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` 14568 14569 // Sets the maximum number of keys returned in the response. The response might 14570 // contain fewer keys but will never contain more. 14571 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 14572 14573 // Limits the response to keys that begin with the specified prefix. 14574 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 14575 14576 // Specifies the object version you want to start listing from. 14577 VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"` 14578} 14579 14580// String returns the string representation 14581func (s ListObjectVersionsInput) String() string { 14582 return awsutil.Prettify(s) 14583} 14584 14585// GoString returns the string representation 14586func (s ListObjectVersionsInput) GoString() string { 14587 return s.String() 14588} 14589 14590// Validate inspects the fields of the type to determine if they are valid. 14591func (s *ListObjectVersionsInput) Validate() error { 14592 invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"} 14593 if s.Bucket == nil { 14594 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14595 } 14596 14597 if invalidParams.Len() > 0 { 14598 return invalidParams 14599 } 14600 return nil 14601} 14602 14603// SetBucket sets the Bucket field's value. 14604func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput { 14605 s.Bucket = &v 14606 return s 14607} 14608 14609func (s *ListObjectVersionsInput) getBucket() (v string) { 14610 if s.Bucket == nil { 14611 return v 14612 } 14613 return *s.Bucket 14614} 14615 14616// SetDelimiter sets the Delimiter field's value. 14617func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput { 14618 s.Delimiter = &v 14619 return s 14620} 14621 14622// SetEncodingType sets the EncodingType field's value. 14623func (s *ListObjectVersionsInput) SetEncodingType(v string) *ListObjectVersionsInput { 14624 s.EncodingType = &v 14625 return s 14626} 14627 14628// SetKeyMarker sets the KeyMarker field's value. 14629func (s *ListObjectVersionsInput) SetKeyMarker(v string) *ListObjectVersionsInput { 14630 s.KeyMarker = &v 14631 return s 14632} 14633 14634// SetMaxKeys sets the MaxKeys field's value. 14635func (s *ListObjectVersionsInput) SetMaxKeys(v int64) *ListObjectVersionsInput { 14636 s.MaxKeys = &v 14637 return s 14638} 14639 14640// SetPrefix sets the Prefix field's value. 14641func (s *ListObjectVersionsInput) SetPrefix(v string) *ListObjectVersionsInput { 14642 s.Prefix = &v 14643 return s 14644} 14645 14646// SetVersionIdMarker sets the VersionIdMarker field's value. 14647func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersionsInput { 14648 s.VersionIdMarker = &v 14649 return s 14650} 14651 14652type ListObjectVersionsOutput struct { 14653 _ struct{} `type:"structure"` 14654 14655 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 14656 14657 DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"` 14658 14659 Delimiter *string `type:"string"` 14660 14661 // Encoding type used by Amazon S3 to encode object keys in the response. 14662 EncodingType *string `type:"string" enum:"EncodingType"` 14663 14664 // A flag that indicates whether or not Amazon S3 returned all of the results 14665 // that satisfied the search criteria. If your results were truncated, you can 14666 // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker 14667 // response parameters as a starting place in another request to return the 14668 // rest of the results. 14669 IsTruncated *bool `type:"boolean"` 14670 14671 // Marks the last Key returned in a truncated response. 14672 KeyMarker *string `type:"string"` 14673 14674 MaxKeys *int64 `type:"integer"` 14675 14676 Name *string `type:"string"` 14677 14678 // Use this value for the key marker request parameter in a subsequent request. 14679 NextKeyMarker *string `type:"string"` 14680 14681 // Use this value for the next version id marker parameter in a subsequent request. 14682 NextVersionIdMarker *string `type:"string"` 14683 14684 Prefix *string `type:"string"` 14685 14686 VersionIdMarker *string `type:"string"` 14687 14688 Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"` 14689} 14690 14691// String returns the string representation 14692func (s ListObjectVersionsOutput) String() string { 14693 return awsutil.Prettify(s) 14694} 14695 14696// GoString returns the string representation 14697func (s ListObjectVersionsOutput) GoString() string { 14698 return s.String() 14699} 14700 14701// SetCommonPrefixes sets the CommonPrefixes field's value. 14702func (s *ListObjectVersionsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectVersionsOutput { 14703 s.CommonPrefixes = v 14704 return s 14705} 14706 14707// SetDeleteMarkers sets the DeleteMarkers field's value. 14708func (s *ListObjectVersionsOutput) SetDeleteMarkers(v []*DeleteMarkerEntry) *ListObjectVersionsOutput { 14709 s.DeleteMarkers = v 14710 return s 14711} 14712 14713// SetDelimiter sets the Delimiter field's value. 14714func (s *ListObjectVersionsOutput) SetDelimiter(v string) *ListObjectVersionsOutput { 14715 s.Delimiter = &v 14716 return s 14717} 14718 14719// SetEncodingType sets the EncodingType field's value. 14720func (s *ListObjectVersionsOutput) SetEncodingType(v string) *ListObjectVersionsOutput { 14721 s.EncodingType = &v 14722 return s 14723} 14724 14725// SetIsTruncated sets the IsTruncated field's value. 14726func (s *ListObjectVersionsOutput) SetIsTruncated(v bool) *ListObjectVersionsOutput { 14727 s.IsTruncated = &v 14728 return s 14729} 14730 14731// SetKeyMarker sets the KeyMarker field's value. 14732func (s *ListObjectVersionsOutput) SetKeyMarker(v string) *ListObjectVersionsOutput { 14733 s.KeyMarker = &v 14734 return s 14735} 14736 14737// SetMaxKeys sets the MaxKeys field's value. 14738func (s *ListObjectVersionsOutput) SetMaxKeys(v int64) *ListObjectVersionsOutput { 14739 s.MaxKeys = &v 14740 return s 14741} 14742 14743// SetName sets the Name field's value. 14744func (s *ListObjectVersionsOutput) SetName(v string) *ListObjectVersionsOutput { 14745 s.Name = &v 14746 return s 14747} 14748 14749// SetNextKeyMarker sets the NextKeyMarker field's value. 14750func (s *ListObjectVersionsOutput) SetNextKeyMarker(v string) *ListObjectVersionsOutput { 14751 s.NextKeyMarker = &v 14752 return s 14753} 14754 14755// SetNextVersionIdMarker sets the NextVersionIdMarker field's value. 14756func (s *ListObjectVersionsOutput) SetNextVersionIdMarker(v string) *ListObjectVersionsOutput { 14757 s.NextVersionIdMarker = &v 14758 return s 14759} 14760 14761// SetPrefix sets the Prefix field's value. 14762func (s *ListObjectVersionsOutput) SetPrefix(v string) *ListObjectVersionsOutput { 14763 s.Prefix = &v 14764 return s 14765} 14766 14767// SetVersionIdMarker sets the VersionIdMarker field's value. 14768func (s *ListObjectVersionsOutput) SetVersionIdMarker(v string) *ListObjectVersionsOutput { 14769 s.VersionIdMarker = &v 14770 return s 14771} 14772 14773// SetVersions sets the Versions field's value. 14774func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVersionsOutput { 14775 s.Versions = v 14776 return s 14777} 14778 14779type ListObjectsInput struct { 14780 _ struct{} `type:"structure"` 14781 14782 // Bucket is a required field 14783 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14784 14785 // A delimiter is a character you use to group keys. 14786 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 14787 14788 // Requests Amazon S3 to encode the object keys in the response and specifies 14789 // the encoding method to use. An object key may contain any Unicode character; 14790 // however, XML 1.0 parser cannot parse some characters, such as characters 14791 // with an ASCII value from 0 to 10. For characters that are not supported in 14792 // XML 1.0, you can add this parameter to request that Amazon S3 encode the 14793 // keys in the response. 14794 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 14795 14796 // Specifies the key to start with when listing objects in a bucket. 14797 Marker *string `location:"querystring" locationName:"marker" type:"string"` 14798 14799 // Sets the maximum number of keys returned in the response. The response might 14800 // contain fewer keys but will never contain more. 14801 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 14802 14803 // Limits the response to keys that begin with the specified prefix. 14804 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 14805 14806 // Confirms that the requester knows that she or he will be charged for the 14807 // list objects request. Bucket owners need not specify this parameter in their 14808 // requests. 14809 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 14810} 14811 14812// String returns the string representation 14813func (s ListObjectsInput) String() string { 14814 return awsutil.Prettify(s) 14815} 14816 14817// GoString returns the string representation 14818func (s ListObjectsInput) GoString() string { 14819 return s.String() 14820} 14821 14822// Validate inspects the fields of the type to determine if they are valid. 14823func (s *ListObjectsInput) Validate() error { 14824 invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"} 14825 if s.Bucket == nil { 14826 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14827 } 14828 14829 if invalidParams.Len() > 0 { 14830 return invalidParams 14831 } 14832 return nil 14833} 14834 14835// SetBucket sets the Bucket field's value. 14836func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput { 14837 s.Bucket = &v 14838 return s 14839} 14840 14841func (s *ListObjectsInput) getBucket() (v string) { 14842 if s.Bucket == nil { 14843 return v 14844 } 14845 return *s.Bucket 14846} 14847 14848// SetDelimiter sets the Delimiter field's value. 14849func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput { 14850 s.Delimiter = &v 14851 return s 14852} 14853 14854// SetEncodingType sets the EncodingType field's value. 14855func (s *ListObjectsInput) SetEncodingType(v string) *ListObjectsInput { 14856 s.EncodingType = &v 14857 return s 14858} 14859 14860// SetMarker sets the Marker field's value. 14861func (s *ListObjectsInput) SetMarker(v string) *ListObjectsInput { 14862 s.Marker = &v 14863 return s 14864} 14865 14866// SetMaxKeys sets the MaxKeys field's value. 14867func (s *ListObjectsInput) SetMaxKeys(v int64) *ListObjectsInput { 14868 s.MaxKeys = &v 14869 return s 14870} 14871 14872// SetPrefix sets the Prefix field's value. 14873func (s *ListObjectsInput) SetPrefix(v string) *ListObjectsInput { 14874 s.Prefix = &v 14875 return s 14876} 14877 14878// SetRequestPayer sets the RequestPayer field's value. 14879func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput { 14880 s.RequestPayer = &v 14881 return s 14882} 14883 14884type ListObjectsOutput struct { 14885 _ struct{} `type:"structure"` 14886 14887 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 14888 14889 Contents []*Object `type:"list" flattened:"true"` 14890 14891 Delimiter *string `type:"string"` 14892 14893 // Encoding type used by Amazon S3 to encode object keys in the response. 14894 EncodingType *string `type:"string" enum:"EncodingType"` 14895 14896 // A flag that indicates whether or not Amazon S3 returned all of the results 14897 // that satisfied the search criteria. 14898 IsTruncated *bool `type:"boolean"` 14899 14900 Marker *string `type:"string"` 14901 14902 MaxKeys *int64 `type:"integer"` 14903 14904 Name *string `type:"string"` 14905 14906 // When response is truncated (the IsTruncated element value in the response 14907 // is true), you can use the key name in this field as marker in the subsequent 14908 // request to get next set of objects. Amazon S3 lists objects in alphabetical 14909 // order Note: This element is returned only if you have delimiter request parameter 14910 // specified. If response does not include the NextMaker and it is truncated, 14911 // you can use the value of the last Key in the response as the marker in the 14912 // subsequent request to get the next set of object keys. 14913 NextMarker *string `type:"string"` 14914 14915 Prefix *string `type:"string"` 14916} 14917 14918// String returns the string representation 14919func (s ListObjectsOutput) String() string { 14920 return awsutil.Prettify(s) 14921} 14922 14923// GoString returns the string representation 14924func (s ListObjectsOutput) GoString() string { 14925 return s.String() 14926} 14927 14928// SetCommonPrefixes sets the CommonPrefixes field's value. 14929func (s *ListObjectsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsOutput { 14930 s.CommonPrefixes = v 14931 return s 14932} 14933 14934// SetContents sets the Contents field's value. 14935func (s *ListObjectsOutput) SetContents(v []*Object) *ListObjectsOutput { 14936 s.Contents = v 14937 return s 14938} 14939 14940// SetDelimiter sets the Delimiter field's value. 14941func (s *ListObjectsOutput) SetDelimiter(v string) *ListObjectsOutput { 14942 s.Delimiter = &v 14943 return s 14944} 14945 14946// SetEncodingType sets the EncodingType field's value. 14947func (s *ListObjectsOutput) SetEncodingType(v string) *ListObjectsOutput { 14948 s.EncodingType = &v 14949 return s 14950} 14951 14952// SetIsTruncated sets the IsTruncated field's value. 14953func (s *ListObjectsOutput) SetIsTruncated(v bool) *ListObjectsOutput { 14954 s.IsTruncated = &v 14955 return s 14956} 14957 14958// SetMarker sets the Marker field's value. 14959func (s *ListObjectsOutput) SetMarker(v string) *ListObjectsOutput { 14960 s.Marker = &v 14961 return s 14962} 14963 14964// SetMaxKeys sets the MaxKeys field's value. 14965func (s *ListObjectsOutput) SetMaxKeys(v int64) *ListObjectsOutput { 14966 s.MaxKeys = &v 14967 return s 14968} 14969 14970// SetName sets the Name field's value. 14971func (s *ListObjectsOutput) SetName(v string) *ListObjectsOutput { 14972 s.Name = &v 14973 return s 14974} 14975 14976// SetNextMarker sets the NextMarker field's value. 14977func (s *ListObjectsOutput) SetNextMarker(v string) *ListObjectsOutput { 14978 s.NextMarker = &v 14979 return s 14980} 14981 14982// SetPrefix sets the Prefix field's value. 14983func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput { 14984 s.Prefix = &v 14985 return s 14986} 14987 14988type ListObjectsV2Input struct { 14989 _ struct{} `type:"structure"` 14990 14991 // Name of the bucket to list. 14992 // 14993 // Bucket is a required field 14994 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 14995 14996 // ContinuationToken indicates Amazon S3 that the list is being continued on 14997 // this bucket with a token. ContinuationToken is obfuscated and is not a real 14998 // key 14999 ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` 15000 15001 // A delimiter is a character you use to group keys. 15002 Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` 15003 15004 // Encoding type used by Amazon S3 to encode object keys in the response. 15005 EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` 15006 15007 // The owner field is not present in listV2 by default, if you want to return 15008 // owner field with each key in the result then set the fetch owner field to 15009 // true 15010 FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"` 15011 15012 // Sets the maximum number of keys returned in the response. The response might 15013 // contain fewer keys but will never contain more. 15014 MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` 15015 15016 // Limits the response to keys that begin with the specified prefix. 15017 Prefix *string `location:"querystring" locationName:"prefix" type:"string"` 15018 15019 // Confirms that the requester knows that she or he will be charged for the 15020 // list objects request in V2 style. Bucket owners need not specify this parameter 15021 // in their requests. 15022 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 15023 15024 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts 15025 // listing after this specified key. StartAfter can be any key in the bucket 15026 StartAfter *string `location:"querystring" locationName:"start-after" type:"string"` 15027} 15028 15029// String returns the string representation 15030func (s ListObjectsV2Input) String() string { 15031 return awsutil.Prettify(s) 15032} 15033 15034// GoString returns the string representation 15035func (s ListObjectsV2Input) GoString() string { 15036 return s.String() 15037} 15038 15039// Validate inspects the fields of the type to determine if they are valid. 15040func (s *ListObjectsV2Input) Validate() error { 15041 invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"} 15042 if s.Bucket == nil { 15043 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15044 } 15045 15046 if invalidParams.Len() > 0 { 15047 return invalidParams 15048 } 15049 return nil 15050} 15051 15052// SetBucket sets the Bucket field's value. 15053func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input { 15054 s.Bucket = &v 15055 return s 15056} 15057 15058func (s *ListObjectsV2Input) getBucket() (v string) { 15059 if s.Bucket == nil { 15060 return v 15061 } 15062 return *s.Bucket 15063} 15064 15065// SetContinuationToken sets the ContinuationToken field's value. 15066func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input { 15067 s.ContinuationToken = &v 15068 return s 15069} 15070 15071// SetDelimiter sets the Delimiter field's value. 15072func (s *ListObjectsV2Input) SetDelimiter(v string) *ListObjectsV2Input { 15073 s.Delimiter = &v 15074 return s 15075} 15076 15077// SetEncodingType sets the EncodingType field's value. 15078func (s *ListObjectsV2Input) SetEncodingType(v string) *ListObjectsV2Input { 15079 s.EncodingType = &v 15080 return s 15081} 15082 15083// SetFetchOwner sets the FetchOwner field's value. 15084func (s *ListObjectsV2Input) SetFetchOwner(v bool) *ListObjectsV2Input { 15085 s.FetchOwner = &v 15086 return s 15087} 15088 15089// SetMaxKeys sets the MaxKeys field's value. 15090func (s *ListObjectsV2Input) SetMaxKeys(v int64) *ListObjectsV2Input { 15091 s.MaxKeys = &v 15092 return s 15093} 15094 15095// SetPrefix sets the Prefix field's value. 15096func (s *ListObjectsV2Input) SetPrefix(v string) *ListObjectsV2Input { 15097 s.Prefix = &v 15098 return s 15099} 15100 15101// SetRequestPayer sets the RequestPayer field's value. 15102func (s *ListObjectsV2Input) SetRequestPayer(v string) *ListObjectsV2Input { 15103 s.RequestPayer = &v 15104 return s 15105} 15106 15107// SetStartAfter sets the StartAfter field's value. 15108func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input { 15109 s.StartAfter = &v 15110 return s 15111} 15112 15113type ListObjectsV2Output struct { 15114 _ struct{} `type:"structure"` 15115 15116 // CommonPrefixes contains all (if there are any) keys between Prefix and the 15117 // next occurrence of the string specified by delimiter 15118 CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` 15119 15120 // Metadata about each object returned. 15121 Contents []*Object `type:"list" flattened:"true"` 15122 15123 // ContinuationToken indicates Amazon S3 that the list is being continued on 15124 // this bucket with a token. ContinuationToken is obfuscated and is not a real 15125 // key 15126 ContinuationToken *string `type:"string"` 15127 15128 // A delimiter is a character you use to group keys. 15129 Delimiter *string `type:"string"` 15130 15131 // Encoding type used by Amazon S3 to encode object keys in the response. 15132 EncodingType *string `type:"string" enum:"EncodingType"` 15133 15134 // A flag that indicates whether or not Amazon S3 returned all of the results 15135 // that satisfied the search criteria. 15136 IsTruncated *bool `type:"boolean"` 15137 15138 // KeyCount is the number of keys returned with this request. KeyCount will 15139 // always be less than equals to MaxKeys field. Say you ask for 50 keys, your 15140 // result will include less than equals 50 keys 15141 KeyCount *int64 `type:"integer"` 15142 15143 // Sets the maximum number of keys returned in the response. The response might 15144 // contain fewer keys but will never contain more. 15145 MaxKeys *int64 `type:"integer"` 15146 15147 // Name of the bucket to list. 15148 Name *string `type:"string"` 15149 15150 // NextContinuationToken is sent when isTruncated is true which means there 15151 // are more keys in the bucket that can be listed. The next list requests to 15152 // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken 15153 // is obfuscated and is not a real key 15154 NextContinuationToken *string `type:"string"` 15155 15156 // Limits the response to keys that begin with the specified prefix. 15157 Prefix *string `type:"string"` 15158 15159 // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts 15160 // listing after this specified key. StartAfter can be any key in the bucket 15161 StartAfter *string `type:"string"` 15162} 15163 15164// String returns the string representation 15165func (s ListObjectsV2Output) String() string { 15166 return awsutil.Prettify(s) 15167} 15168 15169// GoString returns the string representation 15170func (s ListObjectsV2Output) GoString() string { 15171 return s.String() 15172} 15173 15174// SetCommonPrefixes sets the CommonPrefixes field's value. 15175func (s *ListObjectsV2Output) SetCommonPrefixes(v []*CommonPrefix) *ListObjectsV2Output { 15176 s.CommonPrefixes = v 15177 return s 15178} 15179 15180// SetContents sets the Contents field's value. 15181func (s *ListObjectsV2Output) SetContents(v []*Object) *ListObjectsV2Output { 15182 s.Contents = v 15183 return s 15184} 15185 15186// SetContinuationToken sets the ContinuationToken field's value. 15187func (s *ListObjectsV2Output) SetContinuationToken(v string) *ListObjectsV2Output { 15188 s.ContinuationToken = &v 15189 return s 15190} 15191 15192// SetDelimiter sets the Delimiter field's value. 15193func (s *ListObjectsV2Output) SetDelimiter(v string) *ListObjectsV2Output { 15194 s.Delimiter = &v 15195 return s 15196} 15197 15198// SetEncodingType sets the EncodingType field's value. 15199func (s *ListObjectsV2Output) SetEncodingType(v string) *ListObjectsV2Output { 15200 s.EncodingType = &v 15201 return s 15202} 15203 15204// SetIsTruncated sets the IsTruncated field's value. 15205func (s *ListObjectsV2Output) SetIsTruncated(v bool) *ListObjectsV2Output { 15206 s.IsTruncated = &v 15207 return s 15208} 15209 15210// SetKeyCount sets the KeyCount field's value. 15211func (s *ListObjectsV2Output) SetKeyCount(v int64) *ListObjectsV2Output { 15212 s.KeyCount = &v 15213 return s 15214} 15215 15216// SetMaxKeys sets the MaxKeys field's value. 15217func (s *ListObjectsV2Output) SetMaxKeys(v int64) *ListObjectsV2Output { 15218 s.MaxKeys = &v 15219 return s 15220} 15221 15222// SetName sets the Name field's value. 15223func (s *ListObjectsV2Output) SetName(v string) *ListObjectsV2Output { 15224 s.Name = &v 15225 return s 15226} 15227 15228// SetNextContinuationToken sets the NextContinuationToken field's value. 15229func (s *ListObjectsV2Output) SetNextContinuationToken(v string) *ListObjectsV2Output { 15230 s.NextContinuationToken = &v 15231 return s 15232} 15233 15234// SetPrefix sets the Prefix field's value. 15235func (s *ListObjectsV2Output) SetPrefix(v string) *ListObjectsV2Output { 15236 s.Prefix = &v 15237 return s 15238} 15239 15240// SetStartAfter sets the StartAfter field's value. 15241func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output { 15242 s.StartAfter = &v 15243 return s 15244} 15245 15246type ListPartsInput struct { 15247 _ struct{} `type:"structure"` 15248 15249 // Bucket is a required field 15250 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 15251 15252 // Key is a required field 15253 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 15254 15255 // Sets the maximum number of parts to return. 15256 MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"` 15257 15258 // Specifies the part after which listing should begin. Only parts with higher 15259 // part numbers will be listed. 15260 PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"` 15261 15262 // Confirms that the requester knows that she or he will be charged for the 15263 // request. Bucket owners need not specify this parameter in their requests. 15264 // Documentation on downloading objects from requester pays buckets can be found 15265 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 15266 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 15267 15268 // Upload ID identifying the multipart upload whose parts are being listed. 15269 // 15270 // UploadId is a required field 15271 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 15272} 15273 15274// String returns the string representation 15275func (s ListPartsInput) String() string { 15276 return awsutil.Prettify(s) 15277} 15278 15279// GoString returns the string representation 15280func (s ListPartsInput) GoString() string { 15281 return s.String() 15282} 15283 15284// Validate inspects the fields of the type to determine if they are valid. 15285func (s *ListPartsInput) Validate() error { 15286 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"} 15287 if s.Bucket == nil { 15288 invalidParams.Add(request.NewErrParamRequired("Bucket")) 15289 } 15290 if s.Key == nil { 15291 invalidParams.Add(request.NewErrParamRequired("Key")) 15292 } 15293 if s.Key != nil && len(*s.Key) < 1 { 15294 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 15295 } 15296 if s.UploadId == nil { 15297 invalidParams.Add(request.NewErrParamRequired("UploadId")) 15298 } 15299 15300 if invalidParams.Len() > 0 { 15301 return invalidParams 15302 } 15303 return nil 15304} 15305 15306// SetBucket sets the Bucket field's value. 15307func (s *ListPartsInput) SetBucket(v string) *ListPartsInput { 15308 s.Bucket = &v 15309 return s 15310} 15311 15312func (s *ListPartsInput) getBucket() (v string) { 15313 if s.Bucket == nil { 15314 return v 15315 } 15316 return *s.Bucket 15317} 15318 15319// SetKey sets the Key field's value. 15320func (s *ListPartsInput) SetKey(v string) *ListPartsInput { 15321 s.Key = &v 15322 return s 15323} 15324 15325// SetMaxParts sets the MaxParts field's value. 15326func (s *ListPartsInput) SetMaxParts(v int64) *ListPartsInput { 15327 s.MaxParts = &v 15328 return s 15329} 15330 15331// SetPartNumberMarker sets the PartNumberMarker field's value. 15332func (s *ListPartsInput) SetPartNumberMarker(v int64) *ListPartsInput { 15333 s.PartNumberMarker = &v 15334 return s 15335} 15336 15337// SetRequestPayer sets the RequestPayer field's value. 15338func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput { 15339 s.RequestPayer = &v 15340 return s 15341} 15342 15343// SetUploadId sets the UploadId field's value. 15344func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput { 15345 s.UploadId = &v 15346 return s 15347} 15348 15349type ListPartsOutput struct { 15350 _ struct{} `type:"structure"` 15351 15352 // Date when multipart upload will become eligible for abort operation by lifecycle. 15353 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"` 15354 15355 // Id of the lifecycle rule that makes a multipart upload eligible for abort 15356 // operation. 15357 AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` 15358 15359 // Name of the bucket to which the multipart upload was initiated. 15360 Bucket *string `type:"string"` 15361 15362 // Identifies who initiated the multipart upload. 15363 Initiator *Initiator `type:"structure"` 15364 15365 // Indicates whether the returned list of parts is truncated. 15366 IsTruncated *bool `type:"boolean"` 15367 15368 // Object key for which the multipart upload was initiated. 15369 Key *string `min:"1" type:"string"` 15370 15371 // Maximum number of parts that were allowed in the response. 15372 MaxParts *int64 `type:"integer"` 15373 15374 // When a list is truncated, this element specifies the last part in the list, 15375 // as well as the value to use for the part-number-marker request parameter 15376 // in a subsequent request. 15377 NextPartNumberMarker *int64 `type:"integer"` 15378 15379 Owner *Owner `type:"structure"` 15380 15381 // Part number after which listing begins. 15382 PartNumberMarker *int64 `type:"integer"` 15383 15384 Parts []*Part `locationName:"Part" type:"list" flattened:"true"` 15385 15386 // If present, indicates that the requester was successfully charged for the 15387 // request. 15388 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 15389 15390 // The class of storage used to store the object. 15391 StorageClass *string `type:"string" enum:"StorageClass"` 15392 15393 // Upload ID identifying the multipart upload whose parts are being listed. 15394 UploadId *string `type:"string"` 15395} 15396 15397// String returns the string representation 15398func (s ListPartsOutput) String() string { 15399 return awsutil.Prettify(s) 15400} 15401 15402// GoString returns the string representation 15403func (s ListPartsOutput) GoString() string { 15404 return s.String() 15405} 15406 15407// SetAbortDate sets the AbortDate field's value. 15408func (s *ListPartsOutput) SetAbortDate(v time.Time) *ListPartsOutput { 15409 s.AbortDate = &v 15410 return s 15411} 15412 15413// SetAbortRuleId sets the AbortRuleId field's value. 15414func (s *ListPartsOutput) SetAbortRuleId(v string) *ListPartsOutput { 15415 s.AbortRuleId = &v 15416 return s 15417} 15418 15419// SetBucket sets the Bucket field's value. 15420func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput { 15421 s.Bucket = &v 15422 return s 15423} 15424 15425func (s *ListPartsOutput) getBucket() (v string) { 15426 if s.Bucket == nil { 15427 return v 15428 } 15429 return *s.Bucket 15430} 15431 15432// SetInitiator sets the Initiator field's value. 15433func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput { 15434 s.Initiator = v 15435 return s 15436} 15437 15438// SetIsTruncated sets the IsTruncated field's value. 15439func (s *ListPartsOutput) SetIsTruncated(v bool) *ListPartsOutput { 15440 s.IsTruncated = &v 15441 return s 15442} 15443 15444// SetKey sets the Key field's value. 15445func (s *ListPartsOutput) SetKey(v string) *ListPartsOutput { 15446 s.Key = &v 15447 return s 15448} 15449 15450// SetMaxParts sets the MaxParts field's value. 15451func (s *ListPartsOutput) SetMaxParts(v int64) *ListPartsOutput { 15452 s.MaxParts = &v 15453 return s 15454} 15455 15456// SetNextPartNumberMarker sets the NextPartNumberMarker field's value. 15457func (s *ListPartsOutput) SetNextPartNumberMarker(v int64) *ListPartsOutput { 15458 s.NextPartNumberMarker = &v 15459 return s 15460} 15461 15462// SetOwner sets the Owner field's value. 15463func (s *ListPartsOutput) SetOwner(v *Owner) *ListPartsOutput { 15464 s.Owner = v 15465 return s 15466} 15467 15468// SetPartNumberMarker sets the PartNumberMarker field's value. 15469func (s *ListPartsOutput) SetPartNumberMarker(v int64) *ListPartsOutput { 15470 s.PartNumberMarker = &v 15471 return s 15472} 15473 15474// SetParts sets the Parts field's value. 15475func (s *ListPartsOutput) SetParts(v []*Part) *ListPartsOutput { 15476 s.Parts = v 15477 return s 15478} 15479 15480// SetRequestCharged sets the RequestCharged field's value. 15481func (s *ListPartsOutput) SetRequestCharged(v string) *ListPartsOutput { 15482 s.RequestCharged = &v 15483 return s 15484} 15485 15486// SetStorageClass sets the StorageClass field's value. 15487func (s *ListPartsOutput) SetStorageClass(v string) *ListPartsOutput { 15488 s.StorageClass = &v 15489 return s 15490} 15491 15492// SetUploadId sets the UploadId field's value. 15493func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput { 15494 s.UploadId = &v 15495 return s 15496} 15497 15498// Describes an S3 location that will receive the results of the restore request. 15499type Location struct { 15500 _ struct{} `type:"structure"` 15501 15502 // A list of grants that control access to the staged results. 15503 AccessControlList []*Grant `locationNameList:"Grant" type:"list"` 15504 15505 // The name of the bucket where the restore results will be placed. 15506 // 15507 // BucketName is a required field 15508 BucketName *string `type:"string" required:"true"` 15509 15510 // The canned ACL to apply to the restore results. 15511 CannedACL *string `type:"string" enum:"ObjectCannedACL"` 15512 15513 // Describes the server-side encryption that will be applied to the restore 15514 // results. 15515 Encryption *Encryption `type:"structure"` 15516 15517 // The prefix that is prepended to the restore results for this request. 15518 // 15519 // Prefix is a required field 15520 Prefix *string `type:"string" required:"true"` 15521 15522 // The class of storage used to store the restore results. 15523 StorageClass *string `type:"string" enum:"StorageClass"` 15524 15525 // The tag-set that is applied to the restore results. 15526 Tagging *Tagging `type:"structure"` 15527 15528 // A list of metadata to store with the restore results in S3. 15529 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"` 15530} 15531 15532// String returns the string representation 15533func (s Location) String() string { 15534 return awsutil.Prettify(s) 15535} 15536 15537// GoString returns the string representation 15538func (s Location) GoString() string { 15539 return s.String() 15540} 15541 15542// Validate inspects the fields of the type to determine if they are valid. 15543func (s *Location) Validate() error { 15544 invalidParams := request.ErrInvalidParams{Context: "Location"} 15545 if s.BucketName == nil { 15546 invalidParams.Add(request.NewErrParamRequired("BucketName")) 15547 } 15548 if s.Prefix == nil { 15549 invalidParams.Add(request.NewErrParamRequired("Prefix")) 15550 } 15551 if s.AccessControlList != nil { 15552 for i, v := range s.AccessControlList { 15553 if v == nil { 15554 continue 15555 } 15556 if err := v.Validate(); err != nil { 15557 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams)) 15558 } 15559 } 15560 } 15561 if s.Encryption != nil { 15562 if err := s.Encryption.Validate(); err != nil { 15563 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 15564 } 15565 } 15566 if s.Tagging != nil { 15567 if err := s.Tagging.Validate(); err != nil { 15568 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 15569 } 15570 } 15571 15572 if invalidParams.Len() > 0 { 15573 return invalidParams 15574 } 15575 return nil 15576} 15577 15578// SetAccessControlList sets the AccessControlList field's value. 15579func (s *Location) SetAccessControlList(v []*Grant) *Location { 15580 s.AccessControlList = v 15581 return s 15582} 15583 15584// SetBucketName sets the BucketName field's value. 15585func (s *Location) SetBucketName(v string) *Location { 15586 s.BucketName = &v 15587 return s 15588} 15589 15590// SetCannedACL sets the CannedACL field's value. 15591func (s *Location) SetCannedACL(v string) *Location { 15592 s.CannedACL = &v 15593 return s 15594} 15595 15596// SetEncryption sets the Encryption field's value. 15597func (s *Location) SetEncryption(v *Encryption) *Location { 15598 s.Encryption = v 15599 return s 15600} 15601 15602// SetPrefix sets the Prefix field's value. 15603func (s *Location) SetPrefix(v string) *Location { 15604 s.Prefix = &v 15605 return s 15606} 15607 15608// SetStorageClass sets the StorageClass field's value. 15609func (s *Location) SetStorageClass(v string) *Location { 15610 s.StorageClass = &v 15611 return s 15612} 15613 15614// SetTagging sets the Tagging field's value. 15615func (s *Location) SetTagging(v *Tagging) *Location { 15616 s.Tagging = v 15617 return s 15618} 15619 15620// SetUserMetadata sets the UserMetadata field's value. 15621func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location { 15622 s.UserMetadata = v 15623 return s 15624} 15625 15626// Container for logging information. Presence of this element indicates that 15627// logging is enabled. Parameters TargetBucket and TargetPrefix are required 15628// in this case. 15629type LoggingEnabled struct { 15630 _ struct{} `type:"structure"` 15631 15632 // Specifies the bucket where you want Amazon S3 to store server access logs. 15633 // You can have your logs delivered to any bucket that you own, including the 15634 // same bucket that is being logged. You can also configure multiple buckets 15635 // to deliver their logs to the same target bucket. In this case you should 15636 // choose a different TargetPrefix for each source bucket so that the delivered 15637 // log files can be distinguished by key. 15638 // 15639 // TargetBucket is a required field 15640 TargetBucket *string `type:"string" required:"true"` 15641 15642 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` 15643 15644 // This element lets you specify a prefix for the keys that the log files will 15645 // be stored under. 15646 // 15647 // TargetPrefix is a required field 15648 TargetPrefix *string `type:"string" required:"true"` 15649} 15650 15651// String returns the string representation 15652func (s LoggingEnabled) String() string { 15653 return awsutil.Prettify(s) 15654} 15655 15656// GoString returns the string representation 15657func (s LoggingEnabled) GoString() string { 15658 return s.String() 15659} 15660 15661// Validate inspects the fields of the type to determine if they are valid. 15662func (s *LoggingEnabled) Validate() error { 15663 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"} 15664 if s.TargetBucket == nil { 15665 invalidParams.Add(request.NewErrParamRequired("TargetBucket")) 15666 } 15667 if s.TargetPrefix == nil { 15668 invalidParams.Add(request.NewErrParamRequired("TargetPrefix")) 15669 } 15670 if s.TargetGrants != nil { 15671 for i, v := range s.TargetGrants { 15672 if v == nil { 15673 continue 15674 } 15675 if err := v.Validate(); err != nil { 15676 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams)) 15677 } 15678 } 15679 } 15680 15681 if invalidParams.Len() > 0 { 15682 return invalidParams 15683 } 15684 return nil 15685} 15686 15687// SetTargetBucket sets the TargetBucket field's value. 15688func (s *LoggingEnabled) SetTargetBucket(v string) *LoggingEnabled { 15689 s.TargetBucket = &v 15690 return s 15691} 15692 15693// SetTargetGrants sets the TargetGrants field's value. 15694func (s *LoggingEnabled) SetTargetGrants(v []*TargetGrant) *LoggingEnabled { 15695 s.TargetGrants = v 15696 return s 15697} 15698 15699// SetTargetPrefix sets the TargetPrefix field's value. 15700func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled { 15701 s.TargetPrefix = &v 15702 return s 15703} 15704 15705// A metadata key-value pair to store with an object. 15706type MetadataEntry struct { 15707 _ struct{} `type:"structure"` 15708 15709 Name *string `type:"string"` 15710 15711 Value *string `type:"string"` 15712} 15713 15714// String returns the string representation 15715func (s MetadataEntry) String() string { 15716 return awsutil.Prettify(s) 15717} 15718 15719// GoString returns the string representation 15720func (s MetadataEntry) GoString() string { 15721 return s.String() 15722} 15723 15724// SetName sets the Name field's value. 15725func (s *MetadataEntry) SetName(v string) *MetadataEntry { 15726 s.Name = &v 15727 return s 15728} 15729 15730// SetValue sets the Value field's value. 15731func (s *MetadataEntry) SetValue(v string) *MetadataEntry { 15732 s.Value = &v 15733 return s 15734} 15735 15736type MetricsAndOperator struct { 15737 _ struct{} `type:"structure"` 15738 15739 // The prefix used when evaluating an AND predicate. 15740 Prefix *string `type:"string"` 15741 15742 // The list of tags used when evaluating an AND predicate. 15743 Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"` 15744} 15745 15746// String returns the string representation 15747func (s MetricsAndOperator) String() string { 15748 return awsutil.Prettify(s) 15749} 15750 15751// GoString returns the string representation 15752func (s MetricsAndOperator) GoString() string { 15753 return s.String() 15754} 15755 15756// Validate inspects the fields of the type to determine if they are valid. 15757func (s *MetricsAndOperator) Validate() error { 15758 invalidParams := request.ErrInvalidParams{Context: "MetricsAndOperator"} 15759 if s.Tags != nil { 15760 for i, v := range s.Tags { 15761 if v == nil { 15762 continue 15763 } 15764 if err := v.Validate(); err != nil { 15765 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15766 } 15767 } 15768 } 15769 15770 if invalidParams.Len() > 0 { 15771 return invalidParams 15772 } 15773 return nil 15774} 15775 15776// SetPrefix sets the Prefix field's value. 15777func (s *MetricsAndOperator) SetPrefix(v string) *MetricsAndOperator { 15778 s.Prefix = &v 15779 return s 15780} 15781 15782// SetTags sets the Tags field's value. 15783func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator { 15784 s.Tags = v 15785 return s 15786} 15787 15788type MetricsConfiguration struct { 15789 _ struct{} `type:"structure"` 15790 15791 // Specifies a metrics configuration filter. The metrics configuration will 15792 // only include objects that meet the filter's criteria. A filter must be a 15793 // prefix, a tag, or a conjunction (MetricsAndOperator). 15794 Filter *MetricsFilter `type:"structure"` 15795 15796 // The ID used to identify the metrics configuration. 15797 // 15798 // Id is a required field 15799 Id *string `type:"string" required:"true"` 15800} 15801 15802// String returns the string representation 15803func (s MetricsConfiguration) String() string { 15804 return awsutil.Prettify(s) 15805} 15806 15807// GoString returns the string representation 15808func (s MetricsConfiguration) GoString() string { 15809 return s.String() 15810} 15811 15812// Validate inspects the fields of the type to determine if they are valid. 15813func (s *MetricsConfiguration) Validate() error { 15814 invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"} 15815 if s.Id == nil { 15816 invalidParams.Add(request.NewErrParamRequired("Id")) 15817 } 15818 if s.Filter != nil { 15819 if err := s.Filter.Validate(); err != nil { 15820 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 15821 } 15822 } 15823 15824 if invalidParams.Len() > 0 { 15825 return invalidParams 15826 } 15827 return nil 15828} 15829 15830// SetFilter sets the Filter field's value. 15831func (s *MetricsConfiguration) SetFilter(v *MetricsFilter) *MetricsConfiguration { 15832 s.Filter = v 15833 return s 15834} 15835 15836// SetId sets the Id field's value. 15837func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration { 15838 s.Id = &v 15839 return s 15840} 15841 15842type MetricsFilter struct { 15843 _ struct{} `type:"structure"` 15844 15845 // A conjunction (logical AND) of predicates, which is used in evaluating a 15846 // metrics filter. The operator must have at least two predicates, and an object 15847 // must match all of the predicates in order for the filter to apply. 15848 And *MetricsAndOperator `type:"structure"` 15849 15850 // The prefix used when evaluating a metrics filter. 15851 Prefix *string `type:"string"` 15852 15853 // The tag used when evaluating a metrics filter. 15854 Tag *Tag `type:"structure"` 15855} 15856 15857// String returns the string representation 15858func (s MetricsFilter) String() string { 15859 return awsutil.Prettify(s) 15860} 15861 15862// GoString returns the string representation 15863func (s MetricsFilter) GoString() string { 15864 return s.String() 15865} 15866 15867// Validate inspects the fields of the type to determine if they are valid. 15868func (s *MetricsFilter) Validate() error { 15869 invalidParams := request.ErrInvalidParams{Context: "MetricsFilter"} 15870 if s.And != nil { 15871 if err := s.And.Validate(); err != nil { 15872 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 15873 } 15874 } 15875 if s.Tag != nil { 15876 if err := s.Tag.Validate(); err != nil { 15877 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 15878 } 15879 } 15880 15881 if invalidParams.Len() > 0 { 15882 return invalidParams 15883 } 15884 return nil 15885} 15886 15887// SetAnd sets the And field's value. 15888func (s *MetricsFilter) SetAnd(v *MetricsAndOperator) *MetricsFilter { 15889 s.And = v 15890 return s 15891} 15892 15893// SetPrefix sets the Prefix field's value. 15894func (s *MetricsFilter) SetPrefix(v string) *MetricsFilter { 15895 s.Prefix = &v 15896 return s 15897} 15898 15899// SetTag sets the Tag field's value. 15900func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter { 15901 s.Tag = v 15902 return s 15903} 15904 15905type MultipartUpload struct { 15906 _ struct{} `type:"structure"` 15907 15908 // Date and time at which the multipart upload was initiated. 15909 Initiated *time.Time `type:"timestamp"` 15910 15911 // Identifies who initiated the multipart upload. 15912 Initiator *Initiator `type:"structure"` 15913 15914 // Key of the object for which the multipart upload was initiated. 15915 Key *string `min:"1" type:"string"` 15916 15917 Owner *Owner `type:"structure"` 15918 15919 // The class of storage used to store the object. 15920 StorageClass *string `type:"string" enum:"StorageClass"` 15921 15922 // Upload ID that identifies the multipart upload. 15923 UploadId *string `type:"string"` 15924} 15925 15926// String returns the string representation 15927func (s MultipartUpload) String() string { 15928 return awsutil.Prettify(s) 15929} 15930 15931// GoString returns the string representation 15932func (s MultipartUpload) GoString() string { 15933 return s.String() 15934} 15935 15936// SetInitiated sets the Initiated field's value. 15937func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload { 15938 s.Initiated = &v 15939 return s 15940} 15941 15942// SetInitiator sets the Initiator field's value. 15943func (s *MultipartUpload) SetInitiator(v *Initiator) *MultipartUpload { 15944 s.Initiator = v 15945 return s 15946} 15947 15948// SetKey sets the Key field's value. 15949func (s *MultipartUpload) SetKey(v string) *MultipartUpload { 15950 s.Key = &v 15951 return s 15952} 15953 15954// SetOwner sets the Owner field's value. 15955func (s *MultipartUpload) SetOwner(v *Owner) *MultipartUpload { 15956 s.Owner = v 15957 return s 15958} 15959 15960// SetStorageClass sets the StorageClass field's value. 15961func (s *MultipartUpload) SetStorageClass(v string) *MultipartUpload { 15962 s.StorageClass = &v 15963 return s 15964} 15965 15966// SetUploadId sets the UploadId field's value. 15967func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload { 15968 s.UploadId = &v 15969 return s 15970} 15971 15972// Specifies when noncurrent object versions expire. Upon expiration, Amazon 15973// S3 permanently deletes the noncurrent object versions. You set this lifecycle 15974// configuration action on a bucket that has versioning enabled (or suspended) 15975// to request that Amazon S3 delete noncurrent object versions at a specific 15976// period in the object's lifetime. 15977type NoncurrentVersionExpiration struct { 15978 _ struct{} `type:"structure"` 15979 15980 // Specifies the number of days an object is noncurrent before Amazon S3 can 15981 // perform the associated action. For information about the noncurrent days 15982 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 15983 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in 15984 // the Amazon Simple Storage Service Developer Guide. 15985 NoncurrentDays *int64 `type:"integer"` 15986} 15987 15988// String returns the string representation 15989func (s NoncurrentVersionExpiration) String() string { 15990 return awsutil.Prettify(s) 15991} 15992 15993// GoString returns the string representation 15994func (s NoncurrentVersionExpiration) GoString() string { 15995 return s.String() 15996} 15997 15998// SetNoncurrentDays sets the NoncurrentDays field's value. 15999func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 16000 s.NoncurrentDays = &v 16001 return s 16002} 16003 16004// Container for the transition rule that describes when noncurrent objects 16005// transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your 16006// bucket is versioning-enabled (or versioning is suspended), you can set this 16007// action to request that Amazon S3 transition noncurrent object versions to 16008// the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period 16009// in the object's lifetime. 16010type NoncurrentVersionTransition struct { 16011 _ struct{} `type:"structure"` 16012 16013 // Specifies the number of days an object is noncurrent before Amazon S3 can 16014 // perform the associated action. For information about the noncurrent days 16015 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 16016 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in 16017 // the Amazon Simple Storage Service Developer Guide. 16018 NoncurrentDays *int64 `type:"integer"` 16019 16020 // The class of storage used to store the object. 16021 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 16022} 16023 16024// String returns the string representation 16025func (s NoncurrentVersionTransition) String() string { 16026 return awsutil.Prettify(s) 16027} 16028 16029// GoString returns the string representation 16030func (s NoncurrentVersionTransition) GoString() string { 16031 return s.String() 16032} 16033 16034// SetNoncurrentDays sets the NoncurrentDays field's value. 16035func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 16036 s.NoncurrentDays = &v 16037 return s 16038} 16039 16040// SetStorageClass sets the StorageClass field's value. 16041func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 16042 s.StorageClass = &v 16043 return s 16044} 16045 16046// Container for specifying the notification configuration of the bucket. If 16047// this element is empty, notifications are turned off on the bucket. 16048type NotificationConfiguration struct { 16049 _ struct{} `type:"structure"` 16050 16051 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"` 16052 16053 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"` 16054 16055 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"` 16056} 16057 16058// String returns the string representation 16059func (s NotificationConfiguration) String() string { 16060 return awsutil.Prettify(s) 16061} 16062 16063// GoString returns the string representation 16064func (s NotificationConfiguration) GoString() string { 16065 return s.String() 16066} 16067 16068// Validate inspects the fields of the type to determine if they are valid. 16069func (s *NotificationConfiguration) Validate() error { 16070 invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"} 16071 if s.LambdaFunctionConfigurations != nil { 16072 for i, v := range s.LambdaFunctionConfigurations { 16073 if v == nil { 16074 continue 16075 } 16076 if err := v.Validate(); err != nil { 16077 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams)) 16078 } 16079 } 16080 } 16081 if s.QueueConfigurations != nil { 16082 for i, v := range s.QueueConfigurations { 16083 if v == nil { 16084 continue 16085 } 16086 if err := v.Validate(); err != nil { 16087 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams)) 16088 } 16089 } 16090 } 16091 if s.TopicConfigurations != nil { 16092 for i, v := range s.TopicConfigurations { 16093 if v == nil { 16094 continue 16095 } 16096 if err := v.Validate(); err != nil { 16097 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams)) 16098 } 16099 } 16100 } 16101 16102 if invalidParams.Len() > 0 { 16103 return invalidParams 16104 } 16105 return nil 16106} 16107 16108// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value. 16109func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration { 16110 s.LambdaFunctionConfigurations = v 16111 return s 16112} 16113 16114// SetQueueConfigurations sets the QueueConfigurations field's value. 16115func (s *NotificationConfiguration) SetQueueConfigurations(v []*QueueConfiguration) *NotificationConfiguration { 16116 s.QueueConfigurations = v 16117 return s 16118} 16119 16120// SetTopicConfigurations sets the TopicConfigurations field's value. 16121func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfiguration) *NotificationConfiguration { 16122 s.TopicConfigurations = v 16123 return s 16124} 16125 16126type NotificationConfigurationDeprecated struct { 16127 _ struct{} `type:"structure"` 16128 16129 CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"` 16130 16131 QueueConfiguration *QueueConfigurationDeprecated `type:"structure"` 16132 16133 TopicConfiguration *TopicConfigurationDeprecated `type:"structure"` 16134} 16135 16136// String returns the string representation 16137func (s NotificationConfigurationDeprecated) String() string { 16138 return awsutil.Prettify(s) 16139} 16140 16141// GoString returns the string representation 16142func (s NotificationConfigurationDeprecated) GoString() string { 16143 return s.String() 16144} 16145 16146// SetCloudFunctionConfiguration sets the CloudFunctionConfiguration field's value. 16147func (s *NotificationConfigurationDeprecated) SetCloudFunctionConfiguration(v *CloudFunctionConfiguration) *NotificationConfigurationDeprecated { 16148 s.CloudFunctionConfiguration = v 16149 return s 16150} 16151 16152// SetQueueConfiguration sets the QueueConfiguration field's value. 16153func (s *NotificationConfigurationDeprecated) SetQueueConfiguration(v *QueueConfigurationDeprecated) *NotificationConfigurationDeprecated { 16154 s.QueueConfiguration = v 16155 return s 16156} 16157 16158// SetTopicConfiguration sets the TopicConfiguration field's value. 16159func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConfigurationDeprecated) *NotificationConfigurationDeprecated { 16160 s.TopicConfiguration = v 16161 return s 16162} 16163 16164// Container for object key name filtering rules. For information about key 16165// name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 16166// in the Amazon Simple Storage Service Developer Guide. 16167type NotificationConfigurationFilter struct { 16168 _ struct{} `type:"structure"` 16169 16170 // Container for object key name prefix and suffix filtering rules. 16171 Key *KeyFilter `locationName:"S3Key" type:"structure"` 16172} 16173 16174// String returns the string representation 16175func (s NotificationConfigurationFilter) String() string { 16176 return awsutil.Prettify(s) 16177} 16178 16179// GoString returns the string representation 16180func (s NotificationConfigurationFilter) GoString() string { 16181 return s.String() 16182} 16183 16184// SetKey sets the Key field's value. 16185func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConfigurationFilter { 16186 s.Key = v 16187 return s 16188} 16189 16190type Object struct { 16191 _ struct{} `type:"structure"` 16192 16193 ETag *string `type:"string"` 16194 16195 Key *string `min:"1" type:"string"` 16196 16197 LastModified *time.Time `type:"timestamp"` 16198 16199 Owner *Owner `type:"structure"` 16200 16201 Size *int64 `type:"integer"` 16202 16203 // The class of storage used to store the object. 16204 StorageClass *string `type:"string" enum:"ObjectStorageClass"` 16205} 16206 16207// String returns the string representation 16208func (s Object) String() string { 16209 return awsutil.Prettify(s) 16210} 16211 16212// GoString returns the string representation 16213func (s Object) GoString() string { 16214 return s.String() 16215} 16216 16217// SetETag sets the ETag field's value. 16218func (s *Object) SetETag(v string) *Object { 16219 s.ETag = &v 16220 return s 16221} 16222 16223// SetKey sets the Key field's value. 16224func (s *Object) SetKey(v string) *Object { 16225 s.Key = &v 16226 return s 16227} 16228 16229// SetLastModified sets the LastModified field's value. 16230func (s *Object) SetLastModified(v time.Time) *Object { 16231 s.LastModified = &v 16232 return s 16233} 16234 16235// SetOwner sets the Owner field's value. 16236func (s *Object) SetOwner(v *Owner) *Object { 16237 s.Owner = v 16238 return s 16239} 16240 16241// SetSize sets the Size field's value. 16242func (s *Object) SetSize(v int64) *Object { 16243 s.Size = &v 16244 return s 16245} 16246 16247// SetStorageClass sets the StorageClass field's value. 16248func (s *Object) SetStorageClass(v string) *Object { 16249 s.StorageClass = &v 16250 return s 16251} 16252 16253type ObjectIdentifier struct { 16254 _ struct{} `type:"structure"` 16255 16256 // Key name of the object to delete. 16257 // 16258 // Key is a required field 16259 Key *string `min:"1" type:"string" required:"true"` 16260 16261 // VersionId for the specific version of the object to delete. 16262 VersionId *string `type:"string"` 16263} 16264 16265// String returns the string representation 16266func (s ObjectIdentifier) String() string { 16267 return awsutil.Prettify(s) 16268} 16269 16270// GoString returns the string representation 16271func (s ObjectIdentifier) GoString() string { 16272 return s.String() 16273} 16274 16275// Validate inspects the fields of the type to determine if they are valid. 16276func (s *ObjectIdentifier) Validate() error { 16277 invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"} 16278 if s.Key == nil { 16279 invalidParams.Add(request.NewErrParamRequired("Key")) 16280 } 16281 if s.Key != nil && len(*s.Key) < 1 { 16282 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 16283 } 16284 16285 if invalidParams.Len() > 0 { 16286 return invalidParams 16287 } 16288 return nil 16289} 16290 16291// SetKey sets the Key field's value. 16292func (s *ObjectIdentifier) SetKey(v string) *ObjectIdentifier { 16293 s.Key = &v 16294 return s 16295} 16296 16297// SetVersionId sets the VersionId field's value. 16298func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier { 16299 s.VersionId = &v 16300 return s 16301} 16302 16303type ObjectVersion struct { 16304 _ struct{} `type:"structure"` 16305 16306 ETag *string `type:"string"` 16307 16308 // Specifies whether the object is (true) or is not (false) the latest version 16309 // of an object. 16310 IsLatest *bool `type:"boolean"` 16311 16312 // The object key. 16313 Key *string `min:"1" type:"string"` 16314 16315 // Date and time the object was last modified. 16316 LastModified *time.Time `type:"timestamp"` 16317 16318 Owner *Owner `type:"structure"` 16319 16320 // Size in bytes of the object. 16321 Size *int64 `type:"integer"` 16322 16323 // The class of storage used to store the object. 16324 StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"` 16325 16326 // Version ID of an object. 16327 VersionId *string `type:"string"` 16328} 16329 16330// String returns the string representation 16331func (s ObjectVersion) String() string { 16332 return awsutil.Prettify(s) 16333} 16334 16335// GoString returns the string representation 16336func (s ObjectVersion) GoString() string { 16337 return s.String() 16338} 16339 16340// SetETag sets the ETag field's value. 16341func (s *ObjectVersion) SetETag(v string) *ObjectVersion { 16342 s.ETag = &v 16343 return s 16344} 16345 16346// SetIsLatest sets the IsLatest field's value. 16347func (s *ObjectVersion) SetIsLatest(v bool) *ObjectVersion { 16348 s.IsLatest = &v 16349 return s 16350} 16351 16352// SetKey sets the Key field's value. 16353func (s *ObjectVersion) SetKey(v string) *ObjectVersion { 16354 s.Key = &v 16355 return s 16356} 16357 16358// SetLastModified sets the LastModified field's value. 16359func (s *ObjectVersion) SetLastModified(v time.Time) *ObjectVersion { 16360 s.LastModified = &v 16361 return s 16362} 16363 16364// SetOwner sets the Owner field's value. 16365func (s *ObjectVersion) SetOwner(v *Owner) *ObjectVersion { 16366 s.Owner = v 16367 return s 16368} 16369 16370// SetSize sets the Size field's value. 16371func (s *ObjectVersion) SetSize(v int64) *ObjectVersion { 16372 s.Size = &v 16373 return s 16374} 16375 16376// SetStorageClass sets the StorageClass field's value. 16377func (s *ObjectVersion) SetStorageClass(v string) *ObjectVersion { 16378 s.StorageClass = &v 16379 return s 16380} 16381 16382// SetVersionId sets the VersionId field's value. 16383func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion { 16384 s.VersionId = &v 16385 return s 16386} 16387 16388// Describes the location where the restore job's output is stored. 16389type OutputLocation struct { 16390 _ struct{} `type:"structure"` 16391 16392 // Describes an S3 location that will receive the results of the restore request. 16393 S3 *Location `type:"structure"` 16394} 16395 16396// String returns the string representation 16397func (s OutputLocation) String() string { 16398 return awsutil.Prettify(s) 16399} 16400 16401// GoString returns the string representation 16402func (s OutputLocation) GoString() string { 16403 return s.String() 16404} 16405 16406// Validate inspects the fields of the type to determine if they are valid. 16407func (s *OutputLocation) Validate() error { 16408 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"} 16409 if s.S3 != nil { 16410 if err := s.S3.Validate(); err != nil { 16411 invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) 16412 } 16413 } 16414 16415 if invalidParams.Len() > 0 { 16416 return invalidParams 16417 } 16418 return nil 16419} 16420 16421// SetS3 sets the S3 field's value. 16422func (s *OutputLocation) SetS3(v *Location) *OutputLocation { 16423 s.S3 = v 16424 return s 16425} 16426 16427// Describes how results of the Select job are serialized. 16428type OutputSerialization struct { 16429 _ struct{} `type:"structure"` 16430 16431 // Describes the serialization of CSV-encoded Select results. 16432 CSV *CSVOutput `type:"structure"` 16433 16434 // Specifies JSON as request's output serialization format. 16435 JSON *JSONOutput `type:"structure"` 16436} 16437 16438// String returns the string representation 16439func (s OutputSerialization) String() string { 16440 return awsutil.Prettify(s) 16441} 16442 16443// GoString returns the string representation 16444func (s OutputSerialization) GoString() string { 16445 return s.String() 16446} 16447 16448// SetCSV sets the CSV field's value. 16449func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization { 16450 s.CSV = v 16451 return s 16452} 16453 16454// SetJSON sets the JSON field's value. 16455func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization { 16456 s.JSON = v 16457 return s 16458} 16459 16460type Owner struct { 16461 _ struct{} `type:"structure"` 16462 16463 DisplayName *string `type:"string"` 16464 16465 ID *string `type:"string"` 16466} 16467 16468// String returns the string representation 16469func (s Owner) String() string { 16470 return awsutil.Prettify(s) 16471} 16472 16473// GoString returns the string representation 16474func (s Owner) GoString() string { 16475 return s.String() 16476} 16477 16478// SetDisplayName sets the DisplayName field's value. 16479func (s *Owner) SetDisplayName(v string) *Owner { 16480 s.DisplayName = &v 16481 return s 16482} 16483 16484// SetID sets the ID field's value. 16485func (s *Owner) SetID(v string) *Owner { 16486 s.ID = &v 16487 return s 16488} 16489 16490type Part struct { 16491 _ struct{} `type:"structure"` 16492 16493 // Entity tag returned when the part was uploaded. 16494 ETag *string `type:"string"` 16495 16496 // Date and time at which the part was uploaded. 16497 LastModified *time.Time `type:"timestamp"` 16498 16499 // Part number identifying the part. This is a positive integer between 1 and 16500 // 10,000. 16501 PartNumber *int64 `type:"integer"` 16502 16503 // Size of the uploaded part data. 16504 Size *int64 `type:"integer"` 16505} 16506 16507// String returns the string representation 16508func (s Part) String() string { 16509 return awsutil.Prettify(s) 16510} 16511 16512// GoString returns the string representation 16513func (s Part) GoString() string { 16514 return s.String() 16515} 16516 16517// SetETag sets the ETag field's value. 16518func (s *Part) SetETag(v string) *Part { 16519 s.ETag = &v 16520 return s 16521} 16522 16523// SetLastModified sets the LastModified field's value. 16524func (s *Part) SetLastModified(v time.Time) *Part { 16525 s.LastModified = &v 16526 return s 16527} 16528 16529// SetPartNumber sets the PartNumber field's value. 16530func (s *Part) SetPartNumber(v int64) *Part { 16531 s.PartNumber = &v 16532 return s 16533} 16534 16535// SetSize sets the Size field's value. 16536func (s *Part) SetSize(v int64) *Part { 16537 s.Size = &v 16538 return s 16539} 16540 16541type Progress struct { 16542 _ struct{} `type:"structure"` 16543 16544 // Current number of uncompressed object bytes processed. 16545 BytesProcessed *int64 `type:"long"` 16546 16547 // Current number of bytes of records payload data returned. 16548 BytesReturned *int64 `type:"long"` 16549 16550 // Current number of object bytes scanned. 16551 BytesScanned *int64 `type:"long"` 16552} 16553 16554// String returns the string representation 16555func (s Progress) String() string { 16556 return awsutil.Prettify(s) 16557} 16558 16559// GoString returns the string representation 16560func (s Progress) GoString() string { 16561 return s.String() 16562} 16563 16564// SetBytesProcessed sets the BytesProcessed field's value. 16565func (s *Progress) SetBytesProcessed(v int64) *Progress { 16566 s.BytesProcessed = &v 16567 return s 16568} 16569 16570// SetBytesReturned sets the BytesReturned field's value. 16571func (s *Progress) SetBytesReturned(v int64) *Progress { 16572 s.BytesReturned = &v 16573 return s 16574} 16575 16576// SetBytesScanned sets the BytesScanned field's value. 16577func (s *Progress) SetBytesScanned(v int64) *Progress { 16578 s.BytesScanned = &v 16579 return s 16580} 16581 16582type ProgressEvent struct { 16583 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"` 16584 16585 // The Progress event details. 16586 Details *Progress `locationName:"Details" type:"structure"` 16587} 16588 16589// String returns the string representation 16590func (s ProgressEvent) String() string { 16591 return awsutil.Prettify(s) 16592} 16593 16594// GoString returns the string representation 16595func (s ProgressEvent) GoString() string { 16596 return s.String() 16597} 16598 16599// SetDetails sets the Details field's value. 16600func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent { 16601 s.Details = v 16602 return s 16603} 16604 16605// The ProgressEvent is and event in the SelectObjectContentEventStream group of events. 16606func (s *ProgressEvent) eventSelectObjectContentEventStream() {} 16607 16608// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value. 16609// This method is only used internally within the SDK's EventStream handling. 16610func (s *ProgressEvent) UnmarshalEvent( 16611 payloadUnmarshaler protocol.PayloadUnmarshaler, 16612 msg eventstream.Message, 16613) error { 16614 if err := payloadUnmarshaler.UnmarshalPayload( 16615 bytes.NewReader(msg.Payload), s, 16616 ); err != nil { 16617 return err 16618 } 16619 return nil 16620} 16621 16622type PutBucketAccelerateConfigurationInput struct { 16623 _ struct{} `type:"structure" payload:"AccelerateConfiguration"` 16624 16625 // Specifies the Accelerate Configuration you want to set for the bucket. 16626 // 16627 // AccelerateConfiguration is a required field 16628 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 16629 16630 // Name of the bucket for which the accelerate configuration is set. 16631 // 16632 // Bucket is a required field 16633 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16634} 16635 16636// String returns the string representation 16637func (s PutBucketAccelerateConfigurationInput) String() string { 16638 return awsutil.Prettify(s) 16639} 16640 16641// GoString returns the string representation 16642func (s PutBucketAccelerateConfigurationInput) GoString() string { 16643 return s.String() 16644} 16645 16646// Validate inspects the fields of the type to determine if they are valid. 16647func (s *PutBucketAccelerateConfigurationInput) Validate() error { 16648 invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"} 16649 if s.AccelerateConfiguration == nil { 16650 invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration")) 16651 } 16652 if s.Bucket == nil { 16653 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16654 } 16655 16656 if invalidParams.Len() > 0 { 16657 return invalidParams 16658 } 16659 return nil 16660} 16661 16662// SetAccelerateConfiguration sets the AccelerateConfiguration field's value. 16663func (s *PutBucketAccelerateConfigurationInput) SetAccelerateConfiguration(v *AccelerateConfiguration) *PutBucketAccelerateConfigurationInput { 16664 s.AccelerateConfiguration = v 16665 return s 16666} 16667 16668// SetBucket sets the Bucket field's value. 16669func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAccelerateConfigurationInput { 16670 s.Bucket = &v 16671 return s 16672} 16673 16674func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) { 16675 if s.Bucket == nil { 16676 return v 16677 } 16678 return *s.Bucket 16679} 16680 16681type PutBucketAccelerateConfigurationOutput struct { 16682 _ struct{} `type:"structure"` 16683} 16684 16685// String returns the string representation 16686func (s PutBucketAccelerateConfigurationOutput) String() string { 16687 return awsutil.Prettify(s) 16688} 16689 16690// GoString returns the string representation 16691func (s PutBucketAccelerateConfigurationOutput) GoString() string { 16692 return s.String() 16693} 16694 16695type PutBucketAclInput struct { 16696 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 16697 16698 // The canned ACL to apply to the bucket. 16699 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 16700 16701 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 16702 16703 // Bucket is a required field 16704 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16705 16706 // Allows grantee the read, write, read ACP, and write ACP permissions on the 16707 // bucket. 16708 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 16709 16710 // Allows grantee to list the objects in the bucket. 16711 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 16712 16713 // Allows grantee to read the bucket ACL. 16714 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 16715 16716 // Allows grantee to create, overwrite, and delete any object in the bucket. 16717 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 16718 16719 // Allows grantee to write the ACL for the applicable bucket. 16720 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 16721} 16722 16723// String returns the string representation 16724func (s PutBucketAclInput) String() string { 16725 return awsutil.Prettify(s) 16726} 16727 16728// GoString returns the string representation 16729func (s PutBucketAclInput) GoString() string { 16730 return s.String() 16731} 16732 16733// Validate inspects the fields of the type to determine if they are valid. 16734func (s *PutBucketAclInput) Validate() error { 16735 invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"} 16736 if s.Bucket == nil { 16737 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16738 } 16739 if s.AccessControlPolicy != nil { 16740 if err := s.AccessControlPolicy.Validate(); err != nil { 16741 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 16742 } 16743 } 16744 16745 if invalidParams.Len() > 0 { 16746 return invalidParams 16747 } 16748 return nil 16749} 16750 16751// SetACL sets the ACL field's value. 16752func (s *PutBucketAclInput) SetACL(v string) *PutBucketAclInput { 16753 s.ACL = &v 16754 return s 16755} 16756 16757// SetAccessControlPolicy sets the AccessControlPolicy field's value. 16758func (s *PutBucketAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutBucketAclInput { 16759 s.AccessControlPolicy = v 16760 return s 16761} 16762 16763// SetBucket sets the Bucket field's value. 16764func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput { 16765 s.Bucket = &v 16766 return s 16767} 16768 16769func (s *PutBucketAclInput) getBucket() (v string) { 16770 if s.Bucket == nil { 16771 return v 16772 } 16773 return *s.Bucket 16774} 16775 16776// SetGrantFullControl sets the GrantFullControl field's value. 16777func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput { 16778 s.GrantFullControl = &v 16779 return s 16780} 16781 16782// SetGrantRead sets the GrantRead field's value. 16783func (s *PutBucketAclInput) SetGrantRead(v string) *PutBucketAclInput { 16784 s.GrantRead = &v 16785 return s 16786} 16787 16788// SetGrantReadACP sets the GrantReadACP field's value. 16789func (s *PutBucketAclInput) SetGrantReadACP(v string) *PutBucketAclInput { 16790 s.GrantReadACP = &v 16791 return s 16792} 16793 16794// SetGrantWrite sets the GrantWrite field's value. 16795func (s *PutBucketAclInput) SetGrantWrite(v string) *PutBucketAclInput { 16796 s.GrantWrite = &v 16797 return s 16798} 16799 16800// SetGrantWriteACP sets the GrantWriteACP field's value. 16801func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput { 16802 s.GrantWriteACP = &v 16803 return s 16804} 16805 16806type PutBucketAclOutput struct { 16807 _ struct{} `type:"structure"` 16808} 16809 16810// String returns the string representation 16811func (s PutBucketAclOutput) String() string { 16812 return awsutil.Prettify(s) 16813} 16814 16815// GoString returns the string representation 16816func (s PutBucketAclOutput) GoString() string { 16817 return s.String() 16818} 16819 16820type PutBucketAnalyticsConfigurationInput struct { 16821 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 16822 16823 // The configuration and any analyses for the analytics filter. 16824 // 16825 // AnalyticsConfiguration is a required field 16826 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 16827 16828 // The name of the bucket to which an analytics configuration is stored. 16829 // 16830 // Bucket is a required field 16831 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16832 16833 // The identifier used to represent an analytics configuration. 16834 // 16835 // Id is a required field 16836 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 16837} 16838 16839// String returns the string representation 16840func (s PutBucketAnalyticsConfigurationInput) String() string { 16841 return awsutil.Prettify(s) 16842} 16843 16844// GoString returns the string representation 16845func (s PutBucketAnalyticsConfigurationInput) GoString() string { 16846 return s.String() 16847} 16848 16849// Validate inspects the fields of the type to determine if they are valid. 16850func (s *PutBucketAnalyticsConfigurationInput) Validate() error { 16851 invalidParams := request.ErrInvalidParams{Context: "PutBucketAnalyticsConfigurationInput"} 16852 if s.AnalyticsConfiguration == nil { 16853 invalidParams.Add(request.NewErrParamRequired("AnalyticsConfiguration")) 16854 } 16855 if s.Bucket == nil { 16856 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16857 } 16858 if s.Id == nil { 16859 invalidParams.Add(request.NewErrParamRequired("Id")) 16860 } 16861 if s.AnalyticsConfiguration != nil { 16862 if err := s.AnalyticsConfiguration.Validate(); err != nil { 16863 invalidParams.AddNested("AnalyticsConfiguration", err.(request.ErrInvalidParams)) 16864 } 16865 } 16866 16867 if invalidParams.Len() > 0 { 16868 return invalidParams 16869 } 16870 return nil 16871} 16872 16873// SetAnalyticsConfiguration sets the AnalyticsConfiguration field's value. 16874func (s *PutBucketAnalyticsConfigurationInput) SetAnalyticsConfiguration(v *AnalyticsConfiguration) *PutBucketAnalyticsConfigurationInput { 16875 s.AnalyticsConfiguration = v 16876 return s 16877} 16878 16879// SetBucket sets the Bucket field's value. 16880func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAnalyticsConfigurationInput { 16881 s.Bucket = &v 16882 return s 16883} 16884 16885func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) { 16886 if s.Bucket == nil { 16887 return v 16888 } 16889 return *s.Bucket 16890} 16891 16892// SetId sets the Id field's value. 16893func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput { 16894 s.Id = &v 16895 return s 16896} 16897 16898type PutBucketAnalyticsConfigurationOutput struct { 16899 _ struct{} `type:"structure"` 16900} 16901 16902// String returns the string representation 16903func (s PutBucketAnalyticsConfigurationOutput) String() string { 16904 return awsutil.Prettify(s) 16905} 16906 16907// GoString returns the string representation 16908func (s PutBucketAnalyticsConfigurationOutput) GoString() string { 16909 return s.String() 16910} 16911 16912type PutBucketCorsInput struct { 16913 _ struct{} `type:"structure" payload:"CORSConfiguration"` 16914 16915 // Bucket is a required field 16916 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16917 16918 // CORSConfiguration is a required field 16919 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 16920} 16921 16922// String returns the string representation 16923func (s PutBucketCorsInput) String() string { 16924 return awsutil.Prettify(s) 16925} 16926 16927// GoString returns the string representation 16928func (s PutBucketCorsInput) GoString() string { 16929 return s.String() 16930} 16931 16932// Validate inspects the fields of the type to determine if they are valid. 16933func (s *PutBucketCorsInput) Validate() error { 16934 invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"} 16935 if s.Bucket == nil { 16936 invalidParams.Add(request.NewErrParamRequired("Bucket")) 16937 } 16938 if s.CORSConfiguration == nil { 16939 invalidParams.Add(request.NewErrParamRequired("CORSConfiguration")) 16940 } 16941 if s.CORSConfiguration != nil { 16942 if err := s.CORSConfiguration.Validate(); err != nil { 16943 invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams)) 16944 } 16945 } 16946 16947 if invalidParams.Len() > 0 { 16948 return invalidParams 16949 } 16950 return nil 16951} 16952 16953// SetBucket sets the Bucket field's value. 16954func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput { 16955 s.Bucket = &v 16956 return s 16957} 16958 16959func (s *PutBucketCorsInput) getBucket() (v string) { 16960 if s.Bucket == nil { 16961 return v 16962 } 16963 return *s.Bucket 16964} 16965 16966// SetCORSConfiguration sets the CORSConfiguration field's value. 16967func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput { 16968 s.CORSConfiguration = v 16969 return s 16970} 16971 16972type PutBucketCorsOutput struct { 16973 _ struct{} `type:"structure"` 16974} 16975 16976// String returns the string representation 16977func (s PutBucketCorsOutput) String() string { 16978 return awsutil.Prettify(s) 16979} 16980 16981// GoString returns the string representation 16982func (s PutBucketCorsOutput) GoString() string { 16983 return s.String() 16984} 16985 16986type PutBucketEncryptionInput struct { 16987 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 16988 16989 // The name of the bucket for which the server-side encryption configuration 16990 // is set. 16991 // 16992 // Bucket is a required field 16993 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16994 16995 // Container for server-side encryption configuration rules. Currently S3 supports 16996 // one rule only. 16997 // 16998 // ServerSideEncryptionConfiguration is a required field 16999 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17000} 17001 17002// String returns the string representation 17003func (s PutBucketEncryptionInput) String() string { 17004 return awsutil.Prettify(s) 17005} 17006 17007// GoString returns the string representation 17008func (s PutBucketEncryptionInput) GoString() string { 17009 return s.String() 17010} 17011 17012// Validate inspects the fields of the type to determine if they are valid. 17013func (s *PutBucketEncryptionInput) Validate() error { 17014 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"} 17015 if s.Bucket == nil { 17016 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17017 } 17018 if s.ServerSideEncryptionConfiguration == nil { 17019 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration")) 17020 } 17021 if s.ServerSideEncryptionConfiguration != nil { 17022 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil { 17023 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams)) 17024 } 17025 } 17026 17027 if invalidParams.Len() > 0 { 17028 return invalidParams 17029 } 17030 return nil 17031} 17032 17033// SetBucket sets the Bucket field's value. 17034func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput { 17035 s.Bucket = &v 17036 return s 17037} 17038 17039func (s *PutBucketEncryptionInput) getBucket() (v string) { 17040 if s.Bucket == nil { 17041 return v 17042 } 17043 return *s.Bucket 17044} 17045 17046// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. 17047func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput { 17048 s.ServerSideEncryptionConfiguration = v 17049 return s 17050} 17051 17052type PutBucketEncryptionOutput struct { 17053 _ struct{} `type:"structure"` 17054} 17055 17056// String returns the string representation 17057func (s PutBucketEncryptionOutput) String() string { 17058 return awsutil.Prettify(s) 17059} 17060 17061// GoString returns the string representation 17062func (s PutBucketEncryptionOutput) GoString() string { 17063 return s.String() 17064} 17065 17066type PutBucketInventoryConfigurationInput struct { 17067 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 17068 17069 // The name of the bucket where the inventory configuration will be stored. 17070 // 17071 // Bucket is a required field 17072 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17073 17074 // The ID used to identify the inventory configuration. 17075 // 17076 // Id is a required field 17077 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 17078 17079 // Specifies the inventory configuration. 17080 // 17081 // InventoryConfiguration is a required field 17082 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17083} 17084 17085// String returns the string representation 17086func (s PutBucketInventoryConfigurationInput) String() string { 17087 return awsutil.Prettify(s) 17088} 17089 17090// GoString returns the string representation 17091func (s PutBucketInventoryConfigurationInput) GoString() string { 17092 return s.String() 17093} 17094 17095// Validate inspects the fields of the type to determine if they are valid. 17096func (s *PutBucketInventoryConfigurationInput) Validate() error { 17097 invalidParams := request.ErrInvalidParams{Context: "PutBucketInventoryConfigurationInput"} 17098 if s.Bucket == nil { 17099 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17100 } 17101 if s.Id == nil { 17102 invalidParams.Add(request.NewErrParamRequired("Id")) 17103 } 17104 if s.InventoryConfiguration == nil { 17105 invalidParams.Add(request.NewErrParamRequired("InventoryConfiguration")) 17106 } 17107 if s.InventoryConfiguration != nil { 17108 if err := s.InventoryConfiguration.Validate(); err != nil { 17109 invalidParams.AddNested("InventoryConfiguration", err.(request.ErrInvalidParams)) 17110 } 17111 } 17112 17113 if invalidParams.Len() > 0 { 17114 return invalidParams 17115 } 17116 return nil 17117} 17118 17119// SetBucket sets the Bucket field's value. 17120func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInventoryConfigurationInput { 17121 s.Bucket = &v 17122 return s 17123} 17124 17125func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) { 17126 if s.Bucket == nil { 17127 return v 17128 } 17129 return *s.Bucket 17130} 17131 17132// SetId sets the Id field's value. 17133func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput { 17134 s.Id = &v 17135 return s 17136} 17137 17138// SetInventoryConfiguration sets the InventoryConfiguration field's value. 17139func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *InventoryConfiguration) *PutBucketInventoryConfigurationInput { 17140 s.InventoryConfiguration = v 17141 return s 17142} 17143 17144type PutBucketInventoryConfigurationOutput struct { 17145 _ struct{} `type:"structure"` 17146} 17147 17148// String returns the string representation 17149func (s PutBucketInventoryConfigurationOutput) String() string { 17150 return awsutil.Prettify(s) 17151} 17152 17153// GoString returns the string representation 17154func (s PutBucketInventoryConfigurationOutput) GoString() string { 17155 return s.String() 17156} 17157 17158type PutBucketLifecycleConfigurationInput struct { 17159 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 17160 17161 // Bucket is a required field 17162 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17163 17164 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17165} 17166 17167// String returns the string representation 17168func (s PutBucketLifecycleConfigurationInput) String() string { 17169 return awsutil.Prettify(s) 17170} 17171 17172// GoString returns the string representation 17173func (s PutBucketLifecycleConfigurationInput) GoString() string { 17174 return s.String() 17175} 17176 17177// Validate inspects the fields of the type to determine if they are valid. 17178func (s *PutBucketLifecycleConfigurationInput) Validate() error { 17179 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 17180 if s.Bucket == nil { 17181 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17182 } 17183 if s.LifecycleConfiguration != nil { 17184 if err := s.LifecycleConfiguration.Validate(); err != nil { 17185 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 17186 } 17187 } 17188 17189 if invalidParams.Len() > 0 { 17190 return invalidParams 17191 } 17192 return nil 17193} 17194 17195// SetBucket sets the Bucket field's value. 17196func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 17197 s.Bucket = &v 17198 return s 17199} 17200 17201func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) { 17202 if s.Bucket == nil { 17203 return v 17204 } 17205 return *s.Bucket 17206} 17207 17208// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 17209func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 17210 s.LifecycleConfiguration = v 17211 return s 17212} 17213 17214type PutBucketLifecycleConfigurationOutput struct { 17215 _ struct{} `type:"structure"` 17216} 17217 17218// String returns the string representation 17219func (s PutBucketLifecycleConfigurationOutput) String() string { 17220 return awsutil.Prettify(s) 17221} 17222 17223// GoString returns the string representation 17224func (s PutBucketLifecycleConfigurationOutput) GoString() string { 17225 return s.String() 17226} 17227 17228type PutBucketLifecycleInput struct { 17229 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 17230 17231 // Bucket is a required field 17232 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17233 17234 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17235} 17236 17237// String returns the string representation 17238func (s PutBucketLifecycleInput) String() string { 17239 return awsutil.Prettify(s) 17240} 17241 17242// GoString returns the string representation 17243func (s PutBucketLifecycleInput) GoString() string { 17244 return s.String() 17245} 17246 17247// Validate inspects the fields of the type to determine if they are valid. 17248func (s *PutBucketLifecycleInput) Validate() error { 17249 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"} 17250 if s.Bucket == nil { 17251 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17252 } 17253 if s.LifecycleConfiguration != nil { 17254 if err := s.LifecycleConfiguration.Validate(); err != nil { 17255 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 17256 } 17257 } 17258 17259 if invalidParams.Len() > 0 { 17260 return invalidParams 17261 } 17262 return nil 17263} 17264 17265// SetBucket sets the Bucket field's value. 17266func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput { 17267 s.Bucket = &v 17268 return s 17269} 17270 17271func (s *PutBucketLifecycleInput) getBucket() (v string) { 17272 if s.Bucket == nil { 17273 return v 17274 } 17275 return *s.Bucket 17276} 17277 17278// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 17279func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput { 17280 s.LifecycleConfiguration = v 17281 return s 17282} 17283 17284type PutBucketLifecycleOutput struct { 17285 _ struct{} `type:"structure"` 17286} 17287 17288// String returns the string representation 17289func (s PutBucketLifecycleOutput) String() string { 17290 return awsutil.Prettify(s) 17291} 17292 17293// GoString returns the string representation 17294func (s PutBucketLifecycleOutput) GoString() string { 17295 return s.String() 17296} 17297 17298type PutBucketLoggingInput struct { 17299 _ struct{} `type:"structure" payload:"BucketLoggingStatus"` 17300 17301 // Bucket is a required field 17302 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17303 17304 // BucketLoggingStatus is a required field 17305 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17306} 17307 17308// String returns the string representation 17309func (s PutBucketLoggingInput) String() string { 17310 return awsutil.Prettify(s) 17311} 17312 17313// GoString returns the string representation 17314func (s PutBucketLoggingInput) GoString() string { 17315 return s.String() 17316} 17317 17318// Validate inspects the fields of the type to determine if they are valid. 17319func (s *PutBucketLoggingInput) Validate() error { 17320 invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"} 17321 if s.Bucket == nil { 17322 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17323 } 17324 if s.BucketLoggingStatus == nil { 17325 invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus")) 17326 } 17327 if s.BucketLoggingStatus != nil { 17328 if err := s.BucketLoggingStatus.Validate(); err != nil { 17329 invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams)) 17330 } 17331 } 17332 17333 if invalidParams.Len() > 0 { 17334 return invalidParams 17335 } 17336 return nil 17337} 17338 17339// SetBucket sets the Bucket field's value. 17340func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput { 17341 s.Bucket = &v 17342 return s 17343} 17344 17345func (s *PutBucketLoggingInput) getBucket() (v string) { 17346 if s.Bucket == nil { 17347 return v 17348 } 17349 return *s.Bucket 17350} 17351 17352// SetBucketLoggingStatus sets the BucketLoggingStatus field's value. 17353func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput { 17354 s.BucketLoggingStatus = v 17355 return s 17356} 17357 17358type PutBucketLoggingOutput struct { 17359 _ struct{} `type:"structure"` 17360} 17361 17362// String returns the string representation 17363func (s PutBucketLoggingOutput) String() string { 17364 return awsutil.Prettify(s) 17365} 17366 17367// GoString returns the string representation 17368func (s PutBucketLoggingOutput) GoString() string { 17369 return s.String() 17370} 17371 17372type PutBucketMetricsConfigurationInput struct { 17373 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 17374 17375 // The name of the bucket for which the metrics configuration is set. 17376 // 17377 // Bucket is a required field 17378 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17379 17380 // The ID used to identify the metrics configuration. 17381 // 17382 // Id is a required field 17383 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 17384 17385 // Specifies the metrics configuration. 17386 // 17387 // MetricsConfiguration is a required field 17388 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17389} 17390 17391// String returns the string representation 17392func (s PutBucketMetricsConfigurationInput) String() string { 17393 return awsutil.Prettify(s) 17394} 17395 17396// GoString returns the string representation 17397func (s PutBucketMetricsConfigurationInput) GoString() string { 17398 return s.String() 17399} 17400 17401// Validate inspects the fields of the type to determine if they are valid. 17402func (s *PutBucketMetricsConfigurationInput) Validate() error { 17403 invalidParams := request.ErrInvalidParams{Context: "PutBucketMetricsConfigurationInput"} 17404 if s.Bucket == nil { 17405 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17406 } 17407 if s.Id == nil { 17408 invalidParams.Add(request.NewErrParamRequired("Id")) 17409 } 17410 if s.MetricsConfiguration == nil { 17411 invalidParams.Add(request.NewErrParamRequired("MetricsConfiguration")) 17412 } 17413 if s.MetricsConfiguration != nil { 17414 if err := s.MetricsConfiguration.Validate(); err != nil { 17415 invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams)) 17416 } 17417 } 17418 17419 if invalidParams.Len() > 0 { 17420 return invalidParams 17421 } 17422 return nil 17423} 17424 17425// SetBucket sets the Bucket field's value. 17426func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetricsConfigurationInput { 17427 s.Bucket = &v 17428 return s 17429} 17430 17431func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) { 17432 if s.Bucket == nil { 17433 return v 17434 } 17435 return *s.Bucket 17436} 17437 17438// SetId sets the Id field's value. 17439func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput { 17440 s.Id = &v 17441 return s 17442} 17443 17444// SetMetricsConfiguration sets the MetricsConfiguration field's value. 17445func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsConfiguration) *PutBucketMetricsConfigurationInput { 17446 s.MetricsConfiguration = v 17447 return s 17448} 17449 17450type PutBucketMetricsConfigurationOutput struct { 17451 _ struct{} `type:"structure"` 17452} 17453 17454// String returns the string representation 17455func (s PutBucketMetricsConfigurationOutput) String() string { 17456 return awsutil.Prettify(s) 17457} 17458 17459// GoString returns the string representation 17460func (s PutBucketMetricsConfigurationOutput) GoString() string { 17461 return s.String() 17462} 17463 17464type PutBucketNotificationConfigurationInput struct { 17465 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 17466 17467 // Bucket is a required field 17468 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17469 17470 // Container for specifying the notification configuration of the bucket. If 17471 // this element is empty, notifications are turned off on the bucket. 17472 // 17473 // NotificationConfiguration is a required field 17474 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17475} 17476 17477// String returns the string representation 17478func (s PutBucketNotificationConfigurationInput) String() string { 17479 return awsutil.Prettify(s) 17480} 17481 17482// GoString returns the string representation 17483func (s PutBucketNotificationConfigurationInput) GoString() string { 17484 return s.String() 17485} 17486 17487// Validate inspects the fields of the type to determine if they are valid. 17488func (s *PutBucketNotificationConfigurationInput) Validate() error { 17489 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"} 17490 if s.Bucket == nil { 17491 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17492 } 17493 if s.NotificationConfiguration == nil { 17494 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) 17495 } 17496 if s.NotificationConfiguration != nil { 17497 if err := s.NotificationConfiguration.Validate(); err != nil { 17498 invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams)) 17499 } 17500 } 17501 17502 if invalidParams.Len() > 0 { 17503 return invalidParams 17504 } 17505 return nil 17506} 17507 17508// SetBucket sets the Bucket field's value. 17509func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucketNotificationConfigurationInput { 17510 s.Bucket = &v 17511 return s 17512} 17513 17514func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) { 17515 if s.Bucket == nil { 17516 return v 17517 } 17518 return *s.Bucket 17519} 17520 17521// SetNotificationConfiguration sets the NotificationConfiguration field's value. 17522func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput { 17523 s.NotificationConfiguration = v 17524 return s 17525} 17526 17527type PutBucketNotificationConfigurationOutput struct { 17528 _ struct{} `type:"structure"` 17529} 17530 17531// String returns the string representation 17532func (s PutBucketNotificationConfigurationOutput) String() string { 17533 return awsutil.Prettify(s) 17534} 17535 17536// GoString returns the string representation 17537func (s PutBucketNotificationConfigurationOutput) GoString() string { 17538 return s.String() 17539} 17540 17541type PutBucketNotificationInput struct { 17542 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 17543 17544 // Bucket is a required field 17545 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17546 17547 // NotificationConfiguration is a required field 17548 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17549} 17550 17551// String returns the string representation 17552func (s PutBucketNotificationInput) String() string { 17553 return awsutil.Prettify(s) 17554} 17555 17556// GoString returns the string representation 17557func (s PutBucketNotificationInput) GoString() string { 17558 return s.String() 17559} 17560 17561// Validate inspects the fields of the type to determine if they are valid. 17562func (s *PutBucketNotificationInput) Validate() error { 17563 invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"} 17564 if s.Bucket == nil { 17565 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17566 } 17567 if s.NotificationConfiguration == nil { 17568 invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) 17569 } 17570 17571 if invalidParams.Len() > 0 { 17572 return invalidParams 17573 } 17574 return nil 17575} 17576 17577// SetBucket sets the Bucket field's value. 17578func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationInput { 17579 s.Bucket = &v 17580 return s 17581} 17582 17583func (s *PutBucketNotificationInput) getBucket() (v string) { 17584 if s.Bucket == nil { 17585 return v 17586 } 17587 return *s.Bucket 17588} 17589 17590// SetNotificationConfiguration sets the NotificationConfiguration field's value. 17591func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput { 17592 s.NotificationConfiguration = v 17593 return s 17594} 17595 17596type PutBucketNotificationOutput struct { 17597 _ struct{} `type:"structure"` 17598} 17599 17600// String returns the string representation 17601func (s PutBucketNotificationOutput) String() string { 17602 return awsutil.Prettify(s) 17603} 17604 17605// GoString returns the string representation 17606func (s PutBucketNotificationOutput) GoString() string { 17607 return s.String() 17608} 17609 17610type PutBucketPolicyInput struct { 17611 _ struct{} `type:"structure" payload:"Policy"` 17612 17613 // Bucket is a required field 17614 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17615 17616 // Set this parameter to true to confirm that you want to remove your permissions 17617 // to change this bucket policy in the future. 17618 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 17619 17620 // The bucket policy as a JSON document. 17621 // 17622 // Policy is a required field 17623 Policy *string `type:"string" required:"true"` 17624} 17625 17626// String returns the string representation 17627func (s PutBucketPolicyInput) String() string { 17628 return awsutil.Prettify(s) 17629} 17630 17631// GoString returns the string representation 17632func (s PutBucketPolicyInput) GoString() string { 17633 return s.String() 17634} 17635 17636// Validate inspects the fields of the type to determine if they are valid. 17637func (s *PutBucketPolicyInput) Validate() error { 17638 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 17639 if s.Bucket == nil { 17640 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17641 } 17642 if s.Policy == nil { 17643 invalidParams.Add(request.NewErrParamRequired("Policy")) 17644 } 17645 17646 if invalidParams.Len() > 0 { 17647 return invalidParams 17648 } 17649 return nil 17650} 17651 17652// SetBucket sets the Bucket field's value. 17653func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 17654 s.Bucket = &v 17655 return s 17656} 17657 17658func (s *PutBucketPolicyInput) getBucket() (v string) { 17659 if s.Bucket == nil { 17660 return v 17661 } 17662 return *s.Bucket 17663} 17664 17665// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 17666func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 17667 s.ConfirmRemoveSelfBucketAccess = &v 17668 return s 17669} 17670 17671// SetPolicy sets the Policy field's value. 17672func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 17673 s.Policy = &v 17674 return s 17675} 17676 17677type PutBucketPolicyOutput struct { 17678 _ struct{} `type:"structure"` 17679} 17680 17681// String returns the string representation 17682func (s PutBucketPolicyOutput) String() string { 17683 return awsutil.Prettify(s) 17684} 17685 17686// GoString returns the string representation 17687func (s PutBucketPolicyOutput) GoString() string { 17688 return s.String() 17689} 17690 17691type PutBucketReplicationInput struct { 17692 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 17693 17694 // Bucket is a required field 17695 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17696 17697 // Container for replication rules. You can add as many as 1,000 rules. Total 17698 // replication configuration size can be up to 2 MB. 17699 // 17700 // ReplicationConfiguration is a required field 17701 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17702} 17703 17704// String returns the string representation 17705func (s PutBucketReplicationInput) String() string { 17706 return awsutil.Prettify(s) 17707} 17708 17709// GoString returns the string representation 17710func (s PutBucketReplicationInput) GoString() string { 17711 return s.String() 17712} 17713 17714// Validate inspects the fields of the type to determine if they are valid. 17715func (s *PutBucketReplicationInput) Validate() error { 17716 invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"} 17717 if s.Bucket == nil { 17718 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17719 } 17720 if s.ReplicationConfiguration == nil { 17721 invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration")) 17722 } 17723 if s.ReplicationConfiguration != nil { 17724 if err := s.ReplicationConfiguration.Validate(); err != nil { 17725 invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams)) 17726 } 17727 } 17728 17729 if invalidParams.Len() > 0 { 17730 return invalidParams 17731 } 17732 return nil 17733} 17734 17735// SetBucket sets the Bucket field's value. 17736func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInput { 17737 s.Bucket = &v 17738 return s 17739} 17740 17741func (s *PutBucketReplicationInput) getBucket() (v string) { 17742 if s.Bucket == nil { 17743 return v 17744 } 17745 return *s.Bucket 17746} 17747 17748// SetReplicationConfiguration sets the ReplicationConfiguration field's value. 17749func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput { 17750 s.ReplicationConfiguration = v 17751 return s 17752} 17753 17754type PutBucketReplicationOutput struct { 17755 _ struct{} `type:"structure"` 17756} 17757 17758// String returns the string representation 17759func (s PutBucketReplicationOutput) String() string { 17760 return awsutil.Prettify(s) 17761} 17762 17763// GoString returns the string representation 17764func (s PutBucketReplicationOutput) GoString() string { 17765 return s.String() 17766} 17767 17768type PutBucketRequestPaymentInput struct { 17769 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"` 17770 17771 // Bucket is a required field 17772 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17773 17774 // RequestPaymentConfiguration is a required field 17775 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17776} 17777 17778// String returns the string representation 17779func (s PutBucketRequestPaymentInput) String() string { 17780 return awsutil.Prettify(s) 17781} 17782 17783// GoString returns the string representation 17784func (s PutBucketRequestPaymentInput) GoString() string { 17785 return s.String() 17786} 17787 17788// Validate inspects the fields of the type to determine if they are valid. 17789func (s *PutBucketRequestPaymentInput) Validate() error { 17790 invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"} 17791 if s.Bucket == nil { 17792 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17793 } 17794 if s.RequestPaymentConfiguration == nil { 17795 invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration")) 17796 } 17797 if s.RequestPaymentConfiguration != nil { 17798 if err := s.RequestPaymentConfiguration.Validate(); err != nil { 17799 invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams)) 17800 } 17801 } 17802 17803 if invalidParams.Len() > 0 { 17804 return invalidParams 17805 } 17806 return nil 17807} 17808 17809// SetBucket sets the Bucket field's value. 17810func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaymentInput { 17811 s.Bucket = &v 17812 return s 17813} 17814 17815func (s *PutBucketRequestPaymentInput) getBucket() (v string) { 17816 if s.Bucket == nil { 17817 return v 17818 } 17819 return *s.Bucket 17820} 17821 17822// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value. 17823func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput { 17824 s.RequestPaymentConfiguration = v 17825 return s 17826} 17827 17828type PutBucketRequestPaymentOutput struct { 17829 _ struct{} `type:"structure"` 17830} 17831 17832// String returns the string representation 17833func (s PutBucketRequestPaymentOutput) String() string { 17834 return awsutil.Prettify(s) 17835} 17836 17837// GoString returns the string representation 17838func (s PutBucketRequestPaymentOutput) GoString() string { 17839 return s.String() 17840} 17841 17842type PutBucketTaggingInput struct { 17843 _ struct{} `type:"structure" payload:"Tagging"` 17844 17845 // Bucket is a required field 17846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17847 17848 // Tagging is a required field 17849 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17850} 17851 17852// String returns the string representation 17853func (s PutBucketTaggingInput) String() string { 17854 return awsutil.Prettify(s) 17855} 17856 17857// GoString returns the string representation 17858func (s PutBucketTaggingInput) GoString() string { 17859 return s.String() 17860} 17861 17862// Validate inspects the fields of the type to determine if they are valid. 17863func (s *PutBucketTaggingInput) Validate() error { 17864 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 17865 if s.Bucket == nil { 17866 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17867 } 17868 if s.Tagging == nil { 17869 invalidParams.Add(request.NewErrParamRequired("Tagging")) 17870 } 17871 if s.Tagging != nil { 17872 if err := s.Tagging.Validate(); err != nil { 17873 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 17874 } 17875 } 17876 17877 if invalidParams.Len() > 0 { 17878 return invalidParams 17879 } 17880 return nil 17881} 17882 17883// SetBucket sets the Bucket field's value. 17884func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 17885 s.Bucket = &v 17886 return s 17887} 17888 17889func (s *PutBucketTaggingInput) getBucket() (v string) { 17890 if s.Bucket == nil { 17891 return v 17892 } 17893 return *s.Bucket 17894} 17895 17896// SetTagging sets the Tagging field's value. 17897func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 17898 s.Tagging = v 17899 return s 17900} 17901 17902type PutBucketTaggingOutput struct { 17903 _ struct{} `type:"structure"` 17904} 17905 17906// String returns the string representation 17907func (s PutBucketTaggingOutput) String() string { 17908 return awsutil.Prettify(s) 17909} 17910 17911// GoString returns the string representation 17912func (s PutBucketTaggingOutput) GoString() string { 17913 return s.String() 17914} 17915 17916type PutBucketVersioningInput struct { 17917 _ struct{} `type:"structure" payload:"VersioningConfiguration"` 17918 17919 // Bucket is a required field 17920 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17921 17922 // The concatenation of the authentication device's serial number, a space, 17923 // and the value that is displayed on your authentication device. 17924 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 17925 17926 // VersioningConfiguration is a required field 17927 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 17928} 17929 17930// String returns the string representation 17931func (s PutBucketVersioningInput) String() string { 17932 return awsutil.Prettify(s) 17933} 17934 17935// GoString returns the string representation 17936func (s PutBucketVersioningInput) GoString() string { 17937 return s.String() 17938} 17939 17940// Validate inspects the fields of the type to determine if they are valid. 17941func (s *PutBucketVersioningInput) Validate() error { 17942 invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"} 17943 if s.Bucket == nil { 17944 invalidParams.Add(request.NewErrParamRequired("Bucket")) 17945 } 17946 if s.VersioningConfiguration == nil { 17947 invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration")) 17948 } 17949 17950 if invalidParams.Len() > 0 { 17951 return invalidParams 17952 } 17953 return nil 17954} 17955 17956// SetBucket sets the Bucket field's value. 17957func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput { 17958 s.Bucket = &v 17959 return s 17960} 17961 17962func (s *PutBucketVersioningInput) getBucket() (v string) { 17963 if s.Bucket == nil { 17964 return v 17965 } 17966 return *s.Bucket 17967} 17968 17969// SetMFA sets the MFA field's value. 17970func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput { 17971 s.MFA = &v 17972 return s 17973} 17974 17975// SetVersioningConfiguration sets the VersioningConfiguration field's value. 17976func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfiguration) *PutBucketVersioningInput { 17977 s.VersioningConfiguration = v 17978 return s 17979} 17980 17981type PutBucketVersioningOutput struct { 17982 _ struct{} `type:"structure"` 17983} 17984 17985// String returns the string representation 17986func (s PutBucketVersioningOutput) String() string { 17987 return awsutil.Prettify(s) 17988} 17989 17990// GoString returns the string representation 17991func (s PutBucketVersioningOutput) GoString() string { 17992 return s.String() 17993} 17994 17995type PutBucketWebsiteInput struct { 17996 _ struct{} `type:"structure" payload:"WebsiteConfiguration"` 17997 17998 // Bucket is a required field 17999 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18000 18001 // WebsiteConfiguration is a required field 18002 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18003} 18004 18005// String returns the string representation 18006func (s PutBucketWebsiteInput) String() string { 18007 return awsutil.Prettify(s) 18008} 18009 18010// GoString returns the string representation 18011func (s PutBucketWebsiteInput) GoString() string { 18012 return s.String() 18013} 18014 18015// Validate inspects the fields of the type to determine if they are valid. 18016func (s *PutBucketWebsiteInput) Validate() error { 18017 invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"} 18018 if s.Bucket == nil { 18019 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18020 } 18021 if s.WebsiteConfiguration == nil { 18022 invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration")) 18023 } 18024 if s.WebsiteConfiguration != nil { 18025 if err := s.WebsiteConfiguration.Validate(); err != nil { 18026 invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams)) 18027 } 18028 } 18029 18030 if invalidParams.Len() > 0 { 18031 return invalidParams 18032 } 18033 return nil 18034} 18035 18036// SetBucket sets the Bucket field's value. 18037func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput { 18038 s.Bucket = &v 18039 return s 18040} 18041 18042func (s *PutBucketWebsiteInput) getBucket() (v string) { 18043 if s.Bucket == nil { 18044 return v 18045 } 18046 return *s.Bucket 18047} 18048 18049// SetWebsiteConfiguration sets the WebsiteConfiguration field's value. 18050func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput { 18051 s.WebsiteConfiguration = v 18052 return s 18053} 18054 18055type PutBucketWebsiteOutput struct { 18056 _ struct{} `type:"structure"` 18057} 18058 18059// String returns the string representation 18060func (s PutBucketWebsiteOutput) String() string { 18061 return awsutil.Prettify(s) 18062} 18063 18064// GoString returns the string representation 18065func (s PutBucketWebsiteOutput) GoString() string { 18066 return s.String() 18067} 18068 18069type PutObjectAclInput struct { 18070 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 18071 18072 // The canned ACL to apply to the object. 18073 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 18074 18075 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18076 18077 // Bucket is a required field 18078 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18079 18080 // Allows grantee the read, write, read ACP, and write ACP permissions on the 18081 // bucket. 18082 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 18083 18084 // Allows grantee to list the objects in the bucket. 18085 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 18086 18087 // Allows grantee to read the bucket ACL. 18088 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 18089 18090 // Allows grantee to create, overwrite, and delete any object in the bucket. 18091 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 18092 18093 // Allows grantee to write the ACL for the applicable bucket. 18094 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 18095 18096 // Key is a required field 18097 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 18098 18099 // Confirms that the requester knows that she or he will be charged for the 18100 // request. Bucket owners need not specify this parameter in their requests. 18101 // Documentation on downloading objects from requester pays buckets can be found 18102 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 18103 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 18104 18105 // VersionId used to reference a specific version of the object. 18106 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 18107} 18108 18109// String returns the string representation 18110func (s PutObjectAclInput) String() string { 18111 return awsutil.Prettify(s) 18112} 18113 18114// GoString returns the string representation 18115func (s PutObjectAclInput) GoString() string { 18116 return s.String() 18117} 18118 18119// Validate inspects the fields of the type to determine if they are valid. 18120func (s *PutObjectAclInput) Validate() error { 18121 invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"} 18122 if s.Bucket == nil { 18123 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18124 } 18125 if s.Key == nil { 18126 invalidParams.Add(request.NewErrParamRequired("Key")) 18127 } 18128 if s.Key != nil && len(*s.Key) < 1 { 18129 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18130 } 18131 if s.AccessControlPolicy != nil { 18132 if err := s.AccessControlPolicy.Validate(); err != nil { 18133 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 18134 } 18135 } 18136 18137 if invalidParams.Len() > 0 { 18138 return invalidParams 18139 } 18140 return nil 18141} 18142 18143// SetACL sets the ACL field's value. 18144func (s *PutObjectAclInput) SetACL(v string) *PutObjectAclInput { 18145 s.ACL = &v 18146 return s 18147} 18148 18149// SetAccessControlPolicy sets the AccessControlPolicy field's value. 18150func (s *PutObjectAclInput) SetAccessControlPolicy(v *AccessControlPolicy) *PutObjectAclInput { 18151 s.AccessControlPolicy = v 18152 return s 18153} 18154 18155// SetBucket sets the Bucket field's value. 18156func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput { 18157 s.Bucket = &v 18158 return s 18159} 18160 18161func (s *PutObjectAclInput) getBucket() (v string) { 18162 if s.Bucket == nil { 18163 return v 18164 } 18165 return *s.Bucket 18166} 18167 18168// SetGrantFullControl sets the GrantFullControl field's value. 18169func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput { 18170 s.GrantFullControl = &v 18171 return s 18172} 18173 18174// SetGrantRead sets the GrantRead field's value. 18175func (s *PutObjectAclInput) SetGrantRead(v string) *PutObjectAclInput { 18176 s.GrantRead = &v 18177 return s 18178} 18179 18180// SetGrantReadACP sets the GrantReadACP field's value. 18181func (s *PutObjectAclInput) SetGrantReadACP(v string) *PutObjectAclInput { 18182 s.GrantReadACP = &v 18183 return s 18184} 18185 18186// SetGrantWrite sets the GrantWrite field's value. 18187func (s *PutObjectAclInput) SetGrantWrite(v string) *PutObjectAclInput { 18188 s.GrantWrite = &v 18189 return s 18190} 18191 18192// SetGrantWriteACP sets the GrantWriteACP field's value. 18193func (s *PutObjectAclInput) SetGrantWriteACP(v string) *PutObjectAclInput { 18194 s.GrantWriteACP = &v 18195 return s 18196} 18197 18198// SetKey sets the Key field's value. 18199func (s *PutObjectAclInput) SetKey(v string) *PutObjectAclInput { 18200 s.Key = &v 18201 return s 18202} 18203 18204// SetRequestPayer sets the RequestPayer field's value. 18205func (s *PutObjectAclInput) SetRequestPayer(v string) *PutObjectAclInput { 18206 s.RequestPayer = &v 18207 return s 18208} 18209 18210// SetVersionId sets the VersionId field's value. 18211func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput { 18212 s.VersionId = &v 18213 return s 18214} 18215 18216type PutObjectAclOutput struct { 18217 _ struct{} `type:"structure"` 18218 18219 // If present, indicates that the requester was successfully charged for the 18220 // request. 18221 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 18222} 18223 18224// String returns the string representation 18225func (s PutObjectAclOutput) String() string { 18226 return awsutil.Prettify(s) 18227} 18228 18229// GoString returns the string representation 18230func (s PutObjectAclOutput) GoString() string { 18231 return s.String() 18232} 18233 18234// SetRequestCharged sets the RequestCharged field's value. 18235func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput { 18236 s.RequestCharged = &v 18237 return s 18238} 18239 18240type PutObjectInput struct { 18241 _ struct{} `type:"structure" payload:"Body"` 18242 18243 // The canned ACL to apply to the object. 18244 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 18245 18246 // Object data. 18247 Body io.ReadSeeker `type:"blob"` 18248 18249 // Name of the bucket to which the PUT operation was initiated. 18250 // 18251 // Bucket is a required field 18252 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18253 18254 // Specifies caching behavior along the request/reply chain. 18255 CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` 18256 18257 // Specifies presentational information for the object. 18258 ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` 18259 18260 // Specifies what content encodings have been applied to the object and thus 18261 // what decoding mechanisms must be applied to obtain the media-type referenced 18262 // by the Content-Type header field. 18263 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 18264 18265 // The language the content is in. 18266 ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` 18267 18268 // Size of the body in bytes. This parameter is useful when the size of the 18269 // body cannot be determined automatically. 18270 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 18271 18272 // The base64-encoded 128-bit MD5 digest of the part data. 18273 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 18274 18275 // A standard MIME type describing the format of the object data. 18276 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 18277 18278 // The date and time at which the object is no longer cacheable. 18279 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"` 18280 18281 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 18282 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 18283 18284 // Allows grantee to read the object data and its metadata. 18285 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 18286 18287 // Allows grantee to read the object ACL. 18288 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 18289 18290 // Allows grantee to write the ACL for the applicable object. 18291 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 18292 18293 // Object key for which the PUT operation was initiated. 18294 // 18295 // Key is a required field 18296 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 18297 18298 // A map of metadata to store with the object in S3. 18299 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 18300 18301 // Confirms that the requester knows that she or he will be charged for the 18302 // request. Bucket owners need not specify this parameter in their requests. 18303 // Documentation on downloading objects from requester pays buckets can be found 18304 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 18305 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 18306 18307 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 18308 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 18309 18310 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 18311 // data. This value is used to store the object and then it is discarded; Amazon 18312 // does not store the encryption key. The key must be appropriate for use with 18313 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 18314 // header. 18315 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 18316 18317 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 18318 // Amazon S3 uses this header for a message integrity check to ensure the encryption 18319 // key was transmitted without error. 18320 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 18321 18322 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 18323 // requests for an object protected by AWS KMS will fail if not made via SSL 18324 // or using SigV4. Documentation on configuring any of the officially supported 18325 // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version 18326 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 18327 18328 // The Server-side encryption algorithm used when storing this object in S3 18329 // (e.g., AES256, aws:kms). 18330 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 18331 18332 // The type of storage to use for the object. Defaults to 'STANDARD'. 18333 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 18334 18335 // The tag-set for the object. The tag-set must be encoded as URL Query parameters 18336 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"` 18337 18338 // If the bucket is configured as a website, redirects requests for this object 18339 // to another object in the same bucket or to an external URL. Amazon S3 stores 18340 // the value of this header in the object metadata. 18341 WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` 18342} 18343 18344// String returns the string representation 18345func (s PutObjectInput) String() string { 18346 return awsutil.Prettify(s) 18347} 18348 18349// GoString returns the string representation 18350func (s PutObjectInput) GoString() string { 18351 return s.String() 18352} 18353 18354// Validate inspects the fields of the type to determine if they are valid. 18355func (s *PutObjectInput) Validate() error { 18356 invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"} 18357 if s.Bucket == nil { 18358 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18359 } 18360 if s.Key == nil { 18361 invalidParams.Add(request.NewErrParamRequired("Key")) 18362 } 18363 if s.Key != nil && len(*s.Key) < 1 { 18364 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18365 } 18366 18367 if invalidParams.Len() > 0 { 18368 return invalidParams 18369 } 18370 return nil 18371} 18372 18373// SetACL sets the ACL field's value. 18374func (s *PutObjectInput) SetACL(v string) *PutObjectInput { 18375 s.ACL = &v 18376 return s 18377} 18378 18379// SetBody sets the Body field's value. 18380func (s *PutObjectInput) SetBody(v io.ReadSeeker) *PutObjectInput { 18381 s.Body = v 18382 return s 18383} 18384 18385// SetBucket sets the Bucket field's value. 18386func (s *PutObjectInput) SetBucket(v string) *PutObjectInput { 18387 s.Bucket = &v 18388 return s 18389} 18390 18391func (s *PutObjectInput) getBucket() (v string) { 18392 if s.Bucket == nil { 18393 return v 18394 } 18395 return *s.Bucket 18396} 18397 18398// SetCacheControl sets the CacheControl field's value. 18399func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput { 18400 s.CacheControl = &v 18401 return s 18402} 18403 18404// SetContentDisposition sets the ContentDisposition field's value. 18405func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput { 18406 s.ContentDisposition = &v 18407 return s 18408} 18409 18410// SetContentEncoding sets the ContentEncoding field's value. 18411func (s *PutObjectInput) SetContentEncoding(v string) *PutObjectInput { 18412 s.ContentEncoding = &v 18413 return s 18414} 18415 18416// SetContentLanguage sets the ContentLanguage field's value. 18417func (s *PutObjectInput) SetContentLanguage(v string) *PutObjectInput { 18418 s.ContentLanguage = &v 18419 return s 18420} 18421 18422// SetContentLength sets the ContentLength field's value. 18423func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput { 18424 s.ContentLength = &v 18425 return s 18426} 18427 18428// SetContentMD5 sets the ContentMD5 field's value. 18429func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput { 18430 s.ContentMD5 = &v 18431 return s 18432} 18433 18434// SetContentType sets the ContentType field's value. 18435func (s *PutObjectInput) SetContentType(v string) *PutObjectInput { 18436 s.ContentType = &v 18437 return s 18438} 18439 18440// SetExpires sets the Expires field's value. 18441func (s *PutObjectInput) SetExpires(v time.Time) *PutObjectInput { 18442 s.Expires = &v 18443 return s 18444} 18445 18446// SetGrantFullControl sets the GrantFullControl field's value. 18447func (s *PutObjectInput) SetGrantFullControl(v string) *PutObjectInput { 18448 s.GrantFullControl = &v 18449 return s 18450} 18451 18452// SetGrantRead sets the GrantRead field's value. 18453func (s *PutObjectInput) SetGrantRead(v string) *PutObjectInput { 18454 s.GrantRead = &v 18455 return s 18456} 18457 18458// SetGrantReadACP sets the GrantReadACP field's value. 18459func (s *PutObjectInput) SetGrantReadACP(v string) *PutObjectInput { 18460 s.GrantReadACP = &v 18461 return s 18462} 18463 18464// SetGrantWriteACP sets the GrantWriteACP field's value. 18465func (s *PutObjectInput) SetGrantWriteACP(v string) *PutObjectInput { 18466 s.GrantWriteACP = &v 18467 return s 18468} 18469 18470// SetKey sets the Key field's value. 18471func (s *PutObjectInput) SetKey(v string) *PutObjectInput { 18472 s.Key = &v 18473 return s 18474} 18475 18476// SetMetadata sets the Metadata field's value. 18477func (s *PutObjectInput) SetMetadata(v map[string]*string) *PutObjectInput { 18478 s.Metadata = v 18479 return s 18480} 18481 18482// SetRequestPayer sets the RequestPayer field's value. 18483func (s *PutObjectInput) SetRequestPayer(v string) *PutObjectInput { 18484 s.RequestPayer = &v 18485 return s 18486} 18487 18488// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 18489func (s *PutObjectInput) SetSSECustomerAlgorithm(v string) *PutObjectInput { 18490 s.SSECustomerAlgorithm = &v 18491 return s 18492} 18493 18494// SetSSECustomerKey sets the SSECustomerKey field's value. 18495func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput { 18496 s.SSECustomerKey = &v 18497 return s 18498} 18499 18500func (s *PutObjectInput) getSSECustomerKey() (v string) { 18501 if s.SSECustomerKey == nil { 18502 return v 18503 } 18504 return *s.SSECustomerKey 18505} 18506 18507// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 18508func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput { 18509 s.SSECustomerKeyMD5 = &v 18510 return s 18511} 18512 18513// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 18514func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput { 18515 s.SSEKMSKeyId = &v 18516 return s 18517} 18518 18519// SetServerSideEncryption sets the ServerSideEncryption field's value. 18520func (s *PutObjectInput) SetServerSideEncryption(v string) *PutObjectInput { 18521 s.ServerSideEncryption = &v 18522 return s 18523} 18524 18525// SetStorageClass sets the StorageClass field's value. 18526func (s *PutObjectInput) SetStorageClass(v string) *PutObjectInput { 18527 s.StorageClass = &v 18528 return s 18529} 18530 18531// SetTagging sets the Tagging field's value. 18532func (s *PutObjectInput) SetTagging(v string) *PutObjectInput { 18533 s.Tagging = &v 18534 return s 18535} 18536 18537// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 18538func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput { 18539 s.WebsiteRedirectLocation = &v 18540 return s 18541} 18542 18543type PutObjectOutput struct { 18544 _ struct{} `type:"structure"` 18545 18546 // Entity tag for the uploaded object. 18547 ETag *string `location:"header" locationName:"ETag" type:"string"` 18548 18549 // If the object expiration is configured, this will contain the expiration 18550 // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. 18551 Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` 18552 18553 // If present, indicates that the requester was successfully charged for the 18554 // request. 18555 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 18556 18557 // If server-side encryption with a customer-provided encryption key was requested, 18558 // the response will include this header confirming the encryption algorithm 18559 // used. 18560 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 18561 18562 // If server-side encryption with a customer-provided encryption key was requested, 18563 // the response will include this header to provide round trip message integrity 18564 // verification of the customer-provided encryption key. 18565 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 18566 18567 // If present, specifies the ID of the AWS Key Management Service (KMS) master 18568 // encryption key that was used for the object. 18569 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 18570 18571 // The Server-side encryption algorithm used when storing this object in S3 18572 // (e.g., AES256, aws:kms). 18573 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 18574 18575 // Version of the object. 18576 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 18577} 18578 18579// String returns the string representation 18580func (s PutObjectOutput) String() string { 18581 return awsutil.Prettify(s) 18582} 18583 18584// GoString returns the string representation 18585func (s PutObjectOutput) GoString() string { 18586 return s.String() 18587} 18588 18589// SetETag sets the ETag field's value. 18590func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput { 18591 s.ETag = &v 18592 return s 18593} 18594 18595// SetExpiration sets the Expiration field's value. 18596func (s *PutObjectOutput) SetExpiration(v string) *PutObjectOutput { 18597 s.Expiration = &v 18598 return s 18599} 18600 18601// SetRequestCharged sets the RequestCharged field's value. 18602func (s *PutObjectOutput) SetRequestCharged(v string) *PutObjectOutput { 18603 s.RequestCharged = &v 18604 return s 18605} 18606 18607// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 18608func (s *PutObjectOutput) SetSSECustomerAlgorithm(v string) *PutObjectOutput { 18609 s.SSECustomerAlgorithm = &v 18610 return s 18611} 18612 18613// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 18614func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput { 18615 s.SSECustomerKeyMD5 = &v 18616 return s 18617} 18618 18619// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 18620func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput { 18621 s.SSEKMSKeyId = &v 18622 return s 18623} 18624 18625// SetServerSideEncryption sets the ServerSideEncryption field's value. 18626func (s *PutObjectOutput) SetServerSideEncryption(v string) *PutObjectOutput { 18627 s.ServerSideEncryption = &v 18628 return s 18629} 18630 18631// SetVersionId sets the VersionId field's value. 18632func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput { 18633 s.VersionId = &v 18634 return s 18635} 18636 18637type PutObjectTaggingInput struct { 18638 _ struct{} `type:"structure" payload:"Tagging"` 18639 18640 // Bucket is a required field 18641 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18642 18643 // Key is a required field 18644 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 18645 18646 // Tagging is a required field 18647 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18648 18649 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 18650} 18651 18652// String returns the string representation 18653func (s PutObjectTaggingInput) String() string { 18654 return awsutil.Prettify(s) 18655} 18656 18657// GoString returns the string representation 18658func (s PutObjectTaggingInput) GoString() string { 18659 return s.String() 18660} 18661 18662// Validate inspects the fields of the type to determine if they are valid. 18663func (s *PutObjectTaggingInput) Validate() error { 18664 invalidParams := request.ErrInvalidParams{Context: "PutObjectTaggingInput"} 18665 if s.Bucket == nil { 18666 invalidParams.Add(request.NewErrParamRequired("Bucket")) 18667 } 18668 if s.Key == nil { 18669 invalidParams.Add(request.NewErrParamRequired("Key")) 18670 } 18671 if s.Key != nil && len(*s.Key) < 1 { 18672 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18673 } 18674 if s.Tagging == nil { 18675 invalidParams.Add(request.NewErrParamRequired("Tagging")) 18676 } 18677 if s.Tagging != nil { 18678 if err := s.Tagging.Validate(); err != nil { 18679 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 18680 } 18681 } 18682 18683 if invalidParams.Len() > 0 { 18684 return invalidParams 18685 } 18686 return nil 18687} 18688 18689// SetBucket sets the Bucket field's value. 18690func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput { 18691 s.Bucket = &v 18692 return s 18693} 18694 18695func (s *PutObjectTaggingInput) getBucket() (v string) { 18696 if s.Bucket == nil { 18697 return v 18698 } 18699 return *s.Bucket 18700} 18701 18702// SetKey sets the Key field's value. 18703func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput { 18704 s.Key = &v 18705 return s 18706} 18707 18708// SetTagging sets the Tagging field's value. 18709func (s *PutObjectTaggingInput) SetTagging(v *Tagging) *PutObjectTaggingInput { 18710 s.Tagging = v 18711 return s 18712} 18713 18714// SetVersionId sets the VersionId field's value. 18715func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput { 18716 s.VersionId = &v 18717 return s 18718} 18719 18720type PutObjectTaggingOutput struct { 18721 _ struct{} `type:"structure"` 18722 18723 VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` 18724} 18725 18726// String returns the string representation 18727func (s PutObjectTaggingOutput) String() string { 18728 return awsutil.Prettify(s) 18729} 18730 18731// GoString returns the string representation 18732func (s PutObjectTaggingOutput) GoString() string { 18733 return s.String() 18734} 18735 18736// SetVersionId sets the VersionId field's value. 18737func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput { 18738 s.VersionId = &v 18739 return s 18740} 18741 18742// Container for specifying an configuration when you want Amazon S3 to publish 18743// events to an Amazon Simple Queue Service (Amazon SQS) queue. 18744type QueueConfiguration struct { 18745 _ struct{} `type:"structure"` 18746 18747 // Events is a required field 18748 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 18749 18750 // Container for object key name filtering rules. For information about key 18751 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 18752 // in the Amazon Simple Storage Service Developer Guide. 18753 Filter *NotificationConfigurationFilter `type:"structure"` 18754 18755 // Optional unique identifier for configurations in a notification configuration. 18756 // If you don't provide one, Amazon S3 will assign an ID. 18757 Id *string `type:"string"` 18758 18759 // Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects 18760 // events of specified type. 18761 // 18762 // QueueArn is a required field 18763 QueueArn *string `locationName:"Queue" type:"string" required:"true"` 18764} 18765 18766// String returns the string representation 18767func (s QueueConfiguration) String() string { 18768 return awsutil.Prettify(s) 18769} 18770 18771// GoString returns the string representation 18772func (s QueueConfiguration) GoString() string { 18773 return s.String() 18774} 18775 18776// Validate inspects the fields of the type to determine if they are valid. 18777func (s *QueueConfiguration) Validate() error { 18778 invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"} 18779 if s.Events == nil { 18780 invalidParams.Add(request.NewErrParamRequired("Events")) 18781 } 18782 if s.QueueArn == nil { 18783 invalidParams.Add(request.NewErrParamRequired("QueueArn")) 18784 } 18785 18786 if invalidParams.Len() > 0 { 18787 return invalidParams 18788 } 18789 return nil 18790} 18791 18792// SetEvents sets the Events field's value. 18793func (s *QueueConfiguration) SetEvents(v []*string) *QueueConfiguration { 18794 s.Events = v 18795 return s 18796} 18797 18798// SetFilter sets the Filter field's value. 18799func (s *QueueConfiguration) SetFilter(v *NotificationConfigurationFilter) *QueueConfiguration { 18800 s.Filter = v 18801 return s 18802} 18803 18804// SetId sets the Id field's value. 18805func (s *QueueConfiguration) SetId(v string) *QueueConfiguration { 18806 s.Id = &v 18807 return s 18808} 18809 18810// SetQueueArn sets the QueueArn field's value. 18811func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration { 18812 s.QueueArn = &v 18813 return s 18814} 18815 18816type QueueConfigurationDeprecated struct { 18817 _ struct{} `type:"structure"` 18818 18819 // Bucket event for which to send notifications. 18820 Event *string `deprecated:"true" type:"string" enum:"Event"` 18821 18822 Events []*string `locationName:"Event" type:"list" flattened:"true"` 18823 18824 // Optional unique identifier for configurations in a notification configuration. 18825 // If you don't provide one, Amazon S3 will assign an ID. 18826 Id *string `type:"string"` 18827 18828 Queue *string `type:"string"` 18829} 18830 18831// String returns the string representation 18832func (s QueueConfigurationDeprecated) String() string { 18833 return awsutil.Prettify(s) 18834} 18835 18836// GoString returns the string representation 18837func (s QueueConfigurationDeprecated) GoString() string { 18838 return s.String() 18839} 18840 18841// SetEvent sets the Event field's value. 18842func (s *QueueConfigurationDeprecated) SetEvent(v string) *QueueConfigurationDeprecated { 18843 s.Event = &v 18844 return s 18845} 18846 18847// SetEvents sets the Events field's value. 18848func (s *QueueConfigurationDeprecated) SetEvents(v []*string) *QueueConfigurationDeprecated { 18849 s.Events = v 18850 return s 18851} 18852 18853// SetId sets the Id field's value. 18854func (s *QueueConfigurationDeprecated) SetId(v string) *QueueConfigurationDeprecated { 18855 s.Id = &v 18856 return s 18857} 18858 18859// SetQueue sets the Queue field's value. 18860func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDeprecated { 18861 s.Queue = &v 18862 return s 18863} 18864 18865type RecordsEvent struct { 18866 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"` 18867 18868 // The byte array of partial, one or more result records. 18869 // 18870 // Payload is automatically base64 encoded/decoded by the SDK. 18871 Payload []byte `type:"blob"` 18872} 18873 18874// String returns the string representation 18875func (s RecordsEvent) String() string { 18876 return awsutil.Prettify(s) 18877} 18878 18879// GoString returns the string representation 18880func (s RecordsEvent) GoString() string { 18881 return s.String() 18882} 18883 18884// SetPayload sets the Payload field's value. 18885func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent { 18886 s.Payload = v 18887 return s 18888} 18889 18890// The RecordsEvent is and event in the SelectObjectContentEventStream group of events. 18891func (s *RecordsEvent) eventSelectObjectContentEventStream() {} 18892 18893// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value. 18894// This method is only used internally within the SDK's EventStream handling. 18895func (s *RecordsEvent) UnmarshalEvent( 18896 payloadUnmarshaler protocol.PayloadUnmarshaler, 18897 msg eventstream.Message, 18898) error { 18899 s.Payload = make([]byte, len(msg.Payload)) 18900 copy(s.Payload, msg.Payload) 18901 return nil 18902} 18903 18904type Redirect struct { 18905 _ struct{} `type:"structure"` 18906 18907 // The host name to use in the redirect request. 18908 HostName *string `type:"string"` 18909 18910 // The HTTP redirect code to use on the response. Not required if one of the 18911 // siblings is present. 18912 HttpRedirectCode *string `type:"string"` 18913 18914 // Protocol to use (http, https) when redirecting requests. The default is the 18915 // protocol that is used in the original request. 18916 Protocol *string `type:"string" enum:"Protocol"` 18917 18918 // The object key prefix to use in the redirect request. For example, to redirect 18919 // requests for all pages with prefix docs/ (objects in the docs/ folder) to 18920 // documents/, you can set a condition block with KeyPrefixEquals set to docs/ 18921 // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required 18922 // if one of the siblings is present. Can be present only if ReplaceKeyWith 18923 // is not provided. 18924 ReplaceKeyPrefixWith *string `type:"string"` 18925 18926 // The specific object key to use in the redirect request. For example, redirect 18927 // request to error.html. Not required if one of the sibling is present. Can 18928 // be present only if ReplaceKeyPrefixWith is not provided. 18929 ReplaceKeyWith *string `type:"string"` 18930} 18931 18932// String returns the string representation 18933func (s Redirect) String() string { 18934 return awsutil.Prettify(s) 18935} 18936 18937// GoString returns the string representation 18938func (s Redirect) GoString() string { 18939 return s.String() 18940} 18941 18942// SetHostName sets the HostName field's value. 18943func (s *Redirect) SetHostName(v string) *Redirect { 18944 s.HostName = &v 18945 return s 18946} 18947 18948// SetHttpRedirectCode sets the HttpRedirectCode field's value. 18949func (s *Redirect) SetHttpRedirectCode(v string) *Redirect { 18950 s.HttpRedirectCode = &v 18951 return s 18952} 18953 18954// SetProtocol sets the Protocol field's value. 18955func (s *Redirect) SetProtocol(v string) *Redirect { 18956 s.Protocol = &v 18957 return s 18958} 18959 18960// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value. 18961func (s *Redirect) SetReplaceKeyPrefixWith(v string) *Redirect { 18962 s.ReplaceKeyPrefixWith = &v 18963 return s 18964} 18965 18966// SetReplaceKeyWith sets the ReplaceKeyWith field's value. 18967func (s *Redirect) SetReplaceKeyWith(v string) *Redirect { 18968 s.ReplaceKeyWith = &v 18969 return s 18970} 18971 18972type RedirectAllRequestsTo struct { 18973 _ struct{} `type:"structure"` 18974 18975 // Name of the host where requests will be redirected. 18976 // 18977 // HostName is a required field 18978 HostName *string `type:"string" required:"true"` 18979 18980 // Protocol to use (http, https) when redirecting requests. The default is the 18981 // protocol that is used in the original request. 18982 Protocol *string `type:"string" enum:"Protocol"` 18983} 18984 18985// String returns the string representation 18986func (s RedirectAllRequestsTo) String() string { 18987 return awsutil.Prettify(s) 18988} 18989 18990// GoString returns the string representation 18991func (s RedirectAllRequestsTo) GoString() string { 18992 return s.String() 18993} 18994 18995// Validate inspects the fields of the type to determine if they are valid. 18996func (s *RedirectAllRequestsTo) Validate() error { 18997 invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"} 18998 if s.HostName == nil { 18999 invalidParams.Add(request.NewErrParamRequired("HostName")) 19000 } 19001 19002 if invalidParams.Len() > 0 { 19003 return invalidParams 19004 } 19005 return nil 19006} 19007 19008// SetHostName sets the HostName field's value. 19009func (s *RedirectAllRequestsTo) SetHostName(v string) *RedirectAllRequestsTo { 19010 s.HostName = &v 19011 return s 19012} 19013 19014// SetProtocol sets the Protocol field's value. 19015func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo { 19016 s.Protocol = &v 19017 return s 19018} 19019 19020// Container for replication rules. You can add as many as 1,000 rules. Total 19021// replication configuration size can be up to 2 MB. 19022type ReplicationConfiguration struct { 19023 _ struct{} `type:"structure"` 19024 19025 // Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating 19026 // the objects. 19027 // 19028 // Role is a required field 19029 Role *string `type:"string" required:"true"` 19030 19031 // Container for information about a particular replication rule. Replication 19032 // configuration must have at least one rule and can contain up to 1,000 rules. 19033 // 19034 // Rules is a required field 19035 Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 19036} 19037 19038// String returns the string representation 19039func (s ReplicationConfiguration) String() string { 19040 return awsutil.Prettify(s) 19041} 19042 19043// GoString returns the string representation 19044func (s ReplicationConfiguration) GoString() string { 19045 return s.String() 19046} 19047 19048// Validate inspects the fields of the type to determine if they are valid. 19049func (s *ReplicationConfiguration) Validate() error { 19050 invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"} 19051 if s.Role == nil { 19052 invalidParams.Add(request.NewErrParamRequired("Role")) 19053 } 19054 if s.Rules == nil { 19055 invalidParams.Add(request.NewErrParamRequired("Rules")) 19056 } 19057 if s.Rules != nil { 19058 for i, v := range s.Rules { 19059 if v == nil { 19060 continue 19061 } 19062 if err := v.Validate(); err != nil { 19063 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 19064 } 19065 } 19066 } 19067 19068 if invalidParams.Len() > 0 { 19069 return invalidParams 19070 } 19071 return nil 19072} 19073 19074// SetRole sets the Role field's value. 19075func (s *ReplicationConfiguration) SetRole(v string) *ReplicationConfiguration { 19076 s.Role = &v 19077 return s 19078} 19079 19080// SetRules sets the Rules field's value. 19081func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationConfiguration { 19082 s.Rules = v 19083 return s 19084} 19085 19086// Container for information about a particular replication rule. 19087type ReplicationRule struct { 19088 _ struct{} `type:"structure"` 19089 19090 // Container for replication destination information. 19091 // 19092 // Destination is a required field 19093 Destination *Destination `type:"structure" required:"true"` 19094 19095 // Unique identifier for the rule. The value cannot be longer than 255 characters. 19096 ID *string `type:"string"` 19097 19098 // Object keyname prefix identifying one or more objects to which the rule applies. 19099 // Maximum prefix length can be up to 1,024 characters. Overlapping prefixes 19100 // are not supported. 19101 // 19102 // Prefix is a required field 19103 Prefix *string `type:"string" required:"true"` 19104 19105 // Container for filters that define which source objects should be replicated. 19106 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"` 19107 19108 // The rule is ignored if status is not Enabled. 19109 // 19110 // Status is a required field 19111 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` 19112} 19113 19114// String returns the string representation 19115func (s ReplicationRule) String() string { 19116 return awsutil.Prettify(s) 19117} 19118 19119// GoString returns the string representation 19120func (s ReplicationRule) GoString() string { 19121 return s.String() 19122} 19123 19124// Validate inspects the fields of the type to determine if they are valid. 19125func (s *ReplicationRule) Validate() error { 19126 invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"} 19127 if s.Destination == nil { 19128 invalidParams.Add(request.NewErrParamRequired("Destination")) 19129 } 19130 if s.Prefix == nil { 19131 invalidParams.Add(request.NewErrParamRequired("Prefix")) 19132 } 19133 if s.Status == nil { 19134 invalidParams.Add(request.NewErrParamRequired("Status")) 19135 } 19136 if s.Destination != nil { 19137 if err := s.Destination.Validate(); err != nil { 19138 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 19139 } 19140 } 19141 if s.SourceSelectionCriteria != nil { 19142 if err := s.SourceSelectionCriteria.Validate(); err != nil { 19143 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams)) 19144 } 19145 } 19146 19147 if invalidParams.Len() > 0 { 19148 return invalidParams 19149 } 19150 return nil 19151} 19152 19153// SetDestination sets the Destination field's value. 19154func (s *ReplicationRule) SetDestination(v *Destination) *ReplicationRule { 19155 s.Destination = v 19156 return s 19157} 19158 19159// SetID sets the ID field's value. 19160func (s *ReplicationRule) SetID(v string) *ReplicationRule { 19161 s.ID = &v 19162 return s 19163} 19164 19165// SetPrefix sets the Prefix field's value. 19166func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule { 19167 s.Prefix = &v 19168 return s 19169} 19170 19171// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value. 19172func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule { 19173 s.SourceSelectionCriteria = v 19174 return s 19175} 19176 19177// SetStatus sets the Status field's value. 19178func (s *ReplicationRule) SetStatus(v string) *ReplicationRule { 19179 s.Status = &v 19180 return s 19181} 19182 19183type RequestPaymentConfiguration struct { 19184 _ struct{} `type:"structure"` 19185 19186 // Specifies who pays for the download and request fees. 19187 // 19188 // Payer is a required field 19189 Payer *string `type:"string" required:"true" enum:"Payer"` 19190} 19191 19192// String returns the string representation 19193func (s RequestPaymentConfiguration) String() string { 19194 return awsutil.Prettify(s) 19195} 19196 19197// GoString returns the string representation 19198func (s RequestPaymentConfiguration) GoString() string { 19199 return s.String() 19200} 19201 19202// Validate inspects the fields of the type to determine if they are valid. 19203func (s *RequestPaymentConfiguration) Validate() error { 19204 invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"} 19205 if s.Payer == nil { 19206 invalidParams.Add(request.NewErrParamRequired("Payer")) 19207 } 19208 19209 if invalidParams.Len() > 0 { 19210 return invalidParams 19211 } 19212 return nil 19213} 19214 19215// SetPayer sets the Payer field's value. 19216func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfiguration { 19217 s.Payer = &v 19218 return s 19219} 19220 19221type RequestProgress struct { 19222 _ struct{} `type:"structure"` 19223 19224 // Specifies whether periodic QueryProgress frames should be sent. Valid values: 19225 // TRUE, FALSE. Default value: FALSE. 19226 Enabled *bool `type:"boolean"` 19227} 19228 19229// String returns the string representation 19230func (s RequestProgress) String() string { 19231 return awsutil.Prettify(s) 19232} 19233 19234// GoString returns the string representation 19235func (s RequestProgress) GoString() string { 19236 return s.String() 19237} 19238 19239// SetEnabled sets the Enabled field's value. 19240func (s *RequestProgress) SetEnabled(v bool) *RequestProgress { 19241 s.Enabled = &v 19242 return s 19243} 19244 19245type RestoreObjectInput struct { 19246 _ struct{} `type:"structure" payload:"RestoreRequest"` 19247 19248 // Bucket is a required field 19249 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19250 19251 // Key is a required field 19252 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 19253 19254 // Confirms that the requester knows that she or he will be charged for the 19255 // request. Bucket owners need not specify this parameter in their requests. 19256 // Documentation on downloading objects from requester pays buckets can be found 19257 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 19258 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 19259 19260 // Container for restore job parameters. 19261 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19262 19263 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 19264} 19265 19266// String returns the string representation 19267func (s RestoreObjectInput) String() string { 19268 return awsutil.Prettify(s) 19269} 19270 19271// GoString returns the string representation 19272func (s RestoreObjectInput) GoString() string { 19273 return s.String() 19274} 19275 19276// Validate inspects the fields of the type to determine if they are valid. 19277func (s *RestoreObjectInput) Validate() error { 19278 invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"} 19279 if s.Bucket == nil { 19280 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19281 } 19282 if s.Key == nil { 19283 invalidParams.Add(request.NewErrParamRequired("Key")) 19284 } 19285 if s.Key != nil && len(*s.Key) < 1 { 19286 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 19287 } 19288 if s.RestoreRequest != nil { 19289 if err := s.RestoreRequest.Validate(); err != nil { 19290 invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams)) 19291 } 19292 } 19293 19294 if invalidParams.Len() > 0 { 19295 return invalidParams 19296 } 19297 return nil 19298} 19299 19300// SetBucket sets the Bucket field's value. 19301func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput { 19302 s.Bucket = &v 19303 return s 19304} 19305 19306func (s *RestoreObjectInput) getBucket() (v string) { 19307 if s.Bucket == nil { 19308 return v 19309 } 19310 return *s.Bucket 19311} 19312 19313// SetKey sets the Key field's value. 19314func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput { 19315 s.Key = &v 19316 return s 19317} 19318 19319// SetRequestPayer sets the RequestPayer field's value. 19320func (s *RestoreObjectInput) SetRequestPayer(v string) *RestoreObjectInput { 19321 s.RequestPayer = &v 19322 return s 19323} 19324 19325// SetRestoreRequest sets the RestoreRequest field's value. 19326func (s *RestoreObjectInput) SetRestoreRequest(v *RestoreRequest) *RestoreObjectInput { 19327 s.RestoreRequest = v 19328 return s 19329} 19330 19331// SetVersionId sets the VersionId field's value. 19332func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput { 19333 s.VersionId = &v 19334 return s 19335} 19336 19337type RestoreObjectOutput struct { 19338 _ struct{} `type:"structure"` 19339 19340 // If present, indicates that the requester was successfully charged for the 19341 // request. 19342 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 19343 19344 // Indicates the path in the provided S3 output location where Select results 19345 // will be restored to. 19346 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"` 19347} 19348 19349// String returns the string representation 19350func (s RestoreObjectOutput) String() string { 19351 return awsutil.Prettify(s) 19352} 19353 19354// GoString returns the string representation 19355func (s RestoreObjectOutput) GoString() string { 19356 return s.String() 19357} 19358 19359// SetRequestCharged sets the RequestCharged field's value. 19360func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput { 19361 s.RequestCharged = &v 19362 return s 19363} 19364 19365// SetRestoreOutputPath sets the RestoreOutputPath field's value. 19366func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput { 19367 s.RestoreOutputPath = &v 19368 return s 19369} 19370 19371// Container for restore job parameters. 19372type RestoreRequest struct { 19373 _ struct{} `type:"structure"` 19374 19375 // Lifetime of the active copy in days. Do not use with restores that specify 19376 // OutputLocation. 19377 Days *int64 `type:"integer"` 19378 19379 // The optional description for the job. 19380 Description *string `type:"string"` 19381 19382 // Glacier related parameters pertaining to this job. Do not use with restores 19383 // that specify OutputLocation. 19384 GlacierJobParameters *GlacierJobParameters `type:"structure"` 19385 19386 // Describes the location where the restore job's output is stored. 19387 OutputLocation *OutputLocation `type:"structure"` 19388 19389 // Describes the parameters for Select job types. 19390 SelectParameters *SelectParameters `type:"structure"` 19391 19392 // Glacier retrieval tier at which the restore will be processed. 19393 Tier *string `type:"string" enum:"Tier"` 19394 19395 // Type of restore request. 19396 Type *string `type:"string" enum:"RestoreRequestType"` 19397} 19398 19399// String returns the string representation 19400func (s RestoreRequest) String() string { 19401 return awsutil.Prettify(s) 19402} 19403 19404// GoString returns the string representation 19405func (s RestoreRequest) GoString() string { 19406 return s.String() 19407} 19408 19409// Validate inspects the fields of the type to determine if they are valid. 19410func (s *RestoreRequest) Validate() error { 19411 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"} 19412 if s.GlacierJobParameters != nil { 19413 if err := s.GlacierJobParameters.Validate(); err != nil { 19414 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams)) 19415 } 19416 } 19417 if s.OutputLocation != nil { 19418 if err := s.OutputLocation.Validate(); err != nil { 19419 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) 19420 } 19421 } 19422 if s.SelectParameters != nil { 19423 if err := s.SelectParameters.Validate(); err != nil { 19424 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams)) 19425 } 19426 } 19427 19428 if invalidParams.Len() > 0 { 19429 return invalidParams 19430 } 19431 return nil 19432} 19433 19434// SetDays sets the Days field's value. 19435func (s *RestoreRequest) SetDays(v int64) *RestoreRequest { 19436 s.Days = &v 19437 return s 19438} 19439 19440// SetDescription sets the Description field's value. 19441func (s *RestoreRequest) SetDescription(v string) *RestoreRequest { 19442 s.Description = &v 19443 return s 19444} 19445 19446// SetGlacierJobParameters sets the GlacierJobParameters field's value. 19447func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest { 19448 s.GlacierJobParameters = v 19449 return s 19450} 19451 19452// SetOutputLocation sets the OutputLocation field's value. 19453func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest { 19454 s.OutputLocation = v 19455 return s 19456} 19457 19458// SetSelectParameters sets the SelectParameters field's value. 19459func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest { 19460 s.SelectParameters = v 19461 return s 19462} 19463 19464// SetTier sets the Tier field's value. 19465func (s *RestoreRequest) SetTier(v string) *RestoreRequest { 19466 s.Tier = &v 19467 return s 19468} 19469 19470// SetType sets the Type field's value. 19471func (s *RestoreRequest) SetType(v string) *RestoreRequest { 19472 s.Type = &v 19473 return s 19474} 19475 19476type RoutingRule struct { 19477 _ struct{} `type:"structure"` 19478 19479 // A container for describing a condition that must be met for the specified 19480 // redirect to apply. For example, 1. If request is for pages in the /docs folder, 19481 // redirect to the /documents folder. 2. If request results in HTTP error 4xx, 19482 // redirect request to another host where you might process the error. 19483 Condition *Condition `type:"structure"` 19484 19485 // Container for redirect information. You can redirect requests to another 19486 // host, to another page, or with another protocol. In the event of an error, 19487 // you can can specify a different error code to return. 19488 // 19489 // Redirect is a required field 19490 Redirect *Redirect `type:"structure" required:"true"` 19491} 19492 19493// String returns the string representation 19494func (s RoutingRule) String() string { 19495 return awsutil.Prettify(s) 19496} 19497 19498// GoString returns the string representation 19499func (s RoutingRule) GoString() string { 19500 return s.String() 19501} 19502 19503// Validate inspects the fields of the type to determine if they are valid. 19504func (s *RoutingRule) Validate() error { 19505 invalidParams := request.ErrInvalidParams{Context: "RoutingRule"} 19506 if s.Redirect == nil { 19507 invalidParams.Add(request.NewErrParamRequired("Redirect")) 19508 } 19509 19510 if invalidParams.Len() > 0 { 19511 return invalidParams 19512 } 19513 return nil 19514} 19515 19516// SetCondition sets the Condition field's value. 19517func (s *RoutingRule) SetCondition(v *Condition) *RoutingRule { 19518 s.Condition = v 19519 return s 19520} 19521 19522// SetRedirect sets the Redirect field's value. 19523func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule { 19524 s.Redirect = v 19525 return s 19526} 19527 19528type Rule struct { 19529 _ struct{} `type:"structure"` 19530 19531 // Specifies the days since the initiation of an Incomplete Multipart Upload 19532 // that Lifecycle will wait before permanently removing all parts of the upload. 19533 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 19534 19535 Expiration *LifecycleExpiration `type:"structure"` 19536 19537 // Unique identifier for the rule. The value cannot be longer than 255 characters. 19538 ID *string `type:"string"` 19539 19540 // Specifies when noncurrent object versions expire. Upon expiration, Amazon 19541 // S3 permanently deletes the noncurrent object versions. You set this lifecycle 19542 // configuration action on a bucket that has versioning enabled (or suspended) 19543 // to request that Amazon S3 delete noncurrent object versions at a specific 19544 // period in the object's lifetime. 19545 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 19546 19547 // Container for the transition rule that describes when noncurrent objects 19548 // transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your 19549 // bucket is versioning-enabled (or versioning is suspended), you can set this 19550 // action to request that Amazon S3 transition noncurrent object versions to 19551 // the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period 19552 // in the object's lifetime. 19553 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` 19554 19555 // Prefix identifying one or more objects to which the rule applies. 19556 // 19557 // Prefix is a required field 19558 Prefix *string `type:"string" required:"true"` 19559 19560 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 19561 // is not currently being applied. 19562 // 19563 // Status is a required field 19564 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 19565 19566 Transition *Transition `type:"structure"` 19567} 19568 19569// String returns the string representation 19570func (s Rule) String() string { 19571 return awsutil.Prettify(s) 19572} 19573 19574// GoString returns the string representation 19575func (s Rule) GoString() string { 19576 return s.String() 19577} 19578 19579// Validate inspects the fields of the type to determine if they are valid. 19580func (s *Rule) Validate() error { 19581 invalidParams := request.ErrInvalidParams{Context: "Rule"} 19582 if s.Prefix == nil { 19583 invalidParams.Add(request.NewErrParamRequired("Prefix")) 19584 } 19585 if s.Status == nil { 19586 invalidParams.Add(request.NewErrParamRequired("Status")) 19587 } 19588 19589 if invalidParams.Len() > 0 { 19590 return invalidParams 19591 } 19592 return nil 19593} 19594 19595// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 19596func (s *Rule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *Rule { 19597 s.AbortIncompleteMultipartUpload = v 19598 return s 19599} 19600 19601// SetExpiration sets the Expiration field's value. 19602func (s *Rule) SetExpiration(v *LifecycleExpiration) *Rule { 19603 s.Expiration = v 19604 return s 19605} 19606 19607// SetID sets the ID field's value. 19608func (s *Rule) SetID(v string) *Rule { 19609 s.ID = &v 19610 return s 19611} 19612 19613// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 19614func (s *Rule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *Rule { 19615 s.NoncurrentVersionExpiration = v 19616 return s 19617} 19618 19619// SetNoncurrentVersionTransition sets the NoncurrentVersionTransition field's value. 19620func (s *Rule) SetNoncurrentVersionTransition(v *NoncurrentVersionTransition) *Rule { 19621 s.NoncurrentVersionTransition = v 19622 return s 19623} 19624 19625// SetPrefix sets the Prefix field's value. 19626func (s *Rule) SetPrefix(v string) *Rule { 19627 s.Prefix = &v 19628 return s 19629} 19630 19631// SetStatus sets the Status field's value. 19632func (s *Rule) SetStatus(v string) *Rule { 19633 s.Status = &v 19634 return s 19635} 19636 19637// SetTransition sets the Transition field's value. 19638func (s *Rule) SetTransition(v *Transition) *Rule { 19639 s.Transition = v 19640 return s 19641} 19642 19643// Specifies the use of SSE-KMS to encrypt delievered Inventory reports. 19644type SSEKMS struct { 19645 _ struct{} `locationName:"SSE-KMS" type:"structure"` 19646 19647 // Specifies the ID of the AWS Key Management Service (KMS) master encryption 19648 // key to use for encrypting Inventory reports. 19649 // 19650 // KeyId is a required field 19651 KeyId *string `type:"string" required:"true"` 19652} 19653 19654// String returns the string representation 19655func (s SSEKMS) String() string { 19656 return awsutil.Prettify(s) 19657} 19658 19659// GoString returns the string representation 19660func (s SSEKMS) GoString() string { 19661 return s.String() 19662} 19663 19664// Validate inspects the fields of the type to determine if they are valid. 19665func (s *SSEKMS) Validate() error { 19666 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 19667 if s.KeyId == nil { 19668 invalidParams.Add(request.NewErrParamRequired("KeyId")) 19669 } 19670 19671 if invalidParams.Len() > 0 { 19672 return invalidParams 19673 } 19674 return nil 19675} 19676 19677// SetKeyId sets the KeyId field's value. 19678func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 19679 s.KeyId = &v 19680 return s 19681} 19682 19683// Specifies the use of SSE-S3 to encrypt delievered Inventory reports. 19684type SSES3 struct { 19685 _ struct{} `locationName:"SSE-S3" type:"structure"` 19686} 19687 19688// String returns the string representation 19689func (s SSES3) String() string { 19690 return awsutil.Prettify(s) 19691} 19692 19693// GoString returns the string representation 19694func (s SSES3) GoString() string { 19695 return s.String() 19696} 19697 19698// SelectObjectContentEventStream provides handling of EventStreams for 19699// the SelectObjectContent API. 19700// 19701// Use this type to receive SelectObjectContentEventStream events. The events 19702// can be read from the Events channel member. 19703// 19704// The events that can be received are: 19705// 19706// * ContinuationEvent 19707// * EndEvent 19708// * ProgressEvent 19709// * RecordsEvent 19710// * StatsEvent 19711type SelectObjectContentEventStream struct { 19712 // Reader is the EventStream reader for the SelectObjectContentEventStream 19713 // events. This value is automatically set by the SDK when the API call is made 19714 // Use this member when unit testing your code with the SDK to mock out the 19715 // EventStream Reader. 19716 // 19717 // Must not be nil. 19718 Reader SelectObjectContentEventStreamReader 19719 19720 // StreamCloser is the io.Closer for the EventStream connection. For HTTP 19721 // EventStream this is the response Body. The stream will be closed when 19722 // the Close method of the EventStream is called. 19723 StreamCloser io.Closer 19724} 19725 19726// Close closes the EventStream. This will also cause the Events channel to be 19727// closed. You can use the closing of the Events channel to terminate your 19728// application's read from the API's EventStream. 19729// 19730// Will close the underlying EventStream reader. For EventStream over HTTP 19731// connection this will also close the HTTP connection. 19732// 19733// Close must be called when done using the EventStream API. Not calling Close 19734// may result in resource leaks. 19735func (es *SelectObjectContentEventStream) Close() (err error) { 19736 es.Reader.Close() 19737 return es.Err() 19738} 19739 19740// Err returns any error that occurred while reading EventStream Events from 19741// the service API's response. Returns nil if there were no errors. 19742func (es *SelectObjectContentEventStream) Err() error { 19743 if err := es.Reader.Err(); err != nil { 19744 return err 19745 } 19746 es.StreamCloser.Close() 19747 19748 return nil 19749} 19750 19751// Events returns a channel to read EventStream Events from the 19752// SelectObjectContent API. 19753// 19754// These events are: 19755// 19756// * ContinuationEvent 19757// * EndEvent 19758// * ProgressEvent 19759// * RecordsEvent 19760// * StatsEvent 19761func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { 19762 return es.Reader.Events() 19763} 19764 19765// SelectObjectContentEventStreamEvent groups together all EventStream 19766// events read from the SelectObjectContent API. 19767// 19768// These events are: 19769// 19770// * ContinuationEvent 19771// * EndEvent 19772// * ProgressEvent 19773// * RecordsEvent 19774// * StatsEvent 19775type SelectObjectContentEventStreamEvent interface { 19776 eventSelectObjectContentEventStream() 19777} 19778 19779// SelectObjectContentEventStreamReader provides the interface for reading EventStream 19780// Events from the SelectObjectContent API. The 19781// default implementation for this interface will be SelectObjectContentEventStream. 19782// 19783// The reader's Close method must allow multiple concurrent calls. 19784// 19785// These events are: 19786// 19787// * ContinuationEvent 19788// * EndEvent 19789// * ProgressEvent 19790// * RecordsEvent 19791// * StatsEvent 19792type SelectObjectContentEventStreamReader interface { 19793 // Returns a channel of events as they are read from the event stream. 19794 Events() <-chan SelectObjectContentEventStreamEvent 19795 19796 // Close will close the underlying event stream reader. For event stream over 19797 // HTTP this will also close the HTTP connection. 19798 Close() error 19799 19800 // Returns any error that has occured while reading from the event stream. 19801 Err() error 19802} 19803 19804type readSelectObjectContentEventStream struct { 19805 eventReader *eventstreamapi.EventReader 19806 stream chan SelectObjectContentEventStreamEvent 19807 errVal atomic.Value 19808 19809 done chan struct{} 19810 closeOnce sync.Once 19811} 19812 19813func newReadSelectObjectContentEventStream( 19814 reader io.ReadCloser, 19815 unmarshalers request.HandlerList, 19816 logger aws.Logger, 19817 logLevel aws.LogLevelType, 19818) *readSelectObjectContentEventStream { 19819 r := &readSelectObjectContentEventStream{ 19820 stream: make(chan SelectObjectContentEventStreamEvent), 19821 done: make(chan struct{}), 19822 } 19823 19824 r.eventReader = eventstreamapi.NewEventReader( 19825 reader, 19826 protocol.HandlerPayloadUnmarshal{ 19827 Unmarshalers: unmarshalers, 19828 }, 19829 r.unmarshalerForEventType, 19830 ) 19831 r.eventReader.UseLogger(logger, logLevel) 19832 19833 return r 19834} 19835 19836// Close will close the underlying event stream reader. For EventStream over 19837// HTTP this will also close the HTTP connection. 19838func (r *readSelectObjectContentEventStream) Close() error { 19839 r.closeOnce.Do(r.safeClose) 19840 19841 return r.Err() 19842} 19843 19844func (r *readSelectObjectContentEventStream) safeClose() { 19845 close(r.done) 19846 err := r.eventReader.Close() 19847 if err != nil { 19848 r.errVal.Store(err) 19849 } 19850} 19851 19852func (r *readSelectObjectContentEventStream) Err() error { 19853 if v := r.errVal.Load(); v != nil { 19854 return v.(error) 19855 } 19856 19857 return nil 19858} 19859 19860func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { 19861 return r.stream 19862} 19863 19864func (r *readSelectObjectContentEventStream) readEventStream() { 19865 defer close(r.stream) 19866 19867 for { 19868 event, err := r.eventReader.ReadEvent() 19869 if err != nil { 19870 if err == io.EOF { 19871 return 19872 } 19873 select { 19874 case <-r.done: 19875 // If closed already ignore the error 19876 return 19877 default: 19878 } 19879 r.errVal.Store(err) 19880 return 19881 } 19882 19883 select { 19884 case r.stream <- event.(SelectObjectContentEventStreamEvent): 19885 case <-r.done: 19886 return 19887 } 19888 } 19889} 19890 19891func (r *readSelectObjectContentEventStream) unmarshalerForEventType( 19892 eventType string, 19893) (eventstreamapi.Unmarshaler, error) { 19894 switch eventType { 19895 case "Cont": 19896 return &ContinuationEvent{}, nil 19897 19898 case "End": 19899 return &EndEvent{}, nil 19900 19901 case "Progress": 19902 return &ProgressEvent{}, nil 19903 19904 case "Records": 19905 return &RecordsEvent{}, nil 19906 19907 case "Stats": 19908 return &StatsEvent{}, nil 19909 default: 19910 return nil, awserr.New( 19911 request.ErrCodeSerialization, 19912 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType), 19913 nil, 19914 ) 19915 } 19916} 19917 19918// Request to filter the contents of an Amazon S3 object based on a simple Structured 19919// Query Language (SQL) statement. In the request, along with the SQL expression, 19920// you must also specify a data serialization format (JSON or CSV) of the object. 19921// Amazon S3 uses this to parse object data into records, and returns only records 19922// that match the specified SQL expression. You must also specify the data serialization 19923// format for the response. For more information, go to S3Select API Documentation 19924// (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). 19925type SelectObjectContentInput struct { 19926 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19927 19928 // The S3 Bucket. 19929 // 19930 // Bucket is a required field 19931 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19932 19933 // The expression that is used to query the object. 19934 // 19935 // Expression is a required field 19936 Expression *string `type:"string" required:"true"` 19937 19938 // The type of the provided expression (e.g., SQL). 19939 // 19940 // ExpressionType is a required field 19941 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"` 19942 19943 // Describes the format of the data in the object that is being queried. 19944 // 19945 // InputSerialization is a required field 19946 InputSerialization *InputSerialization `type:"structure" required:"true"` 19947 19948 // The Object Key. 19949 // 19950 // Key is a required field 19951 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 19952 19953 // Describes the format of the data that you want Amazon S3 to return in response. 19954 // 19955 // OutputSerialization is a required field 19956 OutputSerialization *OutputSerialization `type:"structure" required:"true"` 19957 19958 // Specifies if periodic request progress information should be enabled. 19959 RequestProgress *RequestProgress `type:"structure"` 19960 19961 // The SSE Algorithm used to encrypt the object. For more information, go to 19962 // Server-Side Encryption (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 19963 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 19964 19965 // The SSE Customer Key. For more information, go to Server-Side Encryption 19966 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 19967 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 19968 19969 // The SSE Customer Key MD5. For more information, go to Server-Side Encryption 19970 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 19971 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 19972} 19973 19974// String returns the string representation 19975func (s SelectObjectContentInput) String() string { 19976 return awsutil.Prettify(s) 19977} 19978 19979// GoString returns the string representation 19980func (s SelectObjectContentInput) GoString() string { 19981 return s.String() 19982} 19983 19984// Validate inspects the fields of the type to determine if they are valid. 19985func (s *SelectObjectContentInput) Validate() error { 19986 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"} 19987 if s.Bucket == nil { 19988 invalidParams.Add(request.NewErrParamRequired("Bucket")) 19989 } 19990 if s.Expression == nil { 19991 invalidParams.Add(request.NewErrParamRequired("Expression")) 19992 } 19993 if s.ExpressionType == nil { 19994 invalidParams.Add(request.NewErrParamRequired("ExpressionType")) 19995 } 19996 if s.InputSerialization == nil { 19997 invalidParams.Add(request.NewErrParamRequired("InputSerialization")) 19998 } 19999 if s.Key == nil { 20000 invalidParams.Add(request.NewErrParamRequired("Key")) 20001 } 20002 if s.Key != nil && len(*s.Key) < 1 { 20003 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20004 } 20005 if s.OutputSerialization == nil { 20006 invalidParams.Add(request.NewErrParamRequired("OutputSerialization")) 20007 } 20008 20009 if invalidParams.Len() > 0 { 20010 return invalidParams 20011 } 20012 return nil 20013} 20014 20015// SetBucket sets the Bucket field's value. 20016func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput { 20017 s.Bucket = &v 20018 return s 20019} 20020 20021func (s *SelectObjectContentInput) getBucket() (v string) { 20022 if s.Bucket == nil { 20023 return v 20024 } 20025 return *s.Bucket 20026} 20027 20028// SetExpression sets the Expression field's value. 20029func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput { 20030 s.Expression = &v 20031 return s 20032} 20033 20034// SetExpressionType sets the ExpressionType field's value. 20035func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput { 20036 s.ExpressionType = &v 20037 return s 20038} 20039 20040// SetInputSerialization sets the InputSerialization field's value. 20041func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput { 20042 s.InputSerialization = v 20043 return s 20044} 20045 20046// SetKey sets the Key field's value. 20047func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput { 20048 s.Key = &v 20049 return s 20050} 20051 20052// SetOutputSerialization sets the OutputSerialization field's value. 20053func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput { 20054 s.OutputSerialization = v 20055 return s 20056} 20057 20058// SetRequestProgress sets the RequestProgress field's value. 20059func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput { 20060 s.RequestProgress = v 20061 return s 20062} 20063 20064// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 20065func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput { 20066 s.SSECustomerAlgorithm = &v 20067 return s 20068} 20069 20070// SetSSECustomerKey sets the SSECustomerKey field's value. 20071func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput { 20072 s.SSECustomerKey = &v 20073 return s 20074} 20075 20076func (s *SelectObjectContentInput) getSSECustomerKey() (v string) { 20077 if s.SSECustomerKey == nil { 20078 return v 20079 } 20080 return *s.SSECustomerKey 20081} 20082 20083// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 20084func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput { 20085 s.SSECustomerKeyMD5 = &v 20086 return s 20087} 20088 20089type SelectObjectContentOutput struct { 20090 _ struct{} `type:"structure" payload:"Payload"` 20091 20092 // Use EventStream to use the API's stream. 20093 EventStream *SelectObjectContentEventStream `type:"structure"` 20094} 20095 20096// String returns the string representation 20097func (s SelectObjectContentOutput) String() string { 20098 return awsutil.Prettify(s) 20099} 20100 20101// GoString returns the string representation 20102func (s SelectObjectContentOutput) GoString() string { 20103 return s.String() 20104} 20105 20106// SetEventStream sets the EventStream field's value. 20107func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput { 20108 s.EventStream = v 20109 return s 20110} 20111 20112func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) { 20113 if r.Error != nil { 20114 return 20115 } 20116 reader := newReadSelectObjectContentEventStream( 20117 r.HTTPResponse.Body, 20118 r.Handlers.UnmarshalStream, 20119 r.Config.Logger, 20120 r.Config.LogLevel.Value(), 20121 ) 20122 go reader.readEventStream() 20123 20124 eventStream := &SelectObjectContentEventStream{ 20125 StreamCloser: r.HTTPResponse.Body, 20126 Reader: reader, 20127 } 20128 s.EventStream = eventStream 20129} 20130 20131// Describes the parameters for Select job types. 20132type SelectParameters struct { 20133 _ struct{} `type:"structure"` 20134 20135 // The expression that is used to query the object. 20136 // 20137 // Expression is a required field 20138 Expression *string `type:"string" required:"true"` 20139 20140 // The type of the provided expression (e.g., SQL). 20141 // 20142 // ExpressionType is a required field 20143 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"` 20144 20145 // Describes the serialization format of the object. 20146 // 20147 // InputSerialization is a required field 20148 InputSerialization *InputSerialization `type:"structure" required:"true"` 20149 20150 // Describes how the results of the Select job are serialized. 20151 // 20152 // OutputSerialization is a required field 20153 OutputSerialization *OutputSerialization `type:"structure" required:"true"` 20154} 20155 20156// String returns the string representation 20157func (s SelectParameters) String() string { 20158 return awsutil.Prettify(s) 20159} 20160 20161// GoString returns the string representation 20162func (s SelectParameters) GoString() string { 20163 return s.String() 20164} 20165 20166// Validate inspects the fields of the type to determine if they are valid. 20167func (s *SelectParameters) Validate() error { 20168 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"} 20169 if s.Expression == nil { 20170 invalidParams.Add(request.NewErrParamRequired("Expression")) 20171 } 20172 if s.ExpressionType == nil { 20173 invalidParams.Add(request.NewErrParamRequired("ExpressionType")) 20174 } 20175 if s.InputSerialization == nil { 20176 invalidParams.Add(request.NewErrParamRequired("InputSerialization")) 20177 } 20178 if s.OutputSerialization == nil { 20179 invalidParams.Add(request.NewErrParamRequired("OutputSerialization")) 20180 } 20181 20182 if invalidParams.Len() > 0 { 20183 return invalidParams 20184 } 20185 return nil 20186} 20187 20188// SetExpression sets the Expression field's value. 20189func (s *SelectParameters) SetExpression(v string) *SelectParameters { 20190 s.Expression = &v 20191 return s 20192} 20193 20194// SetExpressionType sets the ExpressionType field's value. 20195func (s *SelectParameters) SetExpressionType(v string) *SelectParameters { 20196 s.ExpressionType = &v 20197 return s 20198} 20199 20200// SetInputSerialization sets the InputSerialization field's value. 20201func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters { 20202 s.InputSerialization = v 20203 return s 20204} 20205 20206// SetOutputSerialization sets the OutputSerialization field's value. 20207func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters { 20208 s.OutputSerialization = v 20209 return s 20210} 20211 20212// Describes the default server-side encryption to apply to new objects in the 20213// bucket. If Put Object request does not specify any server-side encryption, 20214// this default encryption will be applied. 20215type ServerSideEncryptionByDefault struct { 20216 _ struct{} `type:"structure"` 20217 20218 // KMS master key ID to use for the default encryption. This parameter is allowed 20219 // if SSEAlgorithm is aws:kms. 20220 KMSMasterKeyID *string `type:"string"` 20221 20222 // Server-side encryption algorithm to use for the default encryption. 20223 // 20224 // SSEAlgorithm is a required field 20225 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"` 20226} 20227 20228// String returns the string representation 20229func (s ServerSideEncryptionByDefault) String() string { 20230 return awsutil.Prettify(s) 20231} 20232 20233// GoString returns the string representation 20234func (s ServerSideEncryptionByDefault) GoString() string { 20235 return s.String() 20236} 20237 20238// Validate inspects the fields of the type to determine if they are valid. 20239func (s *ServerSideEncryptionByDefault) Validate() error { 20240 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"} 20241 if s.SSEAlgorithm == nil { 20242 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm")) 20243 } 20244 20245 if invalidParams.Len() > 0 { 20246 return invalidParams 20247 } 20248 return nil 20249} 20250 20251// SetKMSMasterKeyID sets the KMSMasterKeyID field's value. 20252func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault { 20253 s.KMSMasterKeyID = &v 20254 return s 20255} 20256 20257// SetSSEAlgorithm sets the SSEAlgorithm field's value. 20258func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault { 20259 s.SSEAlgorithm = &v 20260 return s 20261} 20262 20263// Container for server-side encryption configuration rules. Currently S3 supports 20264// one rule only. 20265type ServerSideEncryptionConfiguration struct { 20266 _ struct{} `type:"structure"` 20267 20268 // Container for information about a particular server-side encryption configuration 20269 // rule. 20270 // 20271 // Rules is a required field 20272 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 20273} 20274 20275// String returns the string representation 20276func (s ServerSideEncryptionConfiguration) String() string { 20277 return awsutil.Prettify(s) 20278} 20279 20280// GoString returns the string representation 20281func (s ServerSideEncryptionConfiguration) GoString() string { 20282 return s.String() 20283} 20284 20285// Validate inspects the fields of the type to determine if they are valid. 20286func (s *ServerSideEncryptionConfiguration) Validate() error { 20287 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"} 20288 if s.Rules == nil { 20289 invalidParams.Add(request.NewErrParamRequired("Rules")) 20290 } 20291 if s.Rules != nil { 20292 for i, v := range s.Rules { 20293 if v == nil { 20294 continue 20295 } 20296 if err := v.Validate(); err != nil { 20297 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 20298 } 20299 } 20300 } 20301 20302 if invalidParams.Len() > 0 { 20303 return invalidParams 20304 } 20305 return nil 20306} 20307 20308// SetRules sets the Rules field's value. 20309func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration { 20310 s.Rules = v 20311 return s 20312} 20313 20314// Container for information about a particular server-side encryption configuration 20315// rule. 20316type ServerSideEncryptionRule struct { 20317 _ struct{} `type:"structure"` 20318 20319 // Describes the default server-side encryption to apply to new objects in the 20320 // bucket. If Put Object request does not specify any server-side encryption, 20321 // this default encryption will be applied. 20322 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"` 20323} 20324 20325// String returns the string representation 20326func (s ServerSideEncryptionRule) String() string { 20327 return awsutil.Prettify(s) 20328} 20329 20330// GoString returns the string representation 20331func (s ServerSideEncryptionRule) GoString() string { 20332 return s.String() 20333} 20334 20335// Validate inspects the fields of the type to determine if they are valid. 20336func (s *ServerSideEncryptionRule) Validate() error { 20337 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"} 20338 if s.ApplyServerSideEncryptionByDefault != nil { 20339 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil { 20340 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams)) 20341 } 20342 } 20343 20344 if invalidParams.Len() > 0 { 20345 return invalidParams 20346 } 20347 return nil 20348} 20349 20350// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value. 20351func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule { 20352 s.ApplyServerSideEncryptionByDefault = v 20353 return s 20354} 20355 20356// Container for filters that define which source objects should be replicated. 20357type SourceSelectionCriteria struct { 20358 _ struct{} `type:"structure"` 20359 20360 // Container for filter information of selection of KMS Encrypted S3 objects. 20361 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"` 20362} 20363 20364// String returns the string representation 20365func (s SourceSelectionCriteria) String() string { 20366 return awsutil.Prettify(s) 20367} 20368 20369// GoString returns the string representation 20370func (s SourceSelectionCriteria) GoString() string { 20371 return s.String() 20372} 20373 20374// Validate inspects the fields of the type to determine if they are valid. 20375func (s *SourceSelectionCriteria) Validate() error { 20376 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"} 20377 if s.SseKmsEncryptedObjects != nil { 20378 if err := s.SseKmsEncryptedObjects.Validate(); err != nil { 20379 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams)) 20380 } 20381 } 20382 20383 if invalidParams.Len() > 0 { 20384 return invalidParams 20385 } 20386 return nil 20387} 20388 20389// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value. 20390func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria { 20391 s.SseKmsEncryptedObjects = v 20392 return s 20393} 20394 20395// Container for filter information of selection of KMS Encrypted S3 objects. 20396type SseKmsEncryptedObjects struct { 20397 _ struct{} `type:"structure"` 20398 20399 // The replication for KMS encrypted S3 objects is disabled if status is not 20400 // Enabled. 20401 // 20402 // Status is a required field 20403 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"` 20404} 20405 20406// String returns the string representation 20407func (s SseKmsEncryptedObjects) String() string { 20408 return awsutil.Prettify(s) 20409} 20410 20411// GoString returns the string representation 20412func (s SseKmsEncryptedObjects) GoString() string { 20413 return s.String() 20414} 20415 20416// Validate inspects the fields of the type to determine if they are valid. 20417func (s *SseKmsEncryptedObjects) Validate() error { 20418 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"} 20419 if s.Status == nil { 20420 invalidParams.Add(request.NewErrParamRequired("Status")) 20421 } 20422 20423 if invalidParams.Len() > 0 { 20424 return invalidParams 20425 } 20426 return nil 20427} 20428 20429// SetStatus sets the Status field's value. 20430func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects { 20431 s.Status = &v 20432 return s 20433} 20434 20435type Stats struct { 20436 _ struct{} `type:"structure"` 20437 20438 // Total number of uncompressed object bytes processed. 20439 BytesProcessed *int64 `type:"long"` 20440 20441 // Total number of bytes of records payload data returned. 20442 BytesReturned *int64 `type:"long"` 20443 20444 // Total number of object bytes scanned. 20445 BytesScanned *int64 `type:"long"` 20446} 20447 20448// String returns the string representation 20449func (s Stats) String() string { 20450 return awsutil.Prettify(s) 20451} 20452 20453// GoString returns the string representation 20454func (s Stats) GoString() string { 20455 return s.String() 20456} 20457 20458// SetBytesProcessed sets the BytesProcessed field's value. 20459func (s *Stats) SetBytesProcessed(v int64) *Stats { 20460 s.BytesProcessed = &v 20461 return s 20462} 20463 20464// SetBytesReturned sets the BytesReturned field's value. 20465func (s *Stats) SetBytesReturned(v int64) *Stats { 20466 s.BytesReturned = &v 20467 return s 20468} 20469 20470// SetBytesScanned sets the BytesScanned field's value. 20471func (s *Stats) SetBytesScanned(v int64) *Stats { 20472 s.BytesScanned = &v 20473 return s 20474} 20475 20476type StatsEvent struct { 20477 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"` 20478 20479 // The Stats event details. 20480 Details *Stats `locationName:"Details" type:"structure"` 20481} 20482 20483// String returns the string representation 20484func (s StatsEvent) String() string { 20485 return awsutil.Prettify(s) 20486} 20487 20488// GoString returns the string representation 20489func (s StatsEvent) GoString() string { 20490 return s.String() 20491} 20492 20493// SetDetails sets the Details field's value. 20494func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent { 20495 s.Details = v 20496 return s 20497} 20498 20499// The StatsEvent is and event in the SelectObjectContentEventStream group of events. 20500func (s *StatsEvent) eventSelectObjectContentEventStream() {} 20501 20502// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value. 20503// This method is only used internally within the SDK's EventStream handling. 20504func (s *StatsEvent) UnmarshalEvent( 20505 payloadUnmarshaler protocol.PayloadUnmarshaler, 20506 msg eventstream.Message, 20507) error { 20508 if err := payloadUnmarshaler.UnmarshalPayload( 20509 bytes.NewReader(msg.Payload), s, 20510 ); err != nil { 20511 return err 20512 } 20513 return nil 20514} 20515 20516type StorageClassAnalysis struct { 20517 _ struct{} `type:"structure"` 20518 20519 // A container used to describe how data related to the storage class analysis 20520 // should be exported. 20521 DataExport *StorageClassAnalysisDataExport `type:"structure"` 20522} 20523 20524// String returns the string representation 20525func (s StorageClassAnalysis) String() string { 20526 return awsutil.Prettify(s) 20527} 20528 20529// GoString returns the string representation 20530func (s StorageClassAnalysis) GoString() string { 20531 return s.String() 20532} 20533 20534// Validate inspects the fields of the type to determine if they are valid. 20535func (s *StorageClassAnalysis) Validate() error { 20536 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysis"} 20537 if s.DataExport != nil { 20538 if err := s.DataExport.Validate(); err != nil { 20539 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 20540 } 20541 } 20542 20543 if invalidParams.Len() > 0 { 20544 return invalidParams 20545 } 20546 return nil 20547} 20548 20549// SetDataExport sets the DataExport field's value. 20550func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport) *StorageClassAnalysis { 20551 s.DataExport = v 20552 return s 20553} 20554 20555type StorageClassAnalysisDataExport struct { 20556 _ struct{} `type:"structure"` 20557 20558 // The place to store the data for an analysis. 20559 // 20560 // Destination is a required field 20561 Destination *AnalyticsExportDestination `type:"structure" required:"true"` 20562 20563 // The version of the output schema to use when exporting data. Must be V_1. 20564 // 20565 // OutputSchemaVersion is a required field 20566 OutputSchemaVersion *string `type:"string" required:"true" enum:"StorageClassAnalysisSchemaVersion"` 20567} 20568 20569// String returns the string representation 20570func (s StorageClassAnalysisDataExport) String() string { 20571 return awsutil.Prettify(s) 20572} 20573 20574// GoString returns the string representation 20575func (s StorageClassAnalysisDataExport) GoString() string { 20576 return s.String() 20577} 20578 20579// Validate inspects the fields of the type to determine if they are valid. 20580func (s *StorageClassAnalysisDataExport) Validate() error { 20581 invalidParams := request.ErrInvalidParams{Context: "StorageClassAnalysisDataExport"} 20582 if s.Destination == nil { 20583 invalidParams.Add(request.NewErrParamRequired("Destination")) 20584 } 20585 if s.OutputSchemaVersion == nil { 20586 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 20587 } 20588 if s.Destination != nil { 20589 if err := s.Destination.Validate(); err != nil { 20590 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 20591 } 20592 } 20593 20594 if invalidParams.Len() > 0 { 20595 return invalidParams 20596 } 20597 return nil 20598} 20599 20600// SetDestination sets the Destination field's value. 20601func (s *StorageClassAnalysisDataExport) SetDestination(v *AnalyticsExportDestination) *StorageClassAnalysisDataExport { 20602 s.Destination = v 20603 return s 20604} 20605 20606// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 20607func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *StorageClassAnalysisDataExport { 20608 s.OutputSchemaVersion = &v 20609 return s 20610} 20611 20612type Tag struct { 20613 _ struct{} `type:"structure"` 20614 20615 // Name of the tag. 20616 // 20617 // Key is a required field 20618 Key *string `min:"1" type:"string" required:"true"` 20619 20620 // Value of the tag. 20621 // 20622 // Value is a required field 20623 Value *string `type:"string" required:"true"` 20624} 20625 20626// String returns the string representation 20627func (s Tag) String() string { 20628 return awsutil.Prettify(s) 20629} 20630 20631// GoString returns the string representation 20632func (s Tag) GoString() string { 20633 return s.String() 20634} 20635 20636// Validate inspects the fields of the type to determine if they are valid. 20637func (s *Tag) Validate() error { 20638 invalidParams := request.ErrInvalidParams{Context: "Tag"} 20639 if s.Key == nil { 20640 invalidParams.Add(request.NewErrParamRequired("Key")) 20641 } 20642 if s.Key != nil && len(*s.Key) < 1 { 20643 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20644 } 20645 if s.Value == nil { 20646 invalidParams.Add(request.NewErrParamRequired("Value")) 20647 } 20648 20649 if invalidParams.Len() > 0 { 20650 return invalidParams 20651 } 20652 return nil 20653} 20654 20655// SetKey sets the Key field's value. 20656func (s *Tag) SetKey(v string) *Tag { 20657 s.Key = &v 20658 return s 20659} 20660 20661// SetValue sets the Value field's value. 20662func (s *Tag) SetValue(v string) *Tag { 20663 s.Value = &v 20664 return s 20665} 20666 20667type Tagging struct { 20668 _ struct{} `type:"structure"` 20669 20670 // TagSet is a required field 20671 TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` 20672} 20673 20674// String returns the string representation 20675func (s Tagging) String() string { 20676 return awsutil.Prettify(s) 20677} 20678 20679// GoString returns the string representation 20680func (s Tagging) GoString() string { 20681 return s.String() 20682} 20683 20684// Validate inspects the fields of the type to determine if they are valid. 20685func (s *Tagging) Validate() error { 20686 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 20687 if s.TagSet == nil { 20688 invalidParams.Add(request.NewErrParamRequired("TagSet")) 20689 } 20690 if s.TagSet != nil { 20691 for i, v := range s.TagSet { 20692 if v == nil { 20693 continue 20694 } 20695 if err := v.Validate(); err != nil { 20696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 20697 } 20698 } 20699 } 20700 20701 if invalidParams.Len() > 0 { 20702 return invalidParams 20703 } 20704 return nil 20705} 20706 20707// SetTagSet sets the TagSet field's value. 20708func (s *Tagging) SetTagSet(v []*Tag) *Tagging { 20709 s.TagSet = v 20710 return s 20711} 20712 20713type TargetGrant struct { 20714 _ struct{} `type:"structure"` 20715 20716 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 20717 20718 // Logging permissions assigned to the Grantee for the bucket. 20719 Permission *string `type:"string" enum:"BucketLogsPermission"` 20720} 20721 20722// String returns the string representation 20723func (s TargetGrant) String() string { 20724 return awsutil.Prettify(s) 20725} 20726 20727// GoString returns the string representation 20728func (s TargetGrant) GoString() string { 20729 return s.String() 20730} 20731 20732// Validate inspects the fields of the type to determine if they are valid. 20733func (s *TargetGrant) Validate() error { 20734 invalidParams := request.ErrInvalidParams{Context: "TargetGrant"} 20735 if s.Grantee != nil { 20736 if err := s.Grantee.Validate(); err != nil { 20737 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 20738 } 20739 } 20740 20741 if invalidParams.Len() > 0 { 20742 return invalidParams 20743 } 20744 return nil 20745} 20746 20747// SetGrantee sets the Grantee field's value. 20748func (s *TargetGrant) SetGrantee(v *Grantee) *TargetGrant { 20749 s.Grantee = v 20750 return s 20751} 20752 20753// SetPermission sets the Permission field's value. 20754func (s *TargetGrant) SetPermission(v string) *TargetGrant { 20755 s.Permission = &v 20756 return s 20757} 20758 20759// Container for specifying the configuration when you want Amazon S3 to publish 20760// events to an Amazon Simple Notification Service (Amazon SNS) topic. 20761type TopicConfiguration struct { 20762 _ struct{} `type:"structure"` 20763 20764 // Events is a required field 20765 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 20766 20767 // Container for object key name filtering rules. For information about key 20768 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 20769 // in the Amazon Simple Storage Service Developer Guide. 20770 Filter *NotificationConfigurationFilter `type:"structure"` 20771 20772 // Optional unique identifier for configurations in a notification configuration. 20773 // If you don't provide one, Amazon S3 will assign an ID. 20774 Id *string `type:"string"` 20775 20776 // Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects 20777 // events of specified type. 20778 // 20779 // TopicArn is a required field 20780 TopicArn *string `locationName:"Topic" type:"string" required:"true"` 20781} 20782 20783// String returns the string representation 20784func (s TopicConfiguration) String() string { 20785 return awsutil.Prettify(s) 20786} 20787 20788// GoString returns the string representation 20789func (s TopicConfiguration) GoString() string { 20790 return s.String() 20791} 20792 20793// Validate inspects the fields of the type to determine if they are valid. 20794func (s *TopicConfiguration) Validate() error { 20795 invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"} 20796 if s.Events == nil { 20797 invalidParams.Add(request.NewErrParamRequired("Events")) 20798 } 20799 if s.TopicArn == nil { 20800 invalidParams.Add(request.NewErrParamRequired("TopicArn")) 20801 } 20802 20803 if invalidParams.Len() > 0 { 20804 return invalidParams 20805 } 20806 return nil 20807} 20808 20809// SetEvents sets the Events field's value. 20810func (s *TopicConfiguration) SetEvents(v []*string) *TopicConfiguration { 20811 s.Events = v 20812 return s 20813} 20814 20815// SetFilter sets the Filter field's value. 20816func (s *TopicConfiguration) SetFilter(v *NotificationConfigurationFilter) *TopicConfiguration { 20817 s.Filter = v 20818 return s 20819} 20820 20821// SetId sets the Id field's value. 20822func (s *TopicConfiguration) SetId(v string) *TopicConfiguration { 20823 s.Id = &v 20824 return s 20825} 20826 20827// SetTopicArn sets the TopicArn field's value. 20828func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration { 20829 s.TopicArn = &v 20830 return s 20831} 20832 20833type TopicConfigurationDeprecated struct { 20834 _ struct{} `type:"structure"` 20835 20836 // Bucket event for which to send notifications. 20837 Event *string `deprecated:"true" type:"string" enum:"Event"` 20838 20839 Events []*string `locationName:"Event" type:"list" flattened:"true"` 20840 20841 // Optional unique identifier for configurations in a notification configuration. 20842 // If you don't provide one, Amazon S3 will assign an ID. 20843 Id *string `type:"string"` 20844 20845 // Amazon SNS topic to which Amazon S3 will publish a message to report the 20846 // specified events for the bucket. 20847 Topic *string `type:"string"` 20848} 20849 20850// String returns the string representation 20851func (s TopicConfigurationDeprecated) String() string { 20852 return awsutil.Prettify(s) 20853} 20854 20855// GoString returns the string representation 20856func (s TopicConfigurationDeprecated) GoString() string { 20857 return s.String() 20858} 20859 20860// SetEvent sets the Event field's value. 20861func (s *TopicConfigurationDeprecated) SetEvent(v string) *TopicConfigurationDeprecated { 20862 s.Event = &v 20863 return s 20864} 20865 20866// SetEvents sets the Events field's value. 20867func (s *TopicConfigurationDeprecated) SetEvents(v []*string) *TopicConfigurationDeprecated { 20868 s.Events = v 20869 return s 20870} 20871 20872// SetId sets the Id field's value. 20873func (s *TopicConfigurationDeprecated) SetId(v string) *TopicConfigurationDeprecated { 20874 s.Id = &v 20875 return s 20876} 20877 20878// SetTopic sets the Topic field's value. 20879func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDeprecated { 20880 s.Topic = &v 20881 return s 20882} 20883 20884type Transition struct { 20885 _ struct{} `type:"structure"` 20886 20887 // Indicates at what date the object is to be moved or deleted. Should be in 20888 // GMT ISO 8601 Format. 20889 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` 20890 20891 // Indicates the lifetime, in days, of the objects that are subject to the rule. 20892 // The value must be a non-zero positive integer. 20893 Days *int64 `type:"integer"` 20894 20895 // The class of storage used to store the object. 20896 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 20897} 20898 20899// String returns the string representation 20900func (s Transition) String() string { 20901 return awsutil.Prettify(s) 20902} 20903 20904// GoString returns the string representation 20905func (s Transition) GoString() string { 20906 return s.String() 20907} 20908 20909// SetDate sets the Date field's value. 20910func (s *Transition) SetDate(v time.Time) *Transition { 20911 s.Date = &v 20912 return s 20913} 20914 20915// SetDays sets the Days field's value. 20916func (s *Transition) SetDays(v int64) *Transition { 20917 s.Days = &v 20918 return s 20919} 20920 20921// SetStorageClass sets the StorageClass field's value. 20922func (s *Transition) SetStorageClass(v string) *Transition { 20923 s.StorageClass = &v 20924 return s 20925} 20926 20927type UploadPartCopyInput struct { 20928 _ struct{} `type:"structure"` 20929 20930 // Bucket is a required field 20931 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20932 20933 // The name of the source bucket and key name of the source object, separated 20934 // by a slash (/). Must be URL-encoded. 20935 // 20936 // CopySource is a required field 20937 CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` 20938 20939 // Copies the object if its entity tag (ETag) matches the specified tag. 20940 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 20941 20942 // Copies the object if it has been modified since the specified time. 20943 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"` 20944 20945 // Copies the object if its entity tag (ETag) is different than the specified 20946 // ETag. 20947 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 20948 20949 // Copies the object if it hasn't been modified since the specified time. 20950 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"` 20951 20952 // The range of bytes to copy from the source object. The range value must use 20953 // the form bytes=first-last, where the first and last are the zero-based byte 20954 // offsets to copy. For example, bytes=0-9 indicates that you want to copy the 20955 // first ten bytes of the source. You can copy a range only if the source object 20956 // is greater than 5 GB. 20957 CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"` 20958 20959 // Specifies the algorithm to use when decrypting the source object (e.g., AES256). 20960 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` 20961 20962 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 20963 // the source object. The encryption key provided in this header must be one 20964 // that was used when the source object was created. 20965 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` 20966 20967 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 20968 // Amazon S3 uses this header for a message integrity check to ensure the encryption 20969 // key was transmitted without error. 20970 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` 20971 20972 // Key is a required field 20973 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 20974 20975 // Part number of part being copied. This is a positive integer between 1 and 20976 // 10,000. 20977 // 20978 // PartNumber is a required field 20979 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` 20980 20981 // Confirms that the requester knows that she or he will be charged for the 20982 // request. Bucket owners need not specify this parameter in their requests. 20983 // Documentation on downloading objects from requester pays buckets can be found 20984 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20985 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20986 20987 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 20988 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 20989 20990 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 20991 // data. This value is used to store the object and then it is discarded; Amazon 20992 // does not store the encryption key. The key must be appropriate for use with 20993 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 20994 // header. This must be the same encryption key specified in the initiate multipart 20995 // upload request. 20996 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 20997 20998 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 20999 // Amazon S3 uses this header for a message integrity check to ensure the encryption 21000 // key was transmitted without error. 21001 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 21002 21003 // Upload ID identifying the multipart upload whose part is being copied. 21004 // 21005 // UploadId is a required field 21006 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 21007} 21008 21009// String returns the string representation 21010func (s UploadPartCopyInput) String() string { 21011 return awsutil.Prettify(s) 21012} 21013 21014// GoString returns the string representation 21015func (s UploadPartCopyInput) GoString() string { 21016 return s.String() 21017} 21018 21019// Validate inspects the fields of the type to determine if they are valid. 21020func (s *UploadPartCopyInput) Validate() error { 21021 invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"} 21022 if s.Bucket == nil { 21023 invalidParams.Add(request.NewErrParamRequired("Bucket")) 21024 } 21025 if s.CopySource == nil { 21026 invalidParams.Add(request.NewErrParamRequired("CopySource")) 21027 } 21028 if s.Key == nil { 21029 invalidParams.Add(request.NewErrParamRequired("Key")) 21030 } 21031 if s.Key != nil && len(*s.Key) < 1 { 21032 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21033 } 21034 if s.PartNumber == nil { 21035 invalidParams.Add(request.NewErrParamRequired("PartNumber")) 21036 } 21037 if s.UploadId == nil { 21038 invalidParams.Add(request.NewErrParamRequired("UploadId")) 21039 } 21040 21041 if invalidParams.Len() > 0 { 21042 return invalidParams 21043 } 21044 return nil 21045} 21046 21047// SetBucket sets the Bucket field's value. 21048func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput { 21049 s.Bucket = &v 21050 return s 21051} 21052 21053func (s *UploadPartCopyInput) getBucket() (v string) { 21054 if s.Bucket == nil { 21055 return v 21056 } 21057 return *s.Bucket 21058} 21059 21060// SetCopySource sets the CopySource field's value. 21061func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput { 21062 s.CopySource = &v 21063 return s 21064} 21065 21066// SetCopySourceIfMatch sets the CopySourceIfMatch field's value. 21067func (s *UploadPartCopyInput) SetCopySourceIfMatch(v string) *UploadPartCopyInput { 21068 s.CopySourceIfMatch = &v 21069 return s 21070} 21071 21072// SetCopySourceIfModifiedSince sets the CopySourceIfModifiedSince field's value. 21073func (s *UploadPartCopyInput) SetCopySourceIfModifiedSince(v time.Time) *UploadPartCopyInput { 21074 s.CopySourceIfModifiedSince = &v 21075 return s 21076} 21077 21078// SetCopySourceIfNoneMatch sets the CopySourceIfNoneMatch field's value. 21079func (s *UploadPartCopyInput) SetCopySourceIfNoneMatch(v string) *UploadPartCopyInput { 21080 s.CopySourceIfNoneMatch = &v 21081 return s 21082} 21083 21084// SetCopySourceIfUnmodifiedSince sets the CopySourceIfUnmodifiedSince field's value. 21085func (s *UploadPartCopyInput) SetCopySourceIfUnmodifiedSince(v time.Time) *UploadPartCopyInput { 21086 s.CopySourceIfUnmodifiedSince = &v 21087 return s 21088} 21089 21090// SetCopySourceRange sets the CopySourceRange field's value. 21091func (s *UploadPartCopyInput) SetCopySourceRange(v string) *UploadPartCopyInput { 21092 s.CopySourceRange = &v 21093 return s 21094} 21095 21096// SetCopySourceSSECustomerAlgorithm sets the CopySourceSSECustomerAlgorithm field's value. 21097func (s *UploadPartCopyInput) SetCopySourceSSECustomerAlgorithm(v string) *UploadPartCopyInput { 21098 s.CopySourceSSECustomerAlgorithm = &v 21099 return s 21100} 21101 21102// SetCopySourceSSECustomerKey sets the CopySourceSSECustomerKey field's value. 21103func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartCopyInput { 21104 s.CopySourceSSECustomerKey = &v 21105 return s 21106} 21107 21108func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) { 21109 if s.CopySourceSSECustomerKey == nil { 21110 return v 21111 } 21112 return *s.CopySourceSSECustomerKey 21113} 21114 21115// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 21116func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput { 21117 s.CopySourceSSECustomerKeyMD5 = &v 21118 return s 21119} 21120 21121// SetKey sets the Key field's value. 21122func (s *UploadPartCopyInput) SetKey(v string) *UploadPartCopyInput { 21123 s.Key = &v 21124 return s 21125} 21126 21127// SetPartNumber sets the PartNumber field's value. 21128func (s *UploadPartCopyInput) SetPartNumber(v int64) *UploadPartCopyInput { 21129 s.PartNumber = &v 21130 return s 21131} 21132 21133// SetRequestPayer sets the RequestPayer field's value. 21134func (s *UploadPartCopyInput) SetRequestPayer(v string) *UploadPartCopyInput { 21135 s.RequestPayer = &v 21136 return s 21137} 21138 21139// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 21140func (s *UploadPartCopyInput) SetSSECustomerAlgorithm(v string) *UploadPartCopyInput { 21141 s.SSECustomerAlgorithm = &v 21142 return s 21143} 21144 21145// SetSSECustomerKey sets the SSECustomerKey field's value. 21146func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput { 21147 s.SSECustomerKey = &v 21148 return s 21149} 21150 21151func (s *UploadPartCopyInput) getSSECustomerKey() (v string) { 21152 if s.SSECustomerKey == nil { 21153 return v 21154 } 21155 return *s.SSECustomerKey 21156} 21157 21158// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21159func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput { 21160 s.SSECustomerKeyMD5 = &v 21161 return s 21162} 21163 21164// SetUploadId sets the UploadId field's value. 21165func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput { 21166 s.UploadId = &v 21167 return s 21168} 21169 21170type UploadPartCopyOutput struct { 21171 _ struct{} `type:"structure" payload:"CopyPartResult"` 21172 21173 CopyPartResult *CopyPartResult `type:"structure"` 21174 21175 // The version of the source object that was copied, if you have enabled versioning 21176 // on the source bucket. 21177 CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` 21178 21179 // If present, indicates that the requester was successfully charged for the 21180 // request. 21181 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 21182 21183 // If server-side encryption with a customer-provided encryption key was requested, 21184 // the response will include this header confirming the encryption algorithm 21185 // used. 21186 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 21187 21188 // If server-side encryption with a customer-provided encryption key was requested, 21189 // the response will include this header to provide round trip message integrity 21190 // verification of the customer-provided encryption key. 21191 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 21192 21193 // If present, specifies the ID of the AWS Key Management Service (KMS) master 21194 // encryption key that was used for the object. 21195 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 21196 21197 // The Server-side encryption algorithm used when storing this object in S3 21198 // (e.g., AES256, aws:kms). 21199 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 21200} 21201 21202// String returns the string representation 21203func (s UploadPartCopyOutput) String() string { 21204 return awsutil.Prettify(s) 21205} 21206 21207// GoString returns the string representation 21208func (s UploadPartCopyOutput) GoString() string { 21209 return s.String() 21210} 21211 21212// SetCopyPartResult sets the CopyPartResult field's value. 21213func (s *UploadPartCopyOutput) SetCopyPartResult(v *CopyPartResult) *UploadPartCopyOutput { 21214 s.CopyPartResult = v 21215 return s 21216} 21217 21218// SetCopySourceVersionId sets the CopySourceVersionId field's value. 21219func (s *UploadPartCopyOutput) SetCopySourceVersionId(v string) *UploadPartCopyOutput { 21220 s.CopySourceVersionId = &v 21221 return s 21222} 21223 21224// SetRequestCharged sets the RequestCharged field's value. 21225func (s *UploadPartCopyOutput) SetRequestCharged(v string) *UploadPartCopyOutput { 21226 s.RequestCharged = &v 21227 return s 21228} 21229 21230// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 21231func (s *UploadPartCopyOutput) SetSSECustomerAlgorithm(v string) *UploadPartCopyOutput { 21232 s.SSECustomerAlgorithm = &v 21233 return s 21234} 21235 21236// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21237func (s *UploadPartCopyOutput) SetSSECustomerKeyMD5(v string) *UploadPartCopyOutput { 21238 s.SSECustomerKeyMD5 = &v 21239 return s 21240} 21241 21242// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 21243func (s *UploadPartCopyOutput) SetSSEKMSKeyId(v string) *UploadPartCopyOutput { 21244 s.SSEKMSKeyId = &v 21245 return s 21246} 21247 21248// SetServerSideEncryption sets the ServerSideEncryption field's value. 21249func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopyOutput { 21250 s.ServerSideEncryption = &v 21251 return s 21252} 21253 21254type UploadPartInput struct { 21255 _ struct{} `type:"structure" payload:"Body"` 21256 21257 // Object data. 21258 Body io.ReadSeeker `type:"blob"` 21259 21260 // Name of the bucket to which the multipart upload was initiated. 21261 // 21262 // Bucket is a required field 21263 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 21264 21265 // Size of the body in bytes. This parameter is useful when the size of the 21266 // body cannot be determined automatically. 21267 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 21268 21269 // The base64-encoded 128-bit MD5 digest of the part data. 21270 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 21271 21272 // Object key for which the multipart upload was initiated. 21273 // 21274 // Key is a required field 21275 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 21276 21277 // Part number of part being uploaded. This is a positive integer between 1 21278 // and 10,000. 21279 // 21280 // PartNumber is a required field 21281 PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` 21282 21283 // Confirms that the requester knows that she or he will be charged for the 21284 // request. Bucket owners need not specify this parameter in their requests. 21285 // Documentation on downloading objects from requester pays buckets can be found 21286 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 21287 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 21288 21289 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 21290 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 21291 21292 // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting 21293 // data. This value is used to store the object and then it is discarded; Amazon 21294 // does not store the encryption key. The key must be appropriate for use with 21295 // the algorithm specified in the x-amz-server-side-encryption-customer-algorithm 21296 // header. This must be the same encryption key specified in the initiate multipart 21297 // upload request. 21298 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` 21299 21300 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 21301 // Amazon S3 uses this header for a message integrity check to ensure the encryption 21302 // key was transmitted without error. 21303 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 21304 21305 // Upload ID identifying the multipart upload whose part is being uploaded. 21306 // 21307 // UploadId is a required field 21308 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 21309} 21310 21311// String returns the string representation 21312func (s UploadPartInput) String() string { 21313 return awsutil.Prettify(s) 21314} 21315 21316// GoString returns the string representation 21317func (s UploadPartInput) GoString() string { 21318 return s.String() 21319} 21320 21321// Validate inspects the fields of the type to determine if they are valid. 21322func (s *UploadPartInput) Validate() error { 21323 invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"} 21324 if s.Bucket == nil { 21325 invalidParams.Add(request.NewErrParamRequired("Bucket")) 21326 } 21327 if s.Key == nil { 21328 invalidParams.Add(request.NewErrParamRequired("Key")) 21329 } 21330 if s.Key != nil && len(*s.Key) < 1 { 21331 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21332 } 21333 if s.PartNumber == nil { 21334 invalidParams.Add(request.NewErrParamRequired("PartNumber")) 21335 } 21336 if s.UploadId == nil { 21337 invalidParams.Add(request.NewErrParamRequired("UploadId")) 21338 } 21339 21340 if invalidParams.Len() > 0 { 21341 return invalidParams 21342 } 21343 return nil 21344} 21345 21346// SetBody sets the Body field's value. 21347func (s *UploadPartInput) SetBody(v io.ReadSeeker) *UploadPartInput { 21348 s.Body = v 21349 return s 21350} 21351 21352// SetBucket sets the Bucket field's value. 21353func (s *UploadPartInput) SetBucket(v string) *UploadPartInput { 21354 s.Bucket = &v 21355 return s 21356} 21357 21358func (s *UploadPartInput) getBucket() (v string) { 21359 if s.Bucket == nil { 21360 return v 21361 } 21362 return *s.Bucket 21363} 21364 21365// SetContentLength sets the ContentLength field's value. 21366func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput { 21367 s.ContentLength = &v 21368 return s 21369} 21370 21371// SetContentMD5 sets the ContentMD5 field's value. 21372func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput { 21373 s.ContentMD5 = &v 21374 return s 21375} 21376 21377// SetKey sets the Key field's value. 21378func (s *UploadPartInput) SetKey(v string) *UploadPartInput { 21379 s.Key = &v 21380 return s 21381} 21382 21383// SetPartNumber sets the PartNumber field's value. 21384func (s *UploadPartInput) SetPartNumber(v int64) *UploadPartInput { 21385 s.PartNumber = &v 21386 return s 21387} 21388 21389// SetRequestPayer sets the RequestPayer field's value. 21390func (s *UploadPartInput) SetRequestPayer(v string) *UploadPartInput { 21391 s.RequestPayer = &v 21392 return s 21393} 21394 21395// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 21396func (s *UploadPartInput) SetSSECustomerAlgorithm(v string) *UploadPartInput { 21397 s.SSECustomerAlgorithm = &v 21398 return s 21399} 21400 21401// SetSSECustomerKey sets the SSECustomerKey field's value. 21402func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput { 21403 s.SSECustomerKey = &v 21404 return s 21405} 21406 21407func (s *UploadPartInput) getSSECustomerKey() (v string) { 21408 if s.SSECustomerKey == nil { 21409 return v 21410 } 21411 return *s.SSECustomerKey 21412} 21413 21414// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21415func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput { 21416 s.SSECustomerKeyMD5 = &v 21417 return s 21418} 21419 21420// SetUploadId sets the UploadId field's value. 21421func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput { 21422 s.UploadId = &v 21423 return s 21424} 21425 21426type UploadPartOutput struct { 21427 _ struct{} `type:"structure"` 21428 21429 // Entity tag for the uploaded object. 21430 ETag *string `location:"header" locationName:"ETag" type:"string"` 21431 21432 // If present, indicates that the requester was successfully charged for the 21433 // request. 21434 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 21435 21436 // If server-side encryption with a customer-provided encryption key was requested, 21437 // the response will include this header confirming the encryption algorithm 21438 // used. 21439 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 21440 21441 // If server-side encryption with a customer-provided encryption key was requested, 21442 // the response will include this header to provide round trip message integrity 21443 // verification of the customer-provided encryption key. 21444 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 21445 21446 // If present, specifies the ID of the AWS Key Management Service (KMS) master 21447 // encryption key that was used for the object. 21448 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` 21449 21450 // The Server-side encryption algorithm used when storing this object in S3 21451 // (e.g., AES256, aws:kms). 21452 ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` 21453} 21454 21455// String returns the string representation 21456func (s UploadPartOutput) String() string { 21457 return awsutil.Prettify(s) 21458} 21459 21460// GoString returns the string representation 21461func (s UploadPartOutput) GoString() string { 21462 return s.String() 21463} 21464 21465// SetETag sets the ETag field's value. 21466func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput { 21467 s.ETag = &v 21468 return s 21469} 21470 21471// SetRequestCharged sets the RequestCharged field's value. 21472func (s *UploadPartOutput) SetRequestCharged(v string) *UploadPartOutput { 21473 s.RequestCharged = &v 21474 return s 21475} 21476 21477// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value. 21478func (s *UploadPartOutput) SetSSECustomerAlgorithm(v string) *UploadPartOutput { 21479 s.SSECustomerAlgorithm = &v 21480 return s 21481} 21482 21483// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21484func (s *UploadPartOutput) SetSSECustomerKeyMD5(v string) *UploadPartOutput { 21485 s.SSECustomerKeyMD5 = &v 21486 return s 21487} 21488 21489// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 21490func (s *UploadPartOutput) SetSSEKMSKeyId(v string) *UploadPartOutput { 21491 s.SSEKMSKeyId = &v 21492 return s 21493} 21494 21495// SetServerSideEncryption sets the ServerSideEncryption field's value. 21496func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput { 21497 s.ServerSideEncryption = &v 21498 return s 21499} 21500 21501type VersioningConfiguration struct { 21502 _ struct{} `type:"structure"` 21503 21504 // Specifies whether MFA delete is enabled in the bucket versioning configuration. 21505 // This element is only returned if the bucket has been configured with MFA 21506 // delete. If the bucket has never been so configured, this element is not returned. 21507 MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"` 21508 21509 // The versioning state of the bucket. 21510 Status *string `type:"string" enum:"BucketVersioningStatus"` 21511} 21512 21513// String returns the string representation 21514func (s VersioningConfiguration) String() string { 21515 return awsutil.Prettify(s) 21516} 21517 21518// GoString returns the string representation 21519func (s VersioningConfiguration) GoString() string { 21520 return s.String() 21521} 21522 21523// SetMFADelete sets the MFADelete field's value. 21524func (s *VersioningConfiguration) SetMFADelete(v string) *VersioningConfiguration { 21525 s.MFADelete = &v 21526 return s 21527} 21528 21529// SetStatus sets the Status field's value. 21530func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration { 21531 s.Status = &v 21532 return s 21533} 21534 21535type WebsiteConfiguration struct { 21536 _ struct{} `type:"structure"` 21537 21538 ErrorDocument *ErrorDocument `type:"structure"` 21539 21540 IndexDocument *IndexDocument `type:"structure"` 21541 21542 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 21543 21544 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 21545} 21546 21547// String returns the string representation 21548func (s WebsiteConfiguration) String() string { 21549 return awsutil.Prettify(s) 21550} 21551 21552// GoString returns the string representation 21553func (s WebsiteConfiguration) GoString() string { 21554 return s.String() 21555} 21556 21557// Validate inspects the fields of the type to determine if they are valid. 21558func (s *WebsiteConfiguration) Validate() error { 21559 invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"} 21560 if s.ErrorDocument != nil { 21561 if err := s.ErrorDocument.Validate(); err != nil { 21562 invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams)) 21563 } 21564 } 21565 if s.IndexDocument != nil { 21566 if err := s.IndexDocument.Validate(); err != nil { 21567 invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams)) 21568 } 21569 } 21570 if s.RedirectAllRequestsTo != nil { 21571 if err := s.RedirectAllRequestsTo.Validate(); err != nil { 21572 invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams)) 21573 } 21574 } 21575 if s.RoutingRules != nil { 21576 for i, v := range s.RoutingRules { 21577 if v == nil { 21578 continue 21579 } 21580 if err := v.Validate(); err != nil { 21581 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams)) 21582 } 21583 } 21584 } 21585 21586 if invalidParams.Len() > 0 { 21587 return invalidParams 21588 } 21589 return nil 21590} 21591 21592// SetErrorDocument sets the ErrorDocument field's value. 21593func (s *WebsiteConfiguration) SetErrorDocument(v *ErrorDocument) *WebsiteConfiguration { 21594 s.ErrorDocument = v 21595 return s 21596} 21597 21598// SetIndexDocument sets the IndexDocument field's value. 21599func (s *WebsiteConfiguration) SetIndexDocument(v *IndexDocument) *WebsiteConfiguration { 21600 s.IndexDocument = v 21601 return s 21602} 21603 21604// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value. 21605func (s *WebsiteConfiguration) SetRedirectAllRequestsTo(v *RedirectAllRequestsTo) *WebsiteConfiguration { 21606 s.RedirectAllRequestsTo = v 21607 return s 21608} 21609 21610// SetRoutingRules sets the RoutingRules field's value. 21611func (s *WebsiteConfiguration) SetRoutingRules(v []*RoutingRule) *WebsiteConfiguration { 21612 s.RoutingRules = v 21613 return s 21614} 21615 21616const ( 21617 // AnalyticsS3ExportFileFormatCsv is a AnalyticsS3ExportFileFormat enum value 21618 AnalyticsS3ExportFileFormatCsv = "CSV" 21619) 21620 21621const ( 21622 // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value 21623 BucketAccelerateStatusEnabled = "Enabled" 21624 21625 // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value 21626 BucketAccelerateStatusSuspended = "Suspended" 21627) 21628 21629const ( 21630 // BucketCannedACLPrivate is a BucketCannedACL enum value 21631 BucketCannedACLPrivate = "private" 21632 21633 // BucketCannedACLPublicRead is a BucketCannedACL enum value 21634 BucketCannedACLPublicRead = "public-read" 21635 21636 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 21637 BucketCannedACLPublicReadWrite = "public-read-write" 21638 21639 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 21640 BucketCannedACLAuthenticatedRead = "authenticated-read" 21641) 21642 21643const ( 21644 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 21645 BucketLocationConstraintEu = "EU" 21646 21647 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 21648 BucketLocationConstraintEuWest1 = "eu-west-1" 21649 21650 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 21651 BucketLocationConstraintUsWest1 = "us-west-1" 21652 21653 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 21654 BucketLocationConstraintUsWest2 = "us-west-2" 21655 21656 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 21657 BucketLocationConstraintApSouth1 = "ap-south-1" 21658 21659 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 21660 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 21661 21662 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 21663 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 21664 21665 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 21666 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 21667 21668 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 21669 BucketLocationConstraintSaEast1 = "sa-east-1" 21670 21671 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 21672 BucketLocationConstraintCnNorth1 = "cn-north-1" 21673 21674 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 21675 BucketLocationConstraintEuCentral1 = "eu-central-1" 21676) 21677 21678const ( 21679 // BucketLogsPermissionFullControl is a BucketLogsPermission enum value 21680 BucketLogsPermissionFullControl = "FULL_CONTROL" 21681 21682 // BucketLogsPermissionRead is a BucketLogsPermission enum value 21683 BucketLogsPermissionRead = "READ" 21684 21685 // BucketLogsPermissionWrite is a BucketLogsPermission enum value 21686 BucketLogsPermissionWrite = "WRITE" 21687) 21688 21689const ( 21690 // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value 21691 BucketVersioningStatusEnabled = "Enabled" 21692 21693 // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value 21694 BucketVersioningStatusSuspended = "Suspended" 21695) 21696 21697const ( 21698 // CompressionTypeNone is a CompressionType enum value 21699 CompressionTypeNone = "NONE" 21700 21701 // CompressionTypeGzip is a CompressionType enum value 21702 CompressionTypeGzip = "GZIP" 21703 21704 // CompressionTypeBzip2 is a CompressionType enum value 21705 CompressionTypeBzip2 = "BZIP2" 21706) 21707 21708// Requests Amazon S3 to encode the object keys in the response and specifies 21709// the encoding method to use. An object key may contain any Unicode character; 21710// however, XML 1.0 parser cannot parse some characters, such as characters 21711// with an ASCII value from 0 to 10. For characters that are not supported in 21712// XML 1.0, you can add this parameter to request that Amazon S3 encode the 21713// keys in the response. 21714const ( 21715 // EncodingTypeUrl is a EncodingType enum value 21716 EncodingTypeUrl = "url" 21717) 21718 21719// Bucket event for which to send notifications. 21720const ( 21721 // EventS3ReducedRedundancyLostObject is a Event enum value 21722 EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject" 21723 21724 // EventS3ObjectCreated is a Event enum value 21725 EventS3ObjectCreated = "s3:ObjectCreated:*" 21726 21727 // EventS3ObjectCreatedPut is a Event enum value 21728 EventS3ObjectCreatedPut = "s3:ObjectCreated:Put" 21729 21730 // EventS3ObjectCreatedPost is a Event enum value 21731 EventS3ObjectCreatedPost = "s3:ObjectCreated:Post" 21732 21733 // EventS3ObjectCreatedCopy is a Event enum value 21734 EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy" 21735 21736 // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value 21737 EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload" 21738 21739 // EventS3ObjectRemoved is a Event enum value 21740 EventS3ObjectRemoved = "s3:ObjectRemoved:*" 21741 21742 // EventS3ObjectRemovedDelete is a Event enum value 21743 EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete" 21744 21745 // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value 21746 EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated" 21747) 21748 21749const ( 21750 // ExpirationStatusEnabled is a ExpirationStatus enum value 21751 ExpirationStatusEnabled = "Enabled" 21752 21753 // ExpirationStatusDisabled is a ExpirationStatus enum value 21754 ExpirationStatusDisabled = "Disabled" 21755) 21756 21757const ( 21758 // ExpressionTypeSql is a ExpressionType enum value 21759 ExpressionTypeSql = "SQL" 21760) 21761 21762const ( 21763 // FileHeaderInfoUse is a FileHeaderInfo enum value 21764 FileHeaderInfoUse = "USE" 21765 21766 // FileHeaderInfoIgnore is a FileHeaderInfo enum value 21767 FileHeaderInfoIgnore = "IGNORE" 21768 21769 // FileHeaderInfoNone is a FileHeaderInfo enum value 21770 FileHeaderInfoNone = "NONE" 21771) 21772 21773const ( 21774 // FilterRuleNamePrefix is a FilterRuleName enum value 21775 FilterRuleNamePrefix = "prefix" 21776 21777 // FilterRuleNameSuffix is a FilterRuleName enum value 21778 FilterRuleNameSuffix = "suffix" 21779) 21780 21781const ( 21782 // InventoryFormatCsv is a InventoryFormat enum value 21783 InventoryFormatCsv = "CSV" 21784 21785 // InventoryFormatOrc is a InventoryFormat enum value 21786 InventoryFormatOrc = "ORC" 21787) 21788 21789const ( 21790 // InventoryFrequencyDaily is a InventoryFrequency enum value 21791 InventoryFrequencyDaily = "Daily" 21792 21793 // InventoryFrequencyWeekly is a InventoryFrequency enum value 21794 InventoryFrequencyWeekly = "Weekly" 21795) 21796 21797const ( 21798 // InventoryIncludedObjectVersionsAll is a InventoryIncludedObjectVersions enum value 21799 InventoryIncludedObjectVersionsAll = "All" 21800 21801 // InventoryIncludedObjectVersionsCurrent is a InventoryIncludedObjectVersions enum value 21802 InventoryIncludedObjectVersionsCurrent = "Current" 21803) 21804 21805const ( 21806 // InventoryOptionalFieldSize is a InventoryOptionalField enum value 21807 InventoryOptionalFieldSize = "Size" 21808 21809 // InventoryOptionalFieldLastModifiedDate is a InventoryOptionalField enum value 21810 InventoryOptionalFieldLastModifiedDate = "LastModifiedDate" 21811 21812 // InventoryOptionalFieldStorageClass is a InventoryOptionalField enum value 21813 InventoryOptionalFieldStorageClass = "StorageClass" 21814 21815 // InventoryOptionalFieldEtag is a InventoryOptionalField enum value 21816 InventoryOptionalFieldEtag = "ETag" 21817 21818 // InventoryOptionalFieldIsMultipartUploaded is a InventoryOptionalField enum value 21819 InventoryOptionalFieldIsMultipartUploaded = "IsMultipartUploaded" 21820 21821 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value 21822 InventoryOptionalFieldReplicationStatus = "ReplicationStatus" 21823 21824 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value 21825 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus" 21826) 21827 21828const ( 21829 // JSONTypeDocument is a JSONType enum value 21830 JSONTypeDocument = "DOCUMENT" 21831 21832 // JSONTypeLines is a JSONType enum value 21833 JSONTypeLines = "LINES" 21834) 21835 21836const ( 21837 // MFADeleteEnabled is a MFADelete enum value 21838 MFADeleteEnabled = "Enabled" 21839 21840 // MFADeleteDisabled is a MFADelete enum value 21841 MFADeleteDisabled = "Disabled" 21842) 21843 21844const ( 21845 // MFADeleteStatusEnabled is a MFADeleteStatus enum value 21846 MFADeleteStatusEnabled = "Enabled" 21847 21848 // MFADeleteStatusDisabled is a MFADeleteStatus enum value 21849 MFADeleteStatusDisabled = "Disabled" 21850) 21851 21852const ( 21853 // MetadataDirectiveCopy is a MetadataDirective enum value 21854 MetadataDirectiveCopy = "COPY" 21855 21856 // MetadataDirectiveReplace is a MetadataDirective enum value 21857 MetadataDirectiveReplace = "REPLACE" 21858) 21859 21860const ( 21861 // ObjectCannedACLPrivate is a ObjectCannedACL enum value 21862 ObjectCannedACLPrivate = "private" 21863 21864 // ObjectCannedACLPublicRead is a ObjectCannedACL enum value 21865 ObjectCannedACLPublicRead = "public-read" 21866 21867 // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value 21868 ObjectCannedACLPublicReadWrite = "public-read-write" 21869 21870 // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value 21871 ObjectCannedACLAuthenticatedRead = "authenticated-read" 21872 21873 // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value 21874 ObjectCannedACLAwsExecRead = "aws-exec-read" 21875 21876 // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value 21877 ObjectCannedACLBucketOwnerRead = "bucket-owner-read" 21878 21879 // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value 21880 ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control" 21881) 21882 21883const ( 21884 // ObjectStorageClassStandard is a ObjectStorageClass enum value 21885 ObjectStorageClassStandard = "STANDARD" 21886 21887 // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value 21888 ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" 21889 21890 // ObjectStorageClassGlacier is a ObjectStorageClass enum value 21891 ObjectStorageClassGlacier = "GLACIER" 21892 21893 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value 21894 ObjectStorageClassStandardIa = "STANDARD_IA" 21895 21896 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value 21897 ObjectStorageClassOnezoneIa = "ONEZONE_IA" 21898) 21899 21900const ( 21901 // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value 21902 ObjectVersionStorageClassStandard = "STANDARD" 21903) 21904 21905const ( 21906 // OwnerOverrideDestination is a OwnerOverride enum value 21907 OwnerOverrideDestination = "Destination" 21908) 21909 21910const ( 21911 // PayerRequester is a Payer enum value 21912 PayerRequester = "Requester" 21913 21914 // PayerBucketOwner is a Payer enum value 21915 PayerBucketOwner = "BucketOwner" 21916) 21917 21918const ( 21919 // PermissionFullControl is a Permission enum value 21920 PermissionFullControl = "FULL_CONTROL" 21921 21922 // PermissionWrite is a Permission enum value 21923 PermissionWrite = "WRITE" 21924 21925 // PermissionWriteAcp is a Permission enum value 21926 PermissionWriteAcp = "WRITE_ACP" 21927 21928 // PermissionRead is a Permission enum value 21929 PermissionRead = "READ" 21930 21931 // PermissionReadAcp is a Permission enum value 21932 PermissionReadAcp = "READ_ACP" 21933) 21934 21935const ( 21936 // ProtocolHttp is a Protocol enum value 21937 ProtocolHttp = "http" 21938 21939 // ProtocolHttps is a Protocol enum value 21940 ProtocolHttps = "https" 21941) 21942 21943const ( 21944 // QuoteFieldsAlways is a QuoteFields enum value 21945 QuoteFieldsAlways = "ALWAYS" 21946 21947 // QuoteFieldsAsneeded is a QuoteFields enum value 21948 QuoteFieldsAsneeded = "ASNEEDED" 21949) 21950 21951const ( 21952 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value 21953 ReplicationRuleStatusEnabled = "Enabled" 21954 21955 // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value 21956 ReplicationRuleStatusDisabled = "Disabled" 21957) 21958 21959const ( 21960 // ReplicationStatusComplete is a ReplicationStatus enum value 21961 ReplicationStatusComplete = "COMPLETE" 21962 21963 // ReplicationStatusPending is a ReplicationStatus enum value 21964 ReplicationStatusPending = "PENDING" 21965 21966 // ReplicationStatusFailed is a ReplicationStatus enum value 21967 ReplicationStatusFailed = "FAILED" 21968 21969 // ReplicationStatusReplica is a ReplicationStatus enum value 21970 ReplicationStatusReplica = "REPLICA" 21971) 21972 21973// If present, indicates that the requester was successfully charged for the 21974// request. 21975const ( 21976 // RequestChargedRequester is a RequestCharged enum value 21977 RequestChargedRequester = "requester" 21978) 21979 21980// Confirms that the requester knows that she or he will be charged for the 21981// request. Bucket owners need not specify this parameter in their requests. 21982// Documentation on downloading objects from requester pays buckets can be found 21983// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 21984const ( 21985 // RequestPayerRequester is a RequestPayer enum value 21986 RequestPayerRequester = "requester" 21987) 21988 21989const ( 21990 // RestoreRequestTypeSelect is a RestoreRequestType enum value 21991 RestoreRequestTypeSelect = "SELECT" 21992) 21993 21994const ( 21995 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value 21996 ServerSideEncryptionAes256 = "AES256" 21997 21998 // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value 21999 ServerSideEncryptionAwsKms = "aws:kms" 22000) 22001 22002const ( 22003 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value 22004 SseKmsEncryptedObjectsStatusEnabled = "Enabled" 22005 22006 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value 22007 SseKmsEncryptedObjectsStatusDisabled = "Disabled" 22008) 22009 22010const ( 22011 // StorageClassStandard is a StorageClass enum value 22012 StorageClassStandard = "STANDARD" 22013 22014 // StorageClassReducedRedundancy is a StorageClass enum value 22015 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" 22016 22017 // StorageClassStandardIa is a StorageClass enum value 22018 StorageClassStandardIa = "STANDARD_IA" 22019 22020 // StorageClassOnezoneIa is a StorageClass enum value 22021 StorageClassOnezoneIa = "ONEZONE_IA" 22022) 22023 22024const ( 22025 // StorageClassAnalysisSchemaVersionV1 is a StorageClassAnalysisSchemaVersion enum value 22026 StorageClassAnalysisSchemaVersionV1 = "V_1" 22027) 22028 22029const ( 22030 // TaggingDirectiveCopy is a TaggingDirective enum value 22031 TaggingDirectiveCopy = "COPY" 22032 22033 // TaggingDirectiveReplace is a TaggingDirective enum value 22034 TaggingDirectiveReplace = "REPLACE" 22035) 22036 22037const ( 22038 // TierStandard is a Tier enum value 22039 TierStandard = "Standard" 22040 22041 // TierBulk is a Tier enum value 22042 TierBulk = "Bulk" 22043 22044 // TierExpedited is a Tier enum value 22045 TierExpedited = "Expedited" 22046) 22047 22048const ( 22049 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 22050 TransitionStorageClassGlacier = "GLACIER" 22051 22052 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 22053 TransitionStorageClassStandardIa = "STANDARD_IA" 22054 22055 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 22056 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 22057) 22058 22059const ( 22060 // TypeCanonicalUser is a Type enum value 22061 TypeCanonicalUser = "CanonicalUser" 22062 22063 // TypeAmazonCustomerByEmail is a Type enum value 22064 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail" 22065 22066 // TypeGroup is a Type enum value 22067 TypeGroup = "Group" 22068) 22069