// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. // Package s3 provides a client for Amazon Simple Storage Service. package s3 import ( "fmt" "io" "time" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/restxml" ) const opAbortMultipartUpload = "AbortMultipartUpload" // AbortMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the AbortMultipartUpload operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the AbortMultipartUpload method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the AbortMultipartUploadRequest method. // req, resp := client.AbortMultipartUploadRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { op := &request.Operation{ Name: opAbortMultipartUpload, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &AbortMultipartUploadInput{} } req = c.newRequest(op, input, output) output = &AbortMultipartUploadOutput{} req.Data = output return } // Aborts a multipart upload. // // To verify that all parts have been removed, so you don't get charged for // the part storage, you should call the List Parts operation and ensure the // parts list is empty. func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { req, out := c.AbortMultipartUploadRequest(input) err := req.Send() return out, err } const opCompleteMultipartUpload = "CompleteMultipartUpload" // CompleteMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the CompleteMultipartUpload operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CompleteMultipartUpload method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CompleteMultipartUploadRequest method. // req, resp := client.CompleteMultipartUploadRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) { op := &request.Operation{ Name: opCompleteMultipartUpload, HTTPMethod: "POST", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &CompleteMultipartUploadInput{} } req = c.newRequest(op, input, output) output = &CompleteMultipartUploadOutput{} req.Data = output return } // Completes a multipart upload by assembling previously uploaded parts. func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) { req, out := c.CompleteMultipartUploadRequest(input) err := req.Send() return out, err } const opCopyObject = "CopyObject" // CopyObjectRequest generates a "aws/request.Request" representing the // client's request for the CopyObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CopyObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CopyObjectRequest method. // req, resp := client.CopyObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) { op := &request.Operation{ Name: opCopyObject, HTTPMethod: "PUT", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &CopyObjectInput{} } req = c.newRequest(op, input, output) output = &CopyObjectOutput{} req.Data = output return } // Creates a copy of an object that is already stored in Amazon S3. func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) { req, out := c.CopyObjectRequest(input) err := req.Send() return out, err } const opCreateBucket = "CreateBucket" // CreateBucketRequest generates a "aws/request.Request" representing the // client's request for the CreateBucket operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CreateBucket method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CreateBucketRequest method. // req, resp := client.CreateBucketRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { op := &request.Operation{ Name: opCreateBucket, HTTPMethod: "PUT", HTTPPath: "/{Bucket}", } if input == nil { input = &CreateBucketInput{} } req = c.newRequest(op, input, output) output = &CreateBucketOutput{} req.Data = output return } // Creates a new bucket. func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { req, out := c.CreateBucketRequest(input) err := req.Send() return out, err } const opCreateMultipartUpload = "CreateMultipartUpload" // CreateMultipartUploadRequest generates a "aws/request.Request" representing the // client's request for the CreateMultipartUpload operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CreateMultipartUpload method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CreateMultipartUploadRequest method. // req, resp := client.CreateMultipartUploadRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) { op := &request.Operation{ Name: opCreateMultipartUpload, HTTPMethod: "POST", HTTPPath: "/{Bucket}/{Key+}?uploads", } if input == nil { input = &CreateMultipartUploadInput{} } req = c.newRequest(op, input, output) output = &CreateMultipartUploadOutput{} req.Data = output return } // Initiates a multipart upload and returns an upload ID. // // Note: After you initiate multipart upload and upload one or more parts, you // must either complete or abort multipart upload in order to stop getting charged // for storage of the uploaded parts. Only after you either complete or abort // multipart upload, Amazon S3 frees up the parts storage and stops charging // you for the parts storage. func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) { req, out := c.CreateMultipartUploadRequest(input) err := req.Send() return out, err } const opDeleteBucket = "DeleteBucket" // DeleteBucketRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucket operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucket method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketRequest method. // req, resp := client.DeleteBucketRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { op := &request.Operation{ Name: opDeleteBucket, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}", } if input == nil { input = &DeleteBucketInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketOutput{} req.Data = output return } // Deletes the bucket. All objects (including all object versions and Delete // Markers) in the bucket must be deleted before the bucket itself can be deleted. func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { req, out := c.DeleteBucketRequest(input) err := req.Send() return out, err } const opDeleteBucketCors = "DeleteBucketCors" // DeleteBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketCors operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketCors method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketCorsRequest method. // req, resp := client.DeleteBucketCorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) { op := &request.Operation{ Name: opDeleteBucketCors, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?cors", } if input == nil { input = &DeleteBucketCorsInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketCorsOutput{} req.Data = output return } // Deletes the cors configuration information set for the bucket. func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) { req, out := c.DeleteBucketCorsRequest(input) err := req.Send() return out, err } const opDeleteBucketLifecycle = "DeleteBucketLifecycle" // DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketLifecycle operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketLifecycle method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketLifecycleRequest method. // req, resp := client.DeleteBucketLifecycleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) { op := &request.Operation{ Name: opDeleteBucketLifecycle, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?lifecycle", } if input == nil { input = &DeleteBucketLifecycleInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketLifecycleOutput{} req.Data = output return } // Deletes the lifecycle configuration from the bucket. func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) { req, out := c.DeleteBucketLifecycleRequest(input) err := req.Send() return out, err } const opDeleteBucketPolicy = "DeleteBucketPolicy" // DeleteBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketPolicy operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketPolicy method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketPolicyRequest method. // req, resp := client.DeleteBucketPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { op := &request.Operation{ Name: opDeleteBucketPolicy, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?policy", } if input == nil { input = &DeleteBucketPolicyInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketPolicyOutput{} req.Data = output return } // Deletes the policy from the bucket. func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { req, out := c.DeleteBucketPolicyRequest(input) err := req.Send() return out, err } const opDeleteBucketReplication = "DeleteBucketReplication" // DeleteBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketReplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketReplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketReplicationRequest method. // req, resp := client.DeleteBucketReplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { op := &request.Operation{ Name: opDeleteBucketReplication, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?replication", } if input == nil { input = &DeleteBucketReplicationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketReplicationOutput{} req.Data = output return } // Deletes the replication configuration from the bucket. func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { req, out := c.DeleteBucketReplicationRequest(input) err := req.Send() return out, err } const opDeleteBucketTagging = "DeleteBucketTagging" // DeleteBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketTagging operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketTagging method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketTaggingRequest method. // req, resp := client.DeleteBucketTaggingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { op := &request.Operation{ Name: opDeleteBucketTagging, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?tagging", } if input == nil { input = &DeleteBucketTaggingInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketTaggingOutput{} req.Data = output return } // Deletes the tags from the bucket. func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { req, out := c.DeleteBucketTaggingRequest(input) err := req.Send() return out, err } const opDeleteBucketWebsite = "DeleteBucketWebsite" // DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the DeleteBucketWebsite operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteBucketWebsite method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteBucketWebsiteRequest method. // req, resp := client.DeleteBucketWebsiteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) { op := &request.Operation{ Name: opDeleteBucketWebsite, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}?website", } if input == nil { input = &DeleteBucketWebsiteInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteBucketWebsiteOutput{} req.Data = output return } // This operation removes the website configuration from the bucket. func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) { req, out := c.DeleteBucketWebsiteRequest(input) err := req.Send() return out, err } const opDeleteObject = "DeleteObject" // DeleteObjectRequest generates a "aws/request.Request" representing the // client's request for the DeleteObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteObjectRequest method. // req, resp := client.DeleteObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { op := &request.Operation{ Name: opDeleteObject, HTTPMethod: "DELETE", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &DeleteObjectInput{} } req = c.newRequest(op, input, output) output = &DeleteObjectOutput{} req.Data = output return } // Removes the null version (if there is one) of an object and inserts a delete // marker, which becomes the latest version of the object. If there isn't a // null version, Amazon S3 does not remove any objects. func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { req, out := c.DeleteObjectRequest(input) err := req.Send() return out, err } const opDeleteObjects = "DeleteObjects" // DeleteObjectsRequest generates a "aws/request.Request" representing the // client's request for the DeleteObjects operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteObjects method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteObjectsRequest method. // req, resp := client.DeleteObjectsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) { op := &request.Operation{ Name: opDeleteObjects, HTTPMethod: "POST", HTTPPath: "/{Bucket}?delete", } if input == nil { input = &DeleteObjectsInput{} } req = c.newRequest(op, input, output) output = &DeleteObjectsOutput{} req.Data = output return } // This operation enables you to delete multiple objects from a bucket using // a single HTTP request. You may specify up to 1000 keys. func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) { req, out := c.DeleteObjectsRequest(input) err := req.Send() return out, err } const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration" // GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketAccelerateConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketAccelerateConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketAccelerateConfigurationRequest method. // req, resp := client.GetBucketAccelerateConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) { op := &request.Operation{ Name: opGetBucketAccelerateConfiguration, HTTPMethod: "GET", HTTPPath: "/{Bucket}?accelerate", } if input == nil { input = &GetBucketAccelerateConfigurationInput{} } req = c.newRequest(op, input, output) output = &GetBucketAccelerateConfigurationOutput{} req.Data = output return } // Returns the accelerate configuration of a bucket. func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) { req, out := c.GetBucketAccelerateConfigurationRequest(input) err := req.Send() return out, err } const opGetBucketAcl = "GetBucketAcl" // GetBucketAclRequest generates a "aws/request.Request" representing the // client's request for the GetBucketAcl operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketAcl method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketAclRequest method. // req, resp := client.GetBucketAclRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) { op := &request.Operation{ Name: opGetBucketAcl, HTTPMethod: "GET", HTTPPath: "/{Bucket}?acl", } if input == nil { input = &GetBucketAclInput{} } req = c.newRequest(op, input, output) output = &GetBucketAclOutput{} req.Data = output return } // Gets the access control policy for the bucket. func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) { req, out := c.GetBucketAclRequest(input) err := req.Send() return out, err } const opGetBucketCors = "GetBucketCors" // GetBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the GetBucketCors operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketCors method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketCorsRequest method. // req, resp := client.GetBucketCorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) { op := &request.Operation{ Name: opGetBucketCors, HTTPMethod: "GET", HTTPPath: "/{Bucket}?cors", } if input == nil { input = &GetBucketCorsInput{} } req = c.newRequest(op, input, output) output = &GetBucketCorsOutput{} req.Data = output return } // Returns the cors configuration for the bucket. func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) { req, out := c.GetBucketCorsRequest(input) err := req.Send() return out, err } const opGetBucketLifecycle = "GetBucketLifecycle" // GetBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLifecycle operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketLifecycle method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketLifecycleRequest method. // req, resp := client.GetBucketLifecycleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated") } op := &request.Operation{ Name: opGetBucketLifecycle, HTTPMethod: "GET", HTTPPath: "/{Bucket}?lifecycle", } if input == nil { input = &GetBucketLifecycleInput{} } req = c.newRequest(op, input, output) output = &GetBucketLifecycleOutput{} req.Data = output return } // Deprecated, see the GetBucketLifecycleConfiguration operation. func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) { req, out := c.GetBucketLifecycleRequest(input) err := req.Send() return out, err } const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" // GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLifecycleConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketLifecycleConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketLifecycleConfigurationRequest method. // req, resp := client.GetBucketLifecycleConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { op := &request.Operation{ Name: opGetBucketLifecycleConfiguration, HTTPMethod: "GET", HTTPPath: "/{Bucket}?lifecycle", } if input == nil { input = &GetBucketLifecycleConfigurationInput{} } req = c.newRequest(op, input, output) output = &GetBucketLifecycleConfigurationOutput{} req.Data = output return } // Returns the lifecycle configuration information set on the bucket. func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { req, out := c.GetBucketLifecycleConfigurationRequest(input) err := req.Send() return out, err } const opGetBucketLocation = "GetBucketLocation" // GetBucketLocationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLocation operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketLocation method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketLocationRequest method. // req, resp := client.GetBucketLocationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) { op := &request.Operation{ Name: opGetBucketLocation, HTTPMethod: "GET", HTTPPath: "/{Bucket}?location", } if input == nil { input = &GetBucketLocationInput{} } req = c.newRequest(op, input, output) output = &GetBucketLocationOutput{} req.Data = output return } // Returns the region the bucket resides in. func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) { req, out := c.GetBucketLocationRequest(input) err := req.Send() return out, err } const opGetBucketLogging = "GetBucketLogging" // GetBucketLoggingRequest generates a "aws/request.Request" representing the // client's request for the GetBucketLogging operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketLogging method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketLoggingRequest method. // req, resp := client.GetBucketLoggingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) { op := &request.Operation{ Name: opGetBucketLogging, HTTPMethod: "GET", HTTPPath: "/{Bucket}?logging", } if input == nil { input = &GetBucketLoggingInput{} } req = c.newRequest(op, input, output) output = &GetBucketLoggingOutput{} req.Data = output return } // Returns the logging status of a bucket and the permissions users have to // view and modify that status. To use GET, you must be the bucket owner. func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) { req, out := c.GetBucketLoggingRequest(input) err := req.Send() return out, err } const opGetBucketNotification = "GetBucketNotification" // GetBucketNotificationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketNotification operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketNotification method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketNotificationRequest method. // req, resp := client.GetBucketNotificationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated") } op := &request.Operation{ Name: opGetBucketNotification, HTTPMethod: "GET", HTTPPath: "/{Bucket}?notification", } if input == nil { input = &GetBucketNotificationConfigurationRequest{} } req = c.newRequest(op, input, output) output = &NotificationConfigurationDeprecated{} req.Data = output return } // Deprecated, see the GetBucketNotificationConfiguration operation. func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) { req, out := c.GetBucketNotificationRequest(input) err := req.Send() return out, err } const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration" // GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketNotificationConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketNotificationConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketNotificationConfigurationRequest method. // req, resp := client.GetBucketNotificationConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) { op := &request.Operation{ Name: opGetBucketNotificationConfiguration, HTTPMethod: "GET", HTTPPath: "/{Bucket}?notification", } if input == nil { input = &GetBucketNotificationConfigurationRequest{} } req = c.newRequest(op, input, output) output = &NotificationConfiguration{} req.Data = output return } // Returns the notification configuration of a bucket. func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) { req, out := c.GetBucketNotificationConfigurationRequest(input) err := req.Send() return out, err } const opGetBucketPolicy = "GetBucketPolicy" // GetBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the GetBucketPolicy operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketPolicy method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketPolicyRequest method. // req, resp := client.GetBucketPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { op := &request.Operation{ Name: opGetBucketPolicy, HTTPMethod: "GET", HTTPPath: "/{Bucket}?policy", } if input == nil { input = &GetBucketPolicyInput{} } req = c.newRequest(op, input, output) output = &GetBucketPolicyOutput{} req.Data = output return } // Returns the policy of a specified bucket. func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { req, out := c.GetBucketPolicyRequest(input) err := req.Send() return out, err } const opGetBucketReplication = "GetBucketReplication" // GetBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the GetBucketReplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketReplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketReplicationRequest method. // req, resp := client.GetBucketReplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { op := &request.Operation{ Name: opGetBucketReplication, HTTPMethod: "GET", HTTPPath: "/{Bucket}?replication", } if input == nil { input = &GetBucketReplicationInput{} } req = c.newRequest(op, input, output) output = &GetBucketReplicationOutput{} req.Data = output return } // Returns the replication configuration of a bucket. func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { req, out := c.GetBucketReplicationRequest(input) err := req.Send() return out, err } const opGetBucketRequestPayment = "GetBucketRequestPayment" // GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the // client's request for the GetBucketRequestPayment operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketRequestPayment method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketRequestPaymentRequest method. // req, resp := client.GetBucketRequestPaymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) { op := &request.Operation{ Name: opGetBucketRequestPayment, HTTPMethod: "GET", HTTPPath: "/{Bucket}?requestPayment", } if input == nil { input = &GetBucketRequestPaymentInput{} } req = c.newRequest(op, input, output) output = &GetBucketRequestPaymentOutput{} req.Data = output return } // Returns the request payment configuration of a bucket. func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) { req, out := c.GetBucketRequestPaymentRequest(input) err := req.Send() return out, err } const opGetBucketTagging = "GetBucketTagging" // GetBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the GetBucketTagging operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketTagging method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketTaggingRequest method. // req, resp := client.GetBucketTaggingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { op := &request.Operation{ Name: opGetBucketTagging, HTTPMethod: "GET", HTTPPath: "/{Bucket}?tagging", } if input == nil { input = &GetBucketTaggingInput{} } req = c.newRequest(op, input, output) output = &GetBucketTaggingOutput{} req.Data = output return } // Returns the tag set associated with the bucket. func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { req, out := c.GetBucketTaggingRequest(input) err := req.Send() return out, err } const opGetBucketVersioning = "GetBucketVersioning" // GetBucketVersioningRequest generates a "aws/request.Request" representing the // client's request for the GetBucketVersioning operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketVersioning method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketVersioningRequest method. // req, resp := client.GetBucketVersioningRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) { op := &request.Operation{ Name: opGetBucketVersioning, HTTPMethod: "GET", HTTPPath: "/{Bucket}?versioning", } if input == nil { input = &GetBucketVersioningInput{} } req = c.newRequest(op, input, output) output = &GetBucketVersioningOutput{} req.Data = output return } // Returns the versioning state of a bucket. func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) { req, out := c.GetBucketVersioningRequest(input) err := req.Send() return out, err } const opGetBucketWebsite = "GetBucketWebsite" // GetBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the GetBucketWebsite operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetBucketWebsite method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetBucketWebsiteRequest method. // req, resp := client.GetBucketWebsiteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) { op := &request.Operation{ Name: opGetBucketWebsite, HTTPMethod: "GET", HTTPPath: "/{Bucket}?website", } if input == nil { input = &GetBucketWebsiteInput{} } req = c.newRequest(op, input, output) output = &GetBucketWebsiteOutput{} req.Data = output return } // Returns the website configuration for a bucket. func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) { req, out := c.GetBucketWebsiteRequest(input) err := req.Send() return out, err } const opGetObject = "GetObject" // GetObjectRequest generates a "aws/request.Request" representing the // client's request for the GetObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetObjectRequest method. // req, resp := client.GetObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { op := &request.Operation{ Name: opGetObject, HTTPMethod: "GET", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &GetObjectInput{} } req = c.newRequest(op, input, output) output = &GetObjectOutput{} req.Data = output return } // Retrieves objects from Amazon S3. func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { req, out := c.GetObjectRequest(input) err := req.Send() return out, err } const opGetObjectAcl = "GetObjectAcl" // GetObjectAclRequest generates a "aws/request.Request" representing the // client's request for the GetObjectAcl operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetObjectAcl method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetObjectAclRequest method. // req, resp := client.GetObjectAclRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) { op := &request.Operation{ Name: opGetObjectAcl, HTTPMethod: "GET", HTTPPath: "/{Bucket}/{Key+}?acl", } if input == nil { input = &GetObjectAclInput{} } req = c.newRequest(op, input, output) output = &GetObjectAclOutput{} req.Data = output return } // Returns the access control list (ACL) of an object. func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) { req, out := c.GetObjectAclRequest(input) err := req.Send() return out, err } const opGetObjectTorrent = "GetObjectTorrent" // GetObjectTorrentRequest generates a "aws/request.Request" representing the // client's request for the GetObjectTorrent operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the GetObjectTorrent method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the GetObjectTorrentRequest method. // req, resp := client.GetObjectTorrentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) { op := &request.Operation{ Name: opGetObjectTorrent, HTTPMethod: "GET", HTTPPath: "/{Bucket}/{Key+}?torrent", } if input == nil { input = &GetObjectTorrentInput{} } req = c.newRequest(op, input, output) output = &GetObjectTorrentOutput{} req.Data = output return } // Return torrent files from a bucket. func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) { req, out := c.GetObjectTorrentRequest(input) err := req.Send() return out, err } const opHeadBucket = "HeadBucket" // HeadBucketRequest generates a "aws/request.Request" representing the // client's request for the HeadBucket operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the HeadBucket method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the HeadBucketRequest method. // req, resp := client.HeadBucketRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) { op := &request.Operation{ Name: opHeadBucket, HTTPMethod: "HEAD", HTTPPath: "/{Bucket}", } if input == nil { input = &HeadBucketInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &HeadBucketOutput{} req.Data = output return } // This operation is useful to determine if a bucket exists and you have permission // to access it. func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { req, out := c.HeadBucketRequest(input) err := req.Send() return out, err } const opHeadObject = "HeadObject" // HeadObjectRequest generates a "aws/request.Request" representing the // client's request for the HeadObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the HeadObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the HeadObjectRequest method. // req, resp := client.HeadObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) { op := &request.Operation{ Name: opHeadObject, HTTPMethod: "HEAD", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &HeadObjectInput{} } req = c.newRequest(op, input, output) output = &HeadObjectOutput{} req.Data = output return } // The HEAD operation retrieves metadata from an object without returning the // object itself. This operation is useful if you're only interested in an object's // metadata. To use HEAD, you must have READ access to the object. func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { req, out := c.HeadObjectRequest(input) err := req.Send() return out, err } const opListBuckets = "ListBuckets" // ListBucketsRequest generates a "aws/request.Request" representing the // client's request for the ListBuckets operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListBuckets method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListBucketsRequest method. // req, resp := client.ListBucketsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) { op := &request.Operation{ Name: opListBuckets, HTTPMethod: "GET", HTTPPath: "/", } if input == nil { input = &ListBucketsInput{} } req = c.newRequest(op, input, output) output = &ListBucketsOutput{} req.Data = output return } // Returns a list of all buckets owned by the authenticated sender of the request. func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { req, out := c.ListBucketsRequest(input) err := req.Send() return out, err } const opListMultipartUploads = "ListMultipartUploads" // ListMultipartUploadsRequest generates a "aws/request.Request" representing the // client's request for the ListMultipartUploads operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListMultipartUploads method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListMultipartUploadsRequest method. // req, resp := client.ListMultipartUploadsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { op := &request.Operation{ Name: opListMultipartUploads, HTTPMethod: "GET", HTTPPath: "/{Bucket}?uploads", Paginator: &request.Paginator{ InputTokens: []string{"KeyMarker", "UploadIdMarker"}, OutputTokens: []string{"NextKeyMarker", "NextUploadIdMarker"}, LimitToken: "MaxUploads", TruncationToken: "IsTruncated", }, } if input == nil { input = &ListMultipartUploadsInput{} } req = c.newRequest(op, input, output) output = &ListMultipartUploadsOutput{} req.Data = output return } // This operation lists in-progress multipart uploads. func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { req, out := c.ListMultipartUploadsRequest(input) err := req.Send() return out, err } // ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListMultipartUploads method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListMultipartUploads operation. // pageNum := 0 // err := client.ListMultipartUploadsPages(params, // func(page *ListMultipartUploadsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMultipartUploadsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListMultipartUploadsOutput), lastPage) }) } const opListObjectVersions = "ListObjectVersions" // ListObjectVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListObjectVersions operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListObjectVersions method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListObjectVersionsRequest method. // req, resp := client.ListObjectVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) { op := &request.Operation{ Name: opListObjectVersions, HTTPMethod: "GET", HTTPPath: "/{Bucket}?versions", Paginator: &request.Paginator{ InputTokens: []string{"KeyMarker", "VersionIdMarker"}, OutputTokens: []string{"NextKeyMarker", "NextVersionIdMarker"}, LimitToken: "MaxKeys", TruncationToken: "IsTruncated", }, } if input == nil { input = &ListObjectVersionsInput{} } req = c.newRequest(op, input, output) output = &ListObjectVersionsOutput{} req.Data = output return } // Returns metadata about all of the versions of objects in a bucket. func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) { req, out := c.ListObjectVersionsRequest(input) err := req.Send() return out, err } // ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListObjectVersions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListObjectVersions operation. // pageNum := 0 // err := client.ListObjectVersionsPages(params, // func(page *ListObjectVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(p *ListObjectVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListObjectVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListObjectVersionsOutput), lastPage) }) } const opListObjects = "ListObjects" // ListObjectsRequest generates a "aws/request.Request" representing the // client's request for the ListObjects operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListObjects method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListObjectsRequest method. // req, resp := client.ListObjectsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) { op := &request.Operation{ Name: opListObjects, HTTPMethod: "GET", HTTPPath: "/{Bucket}", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"NextMarker || Contents[-1].Key"}, LimitToken: "MaxKeys", TruncationToken: "IsTruncated", }, } if input == nil { input = &ListObjectsInput{} } req = c.newRequest(op, input, output) output = &ListObjectsOutput{} req.Data = output return } // Returns some or all (up to 1000) of the objects in a bucket. You can use // the request parameters as selection criteria to return a subset of the objects // in a bucket. func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) { req, out := c.ListObjectsRequest(input) err := req.Send() return out, err } // ListObjectsPages iterates over the pages of a ListObjects operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListObjects method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListObjects operation. // pageNum := 0 // err := client.ListObjectsPages(params, // func(page *ListObjectsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(p *ListObjectsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListObjectsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListObjectsOutput), lastPage) }) } const opListObjectsV2 = "ListObjectsV2" // ListObjectsV2Request generates a "aws/request.Request" representing the // client's request for the ListObjectsV2 operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListObjectsV2 method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListObjectsV2Request method. // req, resp := client.ListObjectsV2Request(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) { op := &request.Operation{ Name: opListObjectsV2, HTTPMethod: "GET", HTTPPath: "/{Bucket}?list-type=2", Paginator: &request.Paginator{ InputTokens: []string{"ContinuationToken"}, OutputTokens: []string{"NextContinuationToken"}, LimitToken: "MaxKeys", TruncationToken: "", }, } if input == nil { input = &ListObjectsV2Input{} } req = c.newRequest(op, input, output) output = &ListObjectsV2Output{} req.Data = output return } // Returns some or all (up to 1000) of the objects in a bucket. You can use // the request parameters as selection criteria to return a subset of the objects // in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend // you use this revised API for new application development. func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) { req, out := c.ListObjectsV2Request(input) err := req.Send() return out, err } // ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListObjectsV2 method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListObjectsV2 operation. // pageNum := 0 // err := client.ListObjectsV2Pages(params, // func(page *ListObjectsV2Output, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(p *ListObjectsV2Output, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListObjectsV2Request(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListObjectsV2Output), lastPage) }) } const opListParts = "ListParts" // ListPartsRequest generates a "aws/request.Request" representing the // client's request for the ListParts operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListParts method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListPartsRequest method. // req, resp := client.ListPartsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { op := &request.Operation{ Name: opListParts, HTTPMethod: "GET", HTTPPath: "/{Bucket}/{Key+}", Paginator: &request.Paginator{ InputTokens: []string{"PartNumberMarker"}, OutputTokens: []string{"NextPartNumberMarker"}, LimitToken: "MaxParts", TruncationToken: "IsTruncated", }, } if input == nil { input = &ListPartsInput{} } req = c.newRequest(op, input, output) output = &ListPartsOutput{} req.Data = output return } // Lists the parts that have been uploaded for a specific multipart upload. func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { req, out := c.ListPartsRequest(input) err := req.Send() return out, err } // ListPartsPages iterates over the pages of a ListParts operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListParts method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListParts operation. // pageNum := 0 // err := client.ListPartsPages(params, // func(page *ListPartsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *S3) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPartsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListPartsOutput), lastPage) }) } const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration" // PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketAccelerateConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketAccelerateConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketAccelerateConfigurationRequest method. // req, resp := client.PutBucketAccelerateConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) { op := &request.Operation{ Name: opPutBucketAccelerateConfiguration, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?accelerate", } if input == nil { input = &PutBucketAccelerateConfigurationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketAccelerateConfigurationOutput{} req.Data = output return } // Sets the accelerate configuration of an existing bucket. func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) { req, out := c.PutBucketAccelerateConfigurationRequest(input) err := req.Send() return out, err } const opPutBucketAcl = "PutBucketAcl" // PutBucketAclRequest generates a "aws/request.Request" representing the // client's request for the PutBucketAcl operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketAcl method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketAclRequest method. // req, resp := client.PutBucketAclRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) { op := &request.Operation{ Name: opPutBucketAcl, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?acl", } if input == nil { input = &PutBucketAclInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketAclOutput{} req.Data = output return } // Sets the permissions on a bucket using access control lists (ACL). func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) { req, out := c.PutBucketAclRequest(input) err := req.Send() return out, err } const opPutBucketCors = "PutBucketCors" // PutBucketCorsRequest generates a "aws/request.Request" representing the // client's request for the PutBucketCors operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketCors method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketCorsRequest method. // req, resp := client.PutBucketCorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) { op := &request.Operation{ Name: opPutBucketCors, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?cors", } if input == nil { input = &PutBucketCorsInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketCorsOutput{} req.Data = output return } // Sets the cors configuration for a bucket. func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) { req, out := c.PutBucketCorsRequest(input) err := req.Send() return out, err } const opPutBucketLifecycle = "PutBucketLifecycle" // PutBucketLifecycleRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLifecycle operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketLifecycle method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketLifecycleRequest method. // req, resp := client.PutBucketLifecycleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated") } op := &request.Operation{ Name: opPutBucketLifecycle, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?lifecycle", } if input == nil { input = &PutBucketLifecycleInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketLifecycleOutput{} req.Data = output return } // Deprecated, see the PutBucketLifecycleConfiguration operation. func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) { req, out := c.PutBucketLifecycleRequest(input) err := req.Send() return out, err } const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" // PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLifecycleConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketLifecycleConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketLifecycleConfigurationRequest method. // req, resp := client.PutBucketLifecycleConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { op := &request.Operation{ Name: opPutBucketLifecycleConfiguration, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?lifecycle", } if input == nil { input = &PutBucketLifecycleConfigurationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketLifecycleConfigurationOutput{} req.Data = output return } // Sets lifecycle configuration for your bucket. If a lifecycle configuration // exists, it replaces it. func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { req, out := c.PutBucketLifecycleConfigurationRequest(input) err := req.Send() return out, err } const opPutBucketLogging = "PutBucketLogging" // PutBucketLoggingRequest generates a "aws/request.Request" representing the // client's request for the PutBucketLogging operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketLogging method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketLoggingRequest method. // req, resp := client.PutBucketLoggingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) { op := &request.Operation{ Name: opPutBucketLogging, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?logging", } if input == nil { input = &PutBucketLoggingInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketLoggingOutput{} req.Data = output return } // Set the logging parameters for a bucket and to specify permissions for who // can view and modify the logging parameters. To set the logging status of // a bucket, you must be the bucket owner. func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) { req, out := c.PutBucketLoggingRequest(input) err := req.Send() return out, err } const opPutBucketNotification = "PutBucketNotification" // PutBucketNotificationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketNotification operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketNotification method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketNotificationRequest method. // req, resp := client.PutBucketNotificationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated") } op := &request.Operation{ Name: opPutBucketNotification, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?notification", } if input == nil { input = &PutBucketNotificationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketNotificationOutput{} req.Data = output return } // Deprecated, see the PutBucketNotificationConfiguraiton operation. func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) { req, out := c.PutBucketNotificationRequest(input) err := req.Send() return out, err } const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration" // PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketNotificationConfiguration operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketNotificationConfiguration method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketNotificationConfigurationRequest method. // req, resp := client.PutBucketNotificationConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) { op := &request.Operation{ Name: opPutBucketNotificationConfiguration, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?notification", } if input == nil { input = &PutBucketNotificationConfigurationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketNotificationConfigurationOutput{} req.Data = output return } // Enables notifications of specified events for a bucket. func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) { req, out := c.PutBucketNotificationConfigurationRequest(input) err := req.Send() return out, err } const opPutBucketPolicy = "PutBucketPolicy" // PutBucketPolicyRequest generates a "aws/request.Request" representing the // client's request for the PutBucketPolicy operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketPolicy method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketPolicyRequest method. // req, resp := client.PutBucketPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { op := &request.Operation{ Name: opPutBucketPolicy, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?policy", } if input == nil { input = &PutBucketPolicyInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketPolicyOutput{} req.Data = output return } // Replaces a policy on a bucket. If the bucket already has a policy, the one // in this request completely replaces it. func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { req, out := c.PutBucketPolicyRequest(input) err := req.Send() return out, err } const opPutBucketReplication = "PutBucketReplication" // PutBucketReplicationRequest generates a "aws/request.Request" representing the // client's request for the PutBucketReplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketReplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketReplicationRequest method. // req, resp := client.PutBucketReplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { op := &request.Operation{ Name: opPutBucketReplication, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?replication", } if input == nil { input = &PutBucketReplicationInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketReplicationOutput{} req.Data = output return } // Creates a new replication configuration (or replaces an existing one, if // present). func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { req, out := c.PutBucketReplicationRequest(input) err := req.Send() return out, err } const opPutBucketRequestPayment = "PutBucketRequestPayment" // PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the // client's request for the PutBucketRequestPayment operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketRequestPayment method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketRequestPaymentRequest method. // req, resp := client.PutBucketRequestPaymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) { op := &request.Operation{ Name: opPutBucketRequestPayment, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?requestPayment", } if input == nil { input = &PutBucketRequestPaymentInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketRequestPaymentOutput{} req.Data = output return } // Sets the request payment configuration for a bucket. By default, the bucket // owner pays for downloads from the bucket. This configuration parameter enables // the bucket owner (only) to specify that the person requesting the download // will be charged for the download. Documentation on requester pays buckets // can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) { req, out := c.PutBucketRequestPaymentRequest(input) err := req.Send() return out, err } const opPutBucketTagging = "PutBucketTagging" // PutBucketTaggingRequest generates a "aws/request.Request" representing the // client's request for the PutBucketTagging operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketTagging method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketTaggingRequest method. // req, resp := client.PutBucketTaggingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { op := &request.Operation{ Name: opPutBucketTagging, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?tagging", } if input == nil { input = &PutBucketTaggingInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketTaggingOutput{} req.Data = output return } // Sets the tags for a bucket. func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { req, out := c.PutBucketTaggingRequest(input) err := req.Send() return out, err } const opPutBucketVersioning = "PutBucketVersioning" // PutBucketVersioningRequest generates a "aws/request.Request" representing the // client's request for the PutBucketVersioning operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketVersioning method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketVersioningRequest method. // req, resp := client.PutBucketVersioningRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) { op := &request.Operation{ Name: opPutBucketVersioning, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?versioning", } if input == nil { input = &PutBucketVersioningInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketVersioningOutput{} req.Data = output return } // Sets the versioning state of an existing bucket. To set the versioning state, // you must be the bucket owner. func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) { req, out := c.PutBucketVersioningRequest(input) err := req.Send() return out, err } const opPutBucketWebsite = "PutBucketWebsite" // PutBucketWebsiteRequest generates a "aws/request.Request" representing the // client's request for the PutBucketWebsite operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutBucketWebsite method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutBucketWebsiteRequest method. // req, resp := client.PutBucketWebsiteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) { op := &request.Operation{ Name: opPutBucketWebsite, HTTPMethod: "PUT", HTTPPath: "/{Bucket}?website", } if input == nil { input = &PutBucketWebsiteInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &PutBucketWebsiteOutput{} req.Data = output return } // Set the website configuration for a bucket. func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) { req, out := c.PutBucketWebsiteRequest(input) err := req.Send() return out, err } const opPutObject = "PutObject" // PutObjectRequest generates a "aws/request.Request" representing the // client's request for the PutObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutObjectRequest method. // req, resp := client.PutObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { op := &request.Operation{ Name: opPutObject, HTTPMethod: "PUT", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &PutObjectInput{} } req = c.newRequest(op, input, output) output = &PutObjectOutput{} req.Data = output return } // Adds an object to a bucket. func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { req, out := c.PutObjectRequest(input) err := req.Send() return out, err } const opPutObjectAcl = "PutObjectAcl" // PutObjectAclRequest generates a "aws/request.Request" representing the // client's request for the PutObjectAcl operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the PutObjectAcl method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the PutObjectAclRequest method. // req, resp := client.PutObjectAclRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) { op := &request.Operation{ Name: opPutObjectAcl, HTTPMethod: "PUT", HTTPPath: "/{Bucket}/{Key+}?acl", } if input == nil { input = &PutObjectAclInput{} } req = c.newRequest(op, input, output) output = &PutObjectAclOutput{} req.Data = output return } // uses the acl subresource to set the access control list (ACL) permissions // for an object that already exists in a bucket func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) { req, out := c.PutObjectAclRequest(input) err := req.Send() return out, err } const opRestoreObject = "RestoreObject" // RestoreObjectRequest generates a "aws/request.Request" representing the // client's request for the RestoreObject operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the RestoreObject method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the RestoreObjectRequest method. // req, resp := client.RestoreObjectRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) { op := &request.Operation{ Name: opRestoreObject, HTTPMethod: "POST", HTTPPath: "/{Bucket}/{Key+}?restore", } if input == nil { input = &RestoreObjectInput{} } req = c.newRequest(op, input, output) output = &RestoreObjectOutput{} req.Data = output return } // Restores an archived copy of an object back into Amazon S3 func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) { req, out := c.RestoreObjectRequest(input) err := req.Send() return out, err } const opUploadPart = "UploadPart" // UploadPartRequest generates a "aws/request.Request" representing the // client's request for the UploadPart operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the UploadPart method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the UploadPartRequest method. // req, resp := client.UploadPartRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) { op := &request.Operation{ Name: opUploadPart, HTTPMethod: "PUT", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &UploadPartInput{} } req = c.newRequest(op, input, output) output = &UploadPartOutput{} req.Data = output return } // Uploads a part in a multipart upload. // // Note: After you initiate multipart upload and upload one or more parts, you // must either complete or abort multipart upload in order to stop getting charged // for storage of the uploaded parts. Only after you either complete or abort // multipart upload, Amazon S3 frees up the parts storage and stops charging // you for the parts storage. func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { req, out := c.UploadPartRequest(input) err := req.Send() return out, err } const opUploadPartCopy = "UploadPartCopy" // UploadPartCopyRequest generates a "aws/request.Request" representing the // client's request for the UploadPartCopy operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the UploadPartCopy method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the UploadPartCopyRequest method. // req, resp := client.UploadPartCopyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) { op := &request.Operation{ Name: opUploadPartCopy, HTTPMethod: "PUT", HTTPPath: "/{Bucket}/{Key+}", } if input == nil { input = &UploadPartCopyInput{} } req = c.newRequest(op, input, output) output = &UploadPartCopyOutput{} req.Data = output return } // Uploads a part by copying data from an existing object as data source. func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) { req, out := c.UploadPartCopyRequest(input) err := req.Send() return out, err } // Specifies the days since the initiation of an Incomplete Multipart Upload // that Lifecycle will wait before permanently removing all parts of the upload. type AbortIncompleteMultipartUpload struct { _ struct{} `type:"structure"` // Indicates the number of days that must pass since initiation for Lifecycle // to abort an Incomplete Multipart Upload. DaysAfterInitiation *int64 `type:"integer"` } // String returns the string representation func (s AbortIncompleteMultipartUpload) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AbortIncompleteMultipartUpload) GoString() string { return s.String() } type AbortMultipartUploadInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } // String returns the string representation func (s AbortMultipartUploadInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AbortMultipartUploadInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AbortMultipartUploadInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.UploadId == nil { invalidParams.Add(request.NewErrParamRequired("UploadId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type AbortMultipartUploadOutput struct { _ struct{} `type:"structure"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s AbortMultipartUploadOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AbortMultipartUploadOutput) GoString() string { return s.String() } type AccelerateConfiguration struct { _ struct{} `type:"structure"` // The accelerate configuration of the bucket. Status *string `type:"string" enum:"BucketAccelerateStatus"` } // String returns the string representation func (s AccelerateConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AccelerateConfiguration) GoString() string { return s.String() } type AccessControlPolicy struct { _ struct{} `type:"structure"` // A list of grants. Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` Owner *Owner `type:"structure"` } // String returns the string representation func (s AccessControlPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AccessControlPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AccessControlPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AccessControlPolicy"} if s.Grants != nil { for i, v := range s.Grants { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type Bucket struct { _ struct{} `type:"structure"` // Date the bucket was created. CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The name of the bucket. Name *string `type:"string"` } // String returns the string representation func (s Bucket) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Bucket) GoString() string { return s.String() } type BucketLifecycleConfiguration struct { _ struct{} `type:"structure"` Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } // String returns the string representation func (s BucketLifecycleConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BucketLifecycleConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BucketLifecycleConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BucketLifecycleConfiguration"} if s.Rules == nil { invalidParams.Add(request.NewErrParamRequired("Rules")) } if s.Rules != nil { for i, v := range s.Rules { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type BucketLoggingStatus struct { _ struct{} `type:"structure"` LoggingEnabled *LoggingEnabled `type:"structure"` } // String returns the string representation func (s BucketLoggingStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BucketLoggingStatus) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BucketLoggingStatus) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BucketLoggingStatus"} if s.LoggingEnabled != nil { if err := s.LoggingEnabled.Validate(); err != nil { invalidParams.AddNested("LoggingEnabled", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type CORSConfiguration struct { _ struct{} `type:"structure"` CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` } // String returns the string representation func (s CORSConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CORSConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CORSConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CORSConfiguration"} if s.CORSRules == nil { invalidParams.Add(request.NewErrParamRequired("CORSRules")) } if s.CORSRules != nil { for i, v := range s.CORSRules { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CORSRules", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type CORSRule struct { _ struct{} `type:"structure"` // Specifies which headers are allowed in a pre-flight OPTIONS request. AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"` // Identifies HTTP methods that the domain/origin specified in the rule is allowed // to execute. AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` // One or more origins you want customers to be able to access the bucket from. AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"` // One or more headers in the response that you want customers to be able to // access from their applications (for example, from a JavaScript XMLHttpRequest // object). ExposeHeaders []*string `locationName:"ExposeHeader" type:"list" flattened:"true"` // The time in seconds that your browser is to cache the preflight response // for the specified resource. MaxAgeSeconds *int64 `type:"integer"` } // String returns the string representation func (s CORSRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CORSRule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CORSRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CORSRule"} if s.AllowedMethods == nil { invalidParams.Add(request.NewErrParamRequired("AllowedMethods")) } if s.AllowedOrigins == nil { invalidParams.Add(request.NewErrParamRequired("AllowedOrigins")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CloudFunctionConfiguration struct { _ struct{} `type:"structure"` CloudFunction *string `type:"string"` // Bucket event for which to send notifications. Event *string `deprecated:"true" type:"string" enum:"Event"` Events []*string `locationName:"Event" type:"list" flattened:"true"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` InvocationRole *string `type:"string"` } // String returns the string representation func (s CloudFunctionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CloudFunctionConfiguration) GoString() string { return s.String() } type CommonPrefix struct { _ struct{} `type:"structure"` Prefix *string `type:"string"` } // String returns the string representation func (s CommonPrefix) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CommonPrefix) GoString() string { return s.String() } type CompleteMultipartUploadInput struct { _ struct{} `type:"structure" payload:"MultipartUpload"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } // String returns the string representation func (s CompleteMultipartUploadInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CompleteMultipartUploadInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CompleteMultipartUploadInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.UploadId == nil { invalidParams.Add(request.NewErrParamRequired("UploadId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CompleteMultipartUploadOutput struct { _ struct{} `type:"structure"` Bucket *string `type:"string"` // Entity tag of the object. ETag *string `type:"string"` // If the object expiration is configured, this will contain the expiration // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` Key *string `min:"1" type:"string"` Location *string `type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Version of the object. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` } // String returns the string representation func (s CompleteMultipartUploadOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CompleteMultipartUploadOutput) GoString() string { return s.String() } type CompletedMultipartUpload struct { _ struct{} `type:"structure"` Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"` } // String returns the string representation func (s CompletedMultipartUpload) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CompletedMultipartUpload) GoString() string { return s.String() } type CompletedPart struct { _ struct{} `type:"structure"` // Entity tag returned when the part was uploaded. ETag *string `type:"string"` // Part number that identifies the part. This is a positive integer between // 1 and 10,000. PartNumber *int64 `type:"integer"` } // String returns the string representation func (s CompletedPart) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CompletedPart) GoString() string { return s.String() } type Condition struct { _ struct{} `type:"structure"` // The HTTP error code when the redirect is applied. In the event of an error, // if the error code equals this value, then the specified redirect is applied. // Required when parent element Condition is specified and sibling KeyPrefixEquals // is not specified. If both are specified, then both must be true for the redirect // to be applied. HttpErrorCodeReturnedEquals *string `type:"string"` // The object key name prefix when the redirect is applied. For example, to // redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. // To redirect request for all pages with the prefix docs/, the key prefix will // be /docs, which identifies all objects in the docs/ folder. Required when // the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals // is not specified. If both conditions are specified, both must be true for // the redirect to be applied. KeyPrefixEquals *string `type:"string"` } // String returns the string representation func (s Condition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Condition) GoString() string { return s.String() } type CopyObjectInput struct { _ struct{} `type:"structure"` // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` // Specifies presentational information for the object. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // Specifies what content encodings have been applied to the object and thus // what decoding mechanisms must be applied to obtain the media-type referenced // by the Content-Type header field. ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // The name of the source bucket and key name of the source object, separated // by a slash (/). Must be URL-encoded. CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` // Copies the object if its entity tag (ETag) matches the specified tag. CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` // Copies the object if it has been modified since the specified time. CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"` // Copies the object if its entity tag (ETag) is different than the specified // ETag. CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` // Copies the object if it hasn't been modified since the specified time. CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"` // Specifies the algorithm to use when decrypting the source object (e.g., AES256). CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt // the source object. The encryption key provided in this header must be one // that was used when the source object was created. CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` // The date and time at which the object is no longer cacheable. Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to read the object data and its metadata. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the object ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to write the ACL for the applicable object. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` // Specifies whether the metadata is copied from the source object or replaced // with metadata provided in the request. MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // The type of storage to use for the object. Defaults to 'STANDARD'. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // If the bucket is configured as a website, redirects requests for this object // to another object in the same bucket or to an external URL. Amazon S3 stores // the value of this header in the object metadata. WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` } // String returns the string representation func (s CopyObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopyObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CopyObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CopyObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.CopySource == nil { invalidParams.Add(request.NewErrParamRequired("CopySource")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CopyObjectOutput struct { _ struct{} `type:"structure" payload:"CopyObjectResult"` CopyObjectResult *CopyObjectResult `type:"structure"` CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` // If the object expiration is configured, the response includes this header. Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Version ID of the newly created copy. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` } // String returns the string representation func (s CopyObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopyObjectOutput) GoString() string { return s.String() } type CopyObjectResult struct { _ struct{} `type:"structure"` ETag *string `type:"string"` LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation func (s CopyObjectResult) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopyObjectResult) GoString() string { return s.String() } type CopyPartResult struct { _ struct{} `type:"structure"` // Entity tag of the object. ETag *string `type:"string"` // Date and time at which the object was uploaded. LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` } // String returns the string representation func (s CopyPartResult) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopyPartResult) GoString() string { return s.String() } type CreateBucketConfiguration struct { _ struct{} `type:"structure"` // Specifies the region where the bucket will be created. If you don't specify // a region, the bucket will be created in US Standard. LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` } // String returns the string representation func (s CreateBucketConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateBucketConfiguration) GoString() string { return s.String() } type CreateBucketInput struct { _ struct{} `type:"structure" payload:"CreateBucketConfiguration"` // The canned ACL to apply to the bucket. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure"` // Allows grantee the read, write, read ACP, and write ACP permissions on the // bucket. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to list the objects in the bucket. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the bucket ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to create, overwrite, and delete any object in the bucket. GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` // Allows grantee to write the ACL for the applicable bucket. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` } // String returns the string representation func (s CreateBucketInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateBucketInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateBucketInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateBucketOutput struct { _ struct{} `type:"structure"` Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation func (s CreateBucketOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateBucketOutput) GoString() string { return s.String() } type CreateMultipartUploadInput struct { _ struct{} `type:"structure"` // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` // Specifies presentational information for the object. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // Specifies what content encodings have been applied to the object and thus // what decoding mechanisms must be applied to obtain the media-type referenced // by the Content-Type header field. ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // The date and time at which the object is no longer cacheable. Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to read the object data and its metadata. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the object ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to write the ACL for the applicable object. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // The type of storage to use for the object. Defaults to 'STANDARD'. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // If the bucket is configured as a website, redirects requests for this object // to another object in the same bucket or to an external URL. Amazon S3 stores // the value of this header in the object metadata. WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` } // String returns the string representation func (s CreateMultipartUploadInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateMultipartUploadInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateMultipartUploadInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateMultipartUploadInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateMultipartUploadOutput struct { _ struct{} `type:"structure"` // Date when multipart upload will become eligible for abort operation by lifecycle. AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"` // Id of the lifecycle rule that makes a multipart upload eligible for abort // operation. AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` // Name of the bucket to which the multipart upload was initiated. Bucket *string `locationName:"Bucket" type:"string"` // Object key for which the multipart upload was initiated. Key *string `min:"1" type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // ID for the initiated multipart upload. UploadId *string `type:"string"` } // String returns the string representation func (s CreateMultipartUploadOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateMultipartUploadOutput) GoString() string { return s.String() } type Delete struct { _ struct{} `type:"structure"` Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"` // Element to enable quiet mode for the request. When you add this element, // you must set its value to true. Quiet *bool `type:"boolean"` } // String returns the string representation func (s Delete) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Delete) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Delete) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Delete"} if s.Objects == nil { invalidParams.Add(request.NewErrParamRequired("Objects")) } if s.Objects != nil { for i, v := range s.Objects { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketCorsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketCorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketCorsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketCorsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketCorsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketCorsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketCorsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketCorsOutput) GoString() string { return s.String() } type DeleteBucketInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketLifecycleInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketLifecycleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketLifecycleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketLifecycleInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketLifecycleOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketLifecycleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketLifecycleOutput) GoString() string { return s.String() } type DeleteBucketOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketOutput) GoString() string { return s.String() } type DeleteBucketPolicyInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketPolicyInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketPolicyOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketPolicyOutput) GoString() string { return s.String() } type DeleteBucketReplicationInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketReplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketReplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketReplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketReplicationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketReplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketReplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketReplicationOutput) GoString() string { return s.String() } type DeleteBucketTaggingInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketTaggingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketTaggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketTaggingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketTaggingOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketTaggingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketTaggingOutput) GoString() string { return s.String() } type DeleteBucketWebsiteInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s DeleteBucketWebsiteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketWebsiteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteBucketWebsiteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteBucketWebsiteInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteBucketWebsiteOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteBucketWebsiteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteBucketWebsiteOutput) GoString() string { return s.String() } type DeleteMarkerEntry struct { _ struct{} `type:"structure"` // Specifies whether the object is (true) or is not (false) the latest version // of an object. IsLatest *bool `type:"boolean"` // The object key. Key *string `min:"1" type:"string"` // Date and time the object was last modified. LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` Owner *Owner `type:"structure"` // Version ID of an object. VersionId *string `type:"string"` } // String returns the string representation func (s DeleteMarkerEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteMarkerEntry) GoString() string { return s.String() } type DeleteObjectInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // The concatenation of the authentication device's serial number, a space, // and the value that is displayed on your authentication device. MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // VersionId used to reference a specific version of the object. VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s DeleteObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteObjectOutput struct { _ struct{} `type:"structure"` // Specifies whether the versioned object that was permanently deleted was (true) // or was not (false) a delete marker. DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // Returns the version ID of the delete marker created as a result of the DELETE // operation. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` } // String returns the string representation func (s DeleteObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteObjectOutput) GoString() string { return s.String() } type DeleteObjectsInput struct { _ struct{} `type:"structure" payload:"Delete"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Delete *Delete `locationName:"Delete" type:"structure" required:"true"` // The concatenation of the authentication device's serial number, a space, // and the value that is displayed on your authentication device. MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` } // String returns the string representation func (s DeleteObjectsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteObjectsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteObjectsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Delete == nil { invalidParams.Add(request.NewErrParamRequired("Delete")) } if s.Delete != nil { if err := s.Delete.Validate(); err != nil { invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteObjectsOutput struct { _ struct{} `type:"structure"` Deleted []*DeletedObject `type:"list" flattened:"true"` Errors []*Error `locationName:"Error" type:"list" flattened:"true"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s DeleteObjectsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteObjectsOutput) GoString() string { return s.String() } type DeletedObject struct { _ struct{} `type:"structure"` DeleteMarker *bool `type:"boolean"` DeleteMarkerVersionId *string `type:"string"` Key *string `min:"1" type:"string"` VersionId *string `type:"string"` } // String returns the string representation func (s DeletedObject) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeletedObject) GoString() string { return s.String() } type Destination struct { _ struct{} `type:"structure"` // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store // replicas of the object identified by the rule. Bucket *string `type:"string" required:"true"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"StorageClass"` } // String returns the string representation func (s Destination) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Destination) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Destination) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Destination"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type Error struct { _ struct{} `type:"structure"` Code *string `type:"string"` Key *string `min:"1" type:"string"` Message *string `type:"string"` VersionId *string `type:"string"` } // String returns the string representation func (s Error) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Error) GoString() string { return s.String() } type ErrorDocument struct { _ struct{} `type:"structure"` // The object key name to use when a 4XX class error occurs. Key *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s ErrorDocument) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ErrorDocument) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ErrorDocument) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ErrorDocument"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Container for key value pair that defines the criteria for the filter rule. type FilterRule struct { _ struct{} `type:"structure"` // Object key name prefix or suffix identifying one or more objects to which // the filtering rule applies. Maximum prefix length can be up to 1,024 characters. // Overlapping prefixes and suffixes are not supported. For more information, // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Name *string `type:"string" enum:"FilterRuleName"` Value *string `type:"string"` } // String returns the string representation func (s FilterRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s FilterRule) GoString() string { return s.String() } type GetBucketAccelerateConfigurationInput struct { _ struct{} `type:"structure"` // Name of the bucket for which the accelerate configuration is retrieved. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketAccelerateConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketAccelerateConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketAccelerateConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketAccelerateConfigurationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketAccelerateConfigurationOutput struct { _ struct{} `type:"structure"` // The accelerate configuration of the bucket. Status *string `type:"string" enum:"BucketAccelerateStatus"` } // String returns the string representation func (s GetBucketAccelerateConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketAccelerateConfigurationOutput) GoString() string { return s.String() } type GetBucketAclInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketAclInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketAclInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketAclInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketAclInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketAclOutput struct { _ struct{} `type:"structure"` // A list of grants. Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` Owner *Owner `type:"structure"` } // String returns the string representation func (s GetBucketAclOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketAclOutput) GoString() string { return s.String() } type GetBucketCorsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketCorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketCorsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketCorsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketCorsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketCorsOutput struct { _ struct{} `type:"structure"` CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"` } // String returns the string representation func (s GetBucketCorsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketCorsOutput) GoString() string { return s.String() } type GetBucketLifecycleConfigurationInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketLifecycleConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLifecycleConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketLifecycleConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketLifecycleConfigurationOutput struct { _ struct{} `type:"structure"` Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"` } // String returns the string representation func (s GetBucketLifecycleConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLifecycleConfigurationOutput) GoString() string { return s.String() } type GetBucketLifecycleInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketLifecycleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLifecycleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketLifecycleInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketLifecycleOutput struct { _ struct{} `type:"structure"` Rules []*Rule `locationName:"Rule" type:"list" flattened:"true"` } // String returns the string representation func (s GetBucketLifecycleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLifecycleOutput) GoString() string { return s.String() } type GetBucketLocationInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketLocationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLocationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketLocationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketLocationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketLocationOutput struct { _ struct{} `type:"structure"` LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` } // String returns the string representation func (s GetBucketLocationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLocationOutput) GoString() string { return s.String() } type GetBucketLoggingInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketLoggingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLoggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketLoggingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketLoggingInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketLoggingOutput struct { _ struct{} `type:"structure"` LoggingEnabled *LoggingEnabled `type:"structure"` } // String returns the string representation func (s GetBucketLoggingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketLoggingOutput) GoString() string { return s.String() } type GetBucketNotificationConfigurationRequest struct { _ struct{} `type:"structure"` // Name of the bucket to get the notification configuration for. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketNotificationConfigurationRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketNotificationConfigurationRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketNotificationConfigurationRequest) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketNotificationConfigurationRequest"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketPolicyInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketPolicyInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketPolicyOutput struct { _ struct{} `type:"structure" payload:"Policy"` // The bucket policy as a JSON document. Policy *string `type:"string"` } // String returns the string representation func (s GetBucketPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketPolicyOutput) GoString() string { return s.String() } type GetBucketReplicationInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketReplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketReplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketReplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketReplicationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketReplicationOutput struct { _ struct{} `type:"structure" payload:"ReplicationConfiguration"` // Container for replication rules. You can add as many as 1,000 rules. Total // replication configuration size can be up to 2 MB. ReplicationConfiguration *ReplicationConfiguration `type:"structure"` } // String returns the string representation func (s GetBucketReplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketReplicationOutput) GoString() string { return s.String() } type GetBucketRequestPaymentInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketRequestPaymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketRequestPaymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketRequestPaymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketRequestPaymentInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketRequestPaymentOutput struct { _ struct{} `type:"structure"` // Specifies who pays for the download and request fees. Payer *string `type:"string" enum:"Payer"` } // String returns the string representation func (s GetBucketRequestPaymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketRequestPaymentOutput) GoString() string { return s.String() } type GetBucketTaggingInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketTaggingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketTaggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketTaggingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketTaggingOutput struct { _ struct{} `type:"structure"` TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` } // String returns the string representation func (s GetBucketTaggingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketTaggingOutput) GoString() string { return s.String() } type GetBucketVersioningInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketVersioningInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketVersioningInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketVersioningInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketVersioningInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketVersioningOutput struct { _ struct{} `type:"structure"` // Specifies whether MFA delete is enabled in the bucket versioning configuration. // This element is only returned if the bucket has been configured with MFA // delete. If the bucket has never been so configured, this element is not returned. MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADeleteStatus"` // The versioning state of the bucket. Status *string `type:"string" enum:"BucketVersioningStatus"` } // String returns the string representation func (s GetBucketVersioningOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketVersioningOutput) GoString() string { return s.String() } type GetBucketWebsiteInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s GetBucketWebsiteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketWebsiteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetBucketWebsiteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetBucketWebsiteInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetBucketWebsiteOutput struct { _ struct{} `type:"structure"` ErrorDocument *ErrorDocument `type:"structure"` IndexDocument *IndexDocument `type:"structure"` RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` } // String returns the string representation func (s GetBucketWebsiteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetBucketWebsiteOutput) GoString() string { return s.String() } type GetObjectAclInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // VersionId used to reference a specific version of the object. VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s GetObjectAclInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectAclInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetObjectAclInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetObjectAclInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetObjectAclOutput struct { _ struct{} `type:"structure"` // A list of grants. Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` Owner *Owner `type:"structure"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s GetObjectAclOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectAclOutput) GoString() string { return s.String() } type GetObjectInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Return the object only if its entity tag (ETag) is the same as the one specified, // otherwise return a 412 (precondition failed). IfMatch *string `location:"header" locationName:"If-Match" type:"string"` // Return the object only if it has been modified since the specified time, // otherwise return a 304 (not modified). IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"` // Return the object only if its entity tag (ETag) is different from the one // specified, otherwise return a 304 (not modified). IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` // Return the object only if it has not been modified since the specified time, // otherwise return a 412 (precondition failed). IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of the object being read. This is a positive integer between // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. // Useful for downloading just a part of an object. PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Sets the Cache-Control header of the response. ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"` // Sets the Content-Disposition header of the response ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"` // Sets the Content-Encoding header of the response. ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"` // Sets the Content-Language header of the response. ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"` // Sets the Content-Type header of the response. ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"` // Sets the Expires header of the response. ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // VersionId used to reference a specific version of the object. VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s GetObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetObjectOutput struct { _ struct{} `type:"structure" payload:"Body"` AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` // Object data. Body io.ReadCloser `type:"blob"` // Specifies caching behavior along the request/reply chain. CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` // Specifies presentational information for the object. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // Specifies what content encodings have been applied to the object and thus // what decoding mechanisms must be applied to obtain the media-type referenced // by the Content-Type header field. ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // Size of the body in bytes. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // The portion of the object returned in the response. ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // Specifies whether the object retrieved was (true) or was not (false) a Delete // Marker. If false, this response header does not appear in the response. DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` // An ETag is an opaque identifier assigned by a web server to a specific version // of a resource found at a URL ETag *string `location:"header" locationName:"ETag" type:"string"` // If the object expiration is configured (see PUT Bucket lifecycle), the response // includes this header. It includes the expiry-date and rule-id key value pairs // providing object expiration information. The value of the rule-id is URL // encoded. Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` // The date and time at which the object is no longer cacheable. Expires *string `location:"header" locationName:"Expires" type:"string"` // Last modified date of the object LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"` // A map of metadata to store with the object in S3. Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` // This is set to the number of metadata entries not returned in x-amz-meta // headers. This can happen if you create metadata using an API like SOAP that // supports more flexible metadata than the REST API. For example, using SOAP, // you can create metadata whose values are not legal HTTP headers. MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` // The count of parts this object has. PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // Provides information about object restoration operation and expiration time // of the restored object copy. Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // Version of the object. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` // If the bucket is configured as a website, redirects requests for this object // to another object in the same bucket or to an external URL. Amazon S3 stores // the value of this header in the object metadata. WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` } // String returns the string representation func (s GetObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectOutput) GoString() string { return s.String() } type GetObjectTorrentInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` } // String returns the string representation func (s GetObjectTorrentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectTorrentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetObjectTorrentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetObjectTorrentInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type GetObjectTorrentOutput struct { _ struct{} `type:"structure" payload:"Body"` Body io.ReadCloser `type:"blob"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s GetObjectTorrentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetObjectTorrentOutput) GoString() string { return s.String() } type Grant struct { _ struct{} `type:"structure"` Grantee *Grantee `type:"structure"` // Specifies the permission given to the grantee. Permission *string `type:"string" enum:"Permission"` } // String returns the string representation func (s Grant) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Grant) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Grant) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Grant"} if s.Grantee != nil { if err := s.Grantee.Validate(); err != nil { invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type Grantee struct { _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` // Screen name of the grantee. DisplayName *string `type:"string"` // Email address of the grantee. EmailAddress *string `type:"string"` // The canonical user ID of the grantee. ID *string `type:"string"` // Type of grantee Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"` // URI of the grantee group. URI *string `type:"string"` } // String returns the string representation func (s Grantee) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Grantee) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Grantee) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Grantee"} if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type HeadBucketInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s HeadBucketInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HeadBucketInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HeadBucketInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HeadBucketInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type HeadBucketOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s HeadBucketOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HeadBucketOutput) GoString() string { return s.String() } type HeadObjectInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Return the object only if its entity tag (ETag) is the same as the one specified, // otherwise return a 412 (precondition failed). IfMatch *string `location:"header" locationName:"If-Match" type:"string"` // Return the object only if it has been modified since the specified time, // otherwise return a 304 (not modified). IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"` // Return the object only if its entity tag (ETag) is different from the one // specified, otherwise return a 304 (not modified). IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"` // Return the object only if it has not been modified since the specified time, // otherwise return a 412 (precondition failed). IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of the object being read. This is a positive integer between // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. // Useful querying about the size of the part and the number of parts in this // object. PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // VersionId used to reference a specific version of the object. VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s HeadObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HeadObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HeadObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HeadObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type HeadObjectOutput struct { _ struct{} `type:"structure"` AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"` // Specifies caching behavior along the request/reply chain. CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` // Specifies presentational information for the object. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // Specifies what content encodings have been applied to the object and thus // what decoding mechanisms must be applied to obtain the media-type referenced // by the Content-Type header field. ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // Size of the body in bytes. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // Specifies whether the object retrieved was (true) or was not (false) a Delete // Marker. If false, this response header does not appear in the response. DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"` // An ETag is an opaque identifier assigned by a web server to a specific version // of a resource found at a URL ETag *string `location:"header" locationName:"ETag" type:"string"` // If the object expiration is configured (see PUT Bucket lifecycle), the response // includes this header. It includes the expiry-date and rule-id key value pairs // providing object expiration information. The value of the rule-id is URL // encoded. Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` // The date and time at which the object is no longer cacheable. Expires *string `location:"header" locationName:"Expires" type:"string"` // Last modified date of the object LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"` // A map of metadata to store with the object in S3. Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` // This is set to the number of metadata entries not returned in x-amz-meta // headers. This can happen if you create metadata using an API like SOAP that // supports more flexible metadata than the REST API. For example, using SOAP, // you can create metadata whose values are not legal HTTP headers. MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` // The count of parts this object has. PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // Provides information about object restoration operation and expiration time // of the restored object copy. Restore *string `location:"header" locationName:"x-amz-restore" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // Version of the object. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` // If the bucket is configured as a website, redirects requests for this object // to another object in the same bucket or to an external URL. Amazon S3 stores // the value of this header in the object metadata. WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` } // String returns the string representation func (s HeadObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HeadObjectOutput) GoString() string { return s.String() } type IndexDocument struct { _ struct{} `type:"structure"` // A suffix that is appended to a request that is for a directory on the website // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ // the data that is returned will be for the object with the key name images/index.html) // The suffix must not be empty and must not include a slash character. Suffix *string `type:"string" required:"true"` } // String returns the string representation func (s IndexDocument) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s IndexDocument) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IndexDocument) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IndexDocument"} if s.Suffix == nil { invalidParams.Add(request.NewErrParamRequired("Suffix")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type Initiator struct { _ struct{} `type:"structure"` // Name of the Principal. DisplayName *string `type:"string"` // If the principal is an AWS account, it provides the Canonical User ID. If // the principal is an IAM User, it provides a user ARN value. ID *string `type:"string"` } // String returns the string representation func (s Initiator) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Initiator) GoString() string { return s.String() } // Container for object key name prefix and suffix filtering rules. type KeyFilter struct { _ struct{} `type:"structure"` // A list of containers for key value pair that defines the criteria for the // filter rule. FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"` } // String returns the string representation func (s KeyFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KeyFilter) GoString() string { return s.String() } // Container for specifying the AWS Lambda notification configuration. type LambdaFunctionConfiguration struct { _ struct{} `type:"structure"` Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` // Lambda cloud function ARN that Amazon S3 can invoke when it detects events // of the specified type. LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` } // String returns the string representation func (s LambdaFunctionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LambdaFunctionConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaFunctionConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionConfiguration"} if s.Events == nil { invalidParams.Add(request.NewErrParamRequired("Events")) } if s.LambdaFunctionArn == nil { invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type LifecycleConfiguration struct { _ struct{} `type:"structure"` Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } // String returns the string representation func (s LifecycleConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LifecycleConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LifecycleConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} if s.Rules == nil { invalidParams.Add(request.NewErrParamRequired("Rules")) } if s.Rules != nil { for i, v := range s.Rules { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type LifecycleExpiration struct { _ struct{} `type:"structure"` // Indicates at what date the object is to be moved or deleted. Should be in // GMT ISO 8601 Format. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` // Indicates the lifetime, in days, of the objects that are subject to the rule. // The value must be a non-zero positive integer. Days *int64 `type:"integer"` // Indicates whether Amazon S3 will remove a delete marker with no noncurrent // versions. If set to true, the delete marker will be expired; if set to false // the policy takes no action. This cannot be specified with Days or Date in // a Lifecycle Expiration Policy. ExpiredObjectDeleteMarker *bool `type:"boolean"` } // String returns the string representation func (s LifecycleExpiration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LifecycleExpiration) GoString() string { return s.String() } type LifecycleRule struct { _ struct{} `type:"structure"` // Specifies the days since the initiation of an Incomplete Multipart Upload // that Lifecycle will wait before permanently removing all parts of the upload. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` Expiration *LifecycleExpiration `type:"structure"` // Unique identifier for the rule. The value cannot be longer than 255 characters. ID *string `type:"string"` // Specifies when noncurrent object versions expire. Upon expiration, Amazon // S3 permanently deletes the noncurrent object versions. You set this lifecycle // configuration action on a bucket that has versioning enabled (or suspended) // to request that Amazon S3 delete noncurrent object versions at a specific // period in the object's lifetime. NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"` // Prefix identifying one or more objects to which the rule applies. Prefix *string `type:"string" required:"true"` // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule // is not currently being applied. Status *string `type:"string" required:"true" enum:"ExpirationStatus"` Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"` } // String returns the string representation func (s LifecycleRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LifecycleRule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LifecycleRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} if s.Prefix == nil { invalidParams.Add(request.NewErrParamRequired("Prefix")) } if s.Status == nil { invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListBucketsInput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s ListBucketsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListBucketsInput) GoString() string { return s.String() } type ListBucketsOutput struct { _ struct{} `type:"structure"` Buckets []*Bucket `locationNameList:"Bucket" type:"list"` Owner *Owner `type:"structure"` } // String returns the string representation func (s ListBucketsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListBucketsOutput) GoString() string { return s.String() } type ListMultipartUploadsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Character you use to group keys. Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` // Requests Amazon S3 to encode the object keys in the response and specifies // the encoding method to use. An object key may contain any Unicode character; // however, XML 1.0 parser cannot parse some characters, such as characters // with an ASCII value from 0 to 10. For characters that are not supported in // XML 1.0, you can add this parameter to request that Amazon S3 encode the // keys in the response. EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` // Together with upload-id-marker, this parameter specifies the multipart upload // after which listing should begin. KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` // Sets the maximum number of multipart uploads, from 1 to 1,000, to return // in the response body. 1,000 is the maximum number of uploads that can be // returned in a response. MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"` // Lists in-progress uploads only for those keys that begin with the specified // prefix. Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Together with key-marker, specifies the multipart upload after which listing // should begin. If key-marker is not specified, the upload-id-marker parameter // is ignored. UploadIdMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"` } // String returns the string representation func (s ListMultipartUploadsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListMultipartUploadsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListMultipartUploadsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListMultipartUploadsOutput struct { _ struct{} `type:"structure"` // Name of the bucket to which the multipart upload was initiated. Bucket *string `type:"string"` CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` Delimiter *string `type:"string"` // Encoding type used by Amazon S3 to encode object keys in the response. EncodingType *string `type:"string" enum:"EncodingType"` // Indicates whether the returned list of multipart uploads is truncated. A // value of true indicates that the list was truncated. The list can be truncated // if the number of multipart uploads exceeds the limit allowed or specified // by max uploads. IsTruncated *bool `type:"boolean"` // The key at or after which the listing began. KeyMarker *string `type:"string"` // Maximum number of multipart uploads that could have been included in the // response. MaxUploads *int64 `type:"integer"` // When a list is truncated, this element specifies the value that should be // used for the key-marker request parameter in a subsequent request. NextKeyMarker *string `type:"string"` // When a list is truncated, this element specifies the value that should be // used for the upload-id-marker request parameter in a subsequent request. NextUploadIdMarker *string `type:"string"` // When a prefix is provided in the request, this field contains the specified // prefix. The result contains only keys starting with the specified prefix. Prefix *string `type:"string"` // Upload ID after which listing began. UploadIdMarker *string `type:"string"` Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"` } // String returns the string representation func (s ListMultipartUploadsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListMultipartUploadsOutput) GoString() string { return s.String() } type ListObjectVersionsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // A delimiter is a character you use to group keys. Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` // Requests Amazon S3 to encode the object keys in the response and specifies // the encoding method to use. An object key may contain any Unicode character; // however, XML 1.0 parser cannot parse some characters, such as characters // with an ASCII value from 0 to 10. For characters that are not supported in // XML 1.0, you can add this parameter to request that Amazon S3 encode the // keys in the response. EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` // Specifies the key to start with when listing objects in a bucket. KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` // Sets the maximum number of keys returned in the response. The response might // contain fewer keys but will never contain more. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Limits the response to keys that begin with the specified prefix. Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Specifies the object version you want to start listing from. VersionIdMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"` } // String returns the string representation func (s ListObjectVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListObjectVersionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListObjectVersionsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListObjectVersionsOutput struct { _ struct{} `type:"structure"` CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"` Delimiter *string `type:"string"` // Encoding type used by Amazon S3 to encode object keys in the response. EncodingType *string `type:"string" enum:"EncodingType"` // A flag that indicates whether or not Amazon S3 returned all of the results // that satisfied the search criteria. If your results were truncated, you can // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker // response parameters as a starting place in another request to return the // rest of the results. IsTruncated *bool `type:"boolean"` // Marks the last Key returned in a truncated response. KeyMarker *string `type:"string"` MaxKeys *int64 `type:"integer"` Name *string `type:"string"` // Use this value for the key marker request parameter in a subsequent request. NextKeyMarker *string `type:"string"` // Use this value for the next version id marker parameter in a subsequent request. NextVersionIdMarker *string `type:"string"` Prefix *string `type:"string"` VersionIdMarker *string `type:"string"` Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"` } // String returns the string representation func (s ListObjectVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectVersionsOutput) GoString() string { return s.String() } type ListObjectsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // A delimiter is a character you use to group keys. Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` // Requests Amazon S3 to encode the object keys in the response and specifies // the encoding method to use. An object key may contain any Unicode character; // however, XML 1.0 parser cannot parse some characters, such as characters // with an ASCII value from 0 to 10. For characters that are not supported in // XML 1.0, you can add this parameter to request that Amazon S3 encode the // keys in the response. EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` // Specifies the key to start with when listing objects in a bucket. Marker *string `location:"querystring" locationName:"marker" type:"string"` // Sets the maximum number of keys returned in the response. The response might // contain fewer keys but will never contain more. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Limits the response to keys that begin with the specified prefix. Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` } // String returns the string representation func (s ListObjectsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListObjectsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListObjectsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListObjectsOutput struct { _ struct{} `type:"structure"` CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` Contents []*Object `type:"list" flattened:"true"` Delimiter *string `type:"string"` // Encoding type used by Amazon S3 to encode object keys in the response. EncodingType *string `type:"string" enum:"EncodingType"` // A flag that indicates whether or not Amazon S3 returned all of the results // that satisfied the search criteria. IsTruncated *bool `type:"boolean"` Marker *string `type:"string"` MaxKeys *int64 `type:"integer"` Name *string `type:"string"` // When response is truncated (the IsTruncated element value in the response // is true), you can use the key name in this field as marker in the subsequent // request to get next set of objects. Amazon S3 lists objects in alphabetical // order Note: This element is returned only if you have delimiter request parameter // specified. If response does not include the NextMaker and it is truncated, // you can use the value of the last Key in the response as the marker in the // subsequent request to get the next set of object keys. NextMarker *string `type:"string"` Prefix *string `type:"string"` } // String returns the string representation func (s ListObjectsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectsOutput) GoString() string { return s.String() } type ListObjectsV2Input struct { _ struct{} `type:"structure"` // Name of the bucket to list. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // ContinuationToken indicates Amazon S3 that the list is being continued on // this bucket with a token. ContinuationToken is obfuscated and is not a real // key ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` // A delimiter is a character you use to group keys. Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` // Encoding type used by Amazon S3 to encode object keys in the response. EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` // The owner field is not present in listV2 by default, if you want to return // owner field with each key in the result then set the fetch owner field to // true FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"` // Sets the maximum number of keys returned in the response. The response might // contain fewer keys but will never contain more. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Limits the response to keys that begin with the specified prefix. Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts // listing after this specified key. StartAfter can be any key in the bucket StartAfter *string `location:"querystring" locationName:"start-after" type:"string"` } // String returns the string representation func (s ListObjectsV2Input) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectsV2Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListObjectsV2Input) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListObjectsV2Output struct { _ struct{} `type:"structure"` // CommonPrefixes contains all (if there are any) keys between Prefix and the // next occurrence of the string specified by delimiter CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` // Metadata about each object returned. Contents []*Object `type:"list" flattened:"true"` // ContinuationToken indicates Amazon S3 that the list is being continued on // this bucket with a token. ContinuationToken is obfuscated and is not a real // key ContinuationToken *string `type:"string"` // A delimiter is a character you use to group keys. Delimiter *string `type:"string"` // Encoding type used by Amazon S3 to encode object keys in the response. EncodingType *string `type:"string" enum:"EncodingType"` // A flag that indicates whether or not Amazon S3 returned all of the results // that satisfied the search criteria. IsTruncated *bool `type:"boolean"` // KeyCount is the number of keys returned with this request. KeyCount will // always be less than equals to MaxKeys field. Say you ask for 50 keys, your // result will include less than equals 50 keys KeyCount *int64 `type:"integer"` // Sets the maximum number of keys returned in the response. The response might // contain fewer keys but will never contain more. MaxKeys *int64 `type:"integer"` // Name of the bucket to list. Name *string `type:"string"` // NextContinuationToken is sent when isTruncated is true which means there // are more keys in the bucket that can be listed. The next list requests to // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken // is obfuscated and is not a real key NextContinuationToken *string `type:"string"` // Limits the response to keys that begin with the specified prefix. Prefix *string `type:"string"` // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts // listing after this specified key. StartAfter can be any key in the bucket StartAfter *string `type:"string"` } // String returns the string representation func (s ListObjectsV2Output) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListObjectsV2Output) GoString() string { return s.String() } type ListPartsInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Sets the maximum number of parts to return. MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"` // Specifies the part after which listing should begin. Only parts with higher // part numbers will be listed. PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Upload ID identifying the multipart upload whose parts are being listed. UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } // String returns the string representation func (s ListPartsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListPartsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListPartsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.UploadId == nil { invalidParams.Add(request.NewErrParamRequired("UploadId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListPartsOutput struct { _ struct{} `type:"structure"` // Date when multipart upload will become eligible for abort operation by lifecycle. AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"` // Id of the lifecycle rule that makes a multipart upload eligible for abort // operation. AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"` // Name of the bucket to which the multipart upload was initiated. Bucket *string `type:"string"` // Identifies who initiated the multipart upload. Initiator *Initiator `type:"structure"` // Indicates whether the returned list of parts is truncated. IsTruncated *bool `type:"boolean"` // Object key for which the multipart upload was initiated. Key *string `min:"1" type:"string"` // Maximum number of parts that were allowed in the response. MaxParts *int64 `type:"integer"` // When a list is truncated, this element specifies the last part in the list, // as well as the value to use for the part-number-marker request parameter // in a subsequent request. NextPartNumberMarker *int64 `type:"integer"` Owner *Owner `type:"structure"` // Part number after which listing begins. PartNumberMarker *int64 `type:"integer"` Parts []*Part `locationName:"Part" type:"list" flattened:"true"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"StorageClass"` // Upload ID identifying the multipart upload whose parts are being listed. UploadId *string `type:"string"` } // String returns the string representation func (s ListPartsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListPartsOutput) GoString() string { return s.String() } type LoggingEnabled struct { _ struct{} `type:"structure"` // Specifies the bucket where you want Amazon S3 to store server access logs. // You can have your logs delivered to any bucket that you own, including the // same bucket that is being logged. You can also configure multiple buckets // to deliver their logs to the same target bucket. In this case you should // choose a different TargetPrefix for each source bucket so that the delivered // log files can be distinguished by key. TargetBucket *string `type:"string"` TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` // This element lets you specify a prefix for the keys that the log files will // be stored under. TargetPrefix *string `type:"string"` } // String returns the string representation func (s LoggingEnabled) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LoggingEnabled) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LoggingEnabled) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"} if s.TargetGrants != nil { for i, v := range s.TargetGrants { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetGrants", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type MultipartUpload struct { _ struct{} `type:"structure"` // Date and time at which the multipart upload was initiated. Initiated *time.Time `type:"timestamp" timestampFormat:"iso8601"` // Identifies who initiated the multipart upload. Initiator *Initiator `type:"structure"` // Key of the object for which the multipart upload was initiated. Key *string `min:"1" type:"string"` Owner *Owner `type:"structure"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"StorageClass"` // Upload ID that identifies the multipart upload. UploadId *string `type:"string"` } // String returns the string representation func (s MultipartUpload) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s MultipartUpload) GoString() string { return s.String() } // Specifies when noncurrent object versions expire. Upon expiration, Amazon // S3 permanently deletes the noncurrent object versions. You set this lifecycle // configuration action on a bucket that has versioning enabled (or suspended) // to request that Amazon S3 delete noncurrent object versions at a specific // period in the object's lifetime. type NoncurrentVersionExpiration struct { _ struct{} `type:"structure"` // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in // the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` } // String returns the string representation func (s NoncurrentVersionExpiration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NoncurrentVersionExpiration) GoString() string { return s.String() } // Container for the transition rule that describes when noncurrent objects // transition to the STANDARD_IA or GLACIER storage class. If your bucket is // versioning-enabled (or versioning is suspended), you can set this action // to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA // or GLACIER storage class at a specific period in the object's lifetime. type NoncurrentVersionTransition struct { _ struct{} `type:"structure"` // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in // the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"TransitionStorageClass"` } // String returns the string representation func (s NoncurrentVersionTransition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NoncurrentVersionTransition) GoString() string { return s.String() } // Container for specifying the notification configuration of the bucket. If // this element is empty, notifications are turned off on the bucket. type NotificationConfiguration struct { _ struct{} `type:"structure"` LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"` QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"` TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"` } // String returns the string representation func (s NotificationConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NotificationConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *NotificationConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "NotificationConfiguration"} if s.LambdaFunctionConfigurations != nil { for i, v := range s.LambdaFunctionConfigurations { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionConfigurations", i), err.(request.ErrInvalidParams)) } } } if s.QueueConfigurations != nil { for i, v := range s.QueueConfigurations { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigurations", i), err.(request.ErrInvalidParams)) } } } if s.TopicConfigurations != nil { for i, v := range s.TopicConfigurations { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicConfigurations", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type NotificationConfigurationDeprecated struct { _ struct{} `type:"structure"` CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"` QueueConfiguration *QueueConfigurationDeprecated `type:"structure"` TopicConfiguration *TopicConfigurationDeprecated `type:"structure"` } // String returns the string representation func (s NotificationConfigurationDeprecated) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NotificationConfigurationDeprecated) GoString() string { return s.String() } // Container for object key name filtering rules. For information about key // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. type NotificationConfigurationFilter struct { _ struct{} `type:"structure"` // Container for object key name prefix and suffix filtering rules. Key *KeyFilter `locationName:"S3Key" type:"structure"` } // String returns the string representation func (s NotificationConfigurationFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NotificationConfigurationFilter) GoString() string { return s.String() } type Object struct { _ struct{} `type:"structure"` ETag *string `type:"string"` Key *string `min:"1" type:"string"` LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` Owner *Owner `type:"structure"` Size *int64 `type:"integer"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"ObjectStorageClass"` } // String returns the string representation func (s Object) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Object) GoString() string { return s.String() } type ObjectIdentifier struct { _ struct{} `type:"structure"` // Key name of the object to delete. Key *string `min:"1" type:"string" required:"true"` // VersionId for the specific version of the object to delete. VersionId *string `type:"string"` } // String returns the string representation func (s ObjectIdentifier) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ObjectIdentifier) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ObjectIdentifier) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ObjectIdentifier"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ObjectVersion struct { _ struct{} `type:"structure"` ETag *string `type:"string"` // Specifies whether the object is (true) or is not (false) the latest version // of an object. IsLatest *bool `type:"boolean"` // The object key. Key *string `min:"1" type:"string"` // Date and time the object was last modified. LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` Owner *Owner `type:"structure"` // Size in bytes of the object. Size *int64 `type:"integer"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"ObjectVersionStorageClass"` // Version ID of an object. VersionId *string `type:"string"` } // String returns the string representation func (s ObjectVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ObjectVersion) GoString() string { return s.String() } type Owner struct { _ struct{} `type:"structure"` DisplayName *string `type:"string"` ID *string `type:"string"` } // String returns the string representation func (s Owner) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Owner) GoString() string { return s.String() } type Part struct { _ struct{} `type:"structure"` // Entity tag returned when the part was uploaded. ETag *string `type:"string"` // Date and time at which the part was uploaded. LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` // Part number identifying the part. This is a positive integer between 1 and // 10,000. PartNumber *int64 `type:"integer"` // Size of the uploaded part data. Size *int64 `type:"integer"` } // String returns the string representation func (s Part) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Part) GoString() string { return s.String() } type PutBucketAccelerateConfigurationInput struct { _ struct{} `type:"structure" payload:"AccelerateConfiguration"` // Specifies the Accelerate Configuration you want to set for the bucket. AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true"` // Name of the bucket for which the accelerate configuration is set. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } // String returns the string representation func (s PutBucketAccelerateConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketAccelerateConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketAccelerateConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketAccelerateConfigurationInput"} if s.AccelerateConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("AccelerateConfiguration")) } if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketAccelerateConfigurationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketAccelerateConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketAccelerateConfigurationOutput) GoString() string { return s.String() } type PutBucketAclInput struct { _ struct{} `type:"structure" payload:"AccessControlPolicy"` // The canned ACL to apply to the bucket. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Allows grantee the read, write, read ACP, and write ACP permissions on the // bucket. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to list the objects in the bucket. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the bucket ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to create, overwrite, and delete any object in the bucket. GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` // Allows grantee to write the ACL for the applicable bucket. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` } // String returns the string representation func (s PutBucketAclInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketAclInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketAclInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketAclInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.AccessControlPolicy != nil { if err := s.AccessControlPolicy.Validate(); err != nil { invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketAclOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketAclOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketAclOutput) GoString() string { return s.String() } type PutBucketCorsInput struct { _ struct{} `type:"structure" payload:"CORSConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketCorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketCorsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketCorsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketCorsInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.CORSConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("CORSConfiguration")) } if s.CORSConfiguration != nil { if err := s.CORSConfiguration.Validate(); err != nil { invalidParams.AddNested("CORSConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketCorsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketCorsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketCorsOutput) GoString() string { return s.String() } type PutBucketLifecycleConfigurationInput struct { _ struct{} `type:"structure" payload:"LifecycleConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` } // String returns the string representation func (s PutBucketLifecycleConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLifecycleConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketLifecycleConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.LifecycleConfiguration != nil { if err := s.LifecycleConfiguration.Validate(); err != nil { invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketLifecycleConfigurationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketLifecycleConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLifecycleConfigurationOutput) GoString() string { return s.String() } type PutBucketLifecycleInput struct { _ struct{} `type:"structure" payload:"LifecycleConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` } // String returns the string representation func (s PutBucketLifecycleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLifecycleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketLifecycleInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.LifecycleConfiguration != nil { if err := s.LifecycleConfiguration.Validate(); err != nil { invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketLifecycleOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketLifecycleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLifecycleOutput) GoString() string { return s.String() } type PutBucketLoggingInput struct { _ struct{} `type:"structure" payload:"BucketLoggingStatus"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketLoggingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLoggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketLoggingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketLoggingInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.BucketLoggingStatus == nil { invalidParams.Add(request.NewErrParamRequired("BucketLoggingStatus")) } if s.BucketLoggingStatus != nil { if err := s.BucketLoggingStatus.Validate(); err != nil { invalidParams.AddNested("BucketLoggingStatus", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketLoggingOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketLoggingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketLoggingOutput) GoString() string { return s.String() } type PutBucketNotificationConfigurationInput struct { _ struct{} `type:"structure" payload:"NotificationConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Container for specifying the notification configuration of the bucket. If // this element is empty, notifications are turned off on the bucket. NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketNotificationConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketNotificationConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketNotificationConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationConfigurationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.NotificationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) } if s.NotificationConfiguration != nil { if err := s.NotificationConfiguration.Validate(); err != nil { invalidParams.AddNested("NotificationConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketNotificationConfigurationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketNotificationConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketNotificationConfigurationOutput) GoString() string { return s.String() } type PutBucketNotificationInput struct { _ struct{} `type:"structure" payload:"NotificationConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketNotificationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketNotificationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketNotificationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketNotificationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.NotificationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("NotificationConfiguration")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketNotificationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketNotificationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketNotificationOutput) GoString() string { return s.String() } type PutBucketPolicyInput struct { _ struct{} `type:"structure" payload:"Policy"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The bucket policy as a JSON document. Policy *string `type:"string" required:"true"` } // String returns the string representation func (s PutBucketPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketPolicyInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Policy == nil { invalidParams.Add(request.NewErrParamRequired("Policy")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketPolicyOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketPolicyOutput) GoString() string { return s.String() } type PutBucketReplicationInput struct { _ struct{} `type:"structure" payload:"ReplicationConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Container for replication rules. You can add as many as 1,000 rules. Total // replication configuration size can be up to 2 MB. ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketReplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketReplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketReplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketReplicationInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.ReplicationConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationConfiguration")) } if s.ReplicationConfiguration != nil { if err := s.ReplicationConfiguration.Validate(); err != nil { invalidParams.AddNested("ReplicationConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketReplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketReplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketReplicationOutput) GoString() string { return s.String() } type PutBucketRequestPaymentInput struct { _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketRequestPaymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketRequestPaymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketRequestPaymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketRequestPaymentInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.RequestPaymentConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("RequestPaymentConfiguration")) } if s.RequestPaymentConfiguration != nil { if err := s.RequestPaymentConfiguration.Validate(); err != nil { invalidParams.AddNested("RequestPaymentConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketRequestPaymentOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketRequestPaymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketRequestPaymentOutput) GoString() string { return s.String() } type PutBucketTaggingInput struct { _ struct{} `type:"structure" payload:"Tagging"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketTaggingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketTaggingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketTaggingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Tagging == nil { invalidParams.Add(request.NewErrParamRequired("Tagging")) } if s.Tagging != nil { if err := s.Tagging.Validate(); err != nil { invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketTaggingOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketTaggingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketTaggingOutput) GoString() string { return s.String() } type PutBucketVersioningInput struct { _ struct{} `type:"structure" payload:"VersioningConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The concatenation of the authentication device's serial number, a space, // and the value that is displayed on your authentication device. MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketVersioningInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketVersioningInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketVersioningInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketVersioningInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.VersioningConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("VersioningConfiguration")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketVersioningOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketVersioningOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketVersioningOutput) GoString() string { return s.String() } type PutBucketWebsiteInput struct { _ struct{} `type:"structure" payload:"WebsiteConfiguration"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true"` } // String returns the string representation func (s PutBucketWebsiteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketWebsiteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutBucketWebsiteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutBucketWebsiteInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.WebsiteConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("WebsiteConfiguration")) } if s.WebsiteConfiguration != nil { if err := s.WebsiteConfiguration.Validate(); err != nil { invalidParams.AddNested("WebsiteConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutBucketWebsiteOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutBucketWebsiteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutBucketWebsiteOutput) GoString() string { return s.String() } type PutObjectAclInput struct { _ struct{} `type:"structure" payload:"AccessControlPolicy"` // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Allows grantee the read, write, read ACP, and write ACP permissions on the // bucket. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to list the objects in the bucket. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the bucket ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to create, overwrite, and delete any object in the bucket. GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` // Allows grantee to write the ACL for the applicable bucket. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // VersionId used to reference a specific version of the object. VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s PutObjectAclInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutObjectAclInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutObjectAclInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutObjectAclInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.AccessControlPolicy != nil { if err := s.AccessControlPolicy.Validate(); err != nil { invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutObjectAclOutput struct { _ struct{} `type:"structure"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s PutObjectAclOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutObjectAclOutput) GoString() string { return s.String() } type PutObjectInput struct { _ struct{} `type:"structure" payload:"Body"` // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` // Object data. Body io.ReadSeeker `type:"blob"` // Name of the bucket to which the PUT operation was initiated. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"` // Specifies presentational information for the object. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // Specifies what content encodings have been applied to the object and thus // what decoding mechanisms must be applied to obtain the media-type referenced // by the Content-Type header field. ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` // The language the content is in. ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // Size of the body in bytes. This parameter is useful when the size of the // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // The date and time at which the object is no longer cacheable. Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` // Allows grantee to read the object data and its metadata. GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` // Allows grantee to read the object ACL. GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` // Allows grantee to write the ACL for the applicable object. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` // Object key for which the PUT operation was initiated. Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT // requests for an object protected by AWS KMS will fail if not made via SSL // or using SigV4. Documentation on configuring any of the officially supported // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // The type of storage to use for the object. Defaults to 'STANDARD'. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // If the bucket is configured as a website, redirects requests for this object // to another object in the same bucket or to an external URL. Amazon S3 stores // the value of this header in the object metadata. WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"` } // String returns the string representation func (s PutObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PutObjectOutput struct { _ struct{} `type:"structure"` // Entity tag for the uploaded object. ETag *string `location:"header" locationName:"ETag" type:"string"` // If the object expiration is configured, this will contain the expiration // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Version of the object. VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"` } // String returns the string representation func (s PutObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutObjectOutput) GoString() string { return s.String() } // Container for specifying an configuration when you want Amazon S3 to publish // events to an Amazon Simple Queue Service (Amazon SQS) queue. type QueueConfiguration struct { _ struct{} `type:"structure"` Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` // Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects // events of specified type. QueueArn *string `locationName:"Queue" type:"string" required:"true"` } // String returns the string representation func (s QueueConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s QueueConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *QueueConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "QueueConfiguration"} if s.Events == nil { invalidParams.Add(request.NewErrParamRequired("Events")) } if s.QueueArn == nil { invalidParams.Add(request.NewErrParamRequired("QueueArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type QueueConfigurationDeprecated struct { _ struct{} `type:"structure"` // Bucket event for which to send notifications. Event *string `deprecated:"true" type:"string" enum:"Event"` Events []*string `locationName:"Event" type:"list" flattened:"true"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` Queue *string `type:"string"` } // String returns the string representation func (s QueueConfigurationDeprecated) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s QueueConfigurationDeprecated) GoString() string { return s.String() } type Redirect struct { _ struct{} `type:"structure"` // The host name to use in the redirect request. HostName *string `type:"string"` // The HTTP redirect code to use on the response. Not required if one of the // siblings is present. HttpRedirectCode *string `type:"string"` // Protocol to use (http, https) when redirecting requests. The default is the // protocol that is used in the original request. Protocol *string `type:"string" enum:"Protocol"` // The object key prefix to use in the redirect request. For example, to redirect // requests for all pages with prefix docs/ (objects in the docs/ folder) to // documents/, you can set a condition block with KeyPrefixEquals set to docs/ // and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required // if one of the siblings is present. Can be present only if ReplaceKeyWith // is not provided. ReplaceKeyPrefixWith *string `type:"string"` // The specific object key to use in the redirect request. For example, redirect // request to error.html. Not required if one of the sibling is present. Can // be present only if ReplaceKeyPrefixWith is not provided. ReplaceKeyWith *string `type:"string"` } // String returns the string representation func (s Redirect) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Redirect) GoString() string { return s.String() } type RedirectAllRequestsTo struct { _ struct{} `type:"structure"` // Name of the host where requests will be redirected. HostName *string `type:"string" required:"true"` // Protocol to use (http, https) when redirecting requests. The default is the // protocol that is used in the original request. Protocol *string `type:"string" enum:"Protocol"` } // String returns the string representation func (s RedirectAllRequestsTo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RedirectAllRequestsTo) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RedirectAllRequestsTo) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RedirectAllRequestsTo"} if s.HostName == nil { invalidParams.Add(request.NewErrParamRequired("HostName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Container for replication rules. You can add as many as 1,000 rules. Total // replication configuration size can be up to 2 MB. type ReplicationConfiguration struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating // the objects. Role *string `type:"string" required:"true"` // Container for information about a particular replication rule. Replication // configuration must have at least one rule and can contain up to 1,000 rules. Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } // String returns the string representation func (s ReplicationConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReplicationConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ReplicationConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReplicationConfiguration"} if s.Role == nil { invalidParams.Add(request.NewErrParamRequired("Role")) } if s.Rules == nil { invalidParams.Add(request.NewErrParamRequired("Rules")) } if s.Rules != nil { for i, v := range s.Rules { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type ReplicationRule struct { _ struct{} `type:"structure"` Destination *Destination `type:"structure" required:"true"` // Unique identifier for the rule. The value cannot be longer than 255 characters. ID *string `type:"string"` // Object keyname prefix identifying one or more objects to which the rule applies. // Maximum prefix length can be up to 1,024 characters. Overlapping prefixes // are not supported. Prefix *string `type:"string" required:"true"` // The rule is ignored if status is not Enabled. Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` } // String returns the string representation func (s ReplicationRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReplicationRule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ReplicationRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReplicationRule"} if s.Destination == nil { invalidParams.Add(request.NewErrParamRequired("Destination")) } if s.Prefix == nil { invalidParams.Add(request.NewErrParamRequired("Prefix")) } if s.Status == nil { invalidParams.Add(request.NewErrParamRequired("Status")) } if s.Destination != nil { if err := s.Destination.Validate(); err != nil { invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type RequestPaymentConfiguration struct { _ struct{} `type:"structure"` // Specifies who pays for the download and request fees. Payer *string `type:"string" required:"true" enum:"Payer"` } // String returns the string representation func (s RequestPaymentConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RequestPaymentConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RequestPaymentConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RequestPaymentConfiguration"} if s.Payer == nil { invalidParams.Add(request.NewErrParamRequired("Payer")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type RestoreObjectInput struct { _ struct{} `type:"structure" payload:"RestoreRequest"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure"` VersionId *string `location:"querystring" locationName:"versionId" type:"string"` } // String returns the string representation func (s RestoreObjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RestoreObjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RestoreObjectInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RestoreObjectInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.RestoreRequest != nil { if err := s.RestoreRequest.Validate(); err != nil { invalidParams.AddNested("RestoreRequest", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type RestoreObjectOutput struct { _ struct{} `type:"structure"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` } // String returns the string representation func (s RestoreObjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RestoreObjectOutput) GoString() string { return s.String() } type RestoreRequest struct { _ struct{} `type:"structure"` // Lifetime of the active copy in days Days *int64 `type:"integer" required:"true"` } // String returns the string representation func (s RestoreRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RestoreRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RestoreRequest) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"} if s.Days == nil { invalidParams.Add(request.NewErrParamRequired("Days")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type RoutingRule struct { _ struct{} `type:"structure"` // A container for describing a condition that must be met for the specified // redirect to apply. For example, 1. If request is for pages in the /docs folder, // redirect to the /documents folder. 2. If request results in HTTP error 4xx, // redirect request to another host where you might process the error. Condition *Condition `type:"structure"` // Container for redirect information. You can redirect requests to another // host, to another page, or with another protocol. In the event of an error, // you can can specify a different error code to return. Redirect *Redirect `type:"structure" required:"true"` } // String returns the string representation func (s RoutingRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RoutingRule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RoutingRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RoutingRule"} if s.Redirect == nil { invalidParams.Add(request.NewErrParamRequired("Redirect")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type Rule struct { _ struct{} `type:"structure"` // Specifies the days since the initiation of an Incomplete Multipart Upload // that Lifecycle will wait before permanently removing all parts of the upload. AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` Expiration *LifecycleExpiration `type:"structure"` // Unique identifier for the rule. The value cannot be longer than 255 characters. ID *string `type:"string"` // Specifies when noncurrent object versions expire. Upon expiration, Amazon // S3 permanently deletes the noncurrent object versions. You set this lifecycle // configuration action on a bucket that has versioning enabled (or suspended) // to request that Amazon S3 delete noncurrent object versions at a specific // period in the object's lifetime. NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` // Container for the transition rule that describes when noncurrent objects // transition to the STANDARD_IA or GLACIER storage class. If your bucket is // versioning-enabled (or versioning is suspended), you can set this action // to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA // or GLACIER storage class at a specific period in the object's lifetime. NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` // Prefix identifying one or more objects to which the rule applies. Prefix *string `type:"string" required:"true"` // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule // is not currently being applied. Status *string `type:"string" required:"true" enum:"ExpirationStatus"` Transition *Transition `type:"structure"` } // String returns the string representation func (s Rule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Rule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Rule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Rule"} if s.Prefix == nil { invalidParams.Add(request.NewErrParamRequired("Prefix")) } if s.Status == nil { invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type Tag struct { _ struct{} `type:"structure"` // Name of the tag. Key *string `min:"1" type:"string" required:"true"` // Value of the tag. Value *string `type:"string" required:"true"` } // String returns the string representation func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Tag) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Tag) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Tag"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.Value == nil { invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type Tagging struct { _ struct{} `type:"structure"` TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` } // String returns the string representation func (s Tagging) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Tagging) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Tagging) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Tagging"} if s.TagSet == nil { invalidParams.Add(request.NewErrParamRequired("TagSet")) } if s.TagSet != nil { for i, v := range s.TagSet { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type TargetGrant struct { _ struct{} `type:"structure"` Grantee *Grantee `type:"structure"` // Logging permissions assigned to the Grantee for the bucket. Permission *string `type:"string" enum:"BucketLogsPermission"` } // String returns the string representation func (s TargetGrant) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TargetGrant) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TargetGrant) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TargetGrant"} if s.Grantee != nil { if err := s.Grantee.Validate(); err != nil { invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Container for specifying the configuration when you want Amazon S3 to publish // events to an Amazon Simple Notification Service (Amazon SNS) topic. type TopicConfiguration struct { _ struct{} `type:"structure"` Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // in the Amazon Simple Storage Service Developer Guide. Filter *NotificationConfigurationFilter `type:"structure"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` // Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects // events of specified type. TopicArn *string `locationName:"Topic" type:"string" required:"true"` } // String returns the string representation func (s TopicConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TopicConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TopicConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TopicConfiguration"} if s.Events == nil { invalidParams.Add(request.NewErrParamRequired("Events")) } if s.TopicArn == nil { invalidParams.Add(request.NewErrParamRequired("TopicArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type TopicConfigurationDeprecated struct { _ struct{} `type:"structure"` // Bucket event for which to send notifications. Event *string `deprecated:"true" type:"string" enum:"Event"` Events []*string `locationName:"Event" type:"list" flattened:"true"` // Optional unique identifier for configurations in a notification configuration. // If you don't provide one, Amazon S3 will assign an ID. Id *string `type:"string"` // Amazon SNS topic to which Amazon S3 will publish a message to report the // specified events for the bucket. Topic *string `type:"string"` } // String returns the string representation func (s TopicConfigurationDeprecated) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TopicConfigurationDeprecated) GoString() string { return s.String() } type Transition struct { _ struct{} `type:"structure"` // Indicates at what date the object is to be moved or deleted. Should be in // GMT ISO 8601 Format. Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` // Indicates the lifetime, in days, of the objects that are subject to the rule. // The value must be a non-zero positive integer. Days *int64 `type:"integer"` // The class of storage used to store the object. StorageClass *string `type:"string" enum:"TransitionStorageClass"` } // String returns the string representation func (s Transition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Transition) GoString() string { return s.String() } type UploadPartCopyInput struct { _ struct{} `type:"structure"` Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The name of the source bucket and key name of the source object, separated // by a slash (/). Must be URL-encoded. CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` // Copies the object if its entity tag (ETag) matches the specified tag. CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` // Copies the object if it has been modified since the specified time. CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"` // Copies the object if its entity tag (ETag) is different than the specified // ETag. CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` // Copies the object if it hasn't been modified since the specified time. CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"` // The range of bytes to copy from the source object. The range value must use // the form bytes=first-last, where the first and last are the zero-based byte // offsets to copy. For example, bytes=0-9 indicates that you want to copy the // first ten bytes of the source. You can copy a range only if the source object // is greater than 5 GB. CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"` // Specifies the algorithm to use when decrypting the source object (e.g., AES256). CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt // the source object. The encryption key provided in this header must be one // that was used when the source object was created. CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of part being copied. This is a positive integer between 1 and // 10,000. PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. This must be the same encryption key specified in the initiate multipart // upload request. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Upload ID identifying the multipart upload whose part is being copied. UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } // String returns the string representation func (s UploadPartCopyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UploadPartCopyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UploadPartCopyInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UploadPartCopyInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.CopySource == nil { invalidParams.Add(request.NewErrParamRequired("CopySource")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.PartNumber == nil { invalidParams.Add(request.NewErrParamRequired("PartNumber")) } if s.UploadId == nil { invalidParams.Add(request.NewErrParamRequired("UploadId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UploadPartCopyOutput struct { _ struct{} `type:"structure" payload:"CopyPartResult"` CopyPartResult *CopyPartResult `type:"structure"` // The version of the source object that was copied, if you have enabled versioning // on the source bucket. CopySourceVersionId *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` } // String returns the string representation func (s UploadPartCopyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UploadPartCopyOutput) GoString() string { return s.String() } type UploadPartInput struct { _ struct{} `type:"structure" payload:"Body"` // Object data. Body io.ReadSeeker `type:"blob"` // Name of the bucket to which the multipart upload was initiated. Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Size of the body in bytes. This parameter is useful when the size of the // body cannot be determined automatically. ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // Object key for which the multipart upload was initiated. Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of part being uploaded. This is a positive integer between 1 // and 10,000. PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Specifies the algorithm to use to when encrypting the object (e.g., AES256). SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting // data. This value is used to store the object and then it is discarded; Amazon // does not store the encryption key. The key must be appropriate for use with // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm // header. This must be the same encryption key specified in the initiate multipart // upload request. SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"` // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Amazon S3 uses this header for a message integrity check to ensure the encryption // key was transmitted without error. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Upload ID identifying the multipart upload whose part is being uploaded. UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } // String returns the string representation func (s UploadPartInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UploadPartInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UploadPartInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UploadPartInput"} if s.Bucket == nil { invalidParams.Add(request.NewErrParamRequired("Bucket")) } if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.PartNumber == nil { invalidParams.Add(request.NewErrParamRequired("PartNumber")) } if s.UploadId == nil { invalidParams.Add(request.NewErrParamRequired("UploadId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UploadPartOutput struct { _ struct{} `type:"structure"` // Entity tag for the uploaded object. ETag *string `location:"header" locationName:"ETag" type:"string"` // If present, indicates that the requester was successfully charged for the // request. RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header confirming the encryption algorithm // used. SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` // If server-side encryption with a customer-provided encryption key was requested, // the response will include this header to provide round trip message integrity // verification of the customer-provided encryption key. SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // If present, specifies the ID of the AWS Key Management Service (KMS) master // encryption key that was used for the object. SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"` // The Server-side encryption algorithm used when storing this object in S3 // (e.g., AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` } // String returns the string representation func (s UploadPartOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UploadPartOutput) GoString() string { return s.String() } type VersioningConfiguration struct { _ struct{} `type:"structure"` // Specifies whether MFA delete is enabled in the bucket versioning configuration. // This element is only returned if the bucket has been configured with MFA // delete. If the bucket has never been so configured, this element is not returned. MFADelete *string `locationName:"MfaDelete" type:"string" enum:"MFADelete"` // The versioning state of the bucket. Status *string `type:"string" enum:"BucketVersioningStatus"` } // String returns the string representation func (s VersioningConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s VersioningConfiguration) GoString() string { return s.String() } type WebsiteConfiguration struct { _ struct{} `type:"structure"` ErrorDocument *ErrorDocument `type:"structure"` IndexDocument *IndexDocument `type:"structure"` RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` } // String returns the string representation func (s WebsiteConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s WebsiteConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *WebsiteConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "WebsiteConfiguration"} if s.ErrorDocument != nil { if err := s.ErrorDocument.Validate(); err != nil { invalidParams.AddNested("ErrorDocument", err.(request.ErrInvalidParams)) } } if s.IndexDocument != nil { if err := s.IndexDocument.Validate(); err != nil { invalidParams.AddNested("IndexDocument", err.(request.ErrInvalidParams)) } } if s.RedirectAllRequestsTo != nil { if err := s.RedirectAllRequestsTo.Validate(); err != nil { invalidParams.AddNested("RedirectAllRequestsTo", err.(request.ErrInvalidParams)) } } if s.RoutingRules != nil { for i, v := range s.RoutingRules { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingRules", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } const ( // @enum BucketAccelerateStatus BucketAccelerateStatusEnabled = "Enabled" // @enum BucketAccelerateStatus BucketAccelerateStatusSuspended = "Suspended" ) const ( // @enum BucketCannedACL BucketCannedACLPrivate = "private" // @enum BucketCannedACL BucketCannedACLPublicRead = "public-read" // @enum BucketCannedACL BucketCannedACLPublicReadWrite = "public-read-write" // @enum BucketCannedACL BucketCannedACLAuthenticatedRead = "authenticated-read" ) const ( // @enum BucketLocationConstraint BucketLocationConstraintEu = "EU" // @enum BucketLocationConstraint BucketLocationConstraintEuWest1 = "eu-west-1" // @enum BucketLocationConstraint BucketLocationConstraintUsWest1 = "us-west-1" // @enum BucketLocationConstraint BucketLocationConstraintUsWest2 = "us-west-2" // @enum BucketLocationConstraint BucketLocationConstraintApSouth1 = "ap-south-1" // @enum BucketLocationConstraint BucketLocationConstraintApSoutheast1 = "ap-southeast-1" // @enum BucketLocationConstraint BucketLocationConstraintApSoutheast2 = "ap-southeast-2" // @enum BucketLocationConstraint BucketLocationConstraintApNortheast1 = "ap-northeast-1" // @enum BucketLocationConstraint BucketLocationConstraintSaEast1 = "sa-east-1" // @enum BucketLocationConstraint BucketLocationConstraintCnNorth1 = "cn-north-1" // @enum BucketLocationConstraint BucketLocationConstraintEuCentral1 = "eu-central-1" ) const ( // @enum BucketLogsPermission BucketLogsPermissionFullControl = "FULL_CONTROL" // @enum BucketLogsPermission BucketLogsPermissionRead = "READ" // @enum BucketLogsPermission BucketLogsPermissionWrite = "WRITE" ) const ( // @enum BucketVersioningStatus BucketVersioningStatusEnabled = "Enabled" // @enum BucketVersioningStatus BucketVersioningStatusSuspended = "Suspended" ) // Requests Amazon S3 to encode the object keys in the response and specifies // the encoding method to use. An object key may contain any Unicode character; // however, XML 1.0 parser cannot parse some characters, such as characters // with an ASCII value from 0 to 10. For characters that are not supported in // XML 1.0, you can add this parameter to request that Amazon S3 encode the // keys in the response. const ( // @enum EncodingType EncodingTypeUrl = "url" ) // Bucket event for which to send notifications. const ( // @enum Event EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject" // @enum Event EventS3ObjectCreated = "s3:ObjectCreated:*" // @enum Event EventS3ObjectCreatedPut = "s3:ObjectCreated:Put" // @enum Event EventS3ObjectCreatedPost = "s3:ObjectCreated:Post" // @enum Event EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy" // @enum Event EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload" // @enum Event EventS3ObjectRemoved = "s3:ObjectRemoved:*" // @enum Event EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete" // @enum Event EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated" ) const ( // @enum ExpirationStatus ExpirationStatusEnabled = "Enabled" // @enum ExpirationStatus ExpirationStatusDisabled = "Disabled" ) const ( // @enum FilterRuleName FilterRuleNamePrefix = "prefix" // @enum FilterRuleName FilterRuleNameSuffix = "suffix" ) const ( // @enum MFADelete MFADeleteEnabled = "Enabled" // @enum MFADelete MFADeleteDisabled = "Disabled" ) const ( // @enum MFADeleteStatus MFADeleteStatusEnabled = "Enabled" // @enum MFADeleteStatus MFADeleteStatusDisabled = "Disabled" ) const ( // @enum MetadataDirective MetadataDirectiveCopy = "COPY" // @enum MetadataDirective MetadataDirectiveReplace = "REPLACE" ) const ( // @enum ObjectCannedACL ObjectCannedACLPrivate = "private" // @enum ObjectCannedACL ObjectCannedACLPublicRead = "public-read" // @enum ObjectCannedACL ObjectCannedACLPublicReadWrite = "public-read-write" // @enum ObjectCannedACL ObjectCannedACLAuthenticatedRead = "authenticated-read" // @enum ObjectCannedACL ObjectCannedACLAwsExecRead = "aws-exec-read" // @enum ObjectCannedACL ObjectCannedACLBucketOwnerRead = "bucket-owner-read" // @enum ObjectCannedACL ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control" ) const ( // @enum ObjectStorageClass ObjectStorageClassStandard = "STANDARD" // @enum ObjectStorageClass ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" // @enum ObjectStorageClass ObjectStorageClassGlacier = "GLACIER" ) const ( // @enum ObjectVersionStorageClass ObjectVersionStorageClassStandard = "STANDARD" ) const ( // @enum Payer PayerRequester = "Requester" // @enum Payer PayerBucketOwner = "BucketOwner" ) const ( // @enum Permission PermissionFullControl = "FULL_CONTROL" // @enum Permission PermissionWrite = "WRITE" // @enum Permission PermissionWriteAcp = "WRITE_ACP" // @enum Permission PermissionRead = "READ" // @enum Permission PermissionReadAcp = "READ_ACP" ) const ( // @enum Protocol ProtocolHttp = "http" // @enum Protocol ProtocolHttps = "https" ) const ( // @enum ReplicationRuleStatus ReplicationRuleStatusEnabled = "Enabled" // @enum ReplicationRuleStatus ReplicationRuleStatusDisabled = "Disabled" ) const ( // @enum ReplicationStatus ReplicationStatusComplete = "COMPLETE" // @enum ReplicationStatus ReplicationStatusPending = "PENDING" // @enum ReplicationStatus ReplicationStatusFailed = "FAILED" // @enum ReplicationStatus ReplicationStatusReplica = "REPLICA" ) // If present, indicates that the requester was successfully charged for the // request. const ( // @enum RequestCharged RequestChargedRequester = "requester" ) // Confirms that the requester knows that she or he will be charged for the // request. Bucket owners need not specify this parameter in their requests. // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html const ( // @enum RequestPayer RequestPayerRequester = "requester" ) const ( // @enum ServerSideEncryption ServerSideEncryptionAes256 = "AES256" // @enum ServerSideEncryption ServerSideEncryptionAwsKms = "aws:kms" ) const ( // @enum StorageClass StorageClassStandard = "STANDARD" // @enum StorageClass StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" // @enum StorageClass StorageClassStandardIa = "STANDARD_IA" ) const ( // @enum TransitionStorageClass TransitionStorageClassGlacier = "GLACIER" // @enum TransitionStorageClass TransitionStorageClassStandardIa = "STANDARD_IA" ) const ( // @enum Type TypeCanonicalUser = "CanonicalUser" // @enum Type TypeAmazonCustomerByEmail = "AmazonCustomerByEmail" // @enum Type TypeGroup = "Group" )