1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package s3control 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/internal/s3shared/arn" 13 "github.com/aws/aws-sdk-go/private/checksum" 14 "github.com/aws/aws-sdk-go/private/protocol" 15 "github.com/aws/aws-sdk-go/private/protocol/restxml" 16) 17 18const opCreateAccessPoint = "CreateAccessPoint" 19 20// CreateAccessPointRequest generates a "aws/request.Request" representing the 21// client's request for the CreateAccessPoint operation. The "output" return 22// value will be populated with the request's response once the request completes 23// successfully. 24// 25// Use "Send" method on the returned Request to send the API call to the service. 26// the "output" return value is not valid until after Send returns without error. 27// 28// See CreateAccessPoint for more information on using the CreateAccessPoint 29// API call, and error handling. 30// 31// This method is useful when you want to inject custom logic or configuration 32// into the SDK's request lifecycle. Such as custom headers, or retry logic. 33// 34// 35// // Example sending a request using the CreateAccessPointRequest method. 36// req, resp := client.CreateAccessPointRequest(params) 37// 38// err := req.Send() 39// if err == nil { // resp is now filled 40// fmt.Println(resp) 41// } 42// 43// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint 44func (c *S3Control) CreateAccessPointRequest(input *CreateAccessPointInput) (req *request.Request, output *CreateAccessPointOutput) { 45 op := &request.Operation{ 46 Name: opCreateAccessPoint, 47 HTTPMethod: "PUT", 48 HTTPPath: "/v20180820/accesspoint/{name}", 49 } 50 51 if input == nil { 52 input = &CreateAccessPointInput{} 53 } 54 55 output = &CreateAccessPointOutput{} 56 req = c.newRequest(op, input, output) 57 // update account id or check if provided input for account id member matches 58 // the account id present in ARN 59 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 60 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 61 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 62 return 63} 64 65// CreateAccessPoint API operation for AWS S3 Control. 66// 67// Creates an access point and associates it with the specified bucket. For 68// more information, see Managing Data Access with Amazon S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html) 69// in the Amazon Simple Storage Service Developer Guide. 70// 71// Using this action with Amazon S3 on Outposts 72// 73// This action: 74// 75// * Requires a virtual private cloud (VPC) configuration as S3 on Outposts 76// only supports VPC style access points. 77// 78// * Does not support ACL on S3 on Outposts buckets. 79// 80// * Does not support Public Access on S3 on Outposts buckets. 81// 82// * Does not support object lock for S3 on Outposts buckets. 83// 84// For more information, see Using Amazon S3 on Outposts (AmazonS3/latest/dev/S3onOutposts.html) 85// in the Amazon Simple Storage Service Developer Guide . 86// 87// All Amazon S3 on Outposts REST API requests for this action require an additional 88// parameter of x-amz-outpost-id to be passed with the request and an S3 on 89// Outposts endpoint hostname prefix instead of s3-control. For an example of 90// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 91// endpoint hostname prefix and the x-amz-outpost-id derived using the access 92// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_Examples) 93// section. 94// 95// The following actions are related to CreateAccessPoint: 96// 97// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 98// 99// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 100// 101// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 102// 103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 104// with awserr.Error's Code and Message methods to get detailed information about 105// the error. 106// 107// See the AWS API reference guide for AWS S3 Control's 108// API operation CreateAccessPoint for usage and error information. 109// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPoint 110func (c *S3Control) CreateAccessPoint(input *CreateAccessPointInput) (*CreateAccessPointOutput, error) { 111 req, out := c.CreateAccessPointRequest(input) 112 return out, req.Send() 113} 114 115// CreateAccessPointWithContext is the same as CreateAccessPoint with the addition of 116// the ability to pass a context and additional request options. 117// 118// See CreateAccessPoint for details on how to use this API operation. 119// 120// The context must be non-nil and will be used for request cancellation. If 121// the context is nil a panic will occur. In the future the SDK may create 122// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 123// for more information on using Contexts. 124func (c *S3Control) CreateAccessPointWithContext(ctx aws.Context, input *CreateAccessPointInput, opts ...request.Option) (*CreateAccessPointOutput, error) { 125 req, out := c.CreateAccessPointRequest(input) 126 req.SetContext(ctx) 127 req.ApplyOptions(opts...) 128 return out, req.Send() 129} 130 131const opCreateBucket = "CreateBucket" 132 133// CreateBucketRequest generates a "aws/request.Request" representing the 134// client's request for the CreateBucket operation. The "output" return 135// value will be populated with the request's response once the request completes 136// successfully. 137// 138// Use "Send" method on the returned Request to send the API call to the service. 139// the "output" return value is not valid until after Send returns without error. 140// 141// See CreateBucket for more information on using the CreateBucket 142// API call, and error handling. 143// 144// This method is useful when you want to inject custom logic or configuration 145// into the SDK's request lifecycle. Such as custom headers, or retry logic. 146// 147// 148// // Example sending a request using the CreateBucketRequest method. 149// req, resp := client.CreateBucketRequest(params) 150// 151// err := req.Send() 152// if err == nil { // resp is now filled 153// fmt.Println(resp) 154// } 155// 156// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket 157func (c *S3Control) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { 158 op := &request.Operation{ 159 Name: opCreateBucket, 160 HTTPMethod: "PUT", 161 HTTPPath: "/v20180820/bucket/{name}", 162 } 163 164 if input == nil { 165 input = &CreateBucketInput{} 166 } 167 168 output = &CreateBucketOutput{} 169 req = c.newRequest(op, input, output) 170 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 171 Name: "contentMd5Handler", 172 Fn: checksum.AddBodyContentMD5Handler, 173 }) 174 return 175} 176 177// CreateBucket API operation for AWS S3 Control. 178// 179// 180// This API operation creates an Amazon S3 on Outposts bucket. To create an 181// S3 bucket, see Create Bucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) 182// in the Amazon Simple Storage Service API. 183// 184// Creates a new Outposts bucket. By creating the bucket, you become the bucket 185// owner. To create an Outposts bucket, you must have S3 on Outposts. For more 186// information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 187// in Amazon Simple Storage Service Developer Guide. 188// 189// Not every string is an acceptable bucket name. For information on bucket 190// naming restrictions, see Working with Amazon S3 Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules). 191// 192// S3 on Outposts buckets do not support 193// 194// * ACLs. Instead, configure access point policies to manage access to buckets. 195// 196// * Public access. 197// 198// * Object Lock 199// 200// * Bucket Location constraint 201// 202// For an example of the request syntax for Amazon S3 on Outposts that uses 203// the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your 204// API request, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html#API_control_CreateBucket_Examples) 205// section. 206// 207// The following actions are related to CreateBucket for Amazon S3 on Outposts: 208// 209// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 210// 211// * GetBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) 212// 213// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) 214// 215// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 216// 217// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 218// 219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 220// with awserr.Error's Code and Message methods to get detailed information about 221// the error. 222// 223// See the AWS API reference guide for AWS S3 Control's 224// API operation CreateBucket for usage and error information. 225// 226// Returned Error Codes: 227// * ErrCodeBucketAlreadyExists "BucketAlreadyExists" 228// The requested Outposts bucket name is not available. The bucket namespace 229// is shared by all users of the AWS Outposts in this Region. Select a different 230// name and try again. 231// 232// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou" 233// The Outposts bucket you tried to create already exists, and you own it. 234// 235// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateBucket 236func (c *S3Control) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { 237 req, out := c.CreateBucketRequest(input) 238 return out, req.Send() 239} 240 241// CreateBucketWithContext is the same as CreateBucket with the addition of 242// the ability to pass a context and additional request options. 243// 244// See CreateBucket for details on how to use this API operation. 245// 246// The context must be non-nil and will be used for request cancellation. If 247// the context is nil a panic will occur. In the future the SDK may create 248// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 249// for more information on using Contexts. 250func (c *S3Control) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) { 251 req, out := c.CreateBucketRequest(input) 252 req.SetContext(ctx) 253 req.ApplyOptions(opts...) 254 return out, req.Send() 255} 256 257const opCreateJob = "CreateJob" 258 259// CreateJobRequest generates a "aws/request.Request" representing the 260// client's request for the CreateJob operation. The "output" return 261// value will be populated with the request's response once the request completes 262// successfully. 263// 264// Use "Send" method on the returned Request to send the API call to the service. 265// the "output" return value is not valid until after Send returns without error. 266// 267// See CreateJob for more information on using the CreateJob 268// API call, and error handling. 269// 270// This method is useful when you want to inject custom logic or configuration 271// into the SDK's request lifecycle. Such as custom headers, or retry logic. 272// 273// 274// // Example sending a request using the CreateJobRequest method. 275// req, resp := client.CreateJobRequest(params) 276// 277// err := req.Send() 278// if err == nil { // resp is now filled 279// fmt.Println(resp) 280// } 281// 282// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJob 283func (c *S3Control) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) { 284 op := &request.Operation{ 285 Name: opCreateJob, 286 HTTPMethod: "POST", 287 HTTPPath: "/v20180820/jobs", 288 } 289 290 if input == nil { 291 input = &CreateJobInput{} 292 } 293 294 output = &CreateJobOutput{} 295 req = c.newRequest(op, input, output) 296 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 297 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 298 return 299} 300 301// CreateJob API operation for AWS S3 Control. 302// 303// S3 Batch Operations performs large-scale Batch Operations on Amazon S3 objects. 304// Batch Operations can run a single operation or action on lists of Amazon 305// S3 objects that you specify. For more information, see S3 Batch Operations 306// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in 307// the Amazon Simple Storage Service Developer Guide. 308// 309// This operation creates an S3 Batch Operations job. 310// 311// Related actions include: 312// 313// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 314// 315// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 316// 317// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 318// 319// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 320// 321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 322// with awserr.Error's Code and Message methods to get detailed information about 323// the error. 324// 325// See the AWS API reference guide for AWS S3 Control's 326// API operation CreateJob for usage and error information. 327// 328// Returned Error Codes: 329// * ErrCodeTooManyRequestsException "TooManyRequestsException" 330// 331// * ErrCodeBadRequestException "BadRequestException" 332// 333// * ErrCodeIdempotencyException "IdempotencyException" 334// 335// * ErrCodeInternalServiceException "InternalServiceException" 336// 337// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJob 338func (c *S3Control) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { 339 req, out := c.CreateJobRequest(input) 340 return out, req.Send() 341} 342 343// CreateJobWithContext is the same as CreateJob with the addition of 344// the ability to pass a context and additional request options. 345// 346// See CreateJob for details on how to use this API operation. 347// 348// The context must be non-nil and will be used for request cancellation. If 349// the context is nil a panic will occur. In the future the SDK may create 350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 351// for more information on using Contexts. 352func (c *S3Control) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) { 353 req, out := c.CreateJobRequest(input) 354 req.SetContext(ctx) 355 req.ApplyOptions(opts...) 356 return out, req.Send() 357} 358 359const opDeleteAccessPoint = "DeleteAccessPoint" 360 361// DeleteAccessPointRequest generates a "aws/request.Request" representing the 362// client's request for the DeleteAccessPoint operation. The "output" return 363// value will be populated with the request's response once the request completes 364// successfully. 365// 366// Use "Send" method on the returned Request to send the API call to the service. 367// the "output" return value is not valid until after Send returns without error. 368// 369// See DeleteAccessPoint for more information on using the DeleteAccessPoint 370// API call, and error handling. 371// 372// This method is useful when you want to inject custom logic or configuration 373// into the SDK's request lifecycle. Such as custom headers, or retry logic. 374// 375// 376// // Example sending a request using the DeleteAccessPointRequest method. 377// req, resp := client.DeleteAccessPointRequest(params) 378// 379// err := req.Send() 380// if err == nil { // resp is now filled 381// fmt.Println(resp) 382// } 383// 384// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 385func (c *S3Control) DeleteAccessPointRequest(input *DeleteAccessPointInput) (req *request.Request, output *DeleteAccessPointOutput) { 386 op := &request.Operation{ 387 Name: opDeleteAccessPoint, 388 HTTPMethod: "DELETE", 389 HTTPPath: "/v20180820/accesspoint/{name}", 390 } 391 392 if input == nil { 393 input = &DeleteAccessPointInput{} 394 } 395 396 output = &DeleteAccessPointOutput{} 397 req = c.newRequest(op, input, output) 398 // update account id or check if provided input for account id member matches 399 // the account id present in ARN 400 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 401 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 402 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 403 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 404 return 405} 406 407// DeleteAccessPoint API operation for AWS S3 Control. 408// 409// Deletes the specified access point. 410// 411// All Amazon S3 on Outposts REST API requests for this action require an additional 412// parameter of x-amz-outpost-id to be passed with the request and an S3 on 413// Outposts endpoint hostname prefix instead of s3-control. For an example of 414// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 415// endpoint hostname prefix and the x-amz-outpost-id derived using the access 416// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_Examples) 417// section. 418// 419// The following actions are related to DeleteAccessPoint: 420// 421// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 422// 423// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 424// 425// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 426// 427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 428// with awserr.Error's Code and Message methods to get detailed information about 429// the error. 430// 431// See the AWS API reference guide for AWS S3 Control's 432// API operation DeleteAccessPoint for usage and error information. 433// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPoint 434func (c *S3Control) DeleteAccessPoint(input *DeleteAccessPointInput) (*DeleteAccessPointOutput, error) { 435 req, out := c.DeleteAccessPointRequest(input) 436 return out, req.Send() 437} 438 439// DeleteAccessPointWithContext is the same as DeleteAccessPoint with the addition of 440// the ability to pass a context and additional request options. 441// 442// See DeleteAccessPoint for details on how to use this API operation. 443// 444// The context must be non-nil and will be used for request cancellation. If 445// the context is nil a panic will occur. In the future the SDK may create 446// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 447// for more information on using Contexts. 448func (c *S3Control) DeleteAccessPointWithContext(ctx aws.Context, input *DeleteAccessPointInput, opts ...request.Option) (*DeleteAccessPointOutput, error) { 449 req, out := c.DeleteAccessPointRequest(input) 450 req.SetContext(ctx) 451 req.ApplyOptions(opts...) 452 return out, req.Send() 453} 454 455const opDeleteAccessPointPolicy = "DeleteAccessPointPolicy" 456 457// DeleteAccessPointPolicyRequest generates a "aws/request.Request" representing the 458// client's request for the DeleteAccessPointPolicy operation. The "output" return 459// value will be populated with the request's response once the request completes 460// successfully. 461// 462// Use "Send" method on the returned Request to send the API call to the service. 463// the "output" return value is not valid until after Send returns without error. 464// 465// See DeleteAccessPointPolicy for more information on using the DeleteAccessPointPolicy 466// API call, and error handling. 467// 468// This method is useful when you want to inject custom logic or configuration 469// into the SDK's request lifecycle. Such as custom headers, or retry logic. 470// 471// 472// // Example sending a request using the DeleteAccessPointPolicyRequest method. 473// req, resp := client.DeleteAccessPointPolicyRequest(params) 474// 475// err := req.Send() 476// if err == nil { // resp is now filled 477// fmt.Println(resp) 478// } 479// 480// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 481func (c *S3Control) DeleteAccessPointPolicyRequest(input *DeleteAccessPointPolicyInput) (req *request.Request, output *DeleteAccessPointPolicyOutput) { 482 op := &request.Operation{ 483 Name: opDeleteAccessPointPolicy, 484 HTTPMethod: "DELETE", 485 HTTPPath: "/v20180820/accesspoint/{name}/policy", 486 } 487 488 if input == nil { 489 input = &DeleteAccessPointPolicyInput{} 490 } 491 492 output = &DeleteAccessPointPolicyOutput{} 493 req = c.newRequest(op, input, output) 494 // update account id or check if provided input for account id member matches 495 // the account id present in ARN 496 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 497 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 498 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 499 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 500 return 501} 502 503// DeleteAccessPointPolicy API operation for AWS S3 Control. 504// 505// Deletes the access point policy for the specified access point. 506// 507// All Amazon S3 on Outposts REST API requests for this action require an additional 508// parameter of x-amz-outpost-id to be passed with the request and an S3 on 509// Outposts endpoint hostname prefix instead of s3-control. For an example of 510// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 511// endpoint hostname prefix and the x-amz-outpost-id derived using the access 512// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html#API_control_DeleteAccessPointPolicy_Examples) 513// section. 514// 515// The following actions are related to DeleteAccessPointPolicy: 516// 517// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 518// 519// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 520// 521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 522// with awserr.Error's Code and Message methods to get detailed information about 523// the error. 524// 525// See the AWS API reference guide for AWS S3 Control's 526// API operation DeleteAccessPointPolicy for usage and error information. 527// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicy 528func (c *S3Control) DeleteAccessPointPolicy(input *DeleteAccessPointPolicyInput) (*DeleteAccessPointPolicyOutput, error) { 529 req, out := c.DeleteAccessPointPolicyRequest(input) 530 return out, req.Send() 531} 532 533// DeleteAccessPointPolicyWithContext is the same as DeleteAccessPointPolicy with the addition of 534// the ability to pass a context and additional request options. 535// 536// See DeleteAccessPointPolicy for details on how to use this API operation. 537// 538// The context must be non-nil and will be used for request cancellation. If 539// the context is nil a panic will occur. In the future the SDK may create 540// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 541// for more information on using Contexts. 542func (c *S3Control) DeleteAccessPointPolicyWithContext(ctx aws.Context, input *DeleteAccessPointPolicyInput, opts ...request.Option) (*DeleteAccessPointPolicyOutput, error) { 543 req, out := c.DeleteAccessPointPolicyRequest(input) 544 req.SetContext(ctx) 545 req.ApplyOptions(opts...) 546 return out, req.Send() 547} 548 549const opDeleteBucket = "DeleteBucket" 550 551// DeleteBucketRequest generates a "aws/request.Request" representing the 552// client's request for the DeleteBucket operation. The "output" return 553// value will be populated with the request's response once the request completes 554// successfully. 555// 556// Use "Send" method on the returned Request to send the API call to the service. 557// the "output" return value is not valid until after Send returns without error. 558// 559// See DeleteBucket for more information on using the DeleteBucket 560// API call, and error handling. 561// 562// This method is useful when you want to inject custom logic or configuration 563// into the SDK's request lifecycle. Such as custom headers, or retry logic. 564// 565// 566// // Example sending a request using the DeleteBucketRequest method. 567// req, resp := client.DeleteBucketRequest(params) 568// 569// err := req.Send() 570// if err == nil { // resp is now filled 571// fmt.Println(resp) 572// } 573// 574// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 575func (c *S3Control) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { 576 op := &request.Operation{ 577 Name: opDeleteBucket, 578 HTTPMethod: "DELETE", 579 HTTPPath: "/v20180820/bucket/{name}", 580 } 581 582 if input == nil { 583 input = &DeleteBucketInput{} 584 } 585 586 output = &DeleteBucketOutput{} 587 req = c.newRequest(op, input, output) 588 // update account id or check if provided input for account id member matches 589 // the account id present in ARN 590 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 591 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 592 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 593 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 594 return 595} 596 597// DeleteBucket API operation for AWS S3 Control. 598// 599// 600// This API operation deletes an Amazon S3 on Outposts bucket. To delete an 601// S3 bucket, see DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) 602// in the Amazon Simple Storage Service API. 603// 604// Deletes the Amazon S3 on Outposts bucket. All objects (including all object 605// versions and delete markers) in the bucket must be deleted before the bucket 606// itself can be deleted. For more information, see Using Amazon S3 on Outposts 607// (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) in Amazon 608// Simple Storage Service Developer Guide. 609// 610// All Amazon S3 on Outposts REST API requests for this action require an additional 611// parameter of x-amz-outpost-id to be passed with the request and an S3 on 612// Outposts endpoint hostname prefix instead of s3-control. For an example of 613// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 614// endpoint hostname prefix and the x-amz-outpost-id derived using the access 615// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html#API_control_DeleteBucket_Examples) 616// section. 617// 618// Related Resources 619// 620// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 621// 622// * GetBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) 623// 624// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) 625// 626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 627// with awserr.Error's Code and Message methods to get detailed information about 628// the error. 629// 630// See the AWS API reference guide for AWS S3 Control's 631// API operation DeleteBucket for usage and error information. 632// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucket 633func (c *S3Control) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 634 req, out := c.DeleteBucketRequest(input) 635 return out, req.Send() 636} 637 638// DeleteBucketWithContext is the same as DeleteBucket with the addition of 639// the ability to pass a context and additional request options. 640// 641// See DeleteBucket for details on how to use this API operation. 642// 643// The context must be non-nil and will be used for request cancellation. If 644// the context is nil a panic will occur. In the future the SDK may create 645// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 646// for more information on using Contexts. 647func (c *S3Control) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) { 648 req, out := c.DeleteBucketRequest(input) 649 req.SetContext(ctx) 650 req.ApplyOptions(opts...) 651 return out, req.Send() 652} 653 654const opDeleteBucketLifecycleConfiguration = "DeleteBucketLifecycleConfiguration" 655 656// DeleteBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 657// client's request for the DeleteBucketLifecycleConfiguration operation. The "output" return 658// value will be populated with the request's response once the request completes 659// successfully. 660// 661// Use "Send" method on the returned Request to send the API call to the service. 662// the "output" return value is not valid until after Send returns without error. 663// 664// See DeleteBucketLifecycleConfiguration for more information on using the DeleteBucketLifecycleConfiguration 665// API call, and error handling. 666// 667// This method is useful when you want to inject custom logic or configuration 668// into the SDK's request lifecycle. Such as custom headers, or retry logic. 669// 670// 671// // Example sending a request using the DeleteBucketLifecycleConfigurationRequest method. 672// req, resp := client.DeleteBucketLifecycleConfigurationRequest(params) 673// 674// err := req.Send() 675// if err == nil { // resp is now filled 676// fmt.Println(resp) 677// } 678// 679// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 680func (c *S3Control) DeleteBucketLifecycleConfigurationRequest(input *DeleteBucketLifecycleConfigurationInput) (req *request.Request, output *DeleteBucketLifecycleConfigurationOutput) { 681 op := &request.Operation{ 682 Name: opDeleteBucketLifecycleConfiguration, 683 HTTPMethod: "DELETE", 684 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 685 } 686 687 if input == nil { 688 input = &DeleteBucketLifecycleConfigurationInput{} 689 } 690 691 output = &DeleteBucketLifecycleConfigurationOutput{} 692 req = c.newRequest(op, input, output) 693 // update account id or check if provided input for account id member matches 694 // the account id present in ARN 695 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 696 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 697 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 698 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 699 return 700} 701 702// DeleteBucketLifecycleConfiguration API operation for AWS S3 Control. 703// 704// 705// This API action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. 706// To delete an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle 707// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) 708// in the Amazon Simple Storage Service API. 709// 710// Deletes the lifecycle configuration from the specified Outposts bucket. Amazon 711// S3 on Outposts removes all the lifecycle configuration rules in the lifecycle 712// subresource associated with the bucket. Your objects never expire, and Amazon 713// S3 on Outposts no longer automatically deletes any objects on the basis of 714// rules contained in the deleted lifecycle configuration. For more information, 715// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 716// in Amazon Simple Storage Service Developer Guide. 717// 718// To use this operation, you must have permission to perform the s3-outposts:DeleteLifecycleConfiguration 719// action. By default, the bucket owner has this permission and the Outposts 720// bucket owner can grant this permission to others. 721// 722// All Amazon S3 on Outposts REST API requests for this action require an additional 723// parameter of x-amz-outpost-id to be passed with the request and an S3 on 724// Outposts endpoint hostname prefix instead of s3-control. For an example of 725// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 726// endpoint hostname prefix and the x-amz-outpost-id derived using the access 727// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html#API_control_DeleteBucketLifecycleConfiguration_Examples) 728// section. 729// 730// For more information about object expiration, see Elements to Describe Lifecycle 731// Actions (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions). 732// 733// Related actions include: 734// 735// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 736// 737// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 738// 739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 740// with awserr.Error's Code and Message methods to get detailed information about 741// the error. 742// 743// See the AWS API reference guide for AWS S3 Control's 744// API operation DeleteBucketLifecycleConfiguration for usage and error information. 745// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketLifecycleConfiguration 746func (c *S3Control) DeleteBucketLifecycleConfiguration(input *DeleteBucketLifecycleConfigurationInput) (*DeleteBucketLifecycleConfigurationOutput, error) { 747 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 748 return out, req.Send() 749} 750 751// DeleteBucketLifecycleConfigurationWithContext is the same as DeleteBucketLifecycleConfiguration with the addition of 752// the ability to pass a context and additional request options. 753// 754// See DeleteBucketLifecycleConfiguration for details on how to use this API operation. 755// 756// The context must be non-nil and will be used for request cancellation. If 757// the context is nil a panic will occur. In the future the SDK may create 758// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 759// for more information on using Contexts. 760func (c *S3Control) DeleteBucketLifecycleConfigurationWithContext(ctx aws.Context, input *DeleteBucketLifecycleConfigurationInput, opts ...request.Option) (*DeleteBucketLifecycleConfigurationOutput, error) { 761 req, out := c.DeleteBucketLifecycleConfigurationRequest(input) 762 req.SetContext(ctx) 763 req.ApplyOptions(opts...) 764 return out, req.Send() 765} 766 767const opDeleteBucketPolicy = "DeleteBucketPolicy" 768 769// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 770// client's request for the DeleteBucketPolicy operation. The "output" return 771// value will be populated with the request's response once the request completes 772// successfully. 773// 774// Use "Send" method on the returned Request to send the API call to the service. 775// the "output" return value is not valid until after Send returns without error. 776// 777// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy 778// API call, and error handling. 779// 780// This method is useful when you want to inject custom logic or configuration 781// into the SDK's request lifecycle. Such as custom headers, or retry logic. 782// 783// 784// // Example sending a request using the DeleteBucketPolicyRequest method. 785// req, resp := client.DeleteBucketPolicyRequest(params) 786// 787// err := req.Send() 788// if err == nil { // resp is now filled 789// fmt.Println(resp) 790// } 791// 792// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 793func (c *S3Control) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 794 op := &request.Operation{ 795 Name: opDeleteBucketPolicy, 796 HTTPMethod: "DELETE", 797 HTTPPath: "/v20180820/bucket/{name}/policy", 798 } 799 800 if input == nil { 801 input = &DeleteBucketPolicyInput{} 802 } 803 804 output = &DeleteBucketPolicyOutput{} 805 req = c.newRequest(op, input, output) 806 // update account id or check if provided input for account id member matches 807 // the account id present in ARN 808 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 809 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 810 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 811 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 812 return 813} 814 815// DeleteBucketPolicy API operation for AWS S3 Control. 816// 817// 818// This API operation deletes an Amazon S3 on Outposts bucket policy. To delete 819// an S3 bucket policy, see DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html) 820// in the Amazon Simple Storage Service API. 821// 822// This implementation of the DELETE operation uses the policy subresource to 823// delete the policy of a specified Amazon S3 on Outposts bucket. If you are 824// using an identity other than the root user of the AWS account that owns the 825// bucket, the calling identity must have the s3-outposts:DeleteBucketPolicy 826// permissions on the specified Outposts bucket and belong to the bucket owner's 827// account to use this operation. For more information, see Using Amazon S3 828// on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 829// in Amazon Simple Storage Service Developer Guide. 830// 831// If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 832// Access Denied error. If you have the correct permissions, but you're not 833// using an identity that belongs to the bucket owner's account, Amazon S3 returns 834// a 405 Method Not Allowed error. 835// 836// As a security precaution, the root user of the AWS account that owns a bucket 837// can always use this operation, even if the policy explicitly denies the root 838// user the ability to perform this action. 839// 840// For more information about bucket policies, see Using Bucket Policies and 841// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 842// 843// All Amazon S3 on Outposts REST API requests for this action require an additional 844// parameter of x-amz-outpost-id to be passed with the request and an S3 on 845// Outposts endpoint hostname prefix instead of s3-control. For an example of 846// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 847// endpoint hostname prefix and the x-amz-outpost-id derived using the access 848// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html#API_control_DeleteBucketPolicy_Examples) 849// section. 850// 851// The following actions are related to DeleteBucketPolicy: 852// 853// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 854// 855// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 856// 857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 858// with awserr.Error's Code and Message methods to get detailed information about 859// the error. 860// 861// See the AWS API reference guide for AWS S3 Control's 862// API operation DeleteBucketPolicy for usage and error information. 863// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketPolicy 864func (c *S3Control) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 865 req, out := c.DeleteBucketPolicyRequest(input) 866 return out, req.Send() 867} 868 869// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of 870// the ability to pass a context and additional request options. 871// 872// See DeleteBucketPolicy for details on how to use this API operation. 873// 874// The context must be non-nil and will be used for request cancellation. If 875// the context is nil a panic will occur. In the future the SDK may create 876// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 877// for more information on using Contexts. 878func (c *S3Control) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) { 879 req, out := c.DeleteBucketPolicyRequest(input) 880 req.SetContext(ctx) 881 req.ApplyOptions(opts...) 882 return out, req.Send() 883} 884 885const opDeleteBucketTagging = "DeleteBucketTagging" 886 887// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 888// client's request for the DeleteBucketTagging operation. The "output" return 889// value will be populated with the request's response once the request completes 890// successfully. 891// 892// Use "Send" method on the returned Request to send the API call to the service. 893// the "output" return value is not valid until after Send returns without error. 894// 895// See DeleteBucketTagging for more information on using the DeleteBucketTagging 896// API call, and error handling. 897// 898// This method is useful when you want to inject custom logic or configuration 899// into the SDK's request lifecycle. Such as custom headers, or retry logic. 900// 901// 902// // Example sending a request using the DeleteBucketTaggingRequest method. 903// req, resp := client.DeleteBucketTaggingRequest(params) 904// 905// err := req.Send() 906// if err == nil { // resp is now filled 907// fmt.Println(resp) 908// } 909// 910// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 911func (c *S3Control) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 912 op := &request.Operation{ 913 Name: opDeleteBucketTagging, 914 HTTPMethod: "DELETE", 915 HTTPPath: "/v20180820/bucket/{name}/tagging", 916 } 917 918 if input == nil { 919 input = &DeleteBucketTaggingInput{} 920 } 921 922 output = &DeleteBucketTaggingOutput{} 923 req = c.newRequest(op, input, output) 924 // update account id or check if provided input for account id member matches 925 // the account id present in ARN 926 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 927 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 928 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 929 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 930 return 931} 932 933// DeleteBucketTagging API operation for AWS S3 Control. 934// 935// 936// This operation deletes an Amazon S3 on Outposts bucket's tags. To delete 937// an S3 bucket tags, see DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) 938// in the Amazon Simple Storage Service API. 939// 940// Deletes the tags from the Outposts bucket. For more information, see Using 941// Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 942// in Amazon Simple Storage Service Developer Guide. 943// 944// To use this operation, you must have permission to perform the PutBucketTagging 945// action. By default, the bucket owner has this permission and can grant this 946// permission to others. 947// 948// All Amazon S3 on Outposts REST API requests for this action require an additional 949// parameter of x-amz-outpost-id to be passed with the request and an S3 on 950// Outposts endpoint hostname prefix instead of s3-control. For an example of 951// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 952// endpoint hostname prefix and the x-amz-outpost-id derived using the access 953// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html#API_control_DeleteBucketTagging_Examples) 954// section. 955// 956// The following actions are related to DeleteBucketTagging: 957// 958// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 959// 960// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 961// 962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 963// with awserr.Error's Code and Message methods to get detailed information about 964// the error. 965// 966// See the AWS API reference guide for AWS S3 Control's 967// API operation DeleteBucketTagging for usage and error information. 968// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteBucketTagging 969func (c *S3Control) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 970 req, out := c.DeleteBucketTaggingRequest(input) 971 return out, req.Send() 972} 973 974// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of 975// the ability to pass a context and additional request options. 976// 977// See DeleteBucketTagging for details on how to use this API operation. 978// 979// The context must be non-nil and will be used for request cancellation. If 980// the context is nil a panic will occur. In the future the SDK may create 981// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 982// for more information on using Contexts. 983func (c *S3Control) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) { 984 req, out := c.DeleteBucketTaggingRequest(input) 985 req.SetContext(ctx) 986 req.ApplyOptions(opts...) 987 return out, req.Send() 988} 989 990const opDeleteJobTagging = "DeleteJobTagging" 991 992// DeleteJobTaggingRequest generates a "aws/request.Request" representing the 993// client's request for the DeleteJobTagging operation. The "output" return 994// value will be populated with the request's response once the request completes 995// successfully. 996// 997// Use "Send" method on the returned Request to send the API call to the service. 998// the "output" return value is not valid until after Send returns without error. 999// 1000// See DeleteJobTagging for more information on using the DeleteJobTagging 1001// API call, and error handling. 1002// 1003// This method is useful when you want to inject custom logic or configuration 1004// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1005// 1006// 1007// // Example sending a request using the DeleteJobTaggingRequest method. 1008// req, resp := client.DeleteJobTaggingRequest(params) 1009// 1010// err := req.Send() 1011// if err == nil { // resp is now filled 1012// fmt.Println(resp) 1013// } 1014// 1015// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1016func (c *S3Control) DeleteJobTaggingRequest(input *DeleteJobTaggingInput) (req *request.Request, output *DeleteJobTaggingOutput) { 1017 op := &request.Operation{ 1018 Name: opDeleteJobTagging, 1019 HTTPMethod: "DELETE", 1020 HTTPPath: "/v20180820/jobs/{id}/tagging", 1021 } 1022 1023 if input == nil { 1024 input = &DeleteJobTaggingInput{} 1025 } 1026 1027 output = &DeleteJobTaggingOutput{} 1028 req = c.newRequest(op, input, output) 1029 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1030 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1031 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1032 return 1033} 1034 1035// DeleteJobTagging API operation for AWS S3 Control. 1036// 1037// Removes the entire tag set from the specified S3 Batch Operations job. To 1038// use this operation, you must have permission to perform the s3:DeleteJobTagging 1039// action. For more information, see Controlling access and labeling jobs using 1040// tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 1041// in the Amazon Simple Storage Service Developer Guide. 1042// 1043// Related actions include: 1044// 1045// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1046// 1047// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 1048// 1049// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 1050// 1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1052// with awserr.Error's Code and Message methods to get detailed information about 1053// the error. 1054// 1055// See the AWS API reference guide for AWS S3 Control's 1056// API operation DeleteJobTagging for usage and error information. 1057// 1058// Returned Error Codes: 1059// * ErrCodeInternalServiceException "InternalServiceException" 1060// 1061// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1062// 1063// * ErrCodeNotFoundException "NotFoundException" 1064// 1065// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteJobTagging 1066func (c *S3Control) DeleteJobTagging(input *DeleteJobTaggingInput) (*DeleteJobTaggingOutput, error) { 1067 req, out := c.DeleteJobTaggingRequest(input) 1068 return out, req.Send() 1069} 1070 1071// DeleteJobTaggingWithContext is the same as DeleteJobTagging with the addition of 1072// the ability to pass a context and additional request options. 1073// 1074// See DeleteJobTagging for details on how to use this API operation. 1075// 1076// The context must be non-nil and will be used for request cancellation. If 1077// the context is nil a panic will occur. In the future the SDK may create 1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1079// for more information on using Contexts. 1080func (c *S3Control) DeleteJobTaggingWithContext(ctx aws.Context, input *DeleteJobTaggingInput, opts ...request.Option) (*DeleteJobTaggingOutput, error) { 1081 req, out := c.DeleteJobTaggingRequest(input) 1082 req.SetContext(ctx) 1083 req.ApplyOptions(opts...) 1084 return out, req.Send() 1085} 1086 1087const opDeletePublicAccessBlock = "DeletePublicAccessBlock" 1088 1089// DeletePublicAccessBlockRequest generates a "aws/request.Request" representing the 1090// client's request for the DeletePublicAccessBlock operation. The "output" return 1091// value will be populated with the request's response once the request completes 1092// successfully. 1093// 1094// Use "Send" method on the returned Request to send the API call to the service. 1095// the "output" return value is not valid until after Send returns without error. 1096// 1097// See DeletePublicAccessBlock for more information on using the DeletePublicAccessBlock 1098// API call, and error handling. 1099// 1100// This method is useful when you want to inject custom logic or configuration 1101// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1102// 1103// 1104// // Example sending a request using the DeletePublicAccessBlockRequest method. 1105// req, resp := client.DeletePublicAccessBlockRequest(params) 1106// 1107// err := req.Send() 1108// if err == nil { // resp is now filled 1109// fmt.Println(resp) 1110// } 1111// 1112// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1113func (c *S3Control) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) (req *request.Request, output *DeletePublicAccessBlockOutput) { 1114 op := &request.Operation{ 1115 Name: opDeletePublicAccessBlock, 1116 HTTPMethod: "DELETE", 1117 HTTPPath: "/v20180820/configuration/publicAccessBlock", 1118 } 1119 1120 if input == nil { 1121 input = &DeletePublicAccessBlockInput{} 1122 } 1123 1124 output = &DeletePublicAccessBlockOutput{} 1125 req = c.newRequest(op, input, output) 1126 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1127 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1128 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1129 return 1130} 1131 1132// DeletePublicAccessBlock API operation for AWS S3 Control. 1133// 1134// Removes the PublicAccessBlock configuration for an AWS account. For more 1135// information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 1136// 1137// Related actions include: 1138// 1139// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 1140// 1141// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 1142// 1143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1144// with awserr.Error's Code and Message methods to get detailed information about 1145// the error. 1146// 1147// See the AWS API reference guide for AWS S3 Control's 1148// API operation DeletePublicAccessBlock for usage and error information. 1149// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlock 1150func (c *S3Control) DeletePublicAccessBlock(input *DeletePublicAccessBlockInput) (*DeletePublicAccessBlockOutput, error) { 1151 req, out := c.DeletePublicAccessBlockRequest(input) 1152 return out, req.Send() 1153} 1154 1155// DeletePublicAccessBlockWithContext is the same as DeletePublicAccessBlock with the addition of 1156// the ability to pass a context and additional request options. 1157// 1158// See DeletePublicAccessBlock for details on how to use this API operation. 1159// 1160// The context must be non-nil and will be used for request cancellation. If 1161// the context is nil a panic will occur. In the future the SDK may create 1162// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1163// for more information on using Contexts. 1164func (c *S3Control) DeletePublicAccessBlockWithContext(ctx aws.Context, input *DeletePublicAccessBlockInput, opts ...request.Option) (*DeletePublicAccessBlockOutput, error) { 1165 req, out := c.DeletePublicAccessBlockRequest(input) 1166 req.SetContext(ctx) 1167 req.ApplyOptions(opts...) 1168 return out, req.Send() 1169} 1170 1171const opDeleteStorageLensConfiguration = "DeleteStorageLensConfiguration" 1172 1173// DeleteStorageLensConfigurationRequest generates a "aws/request.Request" representing the 1174// client's request for the DeleteStorageLensConfiguration operation. The "output" return 1175// value will be populated with the request's response once the request completes 1176// successfully. 1177// 1178// Use "Send" method on the returned Request to send the API call to the service. 1179// the "output" return value is not valid until after Send returns without error. 1180// 1181// See DeleteStorageLensConfiguration for more information on using the DeleteStorageLensConfiguration 1182// API call, and error handling. 1183// 1184// This method is useful when you want to inject custom logic or configuration 1185// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1186// 1187// 1188// // Example sending a request using the DeleteStorageLensConfigurationRequest method. 1189// req, resp := client.DeleteStorageLensConfigurationRequest(params) 1190// 1191// err := req.Send() 1192// if err == nil { // resp is now filled 1193// fmt.Println(resp) 1194// } 1195// 1196// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1197func (c *S3Control) DeleteStorageLensConfigurationRequest(input *DeleteStorageLensConfigurationInput) (req *request.Request, output *DeleteStorageLensConfigurationOutput) { 1198 op := &request.Operation{ 1199 Name: opDeleteStorageLensConfiguration, 1200 HTTPMethod: "DELETE", 1201 HTTPPath: "/v20180820/storagelens/{storagelensid}", 1202 } 1203 1204 if input == nil { 1205 input = &DeleteStorageLensConfigurationInput{} 1206 } 1207 1208 output = &DeleteStorageLensConfigurationOutput{} 1209 req = c.newRequest(op, input, output) 1210 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1211 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1212 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1213 return 1214} 1215 1216// DeleteStorageLensConfiguration API operation for AWS S3 Control. 1217// 1218// Deletes the Amazon S3 Storage Lens configuration. For more information about 1219// S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1220// in the Amazon Simple Storage Service Developer Guide. 1221// 1222// To use this action, you must have permission to perform the s3:DeleteStorageLensConfiguration 1223// action. For more information, see Setting permissions to use Amazon S3 Storage 1224// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1225// in the Amazon Simple Storage Service Developer Guide. 1226// 1227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1228// with awserr.Error's Code and Message methods to get detailed information about 1229// the error. 1230// 1231// See the AWS API reference guide for AWS S3 Control's 1232// API operation DeleteStorageLensConfiguration for usage and error information. 1233// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfiguration 1234func (c *S3Control) DeleteStorageLensConfiguration(input *DeleteStorageLensConfigurationInput) (*DeleteStorageLensConfigurationOutput, error) { 1235 req, out := c.DeleteStorageLensConfigurationRequest(input) 1236 return out, req.Send() 1237} 1238 1239// DeleteStorageLensConfigurationWithContext is the same as DeleteStorageLensConfiguration with the addition of 1240// the ability to pass a context and additional request options. 1241// 1242// See DeleteStorageLensConfiguration for details on how to use this API operation. 1243// 1244// The context must be non-nil and will be used for request cancellation. If 1245// the context is nil a panic will occur. In the future the SDK may create 1246// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1247// for more information on using Contexts. 1248func (c *S3Control) DeleteStorageLensConfigurationWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationInput, opts ...request.Option) (*DeleteStorageLensConfigurationOutput, error) { 1249 req, out := c.DeleteStorageLensConfigurationRequest(input) 1250 req.SetContext(ctx) 1251 req.ApplyOptions(opts...) 1252 return out, req.Send() 1253} 1254 1255const opDeleteStorageLensConfigurationTagging = "DeleteStorageLensConfigurationTagging" 1256 1257// DeleteStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 1258// client's request for the DeleteStorageLensConfigurationTagging operation. The "output" return 1259// value will be populated with the request's response once the request completes 1260// successfully. 1261// 1262// Use "Send" method on the returned Request to send the API call to the service. 1263// the "output" return value is not valid until after Send returns without error. 1264// 1265// See DeleteStorageLensConfigurationTagging for more information on using the DeleteStorageLensConfigurationTagging 1266// API call, and error handling. 1267// 1268// This method is useful when you want to inject custom logic or configuration 1269// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1270// 1271// 1272// // Example sending a request using the DeleteStorageLensConfigurationTaggingRequest method. 1273// req, resp := client.DeleteStorageLensConfigurationTaggingRequest(params) 1274// 1275// err := req.Send() 1276// if err == nil { // resp is now filled 1277// fmt.Println(resp) 1278// } 1279// 1280// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1281func (c *S3Control) DeleteStorageLensConfigurationTaggingRequest(input *DeleteStorageLensConfigurationTaggingInput) (req *request.Request, output *DeleteStorageLensConfigurationTaggingOutput) { 1282 op := &request.Operation{ 1283 Name: opDeleteStorageLensConfigurationTagging, 1284 HTTPMethod: "DELETE", 1285 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 1286 } 1287 1288 if input == nil { 1289 input = &DeleteStorageLensConfigurationTaggingInput{} 1290 } 1291 1292 output = &DeleteStorageLensConfigurationTaggingOutput{} 1293 req = c.newRequest(op, input, output) 1294 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1295 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1296 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1297 return 1298} 1299 1300// DeleteStorageLensConfigurationTagging API operation for AWS S3 Control. 1301// 1302// Deletes the Amazon S3 Storage Lens configuration tags. For more information 1303// about S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 1304// in the Amazon Simple Storage Service Developer Guide. 1305// 1306// To use this action, you must have permission to perform the s3:DeleteStorageLensConfigurationTagging 1307// action. For more information, see Setting permissions to use Amazon S3 Storage 1308// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 1309// in the Amazon Simple Storage Service Developer Guide. 1310// 1311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1312// with awserr.Error's Code and Message methods to get detailed information about 1313// the error. 1314// 1315// See the AWS API reference guide for AWS S3 Control's 1316// API operation DeleteStorageLensConfigurationTagging for usage and error information. 1317// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteStorageLensConfigurationTagging 1318func (c *S3Control) DeleteStorageLensConfigurationTagging(input *DeleteStorageLensConfigurationTaggingInput) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1319 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1320 return out, req.Send() 1321} 1322 1323// DeleteStorageLensConfigurationTaggingWithContext is the same as DeleteStorageLensConfigurationTagging with the addition of 1324// the ability to pass a context and additional request options. 1325// 1326// See DeleteStorageLensConfigurationTagging for details on how to use this API operation. 1327// 1328// The context must be non-nil and will be used for request cancellation. If 1329// the context is nil a panic will occur. In the future the SDK may create 1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1331// for more information on using Contexts. 1332func (c *S3Control) DeleteStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *DeleteStorageLensConfigurationTaggingInput, opts ...request.Option) (*DeleteStorageLensConfigurationTaggingOutput, error) { 1333 req, out := c.DeleteStorageLensConfigurationTaggingRequest(input) 1334 req.SetContext(ctx) 1335 req.ApplyOptions(opts...) 1336 return out, req.Send() 1337} 1338 1339const opDescribeJob = "DescribeJob" 1340 1341// DescribeJobRequest generates a "aws/request.Request" representing the 1342// client's request for the DescribeJob operation. The "output" return 1343// value will be populated with the request's response once the request completes 1344// successfully. 1345// 1346// Use "Send" method on the returned Request to send the API call to the service. 1347// the "output" return value is not valid until after Send returns without error. 1348// 1349// See DescribeJob for more information on using the DescribeJob 1350// API call, and error handling. 1351// 1352// This method is useful when you want to inject custom logic or configuration 1353// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1354// 1355// 1356// // Example sending a request using the DescribeJobRequest method. 1357// req, resp := client.DescribeJobRequest(params) 1358// 1359// err := req.Send() 1360// if err == nil { // resp is now filled 1361// fmt.Println(resp) 1362// } 1363// 1364// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1365func (c *S3Control) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) { 1366 op := &request.Operation{ 1367 Name: opDescribeJob, 1368 HTTPMethod: "GET", 1369 HTTPPath: "/v20180820/jobs/{id}", 1370 } 1371 1372 if input == nil { 1373 input = &DescribeJobInput{} 1374 } 1375 1376 output = &DescribeJobOutput{} 1377 req = c.newRequest(op, input, output) 1378 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1379 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1380 return 1381} 1382 1383// DescribeJob API operation for AWS S3 Control. 1384// 1385// Retrieves the configuration parameters and status for a Batch Operations 1386// job. For more information, see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 1387// in the Amazon Simple Storage Service Developer Guide. 1388// 1389// Related actions include: 1390// 1391// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 1392// 1393// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 1394// 1395// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 1396// 1397// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 1398// 1399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1400// with awserr.Error's Code and Message methods to get detailed information about 1401// the error. 1402// 1403// See the AWS API reference guide for AWS S3 Control's 1404// API operation DescribeJob for usage and error information. 1405// 1406// Returned Error Codes: 1407// * ErrCodeBadRequestException "BadRequestException" 1408// 1409// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1410// 1411// * ErrCodeNotFoundException "NotFoundException" 1412// 1413// * ErrCodeInternalServiceException "InternalServiceException" 1414// 1415// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJob 1416func (c *S3Control) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) { 1417 req, out := c.DescribeJobRequest(input) 1418 return out, req.Send() 1419} 1420 1421// DescribeJobWithContext is the same as DescribeJob with the addition of 1422// the ability to pass a context and additional request options. 1423// 1424// See DescribeJob for details on how to use this API operation. 1425// 1426// The context must be non-nil and will be used for request cancellation. If 1427// the context is nil a panic will occur. In the future the SDK may create 1428// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1429// for more information on using Contexts. 1430func (c *S3Control) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) { 1431 req, out := c.DescribeJobRequest(input) 1432 req.SetContext(ctx) 1433 req.ApplyOptions(opts...) 1434 return out, req.Send() 1435} 1436 1437const opGetAccessPoint = "GetAccessPoint" 1438 1439// GetAccessPointRequest generates a "aws/request.Request" representing the 1440// client's request for the GetAccessPoint operation. The "output" return 1441// value will be populated with the request's response once the request completes 1442// successfully. 1443// 1444// Use "Send" method on the returned Request to send the API call to the service. 1445// the "output" return value is not valid until after Send returns without error. 1446// 1447// See GetAccessPoint for more information on using the GetAccessPoint 1448// API call, and error handling. 1449// 1450// This method is useful when you want to inject custom logic or configuration 1451// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1452// 1453// 1454// // Example sending a request using the GetAccessPointRequest method. 1455// req, resp := client.GetAccessPointRequest(params) 1456// 1457// err := req.Send() 1458// if err == nil { // resp is now filled 1459// fmt.Println(resp) 1460// } 1461// 1462// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 1463func (c *S3Control) GetAccessPointRequest(input *GetAccessPointInput) (req *request.Request, output *GetAccessPointOutput) { 1464 op := &request.Operation{ 1465 Name: opGetAccessPoint, 1466 HTTPMethod: "GET", 1467 HTTPPath: "/v20180820/accesspoint/{name}", 1468 } 1469 1470 if input == nil { 1471 input = &GetAccessPointInput{} 1472 } 1473 1474 output = &GetAccessPointOutput{} 1475 req = c.newRequest(op, input, output) 1476 // update account id or check if provided input for account id member matches 1477 // the account id present in ARN 1478 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1479 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1480 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1481 return 1482} 1483 1484// GetAccessPoint API operation for AWS S3 Control. 1485// 1486// Returns configuration information about the specified access point. 1487// 1488// All Amazon S3 on Outposts REST API requests for this action require an additional 1489// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1490// Outposts endpoint hostname prefix instead of s3-control. For an example of 1491// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1492// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1493// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 1494// section. 1495// 1496// The following actions are related to GetAccessPoint: 1497// 1498// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 1499// 1500// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 1501// 1502// * ListAccessPoints (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html) 1503// 1504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1505// with awserr.Error's Code and Message methods to get detailed information about 1506// the error. 1507// 1508// See the AWS API reference guide for AWS S3 Control's 1509// API operation GetAccessPoint for usage and error information. 1510// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPoint 1511func (c *S3Control) GetAccessPoint(input *GetAccessPointInput) (*GetAccessPointOutput, error) { 1512 req, out := c.GetAccessPointRequest(input) 1513 return out, req.Send() 1514} 1515 1516// GetAccessPointWithContext is the same as GetAccessPoint with the addition of 1517// the ability to pass a context and additional request options. 1518// 1519// See GetAccessPoint for details on how to use this API operation. 1520// 1521// The context must be non-nil and will be used for request cancellation. If 1522// the context is nil a panic will occur. In the future the SDK may create 1523// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1524// for more information on using Contexts. 1525func (c *S3Control) GetAccessPointWithContext(ctx aws.Context, input *GetAccessPointInput, opts ...request.Option) (*GetAccessPointOutput, error) { 1526 req, out := c.GetAccessPointRequest(input) 1527 req.SetContext(ctx) 1528 req.ApplyOptions(opts...) 1529 return out, req.Send() 1530} 1531 1532const opGetAccessPointPolicy = "GetAccessPointPolicy" 1533 1534// GetAccessPointPolicyRequest generates a "aws/request.Request" representing the 1535// client's request for the GetAccessPointPolicy operation. The "output" return 1536// value will be populated with the request's response once the request completes 1537// successfully. 1538// 1539// Use "Send" method on the returned Request to send the API call to the service. 1540// the "output" return value is not valid until after Send returns without error. 1541// 1542// See GetAccessPointPolicy for more information on using the GetAccessPointPolicy 1543// API call, and error handling. 1544// 1545// This method is useful when you want to inject custom logic or configuration 1546// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1547// 1548// 1549// // Example sending a request using the GetAccessPointPolicyRequest method. 1550// req, resp := client.GetAccessPointPolicyRequest(params) 1551// 1552// err := req.Send() 1553// if err == nil { // resp is now filled 1554// fmt.Println(resp) 1555// } 1556// 1557// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 1558func (c *S3Control) GetAccessPointPolicyRequest(input *GetAccessPointPolicyInput) (req *request.Request, output *GetAccessPointPolicyOutput) { 1559 op := &request.Operation{ 1560 Name: opGetAccessPointPolicy, 1561 HTTPMethod: "GET", 1562 HTTPPath: "/v20180820/accesspoint/{name}/policy", 1563 } 1564 1565 if input == nil { 1566 input = &GetAccessPointPolicyInput{} 1567 } 1568 1569 output = &GetAccessPointPolicyOutput{} 1570 req = c.newRequest(op, input, output) 1571 // update account id or check if provided input for account id member matches 1572 // the account id present in ARN 1573 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1574 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1575 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1576 return 1577} 1578 1579// GetAccessPointPolicy API operation for AWS S3 Control. 1580// 1581// Returns the access point policy associated with the specified access point. 1582// 1583// The following actions are related to GetAccessPointPolicy: 1584// 1585// * PutAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html) 1586// 1587// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 1588// 1589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1590// with awserr.Error's Code and Message methods to get detailed information about 1591// the error. 1592// 1593// See the AWS API reference guide for AWS S3 Control's 1594// API operation GetAccessPointPolicy for usage and error information. 1595// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicy 1596func (c *S3Control) GetAccessPointPolicy(input *GetAccessPointPolicyInput) (*GetAccessPointPolicyOutput, error) { 1597 req, out := c.GetAccessPointPolicyRequest(input) 1598 return out, req.Send() 1599} 1600 1601// GetAccessPointPolicyWithContext is the same as GetAccessPointPolicy with the addition of 1602// the ability to pass a context and additional request options. 1603// 1604// See GetAccessPointPolicy for details on how to use this API operation. 1605// 1606// The context must be non-nil and will be used for request cancellation. If 1607// the context is nil a panic will occur. In the future the SDK may create 1608// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1609// for more information on using Contexts. 1610func (c *S3Control) GetAccessPointPolicyWithContext(ctx aws.Context, input *GetAccessPointPolicyInput, opts ...request.Option) (*GetAccessPointPolicyOutput, error) { 1611 req, out := c.GetAccessPointPolicyRequest(input) 1612 req.SetContext(ctx) 1613 req.ApplyOptions(opts...) 1614 return out, req.Send() 1615} 1616 1617const opGetAccessPointPolicyStatus = "GetAccessPointPolicyStatus" 1618 1619// GetAccessPointPolicyStatusRequest generates a "aws/request.Request" representing the 1620// client's request for the GetAccessPointPolicyStatus operation. The "output" return 1621// value will be populated with the request's response once the request completes 1622// successfully. 1623// 1624// Use "Send" method on the returned Request to send the API call to the service. 1625// the "output" return value is not valid until after Send returns without error. 1626// 1627// See GetAccessPointPolicyStatus for more information on using the GetAccessPointPolicyStatus 1628// API call, and error handling. 1629// 1630// This method is useful when you want to inject custom logic or configuration 1631// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1632// 1633// 1634// // Example sending a request using the GetAccessPointPolicyStatusRequest method. 1635// req, resp := client.GetAccessPointPolicyStatusRequest(params) 1636// 1637// err := req.Send() 1638// if err == nil { // resp is now filled 1639// fmt.Println(resp) 1640// } 1641// 1642// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 1643func (c *S3Control) GetAccessPointPolicyStatusRequest(input *GetAccessPointPolicyStatusInput) (req *request.Request, output *GetAccessPointPolicyStatusOutput) { 1644 op := &request.Operation{ 1645 Name: opGetAccessPointPolicyStatus, 1646 HTTPMethod: "GET", 1647 HTTPPath: "/v20180820/accesspoint/{name}/policyStatus", 1648 } 1649 1650 if input == nil { 1651 input = &GetAccessPointPolicyStatusInput{} 1652 } 1653 1654 output = &GetAccessPointPolicyStatusOutput{} 1655 req = c.newRequest(op, input, output) 1656 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1657 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1658 return 1659} 1660 1661// GetAccessPointPolicyStatus API operation for AWS S3 Control. 1662// 1663// Indicates whether the specified access point currently has a policy that 1664// allows public access. For more information about public access through access 1665// points, see Managing Data Access with Amazon S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html) 1666// in the Amazon Simple Storage Service Developer Guide. 1667// 1668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1669// with awserr.Error's Code and Message methods to get detailed information about 1670// the error. 1671// 1672// See the AWS API reference guide for AWS S3 Control's 1673// API operation GetAccessPointPolicyStatus for usage and error information. 1674// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatus 1675func (c *S3Control) GetAccessPointPolicyStatus(input *GetAccessPointPolicyStatusInput) (*GetAccessPointPolicyStatusOutput, error) { 1676 req, out := c.GetAccessPointPolicyStatusRequest(input) 1677 return out, req.Send() 1678} 1679 1680// GetAccessPointPolicyStatusWithContext is the same as GetAccessPointPolicyStatus with the addition of 1681// the ability to pass a context and additional request options. 1682// 1683// See GetAccessPointPolicyStatus for details on how to use this API operation. 1684// 1685// The context must be non-nil and will be used for request cancellation. If 1686// the context is nil a panic will occur. In the future the SDK may create 1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1688// for more information on using Contexts. 1689func (c *S3Control) GetAccessPointPolicyStatusWithContext(ctx aws.Context, input *GetAccessPointPolicyStatusInput, opts ...request.Option) (*GetAccessPointPolicyStatusOutput, error) { 1690 req, out := c.GetAccessPointPolicyStatusRequest(input) 1691 req.SetContext(ctx) 1692 req.ApplyOptions(opts...) 1693 return out, req.Send() 1694} 1695 1696const opGetBucket = "GetBucket" 1697 1698// GetBucketRequest generates a "aws/request.Request" representing the 1699// client's request for the GetBucket operation. The "output" return 1700// value will be populated with the request's response once the request completes 1701// successfully. 1702// 1703// Use "Send" method on the returned Request to send the API call to the service. 1704// the "output" return value is not valid until after Send returns without error. 1705// 1706// See GetBucket for more information on using the GetBucket 1707// API call, and error handling. 1708// 1709// This method is useful when you want to inject custom logic or configuration 1710// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1711// 1712// 1713// // Example sending a request using the GetBucketRequest method. 1714// req, resp := client.GetBucketRequest(params) 1715// 1716// err := req.Send() 1717// if err == nil { // resp is now filled 1718// fmt.Println(resp) 1719// } 1720// 1721// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 1722func (c *S3Control) GetBucketRequest(input *GetBucketInput) (req *request.Request, output *GetBucketOutput) { 1723 op := &request.Operation{ 1724 Name: opGetBucket, 1725 HTTPMethod: "GET", 1726 HTTPPath: "/v20180820/bucket/{name}", 1727 } 1728 1729 if input == nil { 1730 input = &GetBucketInput{} 1731 } 1732 1733 output = &GetBucketOutput{} 1734 req = c.newRequest(op, input, output) 1735 // update account id or check if provided input for account id member matches 1736 // the account id present in ARN 1737 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1738 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1739 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1740 return 1741} 1742 1743// GetBucket API operation for AWS S3 Control. 1744// 1745// Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon 1746// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 1747// in the Amazon Simple Storage Service Developer Guide. 1748// 1749// If you are using an identity other than the root user of the AWS account 1750// that owns the bucket, the calling identity must have the s3-outposts:GetBucket 1751// permissions on the specified bucket and belong to the bucket owner's account 1752// in order to use this operation. Only users from Outposts bucket owner account 1753// with the right permissions can perform actions on an Outposts bucket. 1754// 1755// If you don't have s3-outposts:GetBucket permissions or you're not using an 1756// identity that belongs to the bucket owner's account, Amazon S3 returns a 1757// 403 Access Denied error. 1758// 1759// The following actions are related to GetBucket for Amazon S3 on Outposts: 1760// 1761// All Amazon S3 on Outposts REST API requests for this action require an additional 1762// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1763// Outposts endpoint hostname prefix instead of s3-control. For an example of 1764// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1765// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1766// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html#API_control_GetBucket_Examples) 1767// section. 1768// 1769// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 1770// 1771// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) 1772// 1773// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) 1774// 1775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1776// with awserr.Error's Code and Message methods to get detailed information about 1777// the error. 1778// 1779// See the AWS API reference guide for AWS S3 Control's 1780// API operation GetBucket for usage and error information. 1781// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucket 1782func (c *S3Control) GetBucket(input *GetBucketInput) (*GetBucketOutput, error) { 1783 req, out := c.GetBucketRequest(input) 1784 return out, req.Send() 1785} 1786 1787// GetBucketWithContext is the same as GetBucket with the addition of 1788// the ability to pass a context and additional request options. 1789// 1790// See GetBucket for details on how to use this API operation. 1791// 1792// The context must be non-nil and will be used for request cancellation. If 1793// the context is nil a panic will occur. In the future the SDK may create 1794// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1795// for more information on using Contexts. 1796func (c *S3Control) GetBucketWithContext(ctx aws.Context, input *GetBucketInput, opts ...request.Option) (*GetBucketOutput, error) { 1797 req, out := c.GetBucketRequest(input) 1798 req.SetContext(ctx) 1799 req.ApplyOptions(opts...) 1800 return out, req.Send() 1801} 1802 1803const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" 1804 1805// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 1806// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 1807// value will be populated with the request's response once the request completes 1808// successfully. 1809// 1810// Use "Send" method on the returned Request to send the API call to the service. 1811// the "output" return value is not valid until after Send returns without error. 1812// 1813// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration 1814// API call, and error handling. 1815// 1816// This method is useful when you want to inject custom logic or configuration 1817// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1818// 1819// 1820// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 1821// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 1822// 1823// err := req.Send() 1824// if err == nil { // resp is now filled 1825// fmt.Println(resp) 1826// } 1827// 1828// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 1829func (c *S3Control) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 1830 op := &request.Operation{ 1831 Name: opGetBucketLifecycleConfiguration, 1832 HTTPMethod: "GET", 1833 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 1834 } 1835 1836 if input == nil { 1837 input = &GetBucketLifecycleConfigurationInput{} 1838 } 1839 1840 output = &GetBucketLifecycleConfigurationOutput{} 1841 req = c.newRequest(op, input, output) 1842 // update account id or check if provided input for account id member matches 1843 // the account id present in ARN 1844 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1845 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1846 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1847 return 1848} 1849 1850// GetBucketLifecycleConfiguration API operation for AWS S3 Control. 1851// 1852// 1853// This operation gets an Amazon S3 on Outposts bucket's lifecycle configuration. 1854// To get an S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration 1855// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) 1856// in the Amazon Simple Storage Service API. 1857// 1858// Returns the lifecycle configuration information set on the Outposts bucket. 1859// For more information, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 1860// and for information about lifecycle configuration, see Object Lifecycle Management 1861// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) 1862// in Amazon Simple Storage Service Developer Guide. 1863// 1864// To use this operation, you must have permission to perform the s3-outposts:GetLifecycleConfiguration 1865// action. The Outposts bucket owner has this permission, by default. The bucket 1866// owner can grant this permission to others. For more information about permissions, 1867// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) 1868// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). 1869// 1870// All Amazon S3 on Outposts REST API requests for this action require an additional 1871// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1872// Outposts endpoint hostname prefix instead of s3-control. For an example of 1873// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1874// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1875// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html#API_control_GetBucketLifecycleConfiguration_Examples) 1876// section. 1877// 1878// GetBucketLifecycleConfiguration has the following special error: 1879// 1880// * Error code: NoSuchLifecycleConfiguration Description: The lifecycle 1881// configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault 1882// Code Prefix: Client 1883// 1884// The following actions are related to GetBucketLifecycleConfiguration: 1885// 1886// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html) 1887// 1888// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html) 1889// 1890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1891// with awserr.Error's Code and Message methods to get detailed information about 1892// the error. 1893// 1894// See the AWS API reference guide for AWS S3 Control's 1895// API operation GetBucketLifecycleConfiguration for usage and error information. 1896// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketLifecycleConfiguration 1897func (c *S3Control) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 1898 req, out := c.GetBucketLifecycleConfigurationRequest(input) 1899 return out, req.Send() 1900} 1901 1902// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of 1903// the ability to pass a context and additional request options. 1904// 1905// See GetBucketLifecycleConfiguration for details on how to use this API operation. 1906// 1907// The context must be non-nil and will be used for request cancellation. If 1908// the context is nil a panic will occur. In the future the SDK may create 1909// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1910// for more information on using Contexts. 1911func (c *S3Control) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) { 1912 req, out := c.GetBucketLifecycleConfigurationRequest(input) 1913 req.SetContext(ctx) 1914 req.ApplyOptions(opts...) 1915 return out, req.Send() 1916} 1917 1918const opGetBucketPolicy = "GetBucketPolicy" 1919 1920// GetBucketPolicyRequest generates a "aws/request.Request" representing the 1921// client's request for the GetBucketPolicy operation. The "output" return 1922// value will be populated with the request's response once the request completes 1923// successfully. 1924// 1925// Use "Send" method on the returned Request to send the API call to the service. 1926// the "output" return value is not valid until after Send returns without error. 1927// 1928// See GetBucketPolicy for more information on using the GetBucketPolicy 1929// API call, and error handling. 1930// 1931// This method is useful when you want to inject custom logic or configuration 1932// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1933// 1934// 1935// // Example sending a request using the GetBucketPolicyRequest method. 1936// req, resp := client.GetBucketPolicyRequest(params) 1937// 1938// err := req.Send() 1939// if err == nil { // resp is now filled 1940// fmt.Println(resp) 1941// } 1942// 1943// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 1944func (c *S3Control) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 1945 op := &request.Operation{ 1946 Name: opGetBucketPolicy, 1947 HTTPMethod: "GET", 1948 HTTPPath: "/v20180820/bucket/{name}/policy", 1949 } 1950 1951 if input == nil { 1952 input = &GetBucketPolicyInput{} 1953 } 1954 1955 output = &GetBucketPolicyOutput{} 1956 req = c.newRequest(op, input, output) 1957 // update account id or check if provided input for account id member matches 1958 // the account id present in ARN 1959 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 1960 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 1961 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 1962 return 1963} 1964 1965// GetBucketPolicy API operation for AWS S3 Control. 1966// 1967// 1968// This action gets a bucket policy for an Amazon S3 on Outposts bucket. To 1969// get a policy for an S3 bucket, see GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html) 1970// in the Amazon Simple Storage Service API. 1971// 1972// Returns the policy of a specified Outposts bucket. For more information, 1973// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 1974// in the Amazon Simple Storage Service Developer Guide. 1975// 1976// If you are using an identity other than the root user of the AWS account 1977// that owns the bucket, the calling identity must have the GetBucketPolicy 1978// permissions on the specified bucket and belong to the bucket owner's account 1979// in order to use this operation. 1980// 1981// Only users from Outposts bucket owner account with the right permissions 1982// can perform actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy 1983// permissions or you're not using an identity that belongs to the bucket owner's 1984// account, Amazon S3 returns a 403 Access Denied error. 1985// 1986// As a security precaution, the root user of the AWS account that owns a bucket 1987// can always use this operation, even if the policy explicitly denies the root 1988// user the ability to perform this action. 1989// 1990// For more information about bucket policies, see Using Bucket Policies and 1991// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 1992// 1993// All Amazon S3 on Outposts REST API requests for this action require an additional 1994// parameter of x-amz-outpost-id to be passed with the request and an S3 on 1995// Outposts endpoint hostname prefix instead of s3-control. For an example of 1996// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 1997// endpoint hostname prefix and the x-amz-outpost-id derived using the access 1998// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html#API_control_GetBucketPolicy_Examples) 1999// section. 2000// 2001// The following actions are related to GetBucketPolicy: 2002// 2003// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 2004// 2005// * PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html) 2006// 2007// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 2008// 2009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2010// with awserr.Error's Code and Message methods to get detailed information about 2011// the error. 2012// 2013// See the AWS API reference guide for AWS S3 Control's 2014// API operation GetBucketPolicy for usage and error information. 2015// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketPolicy 2016func (c *S3Control) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2017 req, out := c.GetBucketPolicyRequest(input) 2018 return out, req.Send() 2019} 2020 2021// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of 2022// the ability to pass a context and additional request options. 2023// 2024// See GetBucketPolicy for details on how to use this API operation. 2025// 2026// The context must be non-nil and will be used for request cancellation. If 2027// the context is nil a panic will occur. In the future the SDK may create 2028// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2029// for more information on using Contexts. 2030func (c *S3Control) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) { 2031 req, out := c.GetBucketPolicyRequest(input) 2032 req.SetContext(ctx) 2033 req.ApplyOptions(opts...) 2034 return out, req.Send() 2035} 2036 2037const opGetBucketTagging = "GetBucketTagging" 2038 2039// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2040// client's request for the GetBucketTagging operation. The "output" return 2041// value will be populated with the request's response once the request completes 2042// successfully. 2043// 2044// Use "Send" method on the returned Request to send the API call to the service. 2045// the "output" return value is not valid until after Send returns without error. 2046// 2047// See GetBucketTagging for more information on using the GetBucketTagging 2048// API call, and error handling. 2049// 2050// This method is useful when you want to inject custom logic or configuration 2051// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2052// 2053// 2054// // Example sending a request using the GetBucketTaggingRequest method. 2055// req, resp := client.GetBucketTaggingRequest(params) 2056// 2057// err := req.Send() 2058// if err == nil { // resp is now filled 2059// fmt.Println(resp) 2060// } 2061// 2062// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2063func (c *S3Control) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2064 op := &request.Operation{ 2065 Name: opGetBucketTagging, 2066 HTTPMethod: "GET", 2067 HTTPPath: "/v20180820/bucket/{name}/tagging", 2068 } 2069 2070 if input == nil { 2071 input = &GetBucketTaggingInput{} 2072 } 2073 2074 output = &GetBucketTaggingOutput{} 2075 req = c.newRequest(op, input, output) 2076 // update account id or check if provided input for account id member matches 2077 // the account id present in ARN 2078 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2079 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2080 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2081 return 2082} 2083 2084// GetBucketTagging API operation for AWS S3 Control. 2085// 2086// 2087// This operation gets an Amazon S3 on Outposts bucket's tags. To get an S3 2088// bucket tags, see GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) 2089// in the Amazon Simple Storage Service API. 2090// 2091// Returns the tag set associated with the Outposts bucket. For more information, 2092// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 2093// in the Amazon Simple Storage Service Developer Guide. 2094// 2095// To use this operation, you must have permission to perform the GetBucketTagging 2096// action. By default, the bucket owner has this permission and can grant this 2097// permission to others. 2098// 2099// GetBucketTagging has the following special error: 2100// 2101// * Error code: NoSuchTagSetError Description: There is no tag set associated 2102// with the bucket. 2103// 2104// All Amazon S3 on Outposts REST API requests for this action require an additional 2105// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2106// Outposts endpoint hostname prefix instead of s3-control. For an example of 2107// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2108// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2109// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html#API_control_GetBucketTagging_Examples) 2110// section. 2111// 2112// The following actions are related to GetBucketTagging: 2113// 2114// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html) 2115// 2116// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 2117// 2118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2119// with awserr.Error's Code and Message methods to get detailed information about 2120// the error. 2121// 2122// See the AWS API reference guide for AWS S3 Control's 2123// API operation GetBucketTagging for usage and error information. 2124// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetBucketTagging 2125func (c *S3Control) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2126 req, out := c.GetBucketTaggingRequest(input) 2127 return out, req.Send() 2128} 2129 2130// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of 2131// the ability to pass a context and additional request options. 2132// 2133// See GetBucketTagging for details on how to use this API operation. 2134// 2135// The context must be non-nil and will be used for request cancellation. If 2136// the context is nil a panic will occur. In the future the SDK may create 2137// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2138// for more information on using Contexts. 2139func (c *S3Control) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) { 2140 req, out := c.GetBucketTaggingRequest(input) 2141 req.SetContext(ctx) 2142 req.ApplyOptions(opts...) 2143 return out, req.Send() 2144} 2145 2146const opGetJobTagging = "GetJobTagging" 2147 2148// GetJobTaggingRequest generates a "aws/request.Request" representing the 2149// client's request for the GetJobTagging operation. The "output" return 2150// value will be populated with the request's response once the request completes 2151// successfully. 2152// 2153// Use "Send" method on the returned Request to send the API call to the service. 2154// the "output" return value is not valid until after Send returns without error. 2155// 2156// See GetJobTagging for more information on using the GetJobTagging 2157// API call, and error handling. 2158// 2159// This method is useful when you want to inject custom logic or configuration 2160// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2161// 2162// 2163// // Example sending a request using the GetJobTaggingRequest method. 2164// req, resp := client.GetJobTaggingRequest(params) 2165// 2166// err := req.Send() 2167// if err == nil { // resp is now filled 2168// fmt.Println(resp) 2169// } 2170// 2171// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 2172func (c *S3Control) GetJobTaggingRequest(input *GetJobTaggingInput) (req *request.Request, output *GetJobTaggingOutput) { 2173 op := &request.Operation{ 2174 Name: opGetJobTagging, 2175 HTTPMethod: "GET", 2176 HTTPPath: "/v20180820/jobs/{id}/tagging", 2177 } 2178 2179 if input == nil { 2180 input = &GetJobTaggingInput{} 2181 } 2182 2183 output = &GetJobTaggingOutput{} 2184 req = c.newRequest(op, input, output) 2185 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2186 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2187 return 2188} 2189 2190// GetJobTagging API operation for AWS S3 Control. 2191// 2192// Returns the tags on an S3 Batch Operations job. To use this operation, you 2193// must have permission to perform the s3:GetJobTagging action. For more information, 2194// see Controlling access and labeling jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 2195// in the Amazon Simple Storage Service Developer Guide. 2196// 2197// Related actions include: 2198// 2199// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 2200// 2201// * PutJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) 2202// 2203// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 2204// 2205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2206// with awserr.Error's Code and Message methods to get detailed information about 2207// the error. 2208// 2209// See the AWS API reference guide for AWS S3 Control's 2210// API operation GetJobTagging for usage and error information. 2211// 2212// Returned Error Codes: 2213// * ErrCodeInternalServiceException "InternalServiceException" 2214// 2215// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2216// 2217// * ErrCodeNotFoundException "NotFoundException" 2218// 2219// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetJobTagging 2220func (c *S3Control) GetJobTagging(input *GetJobTaggingInput) (*GetJobTaggingOutput, error) { 2221 req, out := c.GetJobTaggingRequest(input) 2222 return out, req.Send() 2223} 2224 2225// GetJobTaggingWithContext is the same as GetJobTagging with the addition of 2226// the ability to pass a context and additional request options. 2227// 2228// See GetJobTagging for details on how to use this API operation. 2229// 2230// The context must be non-nil and will be used for request cancellation. If 2231// the context is nil a panic will occur. In the future the SDK may create 2232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2233// for more information on using Contexts. 2234func (c *S3Control) GetJobTaggingWithContext(ctx aws.Context, input *GetJobTaggingInput, opts ...request.Option) (*GetJobTaggingOutput, error) { 2235 req, out := c.GetJobTaggingRequest(input) 2236 req.SetContext(ctx) 2237 req.ApplyOptions(opts...) 2238 return out, req.Send() 2239} 2240 2241const opGetPublicAccessBlock = "GetPublicAccessBlock" 2242 2243// GetPublicAccessBlockRequest generates a "aws/request.Request" representing the 2244// client's request for the GetPublicAccessBlock operation. The "output" return 2245// value will be populated with the request's response once the request completes 2246// successfully. 2247// 2248// Use "Send" method on the returned Request to send the API call to the service. 2249// the "output" return value is not valid until after Send returns without error. 2250// 2251// See GetPublicAccessBlock for more information on using the GetPublicAccessBlock 2252// API call, and error handling. 2253// 2254// This method is useful when you want to inject custom logic or configuration 2255// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2256// 2257// 2258// // Example sending a request using the GetPublicAccessBlockRequest method. 2259// req, resp := client.GetPublicAccessBlockRequest(params) 2260// 2261// err := req.Send() 2262// if err == nil { // resp is now filled 2263// fmt.Println(resp) 2264// } 2265// 2266// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 2267func (c *S3Control) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req *request.Request, output *GetPublicAccessBlockOutput) { 2268 op := &request.Operation{ 2269 Name: opGetPublicAccessBlock, 2270 HTTPMethod: "GET", 2271 HTTPPath: "/v20180820/configuration/publicAccessBlock", 2272 } 2273 2274 if input == nil { 2275 input = &GetPublicAccessBlockInput{} 2276 } 2277 2278 output = &GetPublicAccessBlockOutput{} 2279 req = c.newRequest(op, input, output) 2280 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2281 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2282 return 2283} 2284 2285// GetPublicAccessBlock API operation for AWS S3 Control. 2286// 2287// Retrieves the PublicAccessBlock configuration for an AWS account. For more 2288// information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 2289// 2290// Related actions include: 2291// 2292// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 2293// 2294// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html) 2295// 2296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2297// with awserr.Error's Code and Message methods to get detailed information about 2298// the error. 2299// 2300// See the AWS API reference guide for AWS S3 Control's 2301// API operation GetPublicAccessBlock for usage and error information. 2302// 2303// Returned Error Codes: 2304// * ErrCodeNoSuchPublicAccessBlockConfiguration "NoSuchPublicAccessBlockConfiguration" 2305// Amazon S3 throws this exception if you make a GetPublicAccessBlock request 2306// against an account that doesn't have a PublicAccessBlockConfiguration set. 2307// 2308// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlock 2309func (c *S3Control) GetPublicAccessBlock(input *GetPublicAccessBlockInput) (*GetPublicAccessBlockOutput, error) { 2310 req, out := c.GetPublicAccessBlockRequest(input) 2311 return out, req.Send() 2312} 2313 2314// GetPublicAccessBlockWithContext is the same as GetPublicAccessBlock with the addition of 2315// the ability to pass a context and additional request options. 2316// 2317// See GetPublicAccessBlock for details on how to use this API operation. 2318// 2319// The context must be non-nil and will be used for request cancellation. If 2320// the context is nil a panic will occur. In the future the SDK may create 2321// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2322// for more information on using Contexts. 2323func (c *S3Control) GetPublicAccessBlockWithContext(ctx aws.Context, input *GetPublicAccessBlockInput, opts ...request.Option) (*GetPublicAccessBlockOutput, error) { 2324 req, out := c.GetPublicAccessBlockRequest(input) 2325 req.SetContext(ctx) 2326 req.ApplyOptions(opts...) 2327 return out, req.Send() 2328} 2329 2330const opGetStorageLensConfiguration = "GetStorageLensConfiguration" 2331 2332// GetStorageLensConfigurationRequest generates a "aws/request.Request" representing the 2333// client's request for the GetStorageLensConfiguration operation. The "output" return 2334// value will be populated with the request's response once the request completes 2335// successfully. 2336// 2337// Use "Send" method on the returned Request to send the API call to the service. 2338// the "output" return value is not valid until after Send returns without error. 2339// 2340// See GetStorageLensConfiguration for more information on using the GetStorageLensConfiguration 2341// API call, and error handling. 2342// 2343// This method is useful when you want to inject custom logic or configuration 2344// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2345// 2346// 2347// // Example sending a request using the GetStorageLensConfigurationRequest method. 2348// req, resp := client.GetStorageLensConfigurationRequest(params) 2349// 2350// err := req.Send() 2351// if err == nil { // resp is now filled 2352// fmt.Println(resp) 2353// } 2354// 2355// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 2356func (c *S3Control) GetStorageLensConfigurationRequest(input *GetStorageLensConfigurationInput) (req *request.Request, output *GetStorageLensConfigurationOutput) { 2357 op := &request.Operation{ 2358 Name: opGetStorageLensConfiguration, 2359 HTTPMethod: "GET", 2360 HTTPPath: "/v20180820/storagelens/{storagelensid}", 2361 } 2362 2363 if input == nil { 2364 input = &GetStorageLensConfigurationInput{} 2365 } 2366 2367 output = &GetStorageLensConfigurationOutput{} 2368 req = c.newRequest(op, input, output) 2369 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2370 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2371 return 2372} 2373 2374// GetStorageLensConfiguration API operation for AWS S3 Control. 2375// 2376// Gets the Amazon S3 Storage Lens configuration. For more information, see 2377// Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 2378// in the Amazon Simple Storage Service Developer Guide. 2379// 2380// To use this action, you must have permission to perform the s3:GetStorageLensConfiguration 2381// action. For more information, see Setting permissions to use Amazon S3 Storage 2382// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 2383// in the Amazon Simple Storage Service Developer Guide. 2384// 2385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2386// with awserr.Error's Code and Message methods to get detailed information about 2387// the error. 2388// 2389// See the AWS API reference guide for AWS S3 Control's 2390// API operation GetStorageLensConfiguration for usage and error information. 2391// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfiguration 2392func (c *S3Control) GetStorageLensConfiguration(input *GetStorageLensConfigurationInput) (*GetStorageLensConfigurationOutput, error) { 2393 req, out := c.GetStorageLensConfigurationRequest(input) 2394 return out, req.Send() 2395} 2396 2397// GetStorageLensConfigurationWithContext is the same as GetStorageLensConfiguration with the addition of 2398// the ability to pass a context and additional request options. 2399// 2400// See GetStorageLensConfiguration for details on how to use this API operation. 2401// 2402// The context must be non-nil and will be used for request cancellation. If 2403// the context is nil a panic will occur. In the future the SDK may create 2404// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2405// for more information on using Contexts. 2406func (c *S3Control) GetStorageLensConfigurationWithContext(ctx aws.Context, input *GetStorageLensConfigurationInput, opts ...request.Option) (*GetStorageLensConfigurationOutput, error) { 2407 req, out := c.GetStorageLensConfigurationRequest(input) 2408 req.SetContext(ctx) 2409 req.ApplyOptions(opts...) 2410 return out, req.Send() 2411} 2412 2413const opGetStorageLensConfigurationTagging = "GetStorageLensConfigurationTagging" 2414 2415// GetStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 2416// client's request for the GetStorageLensConfigurationTagging operation. The "output" return 2417// value will be populated with the request's response once the request completes 2418// successfully. 2419// 2420// Use "Send" method on the returned Request to send the API call to the service. 2421// the "output" return value is not valid until after Send returns without error. 2422// 2423// See GetStorageLensConfigurationTagging for more information on using the GetStorageLensConfigurationTagging 2424// API call, and error handling. 2425// 2426// This method is useful when you want to inject custom logic or configuration 2427// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2428// 2429// 2430// // Example sending a request using the GetStorageLensConfigurationTaggingRequest method. 2431// req, resp := client.GetStorageLensConfigurationTaggingRequest(params) 2432// 2433// err := req.Send() 2434// if err == nil { // resp is now filled 2435// fmt.Println(resp) 2436// } 2437// 2438// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 2439func (c *S3Control) GetStorageLensConfigurationTaggingRequest(input *GetStorageLensConfigurationTaggingInput) (req *request.Request, output *GetStorageLensConfigurationTaggingOutput) { 2440 op := &request.Operation{ 2441 Name: opGetStorageLensConfigurationTagging, 2442 HTTPMethod: "GET", 2443 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 2444 } 2445 2446 if input == nil { 2447 input = &GetStorageLensConfigurationTaggingInput{} 2448 } 2449 2450 output = &GetStorageLensConfigurationTaggingOutput{} 2451 req = c.newRequest(op, input, output) 2452 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2453 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2454 return 2455} 2456 2457// GetStorageLensConfigurationTagging API operation for AWS S3 Control. 2458// 2459// Gets the tags of Amazon S3 Storage Lens configuration. For more information 2460// about S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 2461// in the Amazon Simple Storage Service Developer Guide. 2462// 2463// To use this action, you must have permission to perform the s3:GetStorageLensConfigurationTagging 2464// action. For more information, see Setting permissions to use Amazon S3 Storage 2465// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 2466// in the Amazon Simple Storage Service Developer Guide. 2467// 2468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2469// with awserr.Error's Code and Message methods to get detailed information about 2470// the error. 2471// 2472// See the AWS API reference guide for AWS S3 Control's 2473// API operation GetStorageLensConfigurationTagging for usage and error information. 2474// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetStorageLensConfigurationTagging 2475func (c *S3Control) GetStorageLensConfigurationTagging(input *GetStorageLensConfigurationTaggingInput) (*GetStorageLensConfigurationTaggingOutput, error) { 2476 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 2477 return out, req.Send() 2478} 2479 2480// GetStorageLensConfigurationTaggingWithContext is the same as GetStorageLensConfigurationTagging with the addition of 2481// the ability to pass a context and additional request options. 2482// 2483// See GetStorageLensConfigurationTagging for details on how to use this API operation. 2484// 2485// The context must be non-nil and will be used for request cancellation. If 2486// the context is nil a panic will occur. In the future the SDK may create 2487// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2488// for more information on using Contexts. 2489func (c *S3Control) GetStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *GetStorageLensConfigurationTaggingInput, opts ...request.Option) (*GetStorageLensConfigurationTaggingOutput, error) { 2490 req, out := c.GetStorageLensConfigurationTaggingRequest(input) 2491 req.SetContext(ctx) 2492 req.ApplyOptions(opts...) 2493 return out, req.Send() 2494} 2495 2496const opListAccessPoints = "ListAccessPoints" 2497 2498// ListAccessPointsRequest generates a "aws/request.Request" representing the 2499// client's request for the ListAccessPoints operation. The "output" return 2500// value will be populated with the request's response once the request completes 2501// successfully. 2502// 2503// Use "Send" method on the returned Request to send the API call to the service. 2504// the "output" return value is not valid until after Send returns without error. 2505// 2506// See ListAccessPoints for more information on using the ListAccessPoints 2507// API call, and error handling. 2508// 2509// This method is useful when you want to inject custom logic or configuration 2510// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2511// 2512// 2513// // Example sending a request using the ListAccessPointsRequest method. 2514// req, resp := client.ListAccessPointsRequest(params) 2515// 2516// err := req.Send() 2517// if err == nil { // resp is now filled 2518// fmt.Println(resp) 2519// } 2520// 2521// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 2522func (c *S3Control) ListAccessPointsRequest(input *ListAccessPointsInput) (req *request.Request, output *ListAccessPointsOutput) { 2523 op := &request.Operation{ 2524 Name: opListAccessPoints, 2525 HTTPMethod: "GET", 2526 HTTPPath: "/v20180820/accesspoint", 2527 Paginator: &request.Paginator{ 2528 InputTokens: []string{"NextToken"}, 2529 OutputTokens: []string{"NextToken"}, 2530 LimitToken: "MaxResults", 2531 TruncationToken: "", 2532 }, 2533 } 2534 2535 if input == nil { 2536 input = &ListAccessPointsInput{} 2537 } 2538 2539 output = &ListAccessPointsOutput{} 2540 req = c.newRequest(op, input, output) 2541 // update account id or check if provided input for account id member matches 2542 // the account id present in ARN 2543 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 2544 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2545 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2546 return 2547} 2548 2549// ListAccessPoints API operation for AWS S3 Control. 2550// 2551// Returns a list of the access points currently associated with the specified 2552// bucket. You can retrieve up to 1000 access points per call. If the specified 2553// bucket has more than 1,000 access points (or the number specified in maxResults, 2554// whichever is less), the response will include a continuation token that you 2555// can use to list the additional access points. 2556// 2557// All Amazon S3 on Outposts REST API requests for this action require an additional 2558// parameter of x-amz-outpost-id to be passed with the request and an S3 on 2559// Outposts endpoint hostname prefix instead of s3-control. For an example of 2560// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 2561// endpoint hostname prefix and the x-amz-outpost-id derived using the access 2562// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_Examples) 2563// section. 2564// 2565// The following actions are related to ListAccessPoints: 2566// 2567// * CreateAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html) 2568// 2569// * DeleteAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html) 2570// 2571// * GetAccessPoint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html) 2572// 2573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2574// with awserr.Error's Code and Message methods to get detailed information about 2575// the error. 2576// 2577// See the AWS API reference guide for AWS S3 Control's 2578// API operation ListAccessPoints for usage and error information. 2579// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPoints 2580func (c *S3Control) ListAccessPoints(input *ListAccessPointsInput) (*ListAccessPointsOutput, error) { 2581 req, out := c.ListAccessPointsRequest(input) 2582 return out, req.Send() 2583} 2584 2585// ListAccessPointsWithContext is the same as ListAccessPoints with the addition of 2586// the ability to pass a context and additional request options. 2587// 2588// See ListAccessPoints for details on how to use this API operation. 2589// 2590// The context must be non-nil and will be used for request cancellation. If 2591// the context is nil a panic will occur. In the future the SDK may create 2592// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2593// for more information on using Contexts. 2594func (c *S3Control) ListAccessPointsWithContext(ctx aws.Context, input *ListAccessPointsInput, opts ...request.Option) (*ListAccessPointsOutput, error) { 2595 req, out := c.ListAccessPointsRequest(input) 2596 req.SetContext(ctx) 2597 req.ApplyOptions(opts...) 2598 return out, req.Send() 2599} 2600 2601// ListAccessPointsPages iterates over the pages of a ListAccessPoints operation, 2602// calling the "fn" function with the response data for each page. To stop 2603// iterating, return false from the fn function. 2604// 2605// See ListAccessPoints method for more information on how to use this operation. 2606// 2607// Note: This operation can generate multiple requests to a service. 2608// 2609// // Example iterating over at most 3 pages of a ListAccessPoints operation. 2610// pageNum := 0 2611// err := client.ListAccessPointsPages(params, 2612// func(page *s3control.ListAccessPointsOutput, lastPage bool) bool { 2613// pageNum++ 2614// fmt.Println(page) 2615// return pageNum <= 3 2616// }) 2617// 2618func (c *S3Control) ListAccessPointsPages(input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool) error { 2619 return c.ListAccessPointsPagesWithContext(aws.BackgroundContext(), input, fn) 2620} 2621 2622// ListAccessPointsPagesWithContext same as ListAccessPointsPages except 2623// it takes a Context and allows setting request options on the pages. 2624// 2625// The context must be non-nil and will be used for request cancellation. If 2626// the context is nil a panic will occur. In the future the SDK may create 2627// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2628// for more information on using Contexts. 2629func (c *S3Control) ListAccessPointsPagesWithContext(ctx aws.Context, input *ListAccessPointsInput, fn func(*ListAccessPointsOutput, bool) bool, opts ...request.Option) error { 2630 p := request.Pagination{ 2631 NewRequest: func() (*request.Request, error) { 2632 var inCpy *ListAccessPointsInput 2633 if input != nil { 2634 tmp := *input 2635 inCpy = &tmp 2636 } 2637 req, _ := c.ListAccessPointsRequest(inCpy) 2638 req.SetContext(ctx) 2639 req.ApplyOptions(opts...) 2640 return req, nil 2641 }, 2642 } 2643 2644 for p.Next() { 2645 if !fn(p.Page().(*ListAccessPointsOutput), !p.HasNextPage()) { 2646 break 2647 } 2648 } 2649 2650 return p.Err() 2651} 2652 2653const opListJobs = "ListJobs" 2654 2655// ListJobsRequest generates a "aws/request.Request" representing the 2656// client's request for the ListJobs operation. The "output" return 2657// value will be populated with the request's response once the request completes 2658// successfully. 2659// 2660// Use "Send" method on the returned Request to send the API call to the service. 2661// the "output" return value is not valid until after Send returns without error. 2662// 2663// See ListJobs for more information on using the ListJobs 2664// API call, and error handling. 2665// 2666// This method is useful when you want to inject custom logic or configuration 2667// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2668// 2669// 2670// // Example sending a request using the ListJobsRequest method. 2671// req, resp := client.ListJobsRequest(params) 2672// 2673// err := req.Send() 2674// if err == nil { // resp is now filled 2675// fmt.Println(resp) 2676// } 2677// 2678// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 2679func (c *S3Control) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 2680 op := &request.Operation{ 2681 Name: opListJobs, 2682 HTTPMethod: "GET", 2683 HTTPPath: "/v20180820/jobs", 2684 Paginator: &request.Paginator{ 2685 InputTokens: []string{"NextToken"}, 2686 OutputTokens: []string{"NextToken"}, 2687 LimitToken: "MaxResults", 2688 TruncationToken: "", 2689 }, 2690 } 2691 2692 if input == nil { 2693 input = &ListJobsInput{} 2694 } 2695 2696 output = &ListJobsOutput{} 2697 req = c.newRequest(op, input, output) 2698 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2699 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2700 return 2701} 2702 2703// ListJobs API operation for AWS S3 Control. 2704// 2705// Lists current S3 Batch Operations jobs and jobs that have ended within the 2706// last 30 days for the AWS account making the request. For more information, 2707// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 2708// in the Amazon Simple Storage Service Developer Guide. 2709// 2710// Related actions include: 2711// 2712// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 2713// 2714// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 2715// 2716// * UpdateJobPriority (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html) 2717// 2718// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 2719// 2720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2721// with awserr.Error's Code and Message methods to get detailed information about 2722// the error. 2723// 2724// See the AWS API reference guide for AWS S3 Control's 2725// API operation ListJobs for usage and error information. 2726// 2727// Returned Error Codes: 2728// * ErrCodeInvalidRequestException "InvalidRequestException" 2729// 2730// * ErrCodeInternalServiceException "InternalServiceException" 2731// 2732// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 2733// 2734// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobs 2735func (c *S3Control) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 2736 req, out := c.ListJobsRequest(input) 2737 return out, req.Send() 2738} 2739 2740// ListJobsWithContext is the same as ListJobs with the addition of 2741// the ability to pass a context and additional request options. 2742// 2743// See ListJobs for details on how to use this API operation. 2744// 2745// The context must be non-nil and will be used for request cancellation. If 2746// the context is nil a panic will occur. In the future the SDK may create 2747// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2748// for more information on using Contexts. 2749func (c *S3Control) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 2750 req, out := c.ListJobsRequest(input) 2751 req.SetContext(ctx) 2752 req.ApplyOptions(opts...) 2753 return out, req.Send() 2754} 2755 2756// ListJobsPages iterates over the pages of a ListJobs operation, 2757// calling the "fn" function with the response data for each page. To stop 2758// iterating, return false from the fn function. 2759// 2760// See ListJobs method for more information on how to use this operation. 2761// 2762// Note: This operation can generate multiple requests to a service. 2763// 2764// // Example iterating over at most 3 pages of a ListJobs operation. 2765// pageNum := 0 2766// err := client.ListJobsPages(params, 2767// func(page *s3control.ListJobsOutput, lastPage bool) bool { 2768// pageNum++ 2769// fmt.Println(page) 2770// return pageNum <= 3 2771// }) 2772// 2773func (c *S3Control) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 2774 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 2775} 2776 2777// ListJobsPagesWithContext same as ListJobsPages except 2778// it takes a Context and allows setting request options on the pages. 2779// 2780// The context must be non-nil and will be used for request cancellation. If 2781// the context is nil a panic will occur. In the future the SDK may create 2782// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2783// for more information on using Contexts. 2784func (c *S3Control) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 2785 p := request.Pagination{ 2786 NewRequest: func() (*request.Request, error) { 2787 var inCpy *ListJobsInput 2788 if input != nil { 2789 tmp := *input 2790 inCpy = &tmp 2791 } 2792 req, _ := c.ListJobsRequest(inCpy) 2793 req.SetContext(ctx) 2794 req.ApplyOptions(opts...) 2795 return req, nil 2796 }, 2797 } 2798 2799 for p.Next() { 2800 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 2801 break 2802 } 2803 } 2804 2805 return p.Err() 2806} 2807 2808const opListRegionalBuckets = "ListRegionalBuckets" 2809 2810// ListRegionalBucketsRequest generates a "aws/request.Request" representing the 2811// client's request for the ListRegionalBuckets operation. The "output" return 2812// value will be populated with the request's response once the request completes 2813// successfully. 2814// 2815// Use "Send" method on the returned Request to send the API call to the service. 2816// the "output" return value is not valid until after Send returns without error. 2817// 2818// See ListRegionalBuckets for more information on using the ListRegionalBuckets 2819// API call, and error handling. 2820// 2821// This method is useful when you want to inject custom logic or configuration 2822// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2823// 2824// 2825// // Example sending a request using the ListRegionalBucketsRequest method. 2826// req, resp := client.ListRegionalBucketsRequest(params) 2827// 2828// err := req.Send() 2829// if err == nil { // resp is now filled 2830// fmt.Println(resp) 2831// } 2832// 2833// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 2834func (c *S3Control) ListRegionalBucketsRequest(input *ListRegionalBucketsInput) (req *request.Request, output *ListRegionalBucketsOutput) { 2835 op := &request.Operation{ 2836 Name: opListRegionalBuckets, 2837 HTTPMethod: "GET", 2838 HTTPPath: "/v20180820/bucket", 2839 Paginator: &request.Paginator{ 2840 InputTokens: []string{"NextToken"}, 2841 OutputTokens: []string{"NextToken"}, 2842 LimitToken: "MaxResults", 2843 TruncationToken: "", 2844 }, 2845 } 2846 2847 if input == nil { 2848 input = &ListRegionalBucketsInput{} 2849 } 2850 2851 output = &ListRegionalBucketsOutput{} 2852 req = c.newRequest(op, input, output) 2853 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2854 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2855 return 2856} 2857 2858// ListRegionalBuckets API operation for AWS S3 Control. 2859// 2860// Returns a list of all Outposts buckets in an Outpost that are owned by the 2861// authenticated sender of the request. For more information, see Using Amazon 2862// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 2863// in the Amazon Simple Storage Service Developer Guide. 2864// 2865// For an example of the request syntax for Amazon S3 on Outposts that uses 2866// the S3 on Outposts endpoint hostname prefix and x-amz-outpost-id in your 2867// request, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html#API_control_ListRegionalBuckets_Examples) 2868// section. 2869// 2870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2871// with awserr.Error's Code and Message methods to get detailed information about 2872// the error. 2873// 2874// See the AWS API reference guide for AWS S3 Control's 2875// API operation ListRegionalBuckets for usage and error information. 2876// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListRegionalBuckets 2877func (c *S3Control) ListRegionalBuckets(input *ListRegionalBucketsInput) (*ListRegionalBucketsOutput, error) { 2878 req, out := c.ListRegionalBucketsRequest(input) 2879 return out, req.Send() 2880} 2881 2882// ListRegionalBucketsWithContext is the same as ListRegionalBuckets with the addition of 2883// the ability to pass a context and additional request options. 2884// 2885// See ListRegionalBuckets for details on how to use this API operation. 2886// 2887// The context must be non-nil and will be used for request cancellation. If 2888// the context is nil a panic will occur. In the future the SDK may create 2889// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2890// for more information on using Contexts. 2891func (c *S3Control) ListRegionalBucketsWithContext(ctx aws.Context, input *ListRegionalBucketsInput, opts ...request.Option) (*ListRegionalBucketsOutput, error) { 2892 req, out := c.ListRegionalBucketsRequest(input) 2893 req.SetContext(ctx) 2894 req.ApplyOptions(opts...) 2895 return out, req.Send() 2896} 2897 2898// ListRegionalBucketsPages iterates over the pages of a ListRegionalBuckets operation, 2899// calling the "fn" function with the response data for each page. To stop 2900// iterating, return false from the fn function. 2901// 2902// See ListRegionalBuckets method for more information on how to use this operation. 2903// 2904// Note: This operation can generate multiple requests to a service. 2905// 2906// // Example iterating over at most 3 pages of a ListRegionalBuckets operation. 2907// pageNum := 0 2908// err := client.ListRegionalBucketsPages(params, 2909// func(page *s3control.ListRegionalBucketsOutput, lastPage bool) bool { 2910// pageNum++ 2911// fmt.Println(page) 2912// return pageNum <= 3 2913// }) 2914// 2915func (c *S3Control) ListRegionalBucketsPages(input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool) error { 2916 return c.ListRegionalBucketsPagesWithContext(aws.BackgroundContext(), input, fn) 2917} 2918 2919// ListRegionalBucketsPagesWithContext same as ListRegionalBucketsPages except 2920// it takes a Context and allows setting request options on the pages. 2921// 2922// The context must be non-nil and will be used for request cancellation. If 2923// the context is nil a panic will occur. In the future the SDK may create 2924// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2925// for more information on using Contexts. 2926func (c *S3Control) ListRegionalBucketsPagesWithContext(ctx aws.Context, input *ListRegionalBucketsInput, fn func(*ListRegionalBucketsOutput, bool) bool, opts ...request.Option) error { 2927 p := request.Pagination{ 2928 NewRequest: func() (*request.Request, error) { 2929 var inCpy *ListRegionalBucketsInput 2930 if input != nil { 2931 tmp := *input 2932 inCpy = &tmp 2933 } 2934 req, _ := c.ListRegionalBucketsRequest(inCpy) 2935 req.SetContext(ctx) 2936 req.ApplyOptions(opts...) 2937 return req, nil 2938 }, 2939 } 2940 2941 for p.Next() { 2942 if !fn(p.Page().(*ListRegionalBucketsOutput), !p.HasNextPage()) { 2943 break 2944 } 2945 } 2946 2947 return p.Err() 2948} 2949 2950const opListStorageLensConfigurations = "ListStorageLensConfigurations" 2951 2952// ListStorageLensConfigurationsRequest generates a "aws/request.Request" representing the 2953// client's request for the ListStorageLensConfigurations operation. The "output" return 2954// value will be populated with the request's response once the request completes 2955// successfully. 2956// 2957// Use "Send" method on the returned Request to send the API call to the service. 2958// the "output" return value is not valid until after Send returns without error. 2959// 2960// See ListStorageLensConfigurations for more information on using the ListStorageLensConfigurations 2961// API call, and error handling. 2962// 2963// This method is useful when you want to inject custom logic or configuration 2964// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2965// 2966// 2967// // Example sending a request using the ListStorageLensConfigurationsRequest method. 2968// req, resp := client.ListStorageLensConfigurationsRequest(params) 2969// 2970// err := req.Send() 2971// if err == nil { // resp is now filled 2972// fmt.Println(resp) 2973// } 2974// 2975// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 2976func (c *S3Control) ListStorageLensConfigurationsRequest(input *ListStorageLensConfigurationsInput) (req *request.Request, output *ListStorageLensConfigurationsOutput) { 2977 op := &request.Operation{ 2978 Name: opListStorageLensConfigurations, 2979 HTTPMethod: "GET", 2980 HTTPPath: "/v20180820/storagelens", 2981 } 2982 2983 if input == nil { 2984 input = &ListStorageLensConfigurationsInput{} 2985 } 2986 2987 output = &ListStorageLensConfigurationsOutput{} 2988 req = c.newRequest(op, input, output) 2989 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 2990 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 2991 return 2992} 2993 2994// ListStorageLensConfigurations API operation for AWS S3 Control. 2995// 2996// Gets a list of Amazon S3 Storage Lens configurations. For more information 2997// about S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 2998// in the Amazon Simple Storage Service Developer Guide. 2999// 3000// To use this action, you must have permission to perform the s3:ListStorageLensConfigurations 3001// action. For more information, see Setting permissions to use Amazon S3 Storage 3002// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3003// in the Amazon Simple Storage Service Developer Guide. 3004// 3005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3006// with awserr.Error's Code and Message methods to get detailed information about 3007// the error. 3008// 3009// See the AWS API reference guide for AWS S3 Control's 3010// API operation ListStorageLensConfigurations for usage and error information. 3011// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListStorageLensConfigurations 3012func (c *S3Control) ListStorageLensConfigurations(input *ListStorageLensConfigurationsInput) (*ListStorageLensConfigurationsOutput, error) { 3013 req, out := c.ListStorageLensConfigurationsRequest(input) 3014 return out, req.Send() 3015} 3016 3017// ListStorageLensConfigurationsWithContext is the same as ListStorageLensConfigurations with the addition of 3018// the ability to pass a context and additional request options. 3019// 3020// See ListStorageLensConfigurations for details on how to use this API operation. 3021// 3022// The context must be non-nil and will be used for request cancellation. If 3023// the context is nil a panic will occur. In the future the SDK may create 3024// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3025// for more information on using Contexts. 3026func (c *S3Control) ListStorageLensConfigurationsWithContext(ctx aws.Context, input *ListStorageLensConfigurationsInput, opts ...request.Option) (*ListStorageLensConfigurationsOutput, error) { 3027 req, out := c.ListStorageLensConfigurationsRequest(input) 3028 req.SetContext(ctx) 3029 req.ApplyOptions(opts...) 3030 return out, req.Send() 3031} 3032 3033const opPutAccessPointPolicy = "PutAccessPointPolicy" 3034 3035// PutAccessPointPolicyRequest generates a "aws/request.Request" representing the 3036// client's request for the PutAccessPointPolicy operation. The "output" return 3037// value will be populated with the request's response once the request completes 3038// successfully. 3039// 3040// Use "Send" method on the returned Request to send the API call to the service. 3041// the "output" return value is not valid until after Send returns without error. 3042// 3043// See PutAccessPointPolicy for more information on using the PutAccessPointPolicy 3044// API call, and error handling. 3045// 3046// This method is useful when you want to inject custom logic or configuration 3047// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3048// 3049// 3050// // Example sending a request using the PutAccessPointPolicyRequest method. 3051// req, resp := client.PutAccessPointPolicyRequest(params) 3052// 3053// err := req.Send() 3054// if err == nil { // resp is now filled 3055// fmt.Println(resp) 3056// } 3057// 3058// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 3059func (c *S3Control) PutAccessPointPolicyRequest(input *PutAccessPointPolicyInput) (req *request.Request, output *PutAccessPointPolicyOutput) { 3060 op := &request.Operation{ 3061 Name: opPutAccessPointPolicy, 3062 HTTPMethod: "PUT", 3063 HTTPPath: "/v20180820/accesspoint/{name}/policy", 3064 } 3065 3066 if input == nil { 3067 input = &PutAccessPointPolicyInput{} 3068 } 3069 3070 output = &PutAccessPointPolicyOutput{} 3071 req = c.newRequest(op, input, output) 3072 // update account id or check if provided input for account id member matches 3073 // the account id present in ARN 3074 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3075 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3076 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3077 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3078 return 3079} 3080 3081// PutAccessPointPolicy API operation for AWS S3 Control. 3082// 3083// Associates an access policy with the specified access point. Each access 3084// point can have only one policy, so a request made to this API replaces any 3085// existing policy associated with the specified access point. 3086// 3087// All Amazon S3 on Outposts REST API requests for this action require an additional 3088// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3089// Outposts endpoint hostname prefix instead of s3-control. For an example of 3090// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3091// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3092// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_Examples) 3093// section. 3094// 3095// The following actions are related to PutAccessPointPolicy: 3096// 3097// * GetAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 3098// 3099// * DeleteAccessPointPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html) 3100// 3101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3102// with awserr.Error's Code and Message methods to get detailed information about 3103// the error. 3104// 3105// See the AWS API reference guide for AWS S3 Control's 3106// API operation PutAccessPointPolicy for usage and error information. 3107// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicy 3108func (c *S3Control) PutAccessPointPolicy(input *PutAccessPointPolicyInput) (*PutAccessPointPolicyOutput, error) { 3109 req, out := c.PutAccessPointPolicyRequest(input) 3110 return out, req.Send() 3111} 3112 3113// PutAccessPointPolicyWithContext is the same as PutAccessPointPolicy with the addition of 3114// the ability to pass a context and additional request options. 3115// 3116// See PutAccessPointPolicy for details on how to use this API operation. 3117// 3118// The context must be non-nil and will be used for request cancellation. If 3119// the context is nil a panic will occur. In the future the SDK may create 3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3121// for more information on using Contexts. 3122func (c *S3Control) PutAccessPointPolicyWithContext(ctx aws.Context, input *PutAccessPointPolicyInput, opts ...request.Option) (*PutAccessPointPolicyOutput, error) { 3123 req, out := c.PutAccessPointPolicyRequest(input) 3124 req.SetContext(ctx) 3125 req.ApplyOptions(opts...) 3126 return out, req.Send() 3127} 3128 3129const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" 3130 3131// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 3132// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 3133// value will be populated with the request's response once the request completes 3134// successfully. 3135// 3136// Use "Send" method on the returned Request to send the API call to the service. 3137// the "output" return value is not valid until after Send returns without error. 3138// 3139// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration 3140// API call, and error handling. 3141// 3142// This method is useful when you want to inject custom logic or configuration 3143// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3144// 3145// 3146// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 3147// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 3148// 3149// err := req.Send() 3150// if err == nil { // resp is now filled 3151// fmt.Println(resp) 3152// } 3153// 3154// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 3155func (c *S3Control) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 3156 op := &request.Operation{ 3157 Name: opPutBucketLifecycleConfiguration, 3158 HTTPMethod: "PUT", 3159 HTTPPath: "/v20180820/bucket/{name}/lifecycleconfiguration", 3160 } 3161 3162 if input == nil { 3163 input = &PutBucketLifecycleConfigurationInput{} 3164 } 3165 3166 output = &PutBucketLifecycleConfigurationOutput{} 3167 req = c.newRequest(op, input, output) 3168 // update account id or check if provided input for account id member matches 3169 // the account id present in ARN 3170 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3171 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3172 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3173 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3174 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3175 Name: "contentMd5Handler", 3176 Fn: checksum.AddBodyContentMD5Handler, 3177 }) 3178 return 3179} 3180 3181// PutBucketLifecycleConfiguration API operation for AWS S3 Control. 3182// 3183// 3184// This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. 3185// To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration 3186// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) 3187// in the Amazon Simple Storage Service API. 3188// 3189// Creates a new lifecycle configuration for the Outposts bucket or replaces 3190// an existing lifecycle configuration. Outposts buckets only support lifecycle 3191// configurations that delete/expire objects after a certain period of time 3192// and abort incomplete multipart uploads. For more information, see Managing 3193// Lifecycle Permissions for Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html). 3194// 3195// All Amazon S3 on Outposts REST API requests for this action require an additional 3196// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3197// Outposts endpoint hostname prefix instead of s3-control. For an example of 3198// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3199// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3200// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html#API_control_PutBucketLifecycleConfiguration_Examples) 3201// section. 3202// 3203// The following actions are related to PutBucketLifecycleConfiguration: 3204// 3205// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html) 3206// 3207// * DeleteBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketLifecycleConfiguration.html) 3208// 3209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3210// with awserr.Error's Code and Message methods to get detailed information about 3211// the error. 3212// 3213// See the AWS API reference guide for AWS S3 Control's 3214// API operation PutBucketLifecycleConfiguration for usage and error information. 3215// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketLifecycleConfiguration 3216func (c *S3Control) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 3217 req, out := c.PutBucketLifecycleConfigurationRequest(input) 3218 return out, req.Send() 3219} 3220 3221// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of 3222// the ability to pass a context and additional request options. 3223// 3224// See PutBucketLifecycleConfiguration for details on how to use this API operation. 3225// 3226// The context must be non-nil and will be used for request cancellation. If 3227// the context is nil a panic will occur. In the future the SDK may create 3228// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3229// for more information on using Contexts. 3230func (c *S3Control) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) { 3231 req, out := c.PutBucketLifecycleConfigurationRequest(input) 3232 req.SetContext(ctx) 3233 req.ApplyOptions(opts...) 3234 return out, req.Send() 3235} 3236 3237const opPutBucketPolicy = "PutBucketPolicy" 3238 3239// PutBucketPolicyRequest generates a "aws/request.Request" representing the 3240// client's request for the PutBucketPolicy operation. The "output" return 3241// value will be populated with the request's response once the request completes 3242// successfully. 3243// 3244// Use "Send" method on the returned Request to send the API call to the service. 3245// the "output" return value is not valid until after Send returns without error. 3246// 3247// See PutBucketPolicy for more information on using the PutBucketPolicy 3248// API call, and error handling. 3249// 3250// This method is useful when you want to inject custom logic or configuration 3251// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3252// 3253// 3254// // Example sending a request using the PutBucketPolicyRequest method. 3255// req, resp := client.PutBucketPolicyRequest(params) 3256// 3257// err := req.Send() 3258// if err == nil { // resp is now filled 3259// fmt.Println(resp) 3260// } 3261// 3262// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 3263func (c *S3Control) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 3264 op := &request.Operation{ 3265 Name: opPutBucketPolicy, 3266 HTTPMethod: "PUT", 3267 HTTPPath: "/v20180820/bucket/{name}/policy", 3268 } 3269 3270 if input == nil { 3271 input = &PutBucketPolicyInput{} 3272 } 3273 3274 output = &PutBucketPolicyOutput{} 3275 req = c.newRequest(op, input, output) 3276 // update account id or check if provided input for account id member matches 3277 // the account id present in ARN 3278 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3279 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3280 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3281 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3282 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3283 Name: "contentMd5Handler", 3284 Fn: checksum.AddBodyContentMD5Handler, 3285 }) 3286 return 3287} 3288 3289// PutBucketPolicy API operation for AWS S3 Control. 3290// 3291// 3292// This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put 3293// a policy on an S3 bucket, see PutBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html) 3294// in the Amazon Simple Storage Service API. 3295// 3296// Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, 3297// see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 3298// in the Amazon Simple Storage Service Developer Guide. 3299// 3300// If you are using an identity other than the root user of the AWS account 3301// that owns the Outposts bucket, the calling identity must have the PutBucketPolicy 3302// permissions on the specified Outposts bucket and belong to the bucket owner's 3303// account in order to use this operation. 3304// 3305// If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access 3306// Denied error. If you have the correct permissions, but you're not using an 3307// identity that belongs to the bucket owner's account, Amazon S3 returns a 3308// 405 Method Not Allowed error. 3309// 3310// As a security precaution, the root user of the AWS account that owns a bucket 3311// can always use this operation, even if the policy explicitly denies the root 3312// user the ability to perform this action. 3313// 3314// For more information about bucket policies, see Using Bucket Policies and 3315// User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). 3316// 3317// All Amazon S3 on Outposts REST API requests for this action require an additional 3318// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3319// Outposts endpoint hostname prefix instead of s3-control. For an example of 3320// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3321// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3322// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html#API_control_PutBucketPolicy_Examples) 3323// section. 3324// 3325// The following actions are related to PutBucketPolicy: 3326// 3327// * GetBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html) 3328// 3329// * DeleteBucketPolicy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html) 3330// 3331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3332// with awserr.Error's Code and Message methods to get detailed information about 3333// the error. 3334// 3335// See the AWS API reference guide for AWS S3 Control's 3336// API operation PutBucketPolicy for usage and error information. 3337// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketPolicy 3338func (c *S3Control) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 3339 req, out := c.PutBucketPolicyRequest(input) 3340 return out, req.Send() 3341} 3342 3343// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of 3344// the ability to pass a context and additional request options. 3345// 3346// See PutBucketPolicy for details on how to use this API operation. 3347// 3348// The context must be non-nil and will be used for request cancellation. If 3349// the context is nil a panic will occur. In the future the SDK may create 3350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3351// for more information on using Contexts. 3352func (c *S3Control) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) { 3353 req, out := c.PutBucketPolicyRequest(input) 3354 req.SetContext(ctx) 3355 req.ApplyOptions(opts...) 3356 return out, req.Send() 3357} 3358 3359const opPutBucketTagging = "PutBucketTagging" 3360 3361// PutBucketTaggingRequest generates a "aws/request.Request" representing the 3362// client's request for the PutBucketTagging operation. The "output" return 3363// value will be populated with the request's response once the request completes 3364// successfully. 3365// 3366// Use "Send" method on the returned Request to send the API call to the service. 3367// the "output" return value is not valid until after Send returns without error. 3368// 3369// See PutBucketTagging for more information on using the PutBucketTagging 3370// API call, and error handling. 3371// 3372// This method is useful when you want to inject custom logic or configuration 3373// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3374// 3375// 3376// // Example sending a request using the PutBucketTaggingRequest method. 3377// req, resp := client.PutBucketTaggingRequest(params) 3378// 3379// err := req.Send() 3380// if err == nil { // resp is now filled 3381// fmt.Println(resp) 3382// } 3383// 3384// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 3385func (c *S3Control) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 3386 op := &request.Operation{ 3387 Name: opPutBucketTagging, 3388 HTTPMethod: "PUT", 3389 HTTPPath: "/v20180820/bucket/{name}/tagging", 3390 } 3391 3392 if input == nil { 3393 input = &PutBucketTaggingInput{} 3394 } 3395 3396 output = &PutBucketTaggingOutput{} 3397 req = c.newRequest(op, input, output) 3398 // update account id or check if provided input for account id member matches 3399 // the account id present in ARN 3400 req.Handlers.Validate.PushFrontNamed(updateAccountIDWithARNHandler) 3401 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3402 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3403 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3404 req.Handlers.Build.PushBackNamed(request.NamedHandler{ 3405 Name: "contentMd5Handler", 3406 Fn: checksum.AddBodyContentMD5Handler, 3407 }) 3408 return 3409} 3410 3411// PutBucketTagging API operation for AWS S3 Control. 3412// 3413// 3414// This action puts tags on an Amazon S3 on Outposts bucket. To put tags on 3415// an S3 bucket, see PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) 3416// in the Amazon Simple Storage Service API. 3417// 3418// Sets the tags for an Outposts bucket. For more information, see Using Amazon 3419// S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html) 3420// in the Amazon Simple Storage Service Developer Guide. 3421// 3422// Use tags to organize your AWS bill to reflect your own cost structure. To 3423// do this, sign up to get your AWS account bill with tag key values included. 3424// Then, to see the cost of combined resources, organize your billing information 3425// according to resources with the same tag key values. For example, you can 3426// tag several resources with a specific application name, and then organize 3427// your billing information to see the total cost of that application across 3428// several services. For more information, see Cost Allocation and Tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 3429// 3430// Within a bucket, if you add a tag that has the same key as an existing tag, 3431// the new value overwrites the old value. For more information, see Using Cost 3432// Allocation in Amazon S3 Bucket Tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html). 3433// 3434// To use this operation, you must have permissions to perform the s3-outposts:PutBucketTagging 3435// action. The Outposts bucket owner has this permission by default and can 3436// grant this permission to others. For more information about permissions, 3437// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) 3438// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). 3439// 3440// PutBucketTagging has the following special errors: 3441// 3442// * Error code: InvalidTagError Description: The tag provided was not a 3443// valid tag. This error can occur if the tag did not pass input validation. 3444// For information about tag restrictions, see User-Defined Tag Restrictions 3445// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 3446// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). 3447// 3448// * Error code: MalformedXMLError Description: The XML provided does not 3449// match the schema. 3450// 3451// * Error code: OperationAbortedError Description: A conflicting conditional 3452// operation is currently in progress against this resource. Try again. 3453// 3454// * Error code: InternalError Description: The service was unable to apply 3455// the provided tag to the bucket. 3456// 3457// All Amazon S3 on Outposts REST API requests for this action require an additional 3458// parameter of x-amz-outpost-id to be passed with the request and an S3 on 3459// Outposts endpoint hostname prefix instead of s3-control. For an example of 3460// the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts 3461// endpoint hostname prefix and the x-amz-outpost-id derived using the access 3462// point ARN, see the Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html#API_control_PutBucketTagging_Examples) 3463// section. 3464// 3465// The following actions are related to PutBucketTagging: 3466// 3467// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html) 3468// 3469// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketTagging.html) 3470// 3471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3472// with awserr.Error's Code and Message methods to get detailed information about 3473// the error. 3474// 3475// See the AWS API reference guide for AWS S3 Control's 3476// API operation PutBucketTagging for usage and error information. 3477// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutBucketTagging 3478func (c *S3Control) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 3479 req, out := c.PutBucketTaggingRequest(input) 3480 return out, req.Send() 3481} 3482 3483// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of 3484// the ability to pass a context and additional request options. 3485// 3486// See PutBucketTagging for details on how to use this API operation. 3487// 3488// The context must be non-nil and will be used for request cancellation. If 3489// the context is nil a panic will occur. In the future the SDK may create 3490// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3491// for more information on using Contexts. 3492func (c *S3Control) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) { 3493 req, out := c.PutBucketTaggingRequest(input) 3494 req.SetContext(ctx) 3495 req.ApplyOptions(opts...) 3496 return out, req.Send() 3497} 3498 3499const opPutJobTagging = "PutJobTagging" 3500 3501// PutJobTaggingRequest generates a "aws/request.Request" representing the 3502// client's request for the PutJobTagging operation. The "output" return 3503// value will be populated with the request's response once the request completes 3504// successfully. 3505// 3506// Use "Send" method on the returned Request to send the API call to the service. 3507// the "output" return value is not valid until after Send returns without error. 3508// 3509// See PutJobTagging for more information on using the PutJobTagging 3510// API call, and error handling. 3511// 3512// This method is useful when you want to inject custom logic or configuration 3513// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3514// 3515// 3516// // Example sending a request using the PutJobTaggingRequest method. 3517// req, resp := client.PutJobTaggingRequest(params) 3518// 3519// err := req.Send() 3520// if err == nil { // resp is now filled 3521// fmt.Println(resp) 3522// } 3523// 3524// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 3525func (c *S3Control) PutJobTaggingRequest(input *PutJobTaggingInput) (req *request.Request, output *PutJobTaggingOutput) { 3526 op := &request.Operation{ 3527 Name: opPutJobTagging, 3528 HTTPMethod: "PUT", 3529 HTTPPath: "/v20180820/jobs/{id}/tagging", 3530 } 3531 3532 if input == nil { 3533 input = &PutJobTaggingInput{} 3534 } 3535 3536 output = &PutJobTaggingOutput{} 3537 req = c.newRequest(op, input, output) 3538 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3539 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3540 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3541 return 3542} 3543 3544// PutJobTagging API operation for AWS S3 Control. 3545// 3546// Sets the supplied tag-set on an S3 Batch Operations job. 3547// 3548// A tag is a key-value pair. You can associate S3 Batch Operations tags with 3549// any job by sending a PUT request against the tagging subresource that is 3550// associated with the job. To modify the existing tag set, you can either replace 3551// the existing tag set entirely, or make changes within the existing tag set 3552// by retrieving the existing tag set using GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), 3553// modify that tag set, and use this action to replace the tag set with the 3554// one you modified. For more information, see Controlling access and labeling 3555// jobs using tags (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-managing-jobs.html#batch-ops-job-tags) 3556// in the Amazon Simple Storage Service Developer Guide. 3557// 3558// * If you send this request with an empty tag set, Amazon S3 deletes the 3559// existing tag set on the Batch Operations job. If you use this method, 3560// you are charged for a Tier 1 Request (PUT). For more information, see 3561// Amazon S3 pricing (http://aws.amazon.com/s3/pricing/). 3562// 3563// * For deleting existing tags for your Batch Operations job, a DeleteJobTagging 3564// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 3565// request is preferred because it achieves the same result without incurring 3566// charges. 3567// 3568// * A few things to consider about using tags: Amazon S3 limits the maximum 3569// number of tags to 50 tags per job. You can associate up to 50 tags with 3570// a job as long as they have unique tag keys. A tag key can be up to 128 3571// Unicode characters in length, and tag values can be up to 256 Unicode 3572// characters in length. The key and values are case sensitive. For tagging-related 3573// restrictions related to characters and encodings, see User-Defined Tag 3574// Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) 3575// in the AWS Billing and Cost Management User Guide. 3576// 3577// To use this operation, you must have permission to perform the s3:PutJobTagging 3578// action. 3579// 3580// Related actions include: 3581// 3582// * CreatJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 3583// 3584// * GetJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) 3585// 3586// * DeleteJobTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) 3587// 3588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3589// with awserr.Error's Code and Message methods to get detailed information about 3590// the error. 3591// 3592// See the AWS API reference guide for AWS S3 Control's 3593// API operation PutJobTagging for usage and error information. 3594// 3595// Returned Error Codes: 3596// * ErrCodeInternalServiceException "InternalServiceException" 3597// 3598// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3599// 3600// * ErrCodeNotFoundException "NotFoundException" 3601// 3602// * ErrCodeTooManyTagsException "TooManyTagsException" 3603// Amazon S3 throws this exception if you have too many tags in your tag set. 3604// 3605// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutJobTagging 3606func (c *S3Control) PutJobTagging(input *PutJobTaggingInput) (*PutJobTaggingOutput, error) { 3607 req, out := c.PutJobTaggingRequest(input) 3608 return out, req.Send() 3609} 3610 3611// PutJobTaggingWithContext is the same as PutJobTagging with the addition of 3612// the ability to pass a context and additional request options. 3613// 3614// See PutJobTagging for details on how to use this API operation. 3615// 3616// The context must be non-nil and will be used for request cancellation. If 3617// the context is nil a panic will occur. In the future the SDK may create 3618// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3619// for more information on using Contexts. 3620func (c *S3Control) PutJobTaggingWithContext(ctx aws.Context, input *PutJobTaggingInput, opts ...request.Option) (*PutJobTaggingOutput, error) { 3621 req, out := c.PutJobTaggingRequest(input) 3622 req.SetContext(ctx) 3623 req.ApplyOptions(opts...) 3624 return out, req.Send() 3625} 3626 3627const opPutPublicAccessBlock = "PutPublicAccessBlock" 3628 3629// PutPublicAccessBlockRequest generates a "aws/request.Request" representing the 3630// client's request for the PutPublicAccessBlock operation. The "output" return 3631// value will be populated with the request's response once the request completes 3632// successfully. 3633// 3634// Use "Send" method on the returned Request to send the API call to the service. 3635// the "output" return value is not valid until after Send returns without error. 3636// 3637// See PutPublicAccessBlock for more information on using the PutPublicAccessBlock 3638// API call, and error handling. 3639// 3640// This method is useful when you want to inject custom logic or configuration 3641// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3642// 3643// 3644// // Example sending a request using the PutPublicAccessBlockRequest method. 3645// req, resp := client.PutPublicAccessBlockRequest(params) 3646// 3647// err := req.Send() 3648// if err == nil { // resp is now filled 3649// fmt.Println(resp) 3650// } 3651// 3652// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 3653func (c *S3Control) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req *request.Request, output *PutPublicAccessBlockOutput) { 3654 op := &request.Operation{ 3655 Name: opPutPublicAccessBlock, 3656 HTTPMethod: "PUT", 3657 HTTPPath: "/v20180820/configuration/publicAccessBlock", 3658 } 3659 3660 if input == nil { 3661 input = &PutPublicAccessBlockInput{} 3662 } 3663 3664 output = &PutPublicAccessBlockOutput{} 3665 req = c.newRequest(op, input, output) 3666 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3667 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3668 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3669 return 3670} 3671 3672// PutPublicAccessBlock API operation for AWS S3 Control. 3673// 3674// Creates or modifies the PublicAccessBlock configuration for an AWS account. 3675// For more information, see Using Amazon S3 block public access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). 3676// 3677// Related actions include: 3678// 3679// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html) 3680// 3681// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html) 3682// 3683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3684// with awserr.Error's Code and Message methods to get detailed information about 3685// the error. 3686// 3687// See the AWS API reference guide for AWS S3 Control's 3688// API operation PutPublicAccessBlock for usage and error information. 3689// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlock 3690func (c *S3Control) PutPublicAccessBlock(input *PutPublicAccessBlockInput) (*PutPublicAccessBlockOutput, error) { 3691 req, out := c.PutPublicAccessBlockRequest(input) 3692 return out, req.Send() 3693} 3694 3695// PutPublicAccessBlockWithContext is the same as PutPublicAccessBlock with the addition of 3696// the ability to pass a context and additional request options. 3697// 3698// See PutPublicAccessBlock for details on how to use this API operation. 3699// 3700// The context must be non-nil and will be used for request cancellation. If 3701// the context is nil a panic will occur. In the future the SDK may create 3702// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3703// for more information on using Contexts. 3704func (c *S3Control) PutPublicAccessBlockWithContext(ctx aws.Context, input *PutPublicAccessBlockInput, opts ...request.Option) (*PutPublicAccessBlockOutput, error) { 3705 req, out := c.PutPublicAccessBlockRequest(input) 3706 req.SetContext(ctx) 3707 req.ApplyOptions(opts...) 3708 return out, req.Send() 3709} 3710 3711const opPutStorageLensConfiguration = "PutStorageLensConfiguration" 3712 3713// PutStorageLensConfigurationRequest generates a "aws/request.Request" representing the 3714// client's request for the PutStorageLensConfiguration operation. The "output" return 3715// value will be populated with the request's response once the request completes 3716// successfully. 3717// 3718// Use "Send" method on the returned Request to send the API call to the service. 3719// the "output" return value is not valid until after Send returns without error. 3720// 3721// See PutStorageLensConfiguration for more information on using the PutStorageLensConfiguration 3722// API call, and error handling. 3723// 3724// This method is useful when you want to inject custom logic or configuration 3725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3726// 3727// 3728// // Example sending a request using the PutStorageLensConfigurationRequest method. 3729// req, resp := client.PutStorageLensConfigurationRequest(params) 3730// 3731// err := req.Send() 3732// if err == nil { // resp is now filled 3733// fmt.Println(resp) 3734// } 3735// 3736// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 3737func (c *S3Control) PutStorageLensConfigurationRequest(input *PutStorageLensConfigurationInput) (req *request.Request, output *PutStorageLensConfigurationOutput) { 3738 op := &request.Operation{ 3739 Name: opPutStorageLensConfiguration, 3740 HTTPMethod: "PUT", 3741 HTTPPath: "/v20180820/storagelens/{storagelensid}", 3742 } 3743 3744 if input == nil { 3745 input = &PutStorageLensConfigurationInput{} 3746 } 3747 3748 output = &PutStorageLensConfigurationOutput{} 3749 req = c.newRequest(op, input, output) 3750 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3751 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3752 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3753 return 3754} 3755 3756// PutStorageLensConfiguration API operation for AWS S3 Control. 3757// 3758// Puts an Amazon S3 Storage Lens configuration. For more information about 3759// S3 Storage Lens, see Working with Amazon S3 Storage Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3760// in the Amazon Simple Storage Service Developer Guide. 3761// 3762// To use this action, you must have permission to perform the s3:PutStorageLensConfiguration 3763// action. For more information, see Setting permissions to use Amazon S3 Storage 3764// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3765// in the Amazon Simple Storage Service Developer Guide. 3766// 3767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3768// with awserr.Error's Code and Message methods to get detailed information about 3769// the error. 3770// 3771// See the AWS API reference guide for AWS S3 Control's 3772// API operation PutStorageLensConfiguration for usage and error information. 3773// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfiguration 3774func (c *S3Control) PutStorageLensConfiguration(input *PutStorageLensConfigurationInput) (*PutStorageLensConfigurationOutput, error) { 3775 req, out := c.PutStorageLensConfigurationRequest(input) 3776 return out, req.Send() 3777} 3778 3779// PutStorageLensConfigurationWithContext is the same as PutStorageLensConfiguration with the addition of 3780// the ability to pass a context and additional request options. 3781// 3782// See PutStorageLensConfiguration for details on how to use this API operation. 3783// 3784// The context must be non-nil and will be used for request cancellation. If 3785// the context is nil a panic will occur. In the future the SDK may create 3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3787// for more information on using Contexts. 3788func (c *S3Control) PutStorageLensConfigurationWithContext(ctx aws.Context, input *PutStorageLensConfigurationInput, opts ...request.Option) (*PutStorageLensConfigurationOutput, error) { 3789 req, out := c.PutStorageLensConfigurationRequest(input) 3790 req.SetContext(ctx) 3791 req.ApplyOptions(opts...) 3792 return out, req.Send() 3793} 3794 3795const opPutStorageLensConfigurationTagging = "PutStorageLensConfigurationTagging" 3796 3797// PutStorageLensConfigurationTaggingRequest generates a "aws/request.Request" representing the 3798// client's request for the PutStorageLensConfigurationTagging operation. The "output" return 3799// value will be populated with the request's response once the request completes 3800// successfully. 3801// 3802// Use "Send" method on the returned Request to send the API call to the service. 3803// the "output" return value is not valid until after Send returns without error. 3804// 3805// See PutStorageLensConfigurationTagging for more information on using the PutStorageLensConfigurationTagging 3806// API call, and error handling. 3807// 3808// This method is useful when you want to inject custom logic or configuration 3809// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3810// 3811// 3812// // Example sending a request using the PutStorageLensConfigurationTaggingRequest method. 3813// req, resp := client.PutStorageLensConfigurationTaggingRequest(params) 3814// 3815// err := req.Send() 3816// if err == nil { // resp is now filled 3817// fmt.Println(resp) 3818// } 3819// 3820// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 3821func (c *S3Control) PutStorageLensConfigurationTaggingRequest(input *PutStorageLensConfigurationTaggingInput) (req *request.Request, output *PutStorageLensConfigurationTaggingOutput) { 3822 op := &request.Operation{ 3823 Name: opPutStorageLensConfigurationTagging, 3824 HTTPMethod: "PUT", 3825 HTTPPath: "/v20180820/storagelens/{storagelensid}/tagging", 3826 } 3827 3828 if input == nil { 3829 input = &PutStorageLensConfigurationTaggingInput{} 3830 } 3831 3832 output = &PutStorageLensConfigurationTaggingOutput{} 3833 req = c.newRequest(op, input, output) 3834 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3835 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3836 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3837 return 3838} 3839 3840// PutStorageLensConfigurationTagging API operation for AWS S3 Control. 3841// 3842// Put or replace tags on an existing Amazon S3 Storage Lens configuration. 3843// For more information about S3 Storage Lens, see Working with Amazon S3 Storage 3844// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens.html) 3845// in the Amazon Simple Storage Service Developer Guide. 3846// 3847// To use this action, you must have permission to perform the s3:PutStorageLensConfigurationTagging 3848// action. For more information, see Setting permissions to use Amazon S3 Storage 3849// Lens (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage_lens_iam_permissions.html) 3850// in the Amazon Simple Storage Service Developer Guide. 3851// 3852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3853// with awserr.Error's Code and Message methods to get detailed information about 3854// the error. 3855// 3856// See the AWS API reference guide for AWS S3 Control's 3857// API operation PutStorageLensConfigurationTagging for usage and error information. 3858// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutStorageLensConfigurationTagging 3859func (c *S3Control) PutStorageLensConfigurationTagging(input *PutStorageLensConfigurationTaggingInput) (*PutStorageLensConfigurationTaggingOutput, error) { 3860 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 3861 return out, req.Send() 3862} 3863 3864// PutStorageLensConfigurationTaggingWithContext is the same as PutStorageLensConfigurationTagging with the addition of 3865// the ability to pass a context and additional request options. 3866// 3867// See PutStorageLensConfigurationTagging for details on how to use this API operation. 3868// 3869// The context must be non-nil and will be used for request cancellation. If 3870// the context is nil a panic will occur. In the future the SDK may create 3871// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3872// for more information on using Contexts. 3873func (c *S3Control) PutStorageLensConfigurationTaggingWithContext(ctx aws.Context, input *PutStorageLensConfigurationTaggingInput, opts ...request.Option) (*PutStorageLensConfigurationTaggingOutput, error) { 3874 req, out := c.PutStorageLensConfigurationTaggingRequest(input) 3875 req.SetContext(ctx) 3876 req.ApplyOptions(opts...) 3877 return out, req.Send() 3878} 3879 3880const opUpdateJobPriority = "UpdateJobPriority" 3881 3882// UpdateJobPriorityRequest generates a "aws/request.Request" representing the 3883// client's request for the UpdateJobPriority operation. The "output" return 3884// value will be populated with the request's response once the request completes 3885// successfully. 3886// 3887// Use "Send" method on the returned Request to send the API call to the service. 3888// the "output" return value is not valid until after Send returns without error. 3889// 3890// See UpdateJobPriority for more information on using the UpdateJobPriority 3891// API call, and error handling. 3892// 3893// This method is useful when you want to inject custom logic or configuration 3894// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3895// 3896// 3897// // Example sending a request using the UpdateJobPriorityRequest method. 3898// req, resp := client.UpdateJobPriorityRequest(params) 3899// 3900// err := req.Send() 3901// if err == nil { // resp is now filled 3902// fmt.Println(resp) 3903// } 3904// 3905// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 3906func (c *S3Control) UpdateJobPriorityRequest(input *UpdateJobPriorityInput) (req *request.Request, output *UpdateJobPriorityOutput) { 3907 op := &request.Operation{ 3908 Name: opUpdateJobPriority, 3909 HTTPMethod: "POST", 3910 HTTPPath: "/v20180820/jobs/{id}/priority", 3911 } 3912 3913 if input == nil { 3914 input = &UpdateJobPriorityInput{} 3915 } 3916 3917 output = &UpdateJobPriorityOutput{} 3918 req = c.newRequest(op, input, output) 3919 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 3920 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 3921 return 3922} 3923 3924// UpdateJobPriority API operation for AWS S3 Control. 3925// 3926// Updates an existing S3 Batch Operations job's priority. For more information, 3927// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 3928// in the Amazon Simple Storage Service Developer Guide. 3929// 3930// Related actions include: 3931// 3932// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 3933// 3934// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 3935// 3936// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 3937// 3938// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 3939// 3940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3941// with awserr.Error's Code and Message methods to get detailed information about 3942// the error. 3943// 3944// See the AWS API reference guide for AWS S3 Control's 3945// API operation UpdateJobPriority for usage and error information. 3946// 3947// Returned Error Codes: 3948// * ErrCodeBadRequestException "BadRequestException" 3949// 3950// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3951// 3952// * ErrCodeNotFoundException "NotFoundException" 3953// 3954// * ErrCodeInternalServiceException "InternalServiceException" 3955// 3956// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriority 3957func (c *S3Control) UpdateJobPriority(input *UpdateJobPriorityInput) (*UpdateJobPriorityOutput, error) { 3958 req, out := c.UpdateJobPriorityRequest(input) 3959 return out, req.Send() 3960} 3961 3962// UpdateJobPriorityWithContext is the same as UpdateJobPriority with the addition of 3963// the ability to pass a context and additional request options. 3964// 3965// See UpdateJobPriority for details on how to use this API operation. 3966// 3967// The context must be non-nil and will be used for request cancellation. If 3968// the context is nil a panic will occur. In the future the SDK may create 3969// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3970// for more information on using Contexts. 3971func (c *S3Control) UpdateJobPriorityWithContext(ctx aws.Context, input *UpdateJobPriorityInput, opts ...request.Option) (*UpdateJobPriorityOutput, error) { 3972 req, out := c.UpdateJobPriorityRequest(input) 3973 req.SetContext(ctx) 3974 req.ApplyOptions(opts...) 3975 return out, req.Send() 3976} 3977 3978const opUpdateJobStatus = "UpdateJobStatus" 3979 3980// UpdateJobStatusRequest generates a "aws/request.Request" representing the 3981// client's request for the UpdateJobStatus operation. The "output" return 3982// value will be populated with the request's response once the request completes 3983// successfully. 3984// 3985// Use "Send" method on the returned Request to send the API call to the service. 3986// the "output" return value is not valid until after Send returns without error. 3987// 3988// See UpdateJobStatus for more information on using the UpdateJobStatus 3989// API call, and error handling. 3990// 3991// This method is useful when you want to inject custom logic or configuration 3992// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3993// 3994// 3995// // Example sending a request using the UpdateJobStatusRequest method. 3996// req, resp := client.UpdateJobStatusRequest(params) 3997// 3998// err := req.Send() 3999// if err == nil { // resp is now filled 4000// fmt.Println(resp) 4001// } 4002// 4003// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 4004func (c *S3Control) UpdateJobStatusRequest(input *UpdateJobStatusInput) (req *request.Request, output *UpdateJobStatusOutput) { 4005 op := &request.Operation{ 4006 Name: opUpdateJobStatus, 4007 HTTPMethod: "POST", 4008 HTTPPath: "/v20180820/jobs/{id}/status", 4009 } 4010 4011 if input == nil { 4012 input = &UpdateJobStatusInput{} 4013 } 4014 4015 output = &UpdateJobStatusOutput{} 4016 req = c.newRequest(op, input, output) 4017 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("{AccountId}.", input.hostLabels)) 4018 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 4019 return 4020} 4021 4022// UpdateJobStatus API operation for AWS S3 Control. 4023// 4024// Updates the status for the specified job. Use this operation to confirm that 4025// you want to run a job or to cancel an existing job. For more information, 4026// see S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) 4027// in the Amazon Simple Storage Service Developer Guide. 4028// 4029// Related actions include: 4030// 4031// * CreateJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html) 4032// 4033// * ListJobs (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html) 4034// 4035// * DescribeJob (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html) 4036// 4037// * UpdateJobStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html) 4038// 4039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4040// with awserr.Error's Code and Message methods to get detailed information about 4041// the error. 4042// 4043// See the AWS API reference guide for AWS S3 Control's 4044// API operation UpdateJobStatus for usage and error information. 4045// 4046// Returned Error Codes: 4047// * ErrCodeBadRequestException "BadRequestException" 4048// 4049// * ErrCodeTooManyRequestsException "TooManyRequestsException" 4050// 4051// * ErrCodeNotFoundException "NotFoundException" 4052// 4053// * ErrCodeJobStatusException "JobStatusException" 4054// 4055// * ErrCodeInternalServiceException "InternalServiceException" 4056// 4057// See also, https://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatus 4058func (c *S3Control) UpdateJobStatus(input *UpdateJobStatusInput) (*UpdateJobStatusOutput, error) { 4059 req, out := c.UpdateJobStatusRequest(input) 4060 return out, req.Send() 4061} 4062 4063// UpdateJobStatusWithContext is the same as UpdateJobStatus with the addition of 4064// the ability to pass a context and additional request options. 4065// 4066// See UpdateJobStatus for details on how to use this API operation. 4067// 4068// The context must be non-nil and will be used for request cancellation. If 4069// the context is nil a panic will occur. In the future the SDK may create 4070// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4071// for more information on using Contexts. 4072func (c *S3Control) UpdateJobStatusWithContext(ctx aws.Context, input *UpdateJobStatusInput, opts ...request.Option) (*UpdateJobStatusOutput, error) { 4073 req, out := c.UpdateJobStatusRequest(input) 4074 req.SetContext(ctx) 4075 req.ApplyOptions(opts...) 4076 return out, req.Send() 4077} 4078 4079// The container for abort incomplete multipart upload 4080type AbortIncompleteMultipartUpload struct { 4081 _ struct{} `type:"structure"` 4082 4083 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart 4084 // upload to the Outposts bucket. 4085 DaysAfterInitiation *int64 `type:"integer"` 4086} 4087 4088// String returns the string representation 4089func (s AbortIncompleteMultipartUpload) String() string { 4090 return awsutil.Prettify(s) 4091} 4092 4093// GoString returns the string representation 4094func (s AbortIncompleteMultipartUpload) GoString() string { 4095 return s.String() 4096} 4097 4098// SetDaysAfterInitiation sets the DaysAfterInitiation field's value. 4099func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortIncompleteMultipartUpload { 4100 s.DaysAfterInitiation = &v 4101 return s 4102} 4103 4104// An access point used to access a bucket. 4105type AccessPoint struct { 4106 _ struct{} `type:"structure"` 4107 4108 // The ARN for the access point. 4109 AccessPointArn *string `min:"4" type:"string"` 4110 4111 // The name of the bucket associated with this access point. 4112 // 4113 // Bucket is a required field 4114 Bucket *string `min:"3" type:"string" required:"true"` 4115 4116 // The name of this access point. 4117 // 4118 // Name is a required field 4119 Name *string `min:"3" type:"string" required:"true"` 4120 4121 // Indicates whether this access point allows access from the public internet. 4122 // If VpcConfiguration is specified for this access point, then NetworkOrigin 4123 // is VPC, and the access point doesn't allow access from the public internet. 4124 // Otherwise, NetworkOrigin is Internet, and the access point allows access 4125 // from the public internet, subject to the access point and bucket access policies. 4126 // 4127 // NetworkOrigin is a required field 4128 NetworkOrigin *string `type:"string" required:"true" enum:"NetworkOrigin"` 4129 4130 // The virtual private cloud (VPC) configuration for this access point, if one 4131 // exists. 4132 VpcConfiguration *VpcConfiguration `type:"structure"` 4133} 4134 4135// String returns the string representation 4136func (s AccessPoint) String() string { 4137 return awsutil.Prettify(s) 4138} 4139 4140// GoString returns the string representation 4141func (s AccessPoint) GoString() string { 4142 return s.String() 4143} 4144 4145// SetAccessPointArn sets the AccessPointArn field's value. 4146func (s *AccessPoint) SetAccessPointArn(v string) *AccessPoint { 4147 s.AccessPointArn = &v 4148 return s 4149} 4150 4151// SetBucket sets the Bucket field's value. 4152func (s *AccessPoint) SetBucket(v string) *AccessPoint { 4153 s.Bucket = &v 4154 return s 4155} 4156 4157// SetName sets the Name field's value. 4158func (s *AccessPoint) SetName(v string) *AccessPoint { 4159 s.Name = &v 4160 return s 4161} 4162 4163// SetNetworkOrigin sets the NetworkOrigin field's value. 4164func (s *AccessPoint) SetNetworkOrigin(v string) *AccessPoint { 4165 s.NetworkOrigin = &v 4166 return s 4167} 4168 4169// SetVpcConfiguration sets the VpcConfiguration field's value. 4170func (s *AccessPoint) SetVpcConfiguration(v *VpcConfiguration) *AccessPoint { 4171 s.VpcConfiguration = v 4172 return s 4173} 4174 4175// A container for the account level Amazon S3 Storage Lens configuration. 4176type AccountLevel struct { 4177 _ struct{} `type:"structure"` 4178 4179 // A container for the S3 Storage Lens activity metrics. 4180 ActivityMetrics *ActivityMetrics `type:"structure"` 4181 4182 // A container for the S3 Storage Lens bucket-level configuration. 4183 // 4184 // BucketLevel is a required field 4185 BucketLevel *BucketLevel `type:"structure" required:"true"` 4186} 4187 4188// String returns the string representation 4189func (s AccountLevel) String() string { 4190 return awsutil.Prettify(s) 4191} 4192 4193// GoString returns the string representation 4194func (s AccountLevel) GoString() string { 4195 return s.String() 4196} 4197 4198// Validate inspects the fields of the type to determine if they are valid. 4199func (s *AccountLevel) Validate() error { 4200 invalidParams := request.ErrInvalidParams{Context: "AccountLevel"} 4201 if s.BucketLevel == nil { 4202 invalidParams.Add(request.NewErrParamRequired("BucketLevel")) 4203 } 4204 if s.BucketLevel != nil { 4205 if err := s.BucketLevel.Validate(); err != nil { 4206 invalidParams.AddNested("BucketLevel", err.(request.ErrInvalidParams)) 4207 } 4208 } 4209 4210 if invalidParams.Len() > 0 { 4211 return invalidParams 4212 } 4213 return nil 4214} 4215 4216// SetActivityMetrics sets the ActivityMetrics field's value. 4217func (s *AccountLevel) SetActivityMetrics(v *ActivityMetrics) *AccountLevel { 4218 s.ActivityMetrics = v 4219 return s 4220} 4221 4222// SetBucketLevel sets the BucketLevel field's value. 4223func (s *AccountLevel) SetBucketLevel(v *BucketLevel) *AccountLevel { 4224 s.BucketLevel = v 4225 return s 4226} 4227 4228// A container for the activity metrics. 4229type ActivityMetrics struct { 4230 _ struct{} `type:"structure"` 4231 4232 // A container for whether the activity metrics are enabled. 4233 IsEnabled *bool `type:"boolean"` 4234} 4235 4236// String returns the string representation 4237func (s ActivityMetrics) String() string { 4238 return awsutil.Prettify(s) 4239} 4240 4241// GoString returns the string representation 4242func (s ActivityMetrics) GoString() string { 4243 return s.String() 4244} 4245 4246// SetIsEnabled sets the IsEnabled field's value. 4247func (s *ActivityMetrics) SetIsEnabled(v bool) *ActivityMetrics { 4248 s.IsEnabled = &v 4249 return s 4250} 4251 4252// A container for the bucket-level configuration. 4253type BucketLevel struct { 4254 _ struct{} `type:"structure"` 4255 4256 // A container for the bucket-level activity metrics for Amazon S3 Storage Lens 4257 ActivityMetrics *ActivityMetrics `type:"structure"` 4258 4259 // A container for the bucket-level prefix-level metrics for S3 Storage Lens 4260 PrefixLevel *PrefixLevel `type:"structure"` 4261} 4262 4263// String returns the string representation 4264func (s BucketLevel) String() string { 4265 return awsutil.Prettify(s) 4266} 4267 4268// GoString returns the string representation 4269func (s BucketLevel) GoString() string { 4270 return s.String() 4271} 4272 4273// Validate inspects the fields of the type to determine if they are valid. 4274func (s *BucketLevel) Validate() error { 4275 invalidParams := request.ErrInvalidParams{Context: "BucketLevel"} 4276 if s.PrefixLevel != nil { 4277 if err := s.PrefixLevel.Validate(); err != nil { 4278 invalidParams.AddNested("PrefixLevel", err.(request.ErrInvalidParams)) 4279 } 4280 } 4281 4282 if invalidParams.Len() > 0 { 4283 return invalidParams 4284 } 4285 return nil 4286} 4287 4288// SetActivityMetrics sets the ActivityMetrics field's value. 4289func (s *BucketLevel) SetActivityMetrics(v *ActivityMetrics) *BucketLevel { 4290 s.ActivityMetrics = v 4291 return s 4292} 4293 4294// SetPrefixLevel sets the PrefixLevel field's value. 4295func (s *BucketLevel) SetPrefixLevel(v *PrefixLevel) *BucketLevel { 4296 s.PrefixLevel = v 4297 return s 4298} 4299 4300type CreateAccessPointInput struct { 4301 _ struct{} `locationName:"CreateAccessPointRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 4302 4303 // The AWS account ID for the owner of the bucket for which you want to create 4304 // an access point. 4305 // 4306 // AccountId is a required field 4307 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 4308 4309 // The name of the bucket that you want to associate this access point with. 4310 // 4311 // For using this parameter with Amazon S3 on Outposts with the REST API, you 4312 // must specify the name and the x-amz-outpost-id as well. 4313 // 4314 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 4315 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 4316 // For example, to access the bucket reports through outpost my-outpost owned 4317 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 4318 // The value must be URL encoded. 4319 // 4320 // Bucket is a required field 4321 Bucket *string `min:"3" type:"string" required:"true"` 4322 4323 // The name you want to assign to this access point. 4324 // 4325 // Name is a required field 4326 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 4327 4328 // The PublicAccessBlock configuration that you want to apply to this Amazon 4329 // S3 account. You can enable the configuration options in any combination. 4330 // For more information about when Amazon S3 considers a bucket or object public, 4331 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 4332 // in the Amazon Simple Storage Service Developer Guide. 4333 // 4334 // This is not supported for Amazon S3 on Outposts. 4335 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 4336 4337 // If you include this field, Amazon S3 restricts access to this access point 4338 // to requests from the specified virtual private cloud (VPC). 4339 // 4340 // This is required for creating an access point for Amazon S3 on Outposts buckets. 4341 VpcConfiguration *VpcConfiguration `type:"structure"` 4342} 4343 4344// String returns the string representation 4345func (s CreateAccessPointInput) String() string { 4346 return awsutil.Prettify(s) 4347} 4348 4349// GoString returns the string representation 4350func (s CreateAccessPointInput) GoString() string { 4351 return s.String() 4352} 4353 4354// Validate inspects the fields of the type to determine if they are valid. 4355func (s *CreateAccessPointInput) Validate() error { 4356 invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointInput"} 4357 if s.AccountId == nil { 4358 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4359 } 4360 if s.AccountId != nil && len(*s.AccountId) < 1 { 4361 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4362 } 4363 if s.Bucket == nil { 4364 invalidParams.Add(request.NewErrParamRequired("Bucket")) 4365 } 4366 if s.Bucket != nil && len(*s.Bucket) < 3 { 4367 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 4368 } 4369 if s.Name == nil { 4370 invalidParams.Add(request.NewErrParamRequired("Name")) 4371 } 4372 if s.Name != nil && len(*s.Name) < 3 { 4373 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 4374 } 4375 if s.VpcConfiguration != nil { 4376 if err := s.VpcConfiguration.Validate(); err != nil { 4377 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 4378 } 4379 } 4380 4381 if invalidParams.Len() > 0 { 4382 return invalidParams 4383 } 4384 return nil 4385} 4386 4387// SetAccountId sets the AccountId field's value. 4388func (s *CreateAccessPointInput) SetAccountId(v string) *CreateAccessPointInput { 4389 s.AccountId = &v 4390 return s 4391} 4392 4393// SetBucket sets the Bucket field's value. 4394func (s *CreateAccessPointInput) SetBucket(v string) *CreateAccessPointInput { 4395 s.Bucket = &v 4396 return s 4397} 4398 4399// SetName sets the Name field's value. 4400func (s *CreateAccessPointInput) SetName(v string) *CreateAccessPointInput { 4401 s.Name = &v 4402 return s 4403} 4404 4405// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 4406func (s *CreateAccessPointInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *CreateAccessPointInput { 4407 s.PublicAccessBlockConfiguration = v 4408 return s 4409} 4410 4411// SetVpcConfiguration sets the VpcConfiguration field's value. 4412func (s *CreateAccessPointInput) SetVpcConfiguration(v *VpcConfiguration) *CreateAccessPointInput { 4413 s.VpcConfiguration = v 4414 return s 4415} 4416 4417func (s *CreateAccessPointInput) hostLabels() map[string]string { 4418 return map[string]string{ 4419 "AccountId": aws.StringValue(s.AccountId), 4420 } 4421} 4422 4423func (s *CreateAccessPointInput) getEndpointARN() (arn.Resource, error) { 4424 if s.Bucket == nil { 4425 return nil, fmt.Errorf("member Bucket is nil") 4426 } 4427 return parseEndpointARN(*s.Bucket) 4428} 4429 4430func (s *CreateAccessPointInput) hasEndpointARN() bool { 4431 if s.Bucket == nil { 4432 return false 4433 } 4434 return arn.IsARN(*s.Bucket) 4435} 4436 4437// updateArnableField updates the value of the input field that 4438// takes an ARN as an input. This method is useful to backfill 4439// the parsed resource name from ARN into the input member. 4440// It returns a pointer to a modified copy of input and an error. 4441// Note that original input is not modified. 4442func (s CreateAccessPointInput) updateArnableField(v string) (interface{}, error) { 4443 if s.Bucket == nil { 4444 return nil, fmt.Errorf("member Bucket is nil") 4445 } 4446 s.Bucket = aws.String(v) 4447 return &s, nil 4448} 4449 4450// updateAccountID returns a pointer to a modified copy of input, 4451// if account id is not provided, we update the account id in modified input 4452// if account id is provided, but doesn't match with the one in ARN, we throw an error 4453// if account id is not updated, we return nil. Note that original input is not modified. 4454func (s CreateAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 4455 if s.AccountId == nil { 4456 s.AccountId = aws.String(accountId) 4457 return &s, nil 4458 } else if *s.AccountId != accountId { 4459 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 4460 } 4461 return nil, nil 4462} 4463 4464type CreateAccessPointOutput struct { 4465 _ struct{} `type:"structure"` 4466 4467 // The ARN of the access point. 4468 // 4469 // This is only supported by Amazon S3 on Outposts. 4470 AccessPointArn *string `min:"4" type:"string"` 4471} 4472 4473// String returns the string representation 4474func (s CreateAccessPointOutput) String() string { 4475 return awsutil.Prettify(s) 4476} 4477 4478// GoString returns the string representation 4479func (s CreateAccessPointOutput) GoString() string { 4480 return s.String() 4481} 4482 4483// SetAccessPointArn sets the AccessPointArn field's value. 4484func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput { 4485 s.AccessPointArn = &v 4486 return s 4487} 4488 4489// The container for the bucket configuration. 4490// 4491// This is not supported by Amazon S3 on Outposts buckets. 4492type CreateBucketConfiguration struct { 4493 _ struct{} `type:"structure"` 4494 4495 // Specifies the Region where the bucket will be created. If you are creating 4496 // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need 4497 // to specify the location. 4498 // 4499 // This is not supported by Amazon S3 on Outposts buckets. 4500 LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` 4501} 4502 4503// String returns the string representation 4504func (s CreateBucketConfiguration) String() string { 4505 return awsutil.Prettify(s) 4506} 4507 4508// GoString returns the string representation 4509func (s CreateBucketConfiguration) GoString() string { 4510 return s.String() 4511} 4512 4513// SetLocationConstraint sets the LocationConstraint field's value. 4514func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucketConfiguration { 4515 s.LocationConstraint = &v 4516 return s 4517} 4518 4519type CreateBucketInput struct { 4520 _ struct{} `locationName:"CreateBucketRequest" type:"structure" payload:"CreateBucketConfiguration"` 4521 4522 // The canned ACL to apply to the bucket. 4523 // 4524 // This is not supported by Amazon S3 on Outposts buckets. 4525 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 4526 4527 // The name of the bucket. 4528 // 4529 // Bucket is a required field 4530 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 4531 4532 // The configuration information for the bucket. 4533 // 4534 // This is not supported by Amazon S3 on Outposts buckets. 4535 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 4536 4537 // Allows grantee the read, write, read ACP, and write ACP permissions on the 4538 // bucket. 4539 // 4540 // This is not supported by Amazon S3 on Outposts buckets. 4541 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 4542 4543 // Allows grantee to list the objects in the bucket. 4544 // 4545 // This is not supported by Amazon S3 on Outposts buckets. 4546 GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"` 4547 4548 // Allows grantee to read the bucket ACL. 4549 // 4550 // This is not supported by Amazon S3 on Outposts buckets. 4551 GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"` 4552 4553 // Allows grantee to create, overwrite, and delete any object in the bucket. 4554 // 4555 // This is not supported by Amazon S3 on Outposts buckets. 4556 GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"` 4557 4558 // Allows grantee to write the ACL for the applicable bucket. 4559 // 4560 // This is not supported by Amazon S3 on Outposts buckets. 4561 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 4562 4563 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 4564 // 4565 // This is not supported by Amazon S3 on Outposts buckets. 4566 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 4567 4568 // The ID of the Outposts where the bucket is being created. 4569 // 4570 // This is required by Amazon S3 on Outposts buckets. 4571 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 4572} 4573 4574// String returns the string representation 4575func (s CreateBucketInput) String() string { 4576 return awsutil.Prettify(s) 4577} 4578 4579// GoString returns the string representation 4580func (s CreateBucketInput) GoString() string { 4581 return s.String() 4582} 4583 4584// Validate inspects the fields of the type to determine if they are valid. 4585func (s *CreateBucketInput) Validate() error { 4586 invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"} 4587 if s.Bucket == nil { 4588 invalidParams.Add(request.NewErrParamRequired("Bucket")) 4589 } 4590 if s.Bucket != nil && len(*s.Bucket) < 3 { 4591 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 4592 } 4593 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 4594 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 4595 } 4596 4597 if invalidParams.Len() > 0 { 4598 return invalidParams 4599 } 4600 return nil 4601} 4602 4603// SetACL sets the ACL field's value. 4604func (s *CreateBucketInput) SetACL(v string) *CreateBucketInput { 4605 s.ACL = &v 4606 return s 4607} 4608 4609// SetBucket sets the Bucket field's value. 4610func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput { 4611 s.Bucket = &v 4612 return s 4613} 4614 4615// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 4616func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 4617 s.CreateBucketConfiguration = v 4618 return s 4619} 4620 4621// SetGrantFullControl sets the GrantFullControl field's value. 4622func (s *CreateBucketInput) SetGrantFullControl(v string) *CreateBucketInput { 4623 s.GrantFullControl = &v 4624 return s 4625} 4626 4627// SetGrantRead sets the GrantRead field's value. 4628func (s *CreateBucketInput) SetGrantRead(v string) *CreateBucketInput { 4629 s.GrantRead = &v 4630 return s 4631} 4632 4633// SetGrantReadACP sets the GrantReadACP field's value. 4634func (s *CreateBucketInput) SetGrantReadACP(v string) *CreateBucketInput { 4635 s.GrantReadACP = &v 4636 return s 4637} 4638 4639// SetGrantWrite sets the GrantWrite field's value. 4640func (s *CreateBucketInput) SetGrantWrite(v string) *CreateBucketInput { 4641 s.GrantWrite = &v 4642 return s 4643} 4644 4645// SetGrantWriteACP sets the GrantWriteACP field's value. 4646func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput { 4647 s.GrantWriteACP = &v 4648 return s 4649} 4650 4651// SetObjectLockEnabledForBucket sets the ObjectLockEnabledForBucket field's value. 4652func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketInput { 4653 s.ObjectLockEnabledForBucket = &v 4654 return s 4655} 4656 4657// SetOutpostId sets the OutpostId field's value. 4658func (s *CreateBucketInput) SetOutpostId(v string) *CreateBucketInput { 4659 s.OutpostId = &v 4660 return s 4661} 4662 4663func (s *CreateBucketInput) getOutpostID() (string, error) { 4664 if s.OutpostId == nil { 4665 return "", fmt.Errorf("member OutpostId is nil") 4666 } 4667 return *s.OutpostId, nil 4668} 4669 4670func (s *CreateBucketInput) hasOutpostID() bool { 4671 if s.OutpostId == nil { 4672 return false 4673 } 4674 return true 4675} 4676 4677type CreateBucketOutput struct { 4678 _ struct{} `type:"structure"` 4679 4680 // The Amazon Resource Name (ARN) of the bucket. 4681 // 4682 // For using this parameter with Amazon S3 on Outposts with the REST API, you 4683 // must specify the name and the x-amz-outpost-id as well. 4684 // 4685 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 4686 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 4687 // For example, to access the bucket reports through outpost my-outpost owned 4688 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 4689 // The value must be URL encoded. 4690 BucketArn *string `min:"4" type:"string"` 4691 4692 // The location of the bucket. 4693 Location *string `location:"header" locationName:"Location" type:"string"` 4694} 4695 4696// String returns the string representation 4697func (s CreateBucketOutput) String() string { 4698 return awsutil.Prettify(s) 4699} 4700 4701// GoString returns the string representation 4702func (s CreateBucketOutput) GoString() string { 4703 return s.String() 4704} 4705 4706// SetBucketArn sets the BucketArn field's value. 4707func (s *CreateBucketOutput) SetBucketArn(v string) *CreateBucketOutput { 4708 s.BucketArn = &v 4709 return s 4710} 4711 4712// SetLocation sets the Location field's value. 4713func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput { 4714 s.Location = &v 4715 return s 4716} 4717 4718type CreateJobInput struct { 4719 _ struct{} `locationName:"CreateJobRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 4720 4721 // The AWS account ID that creates the job. 4722 // 4723 // AccountId is a required field 4724 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 4725 4726 // An idempotency token to ensure that you don't accidentally submit the same 4727 // request twice. You can use any string up to the maximum length. 4728 ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` 4729 4730 // Indicates whether confirmation is required before Amazon S3 runs the job. 4731 // Confirmation is only required for jobs created through the Amazon S3 console. 4732 ConfirmationRequired *bool `type:"boolean"` 4733 4734 // A description for this job. You can use any string within the permitted length. 4735 // Descriptions don't need to be unique and can be used for multiple jobs. 4736 Description *string `min:"1" type:"string"` 4737 4738 // Configuration parameters for the manifest. 4739 // 4740 // Manifest is a required field 4741 Manifest *JobManifest `type:"structure" required:"true"` 4742 4743 // The operation that you want this job to perform on every object listed in 4744 // the manifest. For more information about the available operations, see Operations 4745 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) 4746 // in the Amazon Simple Storage Service Developer Guide. 4747 // 4748 // Operation is a required field 4749 Operation *JobOperation `type:"structure" required:"true"` 4750 4751 // The numerical priority for this job. Higher numbers indicate higher priority. 4752 // 4753 // Priority is a required field 4754 Priority *int64 `type:"integer" required:"true"` 4755 4756 // Configuration parameters for the optional job-completion report. 4757 // 4758 // Report is a required field 4759 Report *JobReport `type:"structure" required:"true"` 4760 4761 // The Amazon Resource Name (ARN) for the AWS Identity and Access Management 4762 // (IAM) role that Batch Operations will use to run this job's operation on 4763 // every object in the manifest. 4764 // 4765 // RoleArn is a required field 4766 RoleArn *string `min:"1" type:"string" required:"true"` 4767 4768 // A set of tags to associate with the S3 Batch Operations job. This is an optional 4769 // parameter. 4770 Tags []*S3Tag `type:"list"` 4771} 4772 4773// String returns the string representation 4774func (s CreateJobInput) String() string { 4775 return awsutil.Prettify(s) 4776} 4777 4778// GoString returns the string representation 4779func (s CreateJobInput) GoString() string { 4780 return s.String() 4781} 4782 4783// Validate inspects the fields of the type to determine if they are valid. 4784func (s *CreateJobInput) Validate() error { 4785 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 4786 if s.AccountId == nil { 4787 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4788 } 4789 if s.AccountId != nil && len(*s.AccountId) < 1 { 4790 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4791 } 4792 if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { 4793 invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) 4794 } 4795 if s.Description != nil && len(*s.Description) < 1 { 4796 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 4797 } 4798 if s.Manifest == nil { 4799 invalidParams.Add(request.NewErrParamRequired("Manifest")) 4800 } 4801 if s.Operation == nil { 4802 invalidParams.Add(request.NewErrParamRequired("Operation")) 4803 } 4804 if s.Priority == nil { 4805 invalidParams.Add(request.NewErrParamRequired("Priority")) 4806 } 4807 if s.Report == nil { 4808 invalidParams.Add(request.NewErrParamRequired("Report")) 4809 } 4810 if s.RoleArn == nil { 4811 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 4812 } 4813 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 4814 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 4815 } 4816 if s.Manifest != nil { 4817 if err := s.Manifest.Validate(); err != nil { 4818 invalidParams.AddNested("Manifest", err.(request.ErrInvalidParams)) 4819 } 4820 } 4821 if s.Operation != nil { 4822 if err := s.Operation.Validate(); err != nil { 4823 invalidParams.AddNested("Operation", err.(request.ErrInvalidParams)) 4824 } 4825 } 4826 if s.Report != nil { 4827 if err := s.Report.Validate(); err != nil { 4828 invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) 4829 } 4830 } 4831 if s.Tags != nil { 4832 for i, v := range s.Tags { 4833 if v == nil { 4834 continue 4835 } 4836 if err := v.Validate(); err != nil { 4837 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4838 } 4839 } 4840 } 4841 4842 if invalidParams.Len() > 0 { 4843 return invalidParams 4844 } 4845 return nil 4846} 4847 4848// SetAccountId sets the AccountId field's value. 4849func (s *CreateJobInput) SetAccountId(v string) *CreateJobInput { 4850 s.AccountId = &v 4851 return s 4852} 4853 4854// SetClientRequestToken sets the ClientRequestToken field's value. 4855func (s *CreateJobInput) SetClientRequestToken(v string) *CreateJobInput { 4856 s.ClientRequestToken = &v 4857 return s 4858} 4859 4860// SetConfirmationRequired sets the ConfirmationRequired field's value. 4861func (s *CreateJobInput) SetConfirmationRequired(v bool) *CreateJobInput { 4862 s.ConfirmationRequired = &v 4863 return s 4864} 4865 4866// SetDescription sets the Description field's value. 4867func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 4868 s.Description = &v 4869 return s 4870} 4871 4872// SetManifest sets the Manifest field's value. 4873func (s *CreateJobInput) SetManifest(v *JobManifest) *CreateJobInput { 4874 s.Manifest = v 4875 return s 4876} 4877 4878// SetOperation sets the Operation field's value. 4879func (s *CreateJobInput) SetOperation(v *JobOperation) *CreateJobInput { 4880 s.Operation = v 4881 return s 4882} 4883 4884// SetPriority sets the Priority field's value. 4885func (s *CreateJobInput) SetPriority(v int64) *CreateJobInput { 4886 s.Priority = &v 4887 return s 4888} 4889 4890// SetReport sets the Report field's value. 4891func (s *CreateJobInput) SetReport(v *JobReport) *CreateJobInput { 4892 s.Report = v 4893 return s 4894} 4895 4896// SetRoleArn sets the RoleArn field's value. 4897func (s *CreateJobInput) SetRoleArn(v string) *CreateJobInput { 4898 s.RoleArn = &v 4899 return s 4900} 4901 4902// SetTags sets the Tags field's value. 4903func (s *CreateJobInput) SetTags(v []*S3Tag) *CreateJobInput { 4904 s.Tags = v 4905 return s 4906} 4907 4908func (s *CreateJobInput) hostLabels() map[string]string { 4909 return map[string]string{ 4910 "AccountId": aws.StringValue(s.AccountId), 4911 } 4912} 4913 4914type CreateJobOutput struct { 4915 _ struct{} `type:"structure"` 4916 4917 // The ID for this job. Amazon S3 generates this ID automatically and returns 4918 // it after a successful Create Job request. 4919 JobId *string `min:"5" type:"string"` 4920} 4921 4922// String returns the string representation 4923func (s CreateJobOutput) String() string { 4924 return awsutil.Prettify(s) 4925} 4926 4927// GoString returns the string representation 4928func (s CreateJobOutput) GoString() string { 4929 return s.String() 4930} 4931 4932// SetJobId sets the JobId field's value. 4933func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 4934 s.JobId = &v 4935 return s 4936} 4937 4938type DeleteAccessPointInput struct { 4939 _ struct{} `locationName:"DeleteAccessPointRequest" type:"structure"` 4940 4941 // The account ID for the account that owns the specified access point. 4942 // 4943 // AccountId is a required field 4944 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 4945 4946 // The name of the access point you want to delete. 4947 // 4948 // For using this parameter with Amazon S3 on Outposts with the REST API, you 4949 // must specify the name and the x-amz-outpost-id as well. 4950 // 4951 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 4952 // must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 4953 // For example, to access the access point reports-ap through outpost my-outpost 4954 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 4955 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 4956 // The value must be URL encoded. 4957 // 4958 // Name is a required field 4959 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 4960} 4961 4962// String returns the string representation 4963func (s DeleteAccessPointInput) String() string { 4964 return awsutil.Prettify(s) 4965} 4966 4967// GoString returns the string representation 4968func (s DeleteAccessPointInput) GoString() string { 4969 return s.String() 4970} 4971 4972// Validate inspects the fields of the type to determine if they are valid. 4973func (s *DeleteAccessPointInput) Validate() error { 4974 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointInput"} 4975 if s.AccountId == nil { 4976 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4977 } 4978 if s.AccountId != nil && len(*s.AccountId) < 1 { 4979 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4980 } 4981 if s.Name == nil { 4982 invalidParams.Add(request.NewErrParamRequired("Name")) 4983 } 4984 if s.Name != nil && len(*s.Name) < 3 { 4985 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 4986 } 4987 4988 if invalidParams.Len() > 0 { 4989 return invalidParams 4990 } 4991 return nil 4992} 4993 4994// SetAccountId sets the AccountId field's value. 4995func (s *DeleteAccessPointInput) SetAccountId(v string) *DeleteAccessPointInput { 4996 s.AccountId = &v 4997 return s 4998} 4999 5000// SetName sets the Name field's value. 5001func (s *DeleteAccessPointInput) SetName(v string) *DeleteAccessPointInput { 5002 s.Name = &v 5003 return s 5004} 5005 5006func (s *DeleteAccessPointInput) hostLabels() map[string]string { 5007 return map[string]string{ 5008 "AccountId": aws.StringValue(s.AccountId), 5009 } 5010} 5011 5012func (s *DeleteAccessPointInput) getEndpointARN() (arn.Resource, error) { 5013 if s.Name == nil { 5014 return nil, fmt.Errorf("member Name is nil") 5015 } 5016 return parseEndpointARN(*s.Name) 5017} 5018 5019func (s *DeleteAccessPointInput) hasEndpointARN() bool { 5020 if s.Name == nil { 5021 return false 5022 } 5023 return arn.IsARN(*s.Name) 5024} 5025 5026// updateArnableField updates the value of the input field that 5027// takes an ARN as an input. This method is useful to backfill 5028// the parsed resource name from ARN into the input member. 5029// It returns a pointer to a modified copy of input and an error. 5030// Note that original input is not modified. 5031func (s DeleteAccessPointInput) updateArnableField(v string) (interface{}, error) { 5032 if s.Name == nil { 5033 return nil, fmt.Errorf("member Name is nil") 5034 } 5035 s.Name = aws.String(v) 5036 return &s, nil 5037} 5038 5039// updateAccountID returns a pointer to a modified copy of input, 5040// if account id is not provided, we update the account id in modified input 5041// if account id is provided, but doesn't match with the one in ARN, we throw an error 5042// if account id is not updated, we return nil. Note that original input is not modified. 5043func (s DeleteAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 5044 if s.AccountId == nil { 5045 s.AccountId = aws.String(accountId) 5046 return &s, nil 5047 } else if *s.AccountId != accountId { 5048 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5049 } 5050 return nil, nil 5051} 5052 5053type DeleteAccessPointOutput struct { 5054 _ struct{} `type:"structure"` 5055} 5056 5057// String returns the string representation 5058func (s DeleteAccessPointOutput) String() string { 5059 return awsutil.Prettify(s) 5060} 5061 5062// GoString returns the string representation 5063func (s DeleteAccessPointOutput) GoString() string { 5064 return s.String() 5065} 5066 5067type DeleteAccessPointPolicyInput struct { 5068 _ struct{} `locationName:"DeleteAccessPointPolicyRequest" type:"structure"` 5069 5070 // The account ID for the account that owns the specified access point. 5071 // 5072 // AccountId is a required field 5073 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5074 5075 // The name of the access point whose policy you want to delete. 5076 // 5077 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5078 // must specify the name and the x-amz-outpost-id as well. 5079 // 5080 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5081 // must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 5082 // For example, to access the access point reports-ap through outpost my-outpost 5083 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 5084 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 5085 // The value must be URL encoded. 5086 // 5087 // Name is a required field 5088 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5089} 5090 5091// String returns the string representation 5092func (s DeleteAccessPointPolicyInput) String() string { 5093 return awsutil.Prettify(s) 5094} 5095 5096// GoString returns the string representation 5097func (s DeleteAccessPointPolicyInput) GoString() string { 5098 return s.String() 5099} 5100 5101// Validate inspects the fields of the type to determine if they are valid. 5102func (s *DeleteAccessPointPolicyInput) Validate() error { 5103 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointPolicyInput"} 5104 if s.AccountId == nil { 5105 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5106 } 5107 if s.AccountId != nil && len(*s.AccountId) < 1 { 5108 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5109 } 5110 if s.Name == nil { 5111 invalidParams.Add(request.NewErrParamRequired("Name")) 5112 } 5113 if s.Name != nil && len(*s.Name) < 3 { 5114 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 5115 } 5116 5117 if invalidParams.Len() > 0 { 5118 return invalidParams 5119 } 5120 return nil 5121} 5122 5123// SetAccountId sets the AccountId field's value. 5124func (s *DeleteAccessPointPolicyInput) SetAccountId(v string) *DeleteAccessPointPolicyInput { 5125 s.AccountId = &v 5126 return s 5127} 5128 5129// SetName sets the Name field's value. 5130func (s *DeleteAccessPointPolicyInput) SetName(v string) *DeleteAccessPointPolicyInput { 5131 s.Name = &v 5132 return s 5133} 5134 5135func (s *DeleteAccessPointPolicyInput) hostLabels() map[string]string { 5136 return map[string]string{ 5137 "AccountId": aws.StringValue(s.AccountId), 5138 } 5139} 5140 5141func (s *DeleteAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 5142 if s.Name == nil { 5143 return nil, fmt.Errorf("member Name is nil") 5144 } 5145 return parseEndpointARN(*s.Name) 5146} 5147 5148func (s *DeleteAccessPointPolicyInput) hasEndpointARN() bool { 5149 if s.Name == nil { 5150 return false 5151 } 5152 return arn.IsARN(*s.Name) 5153} 5154 5155// updateArnableField updates the value of the input field that 5156// takes an ARN as an input. This method is useful to backfill 5157// the parsed resource name from ARN into the input member. 5158// It returns a pointer to a modified copy of input and an error. 5159// Note that original input is not modified. 5160func (s DeleteAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 5161 if s.Name == nil { 5162 return nil, fmt.Errorf("member Name is nil") 5163 } 5164 s.Name = aws.String(v) 5165 return &s, nil 5166} 5167 5168// updateAccountID returns a pointer to a modified copy of input, 5169// if account id is not provided, we update the account id in modified input 5170// if account id is provided, but doesn't match with the one in ARN, we throw an error 5171// if account id is not updated, we return nil. Note that original input is not modified. 5172func (s DeleteAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 5173 if s.AccountId == nil { 5174 s.AccountId = aws.String(accountId) 5175 return &s, nil 5176 } else if *s.AccountId != accountId { 5177 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5178 } 5179 return nil, nil 5180} 5181 5182type DeleteAccessPointPolicyOutput struct { 5183 _ struct{} `type:"structure"` 5184} 5185 5186// String returns the string representation 5187func (s DeleteAccessPointPolicyOutput) String() string { 5188 return awsutil.Prettify(s) 5189} 5190 5191// GoString returns the string representation 5192func (s DeleteAccessPointPolicyOutput) GoString() string { 5193 return s.String() 5194} 5195 5196type DeleteBucketInput struct { 5197 _ struct{} `locationName:"DeleteBucketRequest" type:"structure"` 5198 5199 // The account ID that owns the Outposts bucket. 5200 // 5201 // AccountId is a required field 5202 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5203 5204 // Specifies the bucket being deleted. 5205 // 5206 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5207 // must specify the name and the x-amz-outpost-id as well. 5208 // 5209 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5210 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5211 // For example, to access the bucket reports through outpost my-outpost owned 5212 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 5213 // The value must be URL encoded. 5214 // 5215 // Bucket is a required field 5216 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5217} 5218 5219// String returns the string representation 5220func (s DeleteBucketInput) String() string { 5221 return awsutil.Prettify(s) 5222} 5223 5224// GoString returns the string representation 5225func (s DeleteBucketInput) GoString() string { 5226 return s.String() 5227} 5228 5229// Validate inspects the fields of the type to determine if they are valid. 5230func (s *DeleteBucketInput) Validate() error { 5231 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"} 5232 if s.AccountId == nil { 5233 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5234 } 5235 if s.AccountId != nil && len(*s.AccountId) < 1 { 5236 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5237 } 5238 if s.Bucket == nil { 5239 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5240 } 5241 if s.Bucket != nil && len(*s.Bucket) < 3 { 5242 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5243 } 5244 5245 if invalidParams.Len() > 0 { 5246 return invalidParams 5247 } 5248 return nil 5249} 5250 5251// SetAccountId sets the AccountId field's value. 5252func (s *DeleteBucketInput) SetAccountId(v string) *DeleteBucketInput { 5253 s.AccountId = &v 5254 return s 5255} 5256 5257// SetBucket sets the Bucket field's value. 5258func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput { 5259 s.Bucket = &v 5260 return s 5261} 5262 5263func (s *DeleteBucketInput) hostLabels() map[string]string { 5264 return map[string]string{ 5265 "AccountId": aws.StringValue(s.AccountId), 5266 } 5267} 5268 5269func (s *DeleteBucketInput) getEndpointARN() (arn.Resource, error) { 5270 if s.Bucket == nil { 5271 return nil, fmt.Errorf("member Bucket is nil") 5272 } 5273 return parseEndpointARN(*s.Bucket) 5274} 5275 5276func (s *DeleteBucketInput) hasEndpointARN() bool { 5277 if s.Bucket == nil { 5278 return false 5279 } 5280 return arn.IsARN(*s.Bucket) 5281} 5282 5283// updateArnableField updates the value of the input field that 5284// takes an ARN as an input. This method is useful to backfill 5285// the parsed resource name from ARN into the input member. 5286// It returns a pointer to a modified copy of input and an error. 5287// Note that original input is not modified. 5288func (s DeleteBucketInput) updateArnableField(v string) (interface{}, error) { 5289 if s.Bucket == nil { 5290 return nil, fmt.Errorf("member Bucket is nil") 5291 } 5292 s.Bucket = aws.String(v) 5293 return &s, nil 5294} 5295 5296// updateAccountID returns a pointer to a modified copy of input, 5297// if account id is not provided, we update the account id in modified input 5298// if account id is provided, but doesn't match with the one in ARN, we throw an error 5299// if account id is not updated, we return nil. Note that original input is not modified. 5300func (s DeleteBucketInput) updateAccountID(accountId string) (interface{}, error) { 5301 if s.AccountId == nil { 5302 s.AccountId = aws.String(accountId) 5303 return &s, nil 5304 } else if *s.AccountId != accountId { 5305 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5306 } 5307 return nil, nil 5308} 5309 5310type DeleteBucketLifecycleConfigurationInput struct { 5311 _ struct{} `locationName:"DeleteBucketLifecycleConfigurationRequest" type:"structure"` 5312 5313 // The account ID of the lifecycle configuration to delete. 5314 // 5315 // AccountId is a required field 5316 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5317 5318 // Specifies the bucket. 5319 // 5320 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5321 // must specify the name and the x-amz-outpost-id as well. 5322 // 5323 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5324 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5325 // For example, to access the bucket reports through outpost my-outpost owned 5326 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 5327 // The value must be URL encoded. 5328 // 5329 // Bucket is a required field 5330 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5331} 5332 5333// String returns the string representation 5334func (s DeleteBucketLifecycleConfigurationInput) String() string { 5335 return awsutil.Prettify(s) 5336} 5337 5338// GoString returns the string representation 5339func (s DeleteBucketLifecycleConfigurationInput) GoString() string { 5340 return s.String() 5341} 5342 5343// Validate inspects the fields of the type to determine if they are valid. 5344func (s *DeleteBucketLifecycleConfigurationInput) Validate() error { 5345 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketLifecycleConfigurationInput"} 5346 if s.AccountId == nil { 5347 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5348 } 5349 if s.AccountId != nil && len(*s.AccountId) < 1 { 5350 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5351 } 5352 if s.Bucket == nil { 5353 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5354 } 5355 if s.Bucket != nil && len(*s.Bucket) < 3 { 5356 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5357 } 5358 5359 if invalidParams.Len() > 0 { 5360 return invalidParams 5361 } 5362 return nil 5363} 5364 5365// SetAccountId sets the AccountId field's value. 5366func (s *DeleteBucketLifecycleConfigurationInput) SetAccountId(v string) *DeleteBucketLifecycleConfigurationInput { 5367 s.AccountId = &v 5368 return s 5369} 5370 5371// SetBucket sets the Bucket field's value. 5372func (s *DeleteBucketLifecycleConfigurationInput) SetBucket(v string) *DeleteBucketLifecycleConfigurationInput { 5373 s.Bucket = &v 5374 return s 5375} 5376 5377func (s *DeleteBucketLifecycleConfigurationInput) hostLabels() map[string]string { 5378 return map[string]string{ 5379 "AccountId": aws.StringValue(s.AccountId), 5380 } 5381} 5382 5383func (s *DeleteBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 5384 if s.Bucket == nil { 5385 return nil, fmt.Errorf("member Bucket is nil") 5386 } 5387 return parseEndpointARN(*s.Bucket) 5388} 5389 5390func (s *DeleteBucketLifecycleConfigurationInput) hasEndpointARN() bool { 5391 if s.Bucket == nil { 5392 return false 5393 } 5394 return arn.IsARN(*s.Bucket) 5395} 5396 5397// updateArnableField updates the value of the input field that 5398// takes an ARN as an input. This method is useful to backfill 5399// the parsed resource name from ARN into the input member. 5400// It returns a pointer to a modified copy of input and an error. 5401// Note that original input is not modified. 5402func (s DeleteBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 5403 if s.Bucket == nil { 5404 return nil, fmt.Errorf("member Bucket is nil") 5405 } 5406 s.Bucket = aws.String(v) 5407 return &s, nil 5408} 5409 5410// updateAccountID returns a pointer to a modified copy of input, 5411// if account id is not provided, we update the account id in modified input 5412// if account id is provided, but doesn't match with the one in ARN, we throw an error 5413// if account id is not updated, we return nil. Note that original input is not modified. 5414func (s DeleteBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 5415 if s.AccountId == nil { 5416 s.AccountId = aws.String(accountId) 5417 return &s, nil 5418 } else if *s.AccountId != accountId { 5419 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5420 } 5421 return nil, nil 5422} 5423 5424type DeleteBucketLifecycleConfigurationOutput struct { 5425 _ struct{} `type:"structure"` 5426} 5427 5428// String returns the string representation 5429func (s DeleteBucketLifecycleConfigurationOutput) String() string { 5430 return awsutil.Prettify(s) 5431} 5432 5433// GoString returns the string representation 5434func (s DeleteBucketLifecycleConfigurationOutput) GoString() string { 5435 return s.String() 5436} 5437 5438type DeleteBucketOutput struct { 5439 _ struct{} `type:"structure"` 5440} 5441 5442// String returns the string representation 5443func (s DeleteBucketOutput) String() string { 5444 return awsutil.Prettify(s) 5445} 5446 5447// GoString returns the string representation 5448func (s DeleteBucketOutput) GoString() string { 5449 return s.String() 5450} 5451 5452type DeleteBucketPolicyInput struct { 5453 _ struct{} `locationName:"DeleteBucketPolicyRequest" type:"structure"` 5454 5455 // The account ID of the Outposts bucket. 5456 // 5457 // AccountId is a required field 5458 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5459 5460 // Specifies the bucket. 5461 // 5462 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5463 // must specify the name and the x-amz-outpost-id as well. 5464 // 5465 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5466 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5467 // For example, to access the bucket reports through outpost my-outpost owned 5468 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 5469 // The value must be URL encoded. 5470 // 5471 // Bucket is a required field 5472 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5473} 5474 5475// String returns the string representation 5476func (s DeleteBucketPolicyInput) String() string { 5477 return awsutil.Prettify(s) 5478} 5479 5480// GoString returns the string representation 5481func (s DeleteBucketPolicyInput) GoString() string { 5482 return s.String() 5483} 5484 5485// Validate inspects the fields of the type to determine if they are valid. 5486func (s *DeleteBucketPolicyInput) Validate() error { 5487 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketPolicyInput"} 5488 if s.AccountId == nil { 5489 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5490 } 5491 if s.AccountId != nil && len(*s.AccountId) < 1 { 5492 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5493 } 5494 if s.Bucket == nil { 5495 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5496 } 5497 if s.Bucket != nil && len(*s.Bucket) < 3 { 5498 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5499 } 5500 5501 if invalidParams.Len() > 0 { 5502 return invalidParams 5503 } 5504 return nil 5505} 5506 5507// SetAccountId sets the AccountId field's value. 5508func (s *DeleteBucketPolicyInput) SetAccountId(v string) *DeleteBucketPolicyInput { 5509 s.AccountId = &v 5510 return s 5511} 5512 5513// SetBucket sets the Bucket field's value. 5514func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput { 5515 s.Bucket = &v 5516 return s 5517} 5518 5519func (s *DeleteBucketPolicyInput) hostLabels() map[string]string { 5520 return map[string]string{ 5521 "AccountId": aws.StringValue(s.AccountId), 5522 } 5523} 5524 5525func (s *DeleteBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 5526 if s.Bucket == nil { 5527 return nil, fmt.Errorf("member Bucket is nil") 5528 } 5529 return parseEndpointARN(*s.Bucket) 5530} 5531 5532func (s *DeleteBucketPolicyInput) hasEndpointARN() bool { 5533 if s.Bucket == nil { 5534 return false 5535 } 5536 return arn.IsARN(*s.Bucket) 5537} 5538 5539// updateArnableField updates the value of the input field that 5540// takes an ARN as an input. This method is useful to backfill 5541// the parsed resource name from ARN into the input member. 5542// It returns a pointer to a modified copy of input and an error. 5543// Note that original input is not modified. 5544func (s DeleteBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 5545 if s.Bucket == nil { 5546 return nil, fmt.Errorf("member Bucket is nil") 5547 } 5548 s.Bucket = aws.String(v) 5549 return &s, nil 5550} 5551 5552// updateAccountID returns a pointer to a modified copy of input, 5553// if account id is not provided, we update the account id in modified input 5554// if account id is provided, but doesn't match with the one in ARN, we throw an error 5555// if account id is not updated, we return nil. Note that original input is not modified. 5556func (s DeleteBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 5557 if s.AccountId == nil { 5558 s.AccountId = aws.String(accountId) 5559 return &s, nil 5560 } else if *s.AccountId != accountId { 5561 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5562 } 5563 return nil, nil 5564} 5565 5566type DeleteBucketPolicyOutput struct { 5567 _ struct{} `type:"structure"` 5568} 5569 5570// String returns the string representation 5571func (s DeleteBucketPolicyOutput) String() string { 5572 return awsutil.Prettify(s) 5573} 5574 5575// GoString returns the string representation 5576func (s DeleteBucketPolicyOutput) GoString() string { 5577 return s.String() 5578} 5579 5580type DeleteBucketTaggingInput struct { 5581 _ struct{} `locationName:"DeleteBucketTaggingRequest" type:"structure"` 5582 5583 // The AWS account ID of the Outposts bucket tag set to be removed. 5584 // 5585 // AccountId is a required field 5586 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5587 5588 // The bucket ARN that has the tag set to be removed. 5589 // 5590 // For using this parameter with Amazon S3 on Outposts with the REST API, you 5591 // must specify the name and the x-amz-outpost-id as well. 5592 // 5593 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 5594 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 5595 // For example, to access the bucket reports through outpost my-outpost owned 5596 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 5597 // The value must be URL encoded. 5598 // 5599 // Bucket is a required field 5600 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 5601} 5602 5603// String returns the string representation 5604func (s DeleteBucketTaggingInput) String() string { 5605 return awsutil.Prettify(s) 5606} 5607 5608// GoString returns the string representation 5609func (s DeleteBucketTaggingInput) GoString() string { 5610 return s.String() 5611} 5612 5613// Validate inspects the fields of the type to determine if they are valid. 5614func (s *DeleteBucketTaggingInput) Validate() error { 5615 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketTaggingInput"} 5616 if s.AccountId == nil { 5617 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5618 } 5619 if s.AccountId != nil && len(*s.AccountId) < 1 { 5620 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5621 } 5622 if s.Bucket == nil { 5623 invalidParams.Add(request.NewErrParamRequired("Bucket")) 5624 } 5625 if s.Bucket != nil && len(*s.Bucket) < 3 { 5626 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 5627 } 5628 5629 if invalidParams.Len() > 0 { 5630 return invalidParams 5631 } 5632 return nil 5633} 5634 5635// SetAccountId sets the AccountId field's value. 5636func (s *DeleteBucketTaggingInput) SetAccountId(v string) *DeleteBucketTaggingInput { 5637 s.AccountId = &v 5638 return s 5639} 5640 5641// SetBucket sets the Bucket field's value. 5642func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput { 5643 s.Bucket = &v 5644 return s 5645} 5646 5647func (s *DeleteBucketTaggingInput) hostLabels() map[string]string { 5648 return map[string]string{ 5649 "AccountId": aws.StringValue(s.AccountId), 5650 } 5651} 5652 5653func (s *DeleteBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 5654 if s.Bucket == nil { 5655 return nil, fmt.Errorf("member Bucket is nil") 5656 } 5657 return parseEndpointARN(*s.Bucket) 5658} 5659 5660func (s *DeleteBucketTaggingInput) hasEndpointARN() bool { 5661 if s.Bucket == nil { 5662 return false 5663 } 5664 return arn.IsARN(*s.Bucket) 5665} 5666 5667// updateArnableField updates the value of the input field that 5668// takes an ARN as an input. This method is useful to backfill 5669// the parsed resource name from ARN into the input member. 5670// It returns a pointer to a modified copy of input and an error. 5671// Note that original input is not modified. 5672func (s DeleteBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 5673 if s.Bucket == nil { 5674 return nil, fmt.Errorf("member Bucket is nil") 5675 } 5676 s.Bucket = aws.String(v) 5677 return &s, nil 5678} 5679 5680// updateAccountID returns a pointer to a modified copy of input, 5681// if account id is not provided, we update the account id in modified input 5682// if account id is provided, but doesn't match with the one in ARN, we throw an error 5683// if account id is not updated, we return nil. Note that original input is not modified. 5684func (s DeleteBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 5685 if s.AccountId == nil { 5686 s.AccountId = aws.String(accountId) 5687 return &s, nil 5688 } else if *s.AccountId != accountId { 5689 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 5690 } 5691 return nil, nil 5692} 5693 5694type DeleteBucketTaggingOutput struct { 5695 _ struct{} `type:"structure"` 5696} 5697 5698// String returns the string representation 5699func (s DeleteBucketTaggingOutput) String() string { 5700 return awsutil.Prettify(s) 5701} 5702 5703// GoString returns the string representation 5704func (s DeleteBucketTaggingOutput) GoString() string { 5705 return s.String() 5706} 5707 5708type DeleteJobTaggingInput struct { 5709 _ struct{} `locationName:"DeleteJobTaggingRequest" type:"structure"` 5710 5711 // The AWS account ID associated with the S3 Batch Operations job. 5712 // 5713 // AccountId is a required field 5714 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5715 5716 // The ID for the S3 Batch Operations job whose tags you want to delete. 5717 // 5718 // JobId is a required field 5719 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 5720} 5721 5722// String returns the string representation 5723func (s DeleteJobTaggingInput) String() string { 5724 return awsutil.Prettify(s) 5725} 5726 5727// GoString returns the string representation 5728func (s DeleteJobTaggingInput) GoString() string { 5729 return s.String() 5730} 5731 5732// Validate inspects the fields of the type to determine if they are valid. 5733func (s *DeleteJobTaggingInput) Validate() error { 5734 invalidParams := request.ErrInvalidParams{Context: "DeleteJobTaggingInput"} 5735 if s.AccountId == nil { 5736 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5737 } 5738 if s.AccountId != nil && len(*s.AccountId) < 1 { 5739 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5740 } 5741 if s.JobId == nil { 5742 invalidParams.Add(request.NewErrParamRequired("JobId")) 5743 } 5744 if s.JobId != nil && len(*s.JobId) < 5 { 5745 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 5746 } 5747 5748 if invalidParams.Len() > 0 { 5749 return invalidParams 5750 } 5751 return nil 5752} 5753 5754// SetAccountId sets the AccountId field's value. 5755func (s *DeleteJobTaggingInput) SetAccountId(v string) *DeleteJobTaggingInput { 5756 s.AccountId = &v 5757 return s 5758} 5759 5760// SetJobId sets the JobId field's value. 5761func (s *DeleteJobTaggingInput) SetJobId(v string) *DeleteJobTaggingInput { 5762 s.JobId = &v 5763 return s 5764} 5765 5766func (s *DeleteJobTaggingInput) hostLabels() map[string]string { 5767 return map[string]string{ 5768 "AccountId": aws.StringValue(s.AccountId), 5769 } 5770} 5771 5772type DeleteJobTaggingOutput struct { 5773 _ struct{} `type:"structure"` 5774} 5775 5776// String returns the string representation 5777func (s DeleteJobTaggingOutput) String() string { 5778 return awsutil.Prettify(s) 5779} 5780 5781// GoString returns the string representation 5782func (s DeleteJobTaggingOutput) GoString() string { 5783 return s.String() 5784} 5785 5786type DeletePublicAccessBlockInput struct { 5787 _ struct{} `locationName:"DeletePublicAccessBlockRequest" type:"structure"` 5788 5789 // The account ID for the AWS account whose PublicAccessBlock configuration 5790 // you want to remove. 5791 // 5792 // AccountId is a required field 5793 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5794} 5795 5796// String returns the string representation 5797func (s DeletePublicAccessBlockInput) String() string { 5798 return awsutil.Prettify(s) 5799} 5800 5801// GoString returns the string representation 5802func (s DeletePublicAccessBlockInput) GoString() string { 5803 return s.String() 5804} 5805 5806// Validate inspects the fields of the type to determine if they are valid. 5807func (s *DeletePublicAccessBlockInput) Validate() error { 5808 invalidParams := request.ErrInvalidParams{Context: "DeletePublicAccessBlockInput"} 5809 if s.AccountId == nil { 5810 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5811 } 5812 if s.AccountId != nil && len(*s.AccountId) < 1 { 5813 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5814 } 5815 5816 if invalidParams.Len() > 0 { 5817 return invalidParams 5818 } 5819 return nil 5820} 5821 5822// SetAccountId sets the AccountId field's value. 5823func (s *DeletePublicAccessBlockInput) SetAccountId(v string) *DeletePublicAccessBlockInput { 5824 s.AccountId = &v 5825 return s 5826} 5827 5828func (s *DeletePublicAccessBlockInput) hostLabels() map[string]string { 5829 return map[string]string{ 5830 "AccountId": aws.StringValue(s.AccountId), 5831 } 5832} 5833 5834type DeletePublicAccessBlockOutput struct { 5835 _ struct{} `type:"structure"` 5836} 5837 5838// String returns the string representation 5839func (s DeletePublicAccessBlockOutput) String() string { 5840 return awsutil.Prettify(s) 5841} 5842 5843// GoString returns the string representation 5844func (s DeletePublicAccessBlockOutput) GoString() string { 5845 return s.String() 5846} 5847 5848type DeleteStorageLensConfigurationInput struct { 5849 _ struct{} `locationName:"DeleteStorageLensConfigurationRequest" type:"structure"` 5850 5851 // The account ID of the requester. 5852 // 5853 // AccountId is a required field 5854 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5855 5856 // The ID of the S3 Storage Lens configuration. 5857 // 5858 // ConfigId is a required field 5859 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 5860} 5861 5862// String returns the string representation 5863func (s DeleteStorageLensConfigurationInput) String() string { 5864 return awsutil.Prettify(s) 5865} 5866 5867// GoString returns the string representation 5868func (s DeleteStorageLensConfigurationInput) GoString() string { 5869 return s.String() 5870} 5871 5872// Validate inspects the fields of the type to determine if they are valid. 5873func (s *DeleteStorageLensConfigurationInput) Validate() error { 5874 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationInput"} 5875 if s.AccountId == nil { 5876 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5877 } 5878 if s.AccountId != nil && len(*s.AccountId) < 1 { 5879 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5880 } 5881 if s.ConfigId == nil { 5882 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 5883 } 5884 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 5885 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 5886 } 5887 5888 if invalidParams.Len() > 0 { 5889 return invalidParams 5890 } 5891 return nil 5892} 5893 5894// SetAccountId sets the AccountId field's value. 5895func (s *DeleteStorageLensConfigurationInput) SetAccountId(v string) *DeleteStorageLensConfigurationInput { 5896 s.AccountId = &v 5897 return s 5898} 5899 5900// SetConfigId sets the ConfigId field's value. 5901func (s *DeleteStorageLensConfigurationInput) SetConfigId(v string) *DeleteStorageLensConfigurationInput { 5902 s.ConfigId = &v 5903 return s 5904} 5905 5906func (s *DeleteStorageLensConfigurationInput) hostLabels() map[string]string { 5907 return map[string]string{ 5908 "AccountId": aws.StringValue(s.AccountId), 5909 } 5910} 5911 5912type DeleteStorageLensConfigurationOutput struct { 5913 _ struct{} `type:"structure"` 5914} 5915 5916// String returns the string representation 5917func (s DeleteStorageLensConfigurationOutput) String() string { 5918 return awsutil.Prettify(s) 5919} 5920 5921// GoString returns the string representation 5922func (s DeleteStorageLensConfigurationOutput) GoString() string { 5923 return s.String() 5924} 5925 5926type DeleteStorageLensConfigurationTaggingInput struct { 5927 _ struct{} `locationName:"DeleteStorageLensConfigurationTaggingRequest" type:"structure"` 5928 5929 // The account ID of the requester. 5930 // 5931 // AccountId is a required field 5932 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 5933 5934 // The ID of the S3 Storage Lens configuration. 5935 // 5936 // ConfigId is a required field 5937 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 5938} 5939 5940// String returns the string representation 5941func (s DeleteStorageLensConfigurationTaggingInput) String() string { 5942 return awsutil.Prettify(s) 5943} 5944 5945// GoString returns the string representation 5946func (s DeleteStorageLensConfigurationTaggingInput) GoString() string { 5947 return s.String() 5948} 5949 5950// Validate inspects the fields of the type to determine if they are valid. 5951func (s *DeleteStorageLensConfigurationTaggingInput) Validate() error { 5952 invalidParams := request.ErrInvalidParams{Context: "DeleteStorageLensConfigurationTaggingInput"} 5953 if s.AccountId == nil { 5954 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5955 } 5956 if s.AccountId != nil && len(*s.AccountId) < 1 { 5957 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5958 } 5959 if s.ConfigId == nil { 5960 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 5961 } 5962 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 5963 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 5964 } 5965 5966 if invalidParams.Len() > 0 { 5967 return invalidParams 5968 } 5969 return nil 5970} 5971 5972// SetAccountId sets the AccountId field's value. 5973func (s *DeleteStorageLensConfigurationTaggingInput) SetAccountId(v string) *DeleteStorageLensConfigurationTaggingInput { 5974 s.AccountId = &v 5975 return s 5976} 5977 5978// SetConfigId sets the ConfigId field's value. 5979func (s *DeleteStorageLensConfigurationTaggingInput) SetConfigId(v string) *DeleteStorageLensConfigurationTaggingInput { 5980 s.ConfigId = &v 5981 return s 5982} 5983 5984func (s *DeleteStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 5985 return map[string]string{ 5986 "AccountId": aws.StringValue(s.AccountId), 5987 } 5988} 5989 5990type DeleteStorageLensConfigurationTaggingOutput struct { 5991 _ struct{} `type:"structure"` 5992} 5993 5994// String returns the string representation 5995func (s DeleteStorageLensConfigurationTaggingOutput) String() string { 5996 return awsutil.Prettify(s) 5997} 5998 5999// GoString returns the string representation 6000func (s DeleteStorageLensConfigurationTaggingOutput) GoString() string { 6001 return s.String() 6002} 6003 6004type DescribeJobInput struct { 6005 _ struct{} `locationName:"DescribeJobRequest" type:"structure"` 6006 6007 // AccountId is a required field 6008 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6009 6010 // The ID for the job whose information you want to retrieve. 6011 // 6012 // JobId is a required field 6013 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 6014} 6015 6016// String returns the string representation 6017func (s DescribeJobInput) String() string { 6018 return awsutil.Prettify(s) 6019} 6020 6021// GoString returns the string representation 6022func (s DescribeJobInput) GoString() string { 6023 return s.String() 6024} 6025 6026// Validate inspects the fields of the type to determine if they are valid. 6027func (s *DescribeJobInput) Validate() error { 6028 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 6029 if s.AccountId == nil { 6030 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6031 } 6032 if s.AccountId != nil && len(*s.AccountId) < 1 { 6033 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6034 } 6035 if s.JobId == nil { 6036 invalidParams.Add(request.NewErrParamRequired("JobId")) 6037 } 6038 if s.JobId != nil && len(*s.JobId) < 5 { 6039 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 6040 } 6041 6042 if invalidParams.Len() > 0 { 6043 return invalidParams 6044 } 6045 return nil 6046} 6047 6048// SetAccountId sets the AccountId field's value. 6049func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 6050 s.AccountId = &v 6051 return s 6052} 6053 6054// SetJobId sets the JobId field's value. 6055func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 6056 s.JobId = &v 6057 return s 6058} 6059 6060func (s *DescribeJobInput) hostLabels() map[string]string { 6061 return map[string]string{ 6062 "AccountId": aws.StringValue(s.AccountId), 6063 } 6064} 6065 6066type DescribeJobOutput struct { 6067 _ struct{} `type:"structure"` 6068 6069 // Contains the configuration parameters and status for the job specified in 6070 // the Describe Job request. 6071 Job *JobDescriptor `type:"structure"` 6072} 6073 6074// String returns the string representation 6075func (s DescribeJobOutput) String() string { 6076 return awsutil.Prettify(s) 6077} 6078 6079// GoString returns the string representation 6080func (s DescribeJobOutput) GoString() string { 6081 return s.String() 6082} 6083 6084// SetJob sets the Job field's value. 6085func (s *DescribeJobOutput) SetJob(v *JobDescriptor) *DescribeJobOutput { 6086 s.Job = v 6087 return s 6088} 6089 6090// A container for what Amazon S3 Storage Lens will exclude. 6091type Exclude struct { 6092 _ struct{} `type:"structure"` 6093 6094 // A container for the S3 Storage Lens bucket excludes. 6095 Buckets []*string `locationNameList:"Arn" type:"list"` 6096 6097 // A container for the S3 Storage Lens Region excludes. 6098 Regions []*string `locationNameList:"Region" type:"list"` 6099} 6100 6101// String returns the string representation 6102func (s Exclude) String() string { 6103 return awsutil.Prettify(s) 6104} 6105 6106// GoString returns the string representation 6107func (s Exclude) GoString() string { 6108 return s.String() 6109} 6110 6111// SetBuckets sets the Buckets field's value. 6112func (s *Exclude) SetBuckets(v []*string) *Exclude { 6113 s.Buckets = v 6114 return s 6115} 6116 6117// SetRegions sets the Regions field's value. 6118func (s *Exclude) SetRegions(v []*string) *Exclude { 6119 s.Regions = v 6120 return s 6121} 6122 6123type GetAccessPointInput struct { 6124 _ struct{} `locationName:"GetAccessPointRequest" type:"structure"` 6125 6126 // The account ID for the account that owns the specified access point. 6127 // 6128 // AccountId is a required field 6129 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6130 6131 // The name of the access point whose configuration information you want to 6132 // retrieve. 6133 // 6134 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6135 // must specify the name and the x-amz-outpost-id as well. 6136 // 6137 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6138 // must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 6139 // For example, to access the access point reports-ap through outpost my-outpost 6140 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6141 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6142 // The value must be URL encoded. 6143 // 6144 // Name is a required field 6145 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6146} 6147 6148// String returns the string representation 6149func (s GetAccessPointInput) String() string { 6150 return awsutil.Prettify(s) 6151} 6152 6153// GoString returns the string representation 6154func (s GetAccessPointInput) GoString() string { 6155 return s.String() 6156} 6157 6158// Validate inspects the fields of the type to determine if they are valid. 6159func (s *GetAccessPointInput) Validate() error { 6160 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointInput"} 6161 if s.AccountId == nil { 6162 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6163 } 6164 if s.AccountId != nil && len(*s.AccountId) < 1 { 6165 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6166 } 6167 if s.Name == nil { 6168 invalidParams.Add(request.NewErrParamRequired("Name")) 6169 } 6170 if s.Name != nil && len(*s.Name) < 3 { 6171 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6172 } 6173 6174 if invalidParams.Len() > 0 { 6175 return invalidParams 6176 } 6177 return nil 6178} 6179 6180// SetAccountId sets the AccountId field's value. 6181func (s *GetAccessPointInput) SetAccountId(v string) *GetAccessPointInput { 6182 s.AccountId = &v 6183 return s 6184} 6185 6186// SetName sets the Name field's value. 6187func (s *GetAccessPointInput) SetName(v string) *GetAccessPointInput { 6188 s.Name = &v 6189 return s 6190} 6191 6192func (s *GetAccessPointInput) hostLabels() map[string]string { 6193 return map[string]string{ 6194 "AccountId": aws.StringValue(s.AccountId), 6195 } 6196} 6197 6198func (s *GetAccessPointInput) getEndpointARN() (arn.Resource, error) { 6199 if s.Name == nil { 6200 return nil, fmt.Errorf("member Name is nil") 6201 } 6202 return parseEndpointARN(*s.Name) 6203} 6204 6205func (s *GetAccessPointInput) hasEndpointARN() bool { 6206 if s.Name == nil { 6207 return false 6208 } 6209 return arn.IsARN(*s.Name) 6210} 6211 6212// updateArnableField updates the value of the input field that 6213// takes an ARN as an input. This method is useful to backfill 6214// the parsed resource name from ARN into the input member. 6215// It returns a pointer to a modified copy of input and an error. 6216// Note that original input is not modified. 6217func (s GetAccessPointInput) updateArnableField(v string) (interface{}, error) { 6218 if s.Name == nil { 6219 return nil, fmt.Errorf("member Name is nil") 6220 } 6221 s.Name = aws.String(v) 6222 return &s, nil 6223} 6224 6225// updateAccountID returns a pointer to a modified copy of input, 6226// if account id is not provided, we update the account id in modified input 6227// if account id is provided, but doesn't match with the one in ARN, we throw an error 6228// if account id is not updated, we return nil. Note that original input is not modified. 6229func (s GetAccessPointInput) updateAccountID(accountId string) (interface{}, error) { 6230 if s.AccountId == nil { 6231 s.AccountId = aws.String(accountId) 6232 return &s, nil 6233 } else if *s.AccountId != accountId { 6234 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6235 } 6236 return nil, nil 6237} 6238 6239type GetAccessPointOutput struct { 6240 _ struct{} `type:"structure"` 6241 6242 // The name of the bucket associated with the specified access point. 6243 Bucket *string `min:"3" type:"string"` 6244 6245 // The date and time when the specified access point was created. 6246 CreationDate *time.Time `type:"timestamp"` 6247 6248 // The name of the specified access point. 6249 Name *string `min:"3" type:"string"` 6250 6251 // Indicates whether this access point allows access from the public internet. 6252 // If VpcConfiguration is specified for this access point, then NetworkOrigin 6253 // is VPC, and the access point doesn't allow access from the public internet. 6254 // Otherwise, NetworkOrigin is Internet, and the access point allows access 6255 // from the public internet, subject to the access point and bucket access policies. 6256 // 6257 // This will always be true for an Amazon S3 on Outposts access point 6258 NetworkOrigin *string `type:"string" enum:"NetworkOrigin"` 6259 6260 // The PublicAccessBlock configuration that you want to apply to this Amazon 6261 // S3 account. You can enable the configuration options in any combination. 6262 // For more information about when Amazon S3 considers a bucket or object public, 6263 // see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 6264 // in the Amazon Simple Storage Service Developer Guide. 6265 // 6266 // This is not supported for Amazon S3 on Outposts. 6267 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 6268 6269 // Contains the virtual private cloud (VPC) configuration for the specified 6270 // access point. 6271 VpcConfiguration *VpcConfiguration `type:"structure"` 6272} 6273 6274// String returns the string representation 6275func (s GetAccessPointOutput) String() string { 6276 return awsutil.Prettify(s) 6277} 6278 6279// GoString returns the string representation 6280func (s GetAccessPointOutput) GoString() string { 6281 return s.String() 6282} 6283 6284// SetBucket sets the Bucket field's value. 6285func (s *GetAccessPointOutput) SetBucket(v string) *GetAccessPointOutput { 6286 s.Bucket = &v 6287 return s 6288} 6289 6290// SetCreationDate sets the CreationDate field's value. 6291func (s *GetAccessPointOutput) SetCreationDate(v time.Time) *GetAccessPointOutput { 6292 s.CreationDate = &v 6293 return s 6294} 6295 6296// SetName sets the Name field's value. 6297func (s *GetAccessPointOutput) SetName(v string) *GetAccessPointOutput { 6298 s.Name = &v 6299 return s 6300} 6301 6302// SetNetworkOrigin sets the NetworkOrigin field's value. 6303func (s *GetAccessPointOutput) SetNetworkOrigin(v string) *GetAccessPointOutput { 6304 s.NetworkOrigin = &v 6305 return s 6306} 6307 6308// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 6309func (s *GetAccessPointOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetAccessPointOutput { 6310 s.PublicAccessBlockConfiguration = v 6311 return s 6312} 6313 6314// SetVpcConfiguration sets the VpcConfiguration field's value. 6315func (s *GetAccessPointOutput) SetVpcConfiguration(v *VpcConfiguration) *GetAccessPointOutput { 6316 s.VpcConfiguration = v 6317 return s 6318} 6319 6320type GetAccessPointPolicyInput struct { 6321 _ struct{} `locationName:"GetAccessPointPolicyRequest" type:"structure"` 6322 6323 // The account ID for the account that owns the specified access point. 6324 // 6325 // AccountId is a required field 6326 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6327 6328 // The name of the access point whose policy you want to retrieve. 6329 // 6330 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6331 // must specify the name and the x-amz-outpost-id as well. 6332 // 6333 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6334 // must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 6335 // For example, to access the access point reports-ap through outpost my-outpost 6336 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 6337 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 6338 // The value must be URL encoded. 6339 // 6340 // Name is a required field 6341 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6342} 6343 6344// String returns the string representation 6345func (s GetAccessPointPolicyInput) String() string { 6346 return awsutil.Prettify(s) 6347} 6348 6349// GoString returns the string representation 6350func (s GetAccessPointPolicyInput) GoString() string { 6351 return s.String() 6352} 6353 6354// Validate inspects the fields of the type to determine if they are valid. 6355func (s *GetAccessPointPolicyInput) Validate() error { 6356 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyInput"} 6357 if s.AccountId == nil { 6358 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6359 } 6360 if s.AccountId != nil && len(*s.AccountId) < 1 { 6361 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6362 } 6363 if s.Name == nil { 6364 invalidParams.Add(request.NewErrParamRequired("Name")) 6365 } 6366 if s.Name != nil && len(*s.Name) < 3 { 6367 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6368 } 6369 6370 if invalidParams.Len() > 0 { 6371 return invalidParams 6372 } 6373 return nil 6374} 6375 6376// SetAccountId sets the AccountId field's value. 6377func (s *GetAccessPointPolicyInput) SetAccountId(v string) *GetAccessPointPolicyInput { 6378 s.AccountId = &v 6379 return s 6380} 6381 6382// SetName sets the Name field's value. 6383func (s *GetAccessPointPolicyInput) SetName(v string) *GetAccessPointPolicyInput { 6384 s.Name = &v 6385 return s 6386} 6387 6388func (s *GetAccessPointPolicyInput) hostLabels() map[string]string { 6389 return map[string]string{ 6390 "AccountId": aws.StringValue(s.AccountId), 6391 } 6392} 6393 6394func (s *GetAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 6395 if s.Name == nil { 6396 return nil, fmt.Errorf("member Name is nil") 6397 } 6398 return parseEndpointARN(*s.Name) 6399} 6400 6401func (s *GetAccessPointPolicyInput) hasEndpointARN() bool { 6402 if s.Name == nil { 6403 return false 6404 } 6405 return arn.IsARN(*s.Name) 6406} 6407 6408// updateArnableField updates the value of the input field that 6409// takes an ARN as an input. This method is useful to backfill 6410// the parsed resource name from ARN into the input member. 6411// It returns a pointer to a modified copy of input and an error. 6412// Note that original input is not modified. 6413func (s GetAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 6414 if s.Name == nil { 6415 return nil, fmt.Errorf("member Name is nil") 6416 } 6417 s.Name = aws.String(v) 6418 return &s, nil 6419} 6420 6421// updateAccountID returns a pointer to a modified copy of input, 6422// if account id is not provided, we update the account id in modified input 6423// if account id is provided, but doesn't match with the one in ARN, we throw an error 6424// if account id is not updated, we return nil. Note that original input is not modified. 6425func (s GetAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6426 if s.AccountId == nil { 6427 s.AccountId = aws.String(accountId) 6428 return &s, nil 6429 } else if *s.AccountId != accountId { 6430 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6431 } 6432 return nil, nil 6433} 6434 6435type GetAccessPointPolicyOutput struct { 6436 _ struct{} `type:"structure"` 6437 6438 // The access point policy associated with the specified access point. 6439 Policy *string `type:"string"` 6440} 6441 6442// String returns the string representation 6443func (s GetAccessPointPolicyOutput) String() string { 6444 return awsutil.Prettify(s) 6445} 6446 6447// GoString returns the string representation 6448func (s GetAccessPointPolicyOutput) GoString() string { 6449 return s.String() 6450} 6451 6452// SetPolicy sets the Policy field's value. 6453func (s *GetAccessPointPolicyOutput) SetPolicy(v string) *GetAccessPointPolicyOutput { 6454 s.Policy = &v 6455 return s 6456} 6457 6458type GetAccessPointPolicyStatusInput struct { 6459 _ struct{} `locationName:"GetAccessPointPolicyStatusRequest" type:"structure"` 6460 6461 // The account ID for the account that owns the specified access point. 6462 // 6463 // AccountId is a required field 6464 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6465 6466 // The name of the access point whose policy status you want to retrieve. 6467 // 6468 // Name is a required field 6469 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6470} 6471 6472// String returns the string representation 6473func (s GetAccessPointPolicyStatusInput) String() string { 6474 return awsutil.Prettify(s) 6475} 6476 6477// GoString returns the string representation 6478func (s GetAccessPointPolicyStatusInput) GoString() string { 6479 return s.String() 6480} 6481 6482// Validate inspects the fields of the type to determine if they are valid. 6483func (s *GetAccessPointPolicyStatusInput) Validate() error { 6484 invalidParams := request.ErrInvalidParams{Context: "GetAccessPointPolicyStatusInput"} 6485 if s.AccountId == nil { 6486 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6487 } 6488 if s.AccountId != nil && len(*s.AccountId) < 1 { 6489 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6490 } 6491 if s.Name == nil { 6492 invalidParams.Add(request.NewErrParamRequired("Name")) 6493 } 6494 if s.Name != nil && len(*s.Name) < 3 { 6495 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 6496 } 6497 6498 if invalidParams.Len() > 0 { 6499 return invalidParams 6500 } 6501 return nil 6502} 6503 6504// SetAccountId sets the AccountId field's value. 6505func (s *GetAccessPointPolicyStatusInput) SetAccountId(v string) *GetAccessPointPolicyStatusInput { 6506 s.AccountId = &v 6507 return s 6508} 6509 6510// SetName sets the Name field's value. 6511func (s *GetAccessPointPolicyStatusInput) SetName(v string) *GetAccessPointPolicyStatusInput { 6512 s.Name = &v 6513 return s 6514} 6515 6516func (s *GetAccessPointPolicyStatusInput) hostLabels() map[string]string { 6517 return map[string]string{ 6518 "AccountId": aws.StringValue(s.AccountId), 6519 } 6520} 6521 6522type GetAccessPointPolicyStatusOutput struct { 6523 _ struct{} `type:"structure"` 6524 6525 // Indicates the current policy status of the specified access point. 6526 PolicyStatus *PolicyStatus `type:"structure"` 6527} 6528 6529// String returns the string representation 6530func (s GetAccessPointPolicyStatusOutput) String() string { 6531 return awsutil.Prettify(s) 6532} 6533 6534// GoString returns the string representation 6535func (s GetAccessPointPolicyStatusOutput) GoString() string { 6536 return s.String() 6537} 6538 6539// SetPolicyStatus sets the PolicyStatus field's value. 6540func (s *GetAccessPointPolicyStatusOutput) SetPolicyStatus(v *PolicyStatus) *GetAccessPointPolicyStatusOutput { 6541 s.PolicyStatus = v 6542 return s 6543} 6544 6545type GetBucketInput struct { 6546 _ struct{} `locationName:"GetBucketRequest" type:"structure"` 6547 6548 // The AWS account ID of the Outposts bucket. 6549 // 6550 // AccountId is a required field 6551 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6552 6553 // Specifies the bucket. 6554 // 6555 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6556 // must specify the name and the x-amz-outpost-id as well. 6557 // 6558 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6559 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6560 // For example, to access the bucket reports through outpost my-outpost owned 6561 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 6562 // The value must be URL encoded. 6563 // 6564 // Bucket is a required field 6565 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6566} 6567 6568// String returns the string representation 6569func (s GetBucketInput) String() string { 6570 return awsutil.Prettify(s) 6571} 6572 6573// GoString returns the string representation 6574func (s GetBucketInput) GoString() string { 6575 return s.String() 6576} 6577 6578// Validate inspects the fields of the type to determine if they are valid. 6579func (s *GetBucketInput) Validate() error { 6580 invalidParams := request.ErrInvalidParams{Context: "GetBucketInput"} 6581 if s.AccountId == nil { 6582 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6583 } 6584 if s.AccountId != nil && len(*s.AccountId) < 1 { 6585 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6586 } 6587 if s.Bucket == nil { 6588 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6589 } 6590 if s.Bucket != nil && len(*s.Bucket) < 3 { 6591 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6592 } 6593 6594 if invalidParams.Len() > 0 { 6595 return invalidParams 6596 } 6597 return nil 6598} 6599 6600// SetAccountId sets the AccountId field's value. 6601func (s *GetBucketInput) SetAccountId(v string) *GetBucketInput { 6602 s.AccountId = &v 6603 return s 6604} 6605 6606// SetBucket sets the Bucket field's value. 6607func (s *GetBucketInput) SetBucket(v string) *GetBucketInput { 6608 s.Bucket = &v 6609 return s 6610} 6611 6612func (s *GetBucketInput) hostLabels() map[string]string { 6613 return map[string]string{ 6614 "AccountId": aws.StringValue(s.AccountId), 6615 } 6616} 6617 6618func (s *GetBucketInput) getEndpointARN() (arn.Resource, error) { 6619 if s.Bucket == nil { 6620 return nil, fmt.Errorf("member Bucket is nil") 6621 } 6622 return parseEndpointARN(*s.Bucket) 6623} 6624 6625func (s *GetBucketInput) hasEndpointARN() bool { 6626 if s.Bucket == nil { 6627 return false 6628 } 6629 return arn.IsARN(*s.Bucket) 6630} 6631 6632// updateArnableField updates the value of the input field that 6633// takes an ARN as an input. This method is useful to backfill 6634// the parsed resource name from ARN into the input member. 6635// It returns a pointer to a modified copy of input and an error. 6636// Note that original input is not modified. 6637func (s GetBucketInput) updateArnableField(v string) (interface{}, error) { 6638 if s.Bucket == nil { 6639 return nil, fmt.Errorf("member Bucket is nil") 6640 } 6641 s.Bucket = aws.String(v) 6642 return &s, nil 6643} 6644 6645// updateAccountID returns a pointer to a modified copy of input, 6646// if account id is not provided, we update the account id in modified input 6647// if account id is provided, but doesn't match with the one in ARN, we throw an error 6648// if account id is not updated, we return nil. Note that original input is not modified. 6649func (s GetBucketInput) updateAccountID(accountId string) (interface{}, error) { 6650 if s.AccountId == nil { 6651 s.AccountId = aws.String(accountId) 6652 return &s, nil 6653 } else if *s.AccountId != accountId { 6654 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6655 } 6656 return nil, nil 6657} 6658 6659type GetBucketLifecycleConfigurationInput struct { 6660 _ struct{} `locationName:"GetBucketLifecycleConfigurationRequest" type:"structure"` 6661 6662 // The AWS account ID of the Outposts bucket. 6663 // 6664 // AccountId is a required field 6665 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6666 6667 // The Amazon Resource Name (ARN) of the bucket. 6668 // 6669 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6670 // must specify the name and the x-amz-outpost-id as well. 6671 // 6672 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6673 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6674 // For example, to access the bucket reports through outpost my-outpost owned 6675 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 6676 // The value must be URL encoded. 6677 // 6678 // Bucket is a required field 6679 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6680} 6681 6682// String returns the string representation 6683func (s GetBucketLifecycleConfigurationInput) String() string { 6684 return awsutil.Prettify(s) 6685} 6686 6687// GoString returns the string representation 6688func (s GetBucketLifecycleConfigurationInput) GoString() string { 6689 return s.String() 6690} 6691 6692// Validate inspects the fields of the type to determine if they are valid. 6693func (s *GetBucketLifecycleConfigurationInput) Validate() error { 6694 invalidParams := request.ErrInvalidParams{Context: "GetBucketLifecycleConfigurationInput"} 6695 if s.AccountId == nil { 6696 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6697 } 6698 if s.AccountId != nil && len(*s.AccountId) < 1 { 6699 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6700 } 6701 if s.Bucket == nil { 6702 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6703 } 6704 if s.Bucket != nil && len(*s.Bucket) < 3 { 6705 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6706 } 6707 6708 if invalidParams.Len() > 0 { 6709 return invalidParams 6710 } 6711 return nil 6712} 6713 6714// SetAccountId sets the AccountId field's value. 6715func (s *GetBucketLifecycleConfigurationInput) SetAccountId(v string) *GetBucketLifecycleConfigurationInput { 6716 s.AccountId = &v 6717 return s 6718} 6719 6720// SetBucket sets the Bucket field's value. 6721func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLifecycleConfigurationInput { 6722 s.Bucket = &v 6723 return s 6724} 6725 6726func (s *GetBucketLifecycleConfigurationInput) hostLabels() map[string]string { 6727 return map[string]string{ 6728 "AccountId": aws.StringValue(s.AccountId), 6729 } 6730} 6731 6732func (s *GetBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 6733 if s.Bucket == nil { 6734 return nil, fmt.Errorf("member Bucket is nil") 6735 } 6736 return parseEndpointARN(*s.Bucket) 6737} 6738 6739func (s *GetBucketLifecycleConfigurationInput) hasEndpointARN() bool { 6740 if s.Bucket == nil { 6741 return false 6742 } 6743 return arn.IsARN(*s.Bucket) 6744} 6745 6746// updateArnableField updates the value of the input field that 6747// takes an ARN as an input. This method is useful to backfill 6748// the parsed resource name from ARN into the input member. 6749// It returns a pointer to a modified copy of input and an error. 6750// Note that original input is not modified. 6751func (s GetBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 6752 if s.Bucket == nil { 6753 return nil, fmt.Errorf("member Bucket is nil") 6754 } 6755 s.Bucket = aws.String(v) 6756 return &s, nil 6757} 6758 6759// updateAccountID returns a pointer to a modified copy of input, 6760// if account id is not provided, we update the account id in modified input 6761// if account id is provided, but doesn't match with the one in ARN, we throw an error 6762// if account id is not updated, we return nil. Note that original input is not modified. 6763func (s GetBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 6764 if s.AccountId == nil { 6765 s.AccountId = aws.String(accountId) 6766 return &s, nil 6767 } else if *s.AccountId != accountId { 6768 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6769 } 6770 return nil, nil 6771} 6772 6773type GetBucketLifecycleConfigurationOutput struct { 6774 _ struct{} `type:"structure"` 6775 6776 // Container for the lifecycle rule of the Outposts bucket. 6777 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 6778} 6779 6780// String returns the string representation 6781func (s GetBucketLifecycleConfigurationOutput) String() string { 6782 return awsutil.Prettify(s) 6783} 6784 6785// GoString returns the string representation 6786func (s GetBucketLifecycleConfigurationOutput) GoString() string { 6787 return s.String() 6788} 6789 6790// SetRules sets the Rules field's value. 6791func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *GetBucketLifecycleConfigurationOutput { 6792 s.Rules = v 6793 return s 6794} 6795 6796type GetBucketOutput struct { 6797 _ struct{} `type:"structure"` 6798 6799 // The Outposts bucket requested. 6800 Bucket *string `min:"3" type:"string"` 6801 6802 // The creation date of the Outposts bucket. 6803 CreationDate *time.Time `type:"timestamp"` 6804 6805 PublicAccessBlockEnabled *bool `type:"boolean"` 6806} 6807 6808// String returns the string representation 6809func (s GetBucketOutput) String() string { 6810 return awsutil.Prettify(s) 6811} 6812 6813// GoString returns the string representation 6814func (s GetBucketOutput) GoString() string { 6815 return s.String() 6816} 6817 6818// SetBucket sets the Bucket field's value. 6819func (s *GetBucketOutput) SetBucket(v string) *GetBucketOutput { 6820 s.Bucket = &v 6821 return s 6822} 6823 6824// SetCreationDate sets the CreationDate field's value. 6825func (s *GetBucketOutput) SetCreationDate(v time.Time) *GetBucketOutput { 6826 s.CreationDate = &v 6827 return s 6828} 6829 6830// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 6831func (s *GetBucketOutput) SetPublicAccessBlockEnabled(v bool) *GetBucketOutput { 6832 s.PublicAccessBlockEnabled = &v 6833 return s 6834} 6835 6836type GetBucketPolicyInput struct { 6837 _ struct{} `locationName:"GetBucketPolicyRequest" type:"structure"` 6838 6839 // The AWS account ID of the Outposts bucket. 6840 // 6841 // AccountId is a required field 6842 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6843 6844 // Specifies the bucket. 6845 // 6846 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6847 // must specify the name and the x-amz-outpost-id as well. 6848 // 6849 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6850 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6851 // For example, to access the bucket reports through outpost my-outpost owned 6852 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 6853 // The value must be URL encoded. 6854 // 6855 // Bucket is a required field 6856 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6857} 6858 6859// String returns the string representation 6860func (s GetBucketPolicyInput) String() string { 6861 return awsutil.Prettify(s) 6862} 6863 6864// GoString returns the string representation 6865func (s GetBucketPolicyInput) GoString() string { 6866 return s.String() 6867} 6868 6869// Validate inspects the fields of the type to determine if they are valid. 6870func (s *GetBucketPolicyInput) Validate() error { 6871 invalidParams := request.ErrInvalidParams{Context: "GetBucketPolicyInput"} 6872 if s.AccountId == nil { 6873 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6874 } 6875 if s.AccountId != nil && len(*s.AccountId) < 1 { 6876 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6877 } 6878 if s.Bucket == nil { 6879 invalidParams.Add(request.NewErrParamRequired("Bucket")) 6880 } 6881 if s.Bucket != nil && len(*s.Bucket) < 3 { 6882 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 6883 } 6884 6885 if invalidParams.Len() > 0 { 6886 return invalidParams 6887 } 6888 return nil 6889} 6890 6891// SetAccountId sets the AccountId field's value. 6892func (s *GetBucketPolicyInput) SetAccountId(v string) *GetBucketPolicyInput { 6893 s.AccountId = &v 6894 return s 6895} 6896 6897// SetBucket sets the Bucket field's value. 6898func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput { 6899 s.Bucket = &v 6900 return s 6901} 6902 6903func (s *GetBucketPolicyInput) hostLabels() map[string]string { 6904 return map[string]string{ 6905 "AccountId": aws.StringValue(s.AccountId), 6906 } 6907} 6908 6909func (s *GetBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 6910 if s.Bucket == nil { 6911 return nil, fmt.Errorf("member Bucket is nil") 6912 } 6913 return parseEndpointARN(*s.Bucket) 6914} 6915 6916func (s *GetBucketPolicyInput) hasEndpointARN() bool { 6917 if s.Bucket == nil { 6918 return false 6919 } 6920 return arn.IsARN(*s.Bucket) 6921} 6922 6923// updateArnableField updates the value of the input field that 6924// takes an ARN as an input. This method is useful to backfill 6925// the parsed resource name from ARN into the input member. 6926// It returns a pointer to a modified copy of input and an error. 6927// Note that original input is not modified. 6928func (s GetBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 6929 if s.Bucket == nil { 6930 return nil, fmt.Errorf("member Bucket is nil") 6931 } 6932 s.Bucket = aws.String(v) 6933 return &s, nil 6934} 6935 6936// updateAccountID returns a pointer to a modified copy of input, 6937// if account id is not provided, we update the account id in modified input 6938// if account id is provided, but doesn't match with the one in ARN, we throw an error 6939// if account id is not updated, we return nil. Note that original input is not modified. 6940func (s GetBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 6941 if s.AccountId == nil { 6942 s.AccountId = aws.String(accountId) 6943 return &s, nil 6944 } else if *s.AccountId != accountId { 6945 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 6946 } 6947 return nil, nil 6948} 6949 6950type GetBucketPolicyOutput struct { 6951 _ struct{} `type:"structure"` 6952 6953 // The policy of the Outposts bucket. 6954 Policy *string `type:"string"` 6955} 6956 6957// String returns the string representation 6958func (s GetBucketPolicyOutput) String() string { 6959 return awsutil.Prettify(s) 6960} 6961 6962// GoString returns the string representation 6963func (s GetBucketPolicyOutput) GoString() string { 6964 return s.String() 6965} 6966 6967// SetPolicy sets the Policy field's value. 6968func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput { 6969 s.Policy = &v 6970 return s 6971} 6972 6973type GetBucketTaggingInput struct { 6974 _ struct{} `locationName:"GetBucketTaggingRequest" type:"structure"` 6975 6976 // The AWS account ID of the Outposts bucket. 6977 // 6978 // AccountId is a required field 6979 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 6980 6981 // Specifies the bucket. 6982 // 6983 // For using this parameter with Amazon S3 on Outposts with the REST API, you 6984 // must specify the name and the x-amz-outpost-id as well. 6985 // 6986 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 6987 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 6988 // For example, to access the bucket reports through outpost my-outpost owned 6989 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 6990 // The value must be URL encoded. 6991 // 6992 // Bucket is a required field 6993 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 6994} 6995 6996// String returns the string representation 6997func (s GetBucketTaggingInput) String() string { 6998 return awsutil.Prettify(s) 6999} 7000 7001// GoString returns the string representation 7002func (s GetBucketTaggingInput) GoString() string { 7003 return s.String() 7004} 7005 7006// Validate inspects the fields of the type to determine if they are valid. 7007func (s *GetBucketTaggingInput) Validate() error { 7008 invalidParams := request.ErrInvalidParams{Context: "GetBucketTaggingInput"} 7009 if s.AccountId == nil { 7010 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7011 } 7012 if s.AccountId != nil && len(*s.AccountId) < 1 { 7013 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7014 } 7015 if s.Bucket == nil { 7016 invalidParams.Add(request.NewErrParamRequired("Bucket")) 7017 } 7018 if s.Bucket != nil && len(*s.Bucket) < 3 { 7019 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 7020 } 7021 7022 if invalidParams.Len() > 0 { 7023 return invalidParams 7024 } 7025 return nil 7026} 7027 7028// SetAccountId sets the AccountId field's value. 7029func (s *GetBucketTaggingInput) SetAccountId(v string) *GetBucketTaggingInput { 7030 s.AccountId = &v 7031 return s 7032} 7033 7034// SetBucket sets the Bucket field's value. 7035func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput { 7036 s.Bucket = &v 7037 return s 7038} 7039 7040func (s *GetBucketTaggingInput) hostLabels() map[string]string { 7041 return map[string]string{ 7042 "AccountId": aws.StringValue(s.AccountId), 7043 } 7044} 7045 7046func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 7047 if s.Bucket == nil { 7048 return nil, fmt.Errorf("member Bucket is nil") 7049 } 7050 return parseEndpointARN(*s.Bucket) 7051} 7052 7053func (s *GetBucketTaggingInput) hasEndpointARN() bool { 7054 if s.Bucket == nil { 7055 return false 7056 } 7057 return arn.IsARN(*s.Bucket) 7058} 7059 7060// updateArnableField updates the value of the input field that 7061// takes an ARN as an input. This method is useful to backfill 7062// the parsed resource name from ARN into the input member. 7063// It returns a pointer to a modified copy of input and an error. 7064// Note that original input is not modified. 7065func (s GetBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 7066 if s.Bucket == nil { 7067 return nil, fmt.Errorf("member Bucket is nil") 7068 } 7069 s.Bucket = aws.String(v) 7070 return &s, nil 7071} 7072 7073// updateAccountID returns a pointer to a modified copy of input, 7074// if account id is not provided, we update the account id in modified input 7075// if account id is provided, but doesn't match with the one in ARN, we throw an error 7076// if account id is not updated, we return nil. Note that original input is not modified. 7077func (s GetBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 7078 if s.AccountId == nil { 7079 s.AccountId = aws.String(accountId) 7080 return &s, nil 7081 } else if *s.AccountId != accountId { 7082 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 7083 } 7084 return nil, nil 7085} 7086 7087type GetBucketTaggingOutput struct { 7088 _ struct{} `type:"structure"` 7089 7090 // The tags set of the Outposts bucket. 7091 // 7092 // TagSet is a required field 7093 TagSet []*S3Tag `type:"list" required:"true"` 7094} 7095 7096// String returns the string representation 7097func (s GetBucketTaggingOutput) String() string { 7098 return awsutil.Prettify(s) 7099} 7100 7101// GoString returns the string representation 7102func (s GetBucketTaggingOutput) GoString() string { 7103 return s.String() 7104} 7105 7106// SetTagSet sets the TagSet field's value. 7107func (s *GetBucketTaggingOutput) SetTagSet(v []*S3Tag) *GetBucketTaggingOutput { 7108 s.TagSet = v 7109 return s 7110} 7111 7112type GetJobTaggingInput struct { 7113 _ struct{} `locationName:"GetJobTaggingRequest" type:"structure"` 7114 7115 // The AWS account ID associated with the S3 Batch Operations job. 7116 // 7117 // AccountId is a required field 7118 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7119 7120 // The ID for the S3 Batch Operations job whose tags you want to retrieve. 7121 // 7122 // JobId is a required field 7123 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 7124} 7125 7126// String returns the string representation 7127func (s GetJobTaggingInput) String() string { 7128 return awsutil.Prettify(s) 7129} 7130 7131// GoString returns the string representation 7132func (s GetJobTaggingInput) GoString() string { 7133 return s.String() 7134} 7135 7136// Validate inspects the fields of the type to determine if they are valid. 7137func (s *GetJobTaggingInput) Validate() error { 7138 invalidParams := request.ErrInvalidParams{Context: "GetJobTaggingInput"} 7139 if s.AccountId == nil { 7140 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7141 } 7142 if s.AccountId != nil && len(*s.AccountId) < 1 { 7143 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7144 } 7145 if s.JobId == nil { 7146 invalidParams.Add(request.NewErrParamRequired("JobId")) 7147 } 7148 if s.JobId != nil && len(*s.JobId) < 5 { 7149 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 7150 } 7151 7152 if invalidParams.Len() > 0 { 7153 return invalidParams 7154 } 7155 return nil 7156} 7157 7158// SetAccountId sets the AccountId field's value. 7159func (s *GetJobTaggingInput) SetAccountId(v string) *GetJobTaggingInput { 7160 s.AccountId = &v 7161 return s 7162} 7163 7164// SetJobId sets the JobId field's value. 7165func (s *GetJobTaggingInput) SetJobId(v string) *GetJobTaggingInput { 7166 s.JobId = &v 7167 return s 7168} 7169 7170func (s *GetJobTaggingInput) hostLabels() map[string]string { 7171 return map[string]string{ 7172 "AccountId": aws.StringValue(s.AccountId), 7173 } 7174} 7175 7176type GetJobTaggingOutput struct { 7177 _ struct{} `type:"structure"` 7178 7179 // The set of tags associated with the S3 Batch Operations job. 7180 Tags []*S3Tag `type:"list"` 7181} 7182 7183// String returns the string representation 7184func (s GetJobTaggingOutput) String() string { 7185 return awsutil.Prettify(s) 7186} 7187 7188// GoString returns the string representation 7189func (s GetJobTaggingOutput) GoString() string { 7190 return s.String() 7191} 7192 7193// SetTags sets the Tags field's value. 7194func (s *GetJobTaggingOutput) SetTags(v []*S3Tag) *GetJobTaggingOutput { 7195 s.Tags = v 7196 return s 7197} 7198 7199type GetPublicAccessBlockInput struct { 7200 _ struct{} `locationName:"GetPublicAccessBlockRequest" type:"structure"` 7201 7202 // The account ID for the AWS account whose PublicAccessBlock configuration 7203 // you want to retrieve. 7204 // 7205 // AccountId is a required field 7206 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7207} 7208 7209// String returns the string representation 7210func (s GetPublicAccessBlockInput) String() string { 7211 return awsutil.Prettify(s) 7212} 7213 7214// GoString returns the string representation 7215func (s GetPublicAccessBlockInput) GoString() string { 7216 return s.String() 7217} 7218 7219// Validate inspects the fields of the type to determine if they are valid. 7220func (s *GetPublicAccessBlockInput) Validate() error { 7221 invalidParams := request.ErrInvalidParams{Context: "GetPublicAccessBlockInput"} 7222 if s.AccountId == nil { 7223 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7224 } 7225 if s.AccountId != nil && len(*s.AccountId) < 1 { 7226 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7227 } 7228 7229 if invalidParams.Len() > 0 { 7230 return invalidParams 7231 } 7232 return nil 7233} 7234 7235// SetAccountId sets the AccountId field's value. 7236func (s *GetPublicAccessBlockInput) SetAccountId(v string) *GetPublicAccessBlockInput { 7237 s.AccountId = &v 7238 return s 7239} 7240 7241func (s *GetPublicAccessBlockInput) hostLabels() map[string]string { 7242 return map[string]string{ 7243 "AccountId": aws.StringValue(s.AccountId), 7244 } 7245} 7246 7247type GetPublicAccessBlockOutput struct { 7248 _ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"` 7249 7250 // The PublicAccessBlock configuration currently in effect for this AWS account. 7251 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `type:"structure"` 7252} 7253 7254// String returns the string representation 7255func (s GetPublicAccessBlockOutput) String() string { 7256 return awsutil.Prettify(s) 7257} 7258 7259// GoString returns the string representation 7260func (s GetPublicAccessBlockOutput) GoString() string { 7261 return s.String() 7262} 7263 7264// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 7265func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *GetPublicAccessBlockOutput { 7266 s.PublicAccessBlockConfiguration = v 7267 return s 7268} 7269 7270type GetStorageLensConfigurationInput struct { 7271 _ struct{} `locationName:"GetStorageLensConfigurationRequest" type:"structure"` 7272 7273 // The account ID of the requester. 7274 // 7275 // AccountId is a required field 7276 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7277 7278 // The ID of the Amazon S3 Storage Lens configuration. 7279 // 7280 // ConfigId is a required field 7281 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7282} 7283 7284// String returns the string representation 7285func (s GetStorageLensConfigurationInput) String() string { 7286 return awsutil.Prettify(s) 7287} 7288 7289// GoString returns the string representation 7290func (s GetStorageLensConfigurationInput) GoString() string { 7291 return s.String() 7292} 7293 7294// Validate inspects the fields of the type to determine if they are valid. 7295func (s *GetStorageLensConfigurationInput) Validate() error { 7296 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationInput"} 7297 if s.AccountId == nil { 7298 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7299 } 7300 if s.AccountId != nil && len(*s.AccountId) < 1 { 7301 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7302 } 7303 if s.ConfigId == nil { 7304 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7305 } 7306 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7307 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7308 } 7309 7310 if invalidParams.Len() > 0 { 7311 return invalidParams 7312 } 7313 return nil 7314} 7315 7316// SetAccountId sets the AccountId field's value. 7317func (s *GetStorageLensConfigurationInput) SetAccountId(v string) *GetStorageLensConfigurationInput { 7318 s.AccountId = &v 7319 return s 7320} 7321 7322// SetConfigId sets the ConfigId field's value. 7323func (s *GetStorageLensConfigurationInput) SetConfigId(v string) *GetStorageLensConfigurationInput { 7324 s.ConfigId = &v 7325 return s 7326} 7327 7328func (s *GetStorageLensConfigurationInput) hostLabels() map[string]string { 7329 return map[string]string{ 7330 "AccountId": aws.StringValue(s.AccountId), 7331 } 7332} 7333 7334type GetStorageLensConfigurationOutput struct { 7335 _ struct{} `type:"structure" payload:"StorageLensConfiguration"` 7336 7337 // The S3 Storage Lens configuration requested. 7338 StorageLensConfiguration *StorageLensConfiguration `type:"structure"` 7339} 7340 7341// String returns the string representation 7342func (s GetStorageLensConfigurationOutput) String() string { 7343 return awsutil.Prettify(s) 7344} 7345 7346// GoString returns the string representation 7347func (s GetStorageLensConfigurationOutput) GoString() string { 7348 return s.String() 7349} 7350 7351// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 7352func (s *GetStorageLensConfigurationOutput) SetStorageLensConfiguration(v *StorageLensConfiguration) *GetStorageLensConfigurationOutput { 7353 s.StorageLensConfiguration = v 7354 return s 7355} 7356 7357type GetStorageLensConfigurationTaggingInput struct { 7358 _ struct{} `locationName:"GetStorageLensConfigurationTaggingRequest" type:"structure"` 7359 7360 // The account ID of the requester. 7361 // 7362 // AccountId is a required field 7363 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 7364 7365 // The ID of the Amazon S3 Storage Lens configuration. 7366 // 7367 // ConfigId is a required field 7368 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 7369} 7370 7371// String returns the string representation 7372func (s GetStorageLensConfigurationTaggingInput) String() string { 7373 return awsutil.Prettify(s) 7374} 7375 7376// GoString returns the string representation 7377func (s GetStorageLensConfigurationTaggingInput) GoString() string { 7378 return s.String() 7379} 7380 7381// Validate inspects the fields of the type to determine if they are valid. 7382func (s *GetStorageLensConfigurationTaggingInput) Validate() error { 7383 invalidParams := request.ErrInvalidParams{Context: "GetStorageLensConfigurationTaggingInput"} 7384 if s.AccountId == nil { 7385 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7386 } 7387 if s.AccountId != nil && len(*s.AccountId) < 1 { 7388 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7389 } 7390 if s.ConfigId == nil { 7391 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 7392 } 7393 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 7394 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 7395 } 7396 7397 if invalidParams.Len() > 0 { 7398 return invalidParams 7399 } 7400 return nil 7401} 7402 7403// SetAccountId sets the AccountId field's value. 7404func (s *GetStorageLensConfigurationTaggingInput) SetAccountId(v string) *GetStorageLensConfigurationTaggingInput { 7405 s.AccountId = &v 7406 return s 7407} 7408 7409// SetConfigId sets the ConfigId field's value. 7410func (s *GetStorageLensConfigurationTaggingInput) SetConfigId(v string) *GetStorageLensConfigurationTaggingInput { 7411 s.ConfigId = &v 7412 return s 7413} 7414 7415func (s *GetStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 7416 return map[string]string{ 7417 "AccountId": aws.StringValue(s.AccountId), 7418 } 7419} 7420 7421type GetStorageLensConfigurationTaggingOutput struct { 7422 _ struct{} `type:"structure"` 7423 7424 // The tags of S3 Storage Lens configuration requested. 7425 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 7426} 7427 7428// String returns the string representation 7429func (s GetStorageLensConfigurationTaggingOutput) String() string { 7430 return awsutil.Prettify(s) 7431} 7432 7433// GoString returns the string representation 7434func (s GetStorageLensConfigurationTaggingOutput) GoString() string { 7435 return s.String() 7436} 7437 7438// SetTags sets the Tags field's value. 7439func (s *GetStorageLensConfigurationTaggingOutput) SetTags(v []*StorageLensTag) *GetStorageLensConfigurationTaggingOutput { 7440 s.Tags = v 7441 return s 7442} 7443 7444// A container for what Amazon S3 Storage Lens configuration includes. 7445type Include struct { 7446 _ struct{} `type:"structure"` 7447 7448 // A container for the S3 Storage Lens bucket includes. 7449 Buckets []*string `locationNameList:"Arn" type:"list"` 7450 7451 // A container for the S3 Storage Lens Region includes. 7452 Regions []*string `locationNameList:"Region" type:"list"` 7453} 7454 7455// String returns the string representation 7456func (s Include) String() string { 7457 return awsutil.Prettify(s) 7458} 7459 7460// GoString returns the string representation 7461func (s Include) GoString() string { 7462 return s.String() 7463} 7464 7465// SetBuckets sets the Buckets field's value. 7466func (s *Include) SetBuckets(v []*string) *Include { 7467 s.Buckets = v 7468 return s 7469} 7470 7471// SetRegions sets the Regions field's value. 7472func (s *Include) SetRegions(v []*string) *Include { 7473 s.Regions = v 7474 return s 7475} 7476 7477// A container element for the job configuration and status information returned 7478// by a Describe Job request. 7479type JobDescriptor struct { 7480 _ struct{} `type:"structure"` 7481 7482 // Indicates whether confirmation is required before Amazon S3 begins running 7483 // the specified job. Confirmation is required only for jobs created through 7484 // the Amazon S3 console. 7485 ConfirmationRequired *bool `type:"boolean"` 7486 7487 // A timestamp indicating when this job was created. 7488 CreationTime *time.Time `type:"timestamp"` 7489 7490 // The description for this job, if one was provided in this job's Create Job 7491 // request. 7492 Description *string `min:"1" type:"string"` 7493 7494 // If the specified job failed, this field contains information describing the 7495 // failure. 7496 FailureReasons []*JobFailure `type:"list"` 7497 7498 // The Amazon Resource Name (ARN) for this job. 7499 JobArn *string `min:"1" type:"string"` 7500 7501 // The ID for the specified job. 7502 JobId *string `min:"5" type:"string"` 7503 7504 // The configuration information for the specified job's manifest object. 7505 Manifest *JobManifest `type:"structure"` 7506 7507 // The operation that the specified job is configured to run on the objects 7508 // listed in the manifest. 7509 Operation *JobOperation `type:"structure"` 7510 7511 // The priority of the specified job. 7512 Priority *int64 `type:"integer"` 7513 7514 // Describes the total number of tasks that the specified job has run, the number 7515 // of tasks that succeeded, and the number of tasks that failed. 7516 ProgressSummary *JobProgressSummary `type:"structure"` 7517 7518 // Contains the configuration information for the job-completion report if you 7519 // requested one in the Create Job request. 7520 Report *JobReport `type:"structure"` 7521 7522 // The Amazon Resource Name (ARN) for the AWS Identity and Access Management 7523 // (IAM) role assigned to run the tasks for this job. 7524 RoleArn *string `min:"1" type:"string"` 7525 7526 // The current status of the specified job. 7527 Status *string `type:"string" enum:"JobStatus"` 7528 7529 // The reason for updating the job. 7530 StatusUpdateReason *string `min:"1" type:"string"` 7531 7532 // The reason why the specified job was suspended. A job is only suspended if 7533 // you create it through the Amazon S3 console. When you create the job, it 7534 // enters the Suspended state to await confirmation before running. After you 7535 // confirm the job, it automatically exits the Suspended state. 7536 SuspendedCause *string `min:"1" type:"string"` 7537 7538 // The timestamp when this job was suspended, if it has been suspended. 7539 SuspendedDate *time.Time `type:"timestamp"` 7540 7541 // A timestamp indicating when this job terminated. A job's termination date 7542 // is the date and time when it succeeded, failed, or was canceled. 7543 TerminationDate *time.Time `type:"timestamp"` 7544} 7545 7546// String returns the string representation 7547func (s JobDescriptor) String() string { 7548 return awsutil.Prettify(s) 7549} 7550 7551// GoString returns the string representation 7552func (s JobDescriptor) GoString() string { 7553 return s.String() 7554} 7555 7556// SetConfirmationRequired sets the ConfirmationRequired field's value. 7557func (s *JobDescriptor) SetConfirmationRequired(v bool) *JobDescriptor { 7558 s.ConfirmationRequired = &v 7559 return s 7560} 7561 7562// SetCreationTime sets the CreationTime field's value. 7563func (s *JobDescriptor) SetCreationTime(v time.Time) *JobDescriptor { 7564 s.CreationTime = &v 7565 return s 7566} 7567 7568// SetDescription sets the Description field's value. 7569func (s *JobDescriptor) SetDescription(v string) *JobDescriptor { 7570 s.Description = &v 7571 return s 7572} 7573 7574// SetFailureReasons sets the FailureReasons field's value. 7575func (s *JobDescriptor) SetFailureReasons(v []*JobFailure) *JobDescriptor { 7576 s.FailureReasons = v 7577 return s 7578} 7579 7580// SetJobArn sets the JobArn field's value. 7581func (s *JobDescriptor) SetJobArn(v string) *JobDescriptor { 7582 s.JobArn = &v 7583 return s 7584} 7585 7586// SetJobId sets the JobId field's value. 7587func (s *JobDescriptor) SetJobId(v string) *JobDescriptor { 7588 s.JobId = &v 7589 return s 7590} 7591 7592// SetManifest sets the Manifest field's value. 7593func (s *JobDescriptor) SetManifest(v *JobManifest) *JobDescriptor { 7594 s.Manifest = v 7595 return s 7596} 7597 7598// SetOperation sets the Operation field's value. 7599func (s *JobDescriptor) SetOperation(v *JobOperation) *JobDescriptor { 7600 s.Operation = v 7601 return s 7602} 7603 7604// SetPriority sets the Priority field's value. 7605func (s *JobDescriptor) SetPriority(v int64) *JobDescriptor { 7606 s.Priority = &v 7607 return s 7608} 7609 7610// SetProgressSummary sets the ProgressSummary field's value. 7611func (s *JobDescriptor) SetProgressSummary(v *JobProgressSummary) *JobDescriptor { 7612 s.ProgressSummary = v 7613 return s 7614} 7615 7616// SetReport sets the Report field's value. 7617func (s *JobDescriptor) SetReport(v *JobReport) *JobDescriptor { 7618 s.Report = v 7619 return s 7620} 7621 7622// SetRoleArn sets the RoleArn field's value. 7623func (s *JobDescriptor) SetRoleArn(v string) *JobDescriptor { 7624 s.RoleArn = &v 7625 return s 7626} 7627 7628// SetStatus sets the Status field's value. 7629func (s *JobDescriptor) SetStatus(v string) *JobDescriptor { 7630 s.Status = &v 7631 return s 7632} 7633 7634// SetStatusUpdateReason sets the StatusUpdateReason field's value. 7635func (s *JobDescriptor) SetStatusUpdateReason(v string) *JobDescriptor { 7636 s.StatusUpdateReason = &v 7637 return s 7638} 7639 7640// SetSuspendedCause sets the SuspendedCause field's value. 7641func (s *JobDescriptor) SetSuspendedCause(v string) *JobDescriptor { 7642 s.SuspendedCause = &v 7643 return s 7644} 7645 7646// SetSuspendedDate sets the SuspendedDate field's value. 7647func (s *JobDescriptor) SetSuspendedDate(v time.Time) *JobDescriptor { 7648 s.SuspendedDate = &v 7649 return s 7650} 7651 7652// SetTerminationDate sets the TerminationDate field's value. 7653func (s *JobDescriptor) SetTerminationDate(v time.Time) *JobDescriptor { 7654 s.TerminationDate = &v 7655 return s 7656} 7657 7658// If this job failed, this element indicates why the job failed. 7659type JobFailure struct { 7660 _ struct{} `type:"structure"` 7661 7662 // The failure code, if any, for the specified job. 7663 FailureCode *string `min:"1" type:"string"` 7664 7665 // The failure reason, if any, for the specified job. 7666 FailureReason *string `min:"1" type:"string"` 7667} 7668 7669// String returns the string representation 7670func (s JobFailure) String() string { 7671 return awsutil.Prettify(s) 7672} 7673 7674// GoString returns the string representation 7675func (s JobFailure) GoString() string { 7676 return s.String() 7677} 7678 7679// SetFailureCode sets the FailureCode field's value. 7680func (s *JobFailure) SetFailureCode(v string) *JobFailure { 7681 s.FailureCode = &v 7682 return s 7683} 7684 7685// SetFailureReason sets the FailureReason field's value. 7686func (s *JobFailure) SetFailureReason(v string) *JobFailure { 7687 s.FailureReason = &v 7688 return s 7689} 7690 7691// Contains the configuration and status information for a single job retrieved 7692// as part of a job list. 7693type JobListDescriptor struct { 7694 _ struct{} `type:"structure"` 7695 7696 // A timestamp indicating when the specified job was created. 7697 CreationTime *time.Time `type:"timestamp"` 7698 7699 // The user-specified description that was included in the specified job's Create 7700 // Job request. 7701 Description *string `min:"1" type:"string"` 7702 7703 // The ID for the specified job. 7704 JobId *string `min:"5" type:"string"` 7705 7706 // The operation that the specified job is configured to run on every object 7707 // listed in the manifest. 7708 Operation *string `type:"string" enum:"OperationName"` 7709 7710 // The current priority for the specified job. 7711 Priority *int64 `type:"integer"` 7712 7713 // Describes the total number of tasks that the specified job has run, the number 7714 // of tasks that succeeded, and the number of tasks that failed. 7715 ProgressSummary *JobProgressSummary `type:"structure"` 7716 7717 // The specified job's current status. 7718 Status *string `type:"string" enum:"JobStatus"` 7719 7720 // A timestamp indicating when the specified job terminated. A job's termination 7721 // date is the date and time when it succeeded, failed, or was canceled. 7722 TerminationDate *time.Time `type:"timestamp"` 7723} 7724 7725// String returns the string representation 7726func (s JobListDescriptor) String() string { 7727 return awsutil.Prettify(s) 7728} 7729 7730// GoString returns the string representation 7731func (s JobListDescriptor) GoString() string { 7732 return s.String() 7733} 7734 7735// SetCreationTime sets the CreationTime field's value. 7736func (s *JobListDescriptor) SetCreationTime(v time.Time) *JobListDescriptor { 7737 s.CreationTime = &v 7738 return s 7739} 7740 7741// SetDescription sets the Description field's value. 7742func (s *JobListDescriptor) SetDescription(v string) *JobListDescriptor { 7743 s.Description = &v 7744 return s 7745} 7746 7747// SetJobId sets the JobId field's value. 7748func (s *JobListDescriptor) SetJobId(v string) *JobListDescriptor { 7749 s.JobId = &v 7750 return s 7751} 7752 7753// SetOperation sets the Operation field's value. 7754func (s *JobListDescriptor) SetOperation(v string) *JobListDescriptor { 7755 s.Operation = &v 7756 return s 7757} 7758 7759// SetPriority sets the Priority field's value. 7760func (s *JobListDescriptor) SetPriority(v int64) *JobListDescriptor { 7761 s.Priority = &v 7762 return s 7763} 7764 7765// SetProgressSummary sets the ProgressSummary field's value. 7766func (s *JobListDescriptor) SetProgressSummary(v *JobProgressSummary) *JobListDescriptor { 7767 s.ProgressSummary = v 7768 return s 7769} 7770 7771// SetStatus sets the Status field's value. 7772func (s *JobListDescriptor) SetStatus(v string) *JobListDescriptor { 7773 s.Status = &v 7774 return s 7775} 7776 7777// SetTerminationDate sets the TerminationDate field's value. 7778func (s *JobListDescriptor) SetTerminationDate(v time.Time) *JobListDescriptor { 7779 s.TerminationDate = &v 7780 return s 7781} 7782 7783// Contains the configuration information for a job's manifest. 7784type JobManifest struct { 7785 _ struct{} `type:"structure"` 7786 7787 // Contains the information required to locate the specified job's manifest. 7788 // 7789 // Location is a required field 7790 Location *JobManifestLocation `type:"structure" required:"true"` 7791 7792 // Describes the format of the specified job's manifest. If the manifest is 7793 // in CSV format, also describes the columns contained within the manifest. 7794 // 7795 // Spec is a required field 7796 Spec *JobManifestSpec `type:"structure" required:"true"` 7797} 7798 7799// String returns the string representation 7800func (s JobManifest) String() string { 7801 return awsutil.Prettify(s) 7802} 7803 7804// GoString returns the string representation 7805func (s JobManifest) GoString() string { 7806 return s.String() 7807} 7808 7809// Validate inspects the fields of the type to determine if they are valid. 7810func (s *JobManifest) Validate() error { 7811 invalidParams := request.ErrInvalidParams{Context: "JobManifest"} 7812 if s.Location == nil { 7813 invalidParams.Add(request.NewErrParamRequired("Location")) 7814 } 7815 if s.Spec == nil { 7816 invalidParams.Add(request.NewErrParamRequired("Spec")) 7817 } 7818 if s.Location != nil { 7819 if err := s.Location.Validate(); err != nil { 7820 invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) 7821 } 7822 } 7823 if s.Spec != nil { 7824 if err := s.Spec.Validate(); err != nil { 7825 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7826 } 7827 } 7828 7829 if invalidParams.Len() > 0 { 7830 return invalidParams 7831 } 7832 return nil 7833} 7834 7835// SetLocation sets the Location field's value. 7836func (s *JobManifest) SetLocation(v *JobManifestLocation) *JobManifest { 7837 s.Location = v 7838 return s 7839} 7840 7841// SetSpec sets the Spec field's value. 7842func (s *JobManifest) SetSpec(v *JobManifestSpec) *JobManifest { 7843 s.Spec = v 7844 return s 7845} 7846 7847// Contains the information required to locate a manifest object. 7848type JobManifestLocation struct { 7849 _ struct{} `type:"structure"` 7850 7851 // The ETag for the specified manifest object. 7852 // 7853 // ETag is a required field 7854 ETag *string `min:"1" type:"string" required:"true"` 7855 7856 // The Amazon Resource Name (ARN) for a manifest object. 7857 // 7858 // ObjectArn is a required field 7859 ObjectArn *string `min:"1" type:"string" required:"true"` 7860 7861 // The optional version ID to identify a specific version of the manifest object. 7862 ObjectVersionId *string `min:"1" type:"string"` 7863} 7864 7865// String returns the string representation 7866func (s JobManifestLocation) String() string { 7867 return awsutil.Prettify(s) 7868} 7869 7870// GoString returns the string representation 7871func (s JobManifestLocation) GoString() string { 7872 return s.String() 7873} 7874 7875// Validate inspects the fields of the type to determine if they are valid. 7876func (s *JobManifestLocation) Validate() error { 7877 invalidParams := request.ErrInvalidParams{Context: "JobManifestLocation"} 7878 if s.ETag == nil { 7879 invalidParams.Add(request.NewErrParamRequired("ETag")) 7880 } 7881 if s.ETag != nil && len(*s.ETag) < 1 { 7882 invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) 7883 } 7884 if s.ObjectArn == nil { 7885 invalidParams.Add(request.NewErrParamRequired("ObjectArn")) 7886 } 7887 if s.ObjectArn != nil && len(*s.ObjectArn) < 1 { 7888 invalidParams.Add(request.NewErrParamMinLen("ObjectArn", 1)) 7889 } 7890 if s.ObjectVersionId != nil && len(*s.ObjectVersionId) < 1 { 7891 invalidParams.Add(request.NewErrParamMinLen("ObjectVersionId", 1)) 7892 } 7893 7894 if invalidParams.Len() > 0 { 7895 return invalidParams 7896 } 7897 return nil 7898} 7899 7900// SetETag sets the ETag field's value. 7901func (s *JobManifestLocation) SetETag(v string) *JobManifestLocation { 7902 s.ETag = &v 7903 return s 7904} 7905 7906// SetObjectArn sets the ObjectArn field's value. 7907func (s *JobManifestLocation) SetObjectArn(v string) *JobManifestLocation { 7908 s.ObjectArn = &v 7909 return s 7910} 7911 7912// SetObjectVersionId sets the ObjectVersionId field's value. 7913func (s *JobManifestLocation) SetObjectVersionId(v string) *JobManifestLocation { 7914 s.ObjectVersionId = &v 7915 return s 7916} 7917 7918// Describes the format of a manifest. If the manifest is in CSV format, also 7919// describes the columns contained within the manifest. 7920type JobManifestSpec struct { 7921 _ struct{} `type:"structure"` 7922 7923 // If the specified manifest object is in the S3BatchOperations_CSV_20180820 7924 // format, this element describes which columns contain the required data. 7925 Fields []*string `type:"list"` 7926 7927 // Indicates which of the available formats the specified manifest uses. 7928 // 7929 // Format is a required field 7930 Format *string `type:"string" required:"true" enum:"JobManifestFormat"` 7931} 7932 7933// String returns the string representation 7934func (s JobManifestSpec) String() string { 7935 return awsutil.Prettify(s) 7936} 7937 7938// GoString returns the string representation 7939func (s JobManifestSpec) GoString() string { 7940 return s.String() 7941} 7942 7943// Validate inspects the fields of the type to determine if they are valid. 7944func (s *JobManifestSpec) Validate() error { 7945 invalidParams := request.ErrInvalidParams{Context: "JobManifestSpec"} 7946 if s.Format == nil { 7947 invalidParams.Add(request.NewErrParamRequired("Format")) 7948 } 7949 7950 if invalidParams.Len() > 0 { 7951 return invalidParams 7952 } 7953 return nil 7954} 7955 7956// SetFields sets the Fields field's value. 7957func (s *JobManifestSpec) SetFields(v []*string) *JobManifestSpec { 7958 s.Fields = v 7959 return s 7960} 7961 7962// SetFormat sets the Format field's value. 7963func (s *JobManifestSpec) SetFormat(v string) *JobManifestSpec { 7964 s.Format = &v 7965 return s 7966} 7967 7968// The operation that you want this job to perform on every object listed in 7969// the manifest. For more information about the available operations, see Operations 7970// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) 7971// in the Amazon Simple Storage Service Developer Guide. 7972type JobOperation struct { 7973 _ struct{} `type:"structure"` 7974 7975 // Directs the specified job to invoke an AWS Lambda function on every object 7976 // in the manifest. 7977 LambdaInvoke *LambdaInvokeOperation `type:"structure"` 7978 7979 // Directs the specified job to initiate restore requests for every archived 7980 // object in the manifest. 7981 S3InitiateRestoreObject *S3InitiateRestoreObjectOperation `type:"structure"` 7982 7983 // Directs the specified job to run a PUT Object acl call on every object in 7984 // the manifest. 7985 S3PutObjectAcl *S3SetObjectAclOperation `type:"structure"` 7986 7987 // Directs the specified job to run a PUT Copy object call on every object in 7988 // the manifest. 7989 S3PutObjectCopy *S3CopyObjectOperation `type:"structure"` 7990 7991 // Contains the configuration for an S3 Object Lock legal hold operation that 7992 // an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 7993 // API. For more information, see Using S3 Object Lock legal hold with S3 Batch 7994 // Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 7995 // in the Amazon Simple Storage Service Developer Guide. 7996 S3PutObjectLegalHold *S3SetObjectLegalHoldOperation `type:"structure"` 7997 7998 // Contains the configuration parameters for the Object Lock retention action 7999 // for an S3 Batch Operations job. Batch Operations passes every object to the 8000 // underlying PutObjectRetention API. For more information, see Using S3 Object 8001 // Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 8002 // in the Amazon Simple Storage Service Developer Guide. 8003 S3PutObjectRetention *S3SetObjectRetentionOperation `type:"structure"` 8004 8005 // Directs the specified job to run a PUT Object tagging call on every object 8006 // in the manifest. 8007 S3PutObjectTagging *S3SetObjectTaggingOperation `type:"structure"` 8008} 8009 8010// String returns the string representation 8011func (s JobOperation) String() string { 8012 return awsutil.Prettify(s) 8013} 8014 8015// GoString returns the string representation 8016func (s JobOperation) GoString() string { 8017 return s.String() 8018} 8019 8020// Validate inspects the fields of the type to determine if they are valid. 8021func (s *JobOperation) Validate() error { 8022 invalidParams := request.ErrInvalidParams{Context: "JobOperation"} 8023 if s.LambdaInvoke != nil { 8024 if err := s.LambdaInvoke.Validate(); err != nil { 8025 invalidParams.AddNested("LambdaInvoke", err.(request.ErrInvalidParams)) 8026 } 8027 } 8028 if s.S3PutObjectAcl != nil { 8029 if err := s.S3PutObjectAcl.Validate(); err != nil { 8030 invalidParams.AddNested("S3PutObjectAcl", err.(request.ErrInvalidParams)) 8031 } 8032 } 8033 if s.S3PutObjectCopy != nil { 8034 if err := s.S3PutObjectCopy.Validate(); err != nil { 8035 invalidParams.AddNested("S3PutObjectCopy", err.(request.ErrInvalidParams)) 8036 } 8037 } 8038 if s.S3PutObjectLegalHold != nil { 8039 if err := s.S3PutObjectLegalHold.Validate(); err != nil { 8040 invalidParams.AddNested("S3PutObjectLegalHold", err.(request.ErrInvalidParams)) 8041 } 8042 } 8043 if s.S3PutObjectRetention != nil { 8044 if err := s.S3PutObjectRetention.Validate(); err != nil { 8045 invalidParams.AddNested("S3PutObjectRetention", err.(request.ErrInvalidParams)) 8046 } 8047 } 8048 if s.S3PutObjectTagging != nil { 8049 if err := s.S3PutObjectTagging.Validate(); err != nil { 8050 invalidParams.AddNested("S3PutObjectTagging", err.(request.ErrInvalidParams)) 8051 } 8052 } 8053 8054 if invalidParams.Len() > 0 { 8055 return invalidParams 8056 } 8057 return nil 8058} 8059 8060// SetLambdaInvoke sets the LambdaInvoke field's value. 8061func (s *JobOperation) SetLambdaInvoke(v *LambdaInvokeOperation) *JobOperation { 8062 s.LambdaInvoke = v 8063 return s 8064} 8065 8066// SetS3InitiateRestoreObject sets the S3InitiateRestoreObject field's value. 8067func (s *JobOperation) SetS3InitiateRestoreObject(v *S3InitiateRestoreObjectOperation) *JobOperation { 8068 s.S3InitiateRestoreObject = v 8069 return s 8070} 8071 8072// SetS3PutObjectAcl sets the S3PutObjectAcl field's value. 8073func (s *JobOperation) SetS3PutObjectAcl(v *S3SetObjectAclOperation) *JobOperation { 8074 s.S3PutObjectAcl = v 8075 return s 8076} 8077 8078// SetS3PutObjectCopy sets the S3PutObjectCopy field's value. 8079func (s *JobOperation) SetS3PutObjectCopy(v *S3CopyObjectOperation) *JobOperation { 8080 s.S3PutObjectCopy = v 8081 return s 8082} 8083 8084// SetS3PutObjectLegalHold sets the S3PutObjectLegalHold field's value. 8085func (s *JobOperation) SetS3PutObjectLegalHold(v *S3SetObjectLegalHoldOperation) *JobOperation { 8086 s.S3PutObjectLegalHold = v 8087 return s 8088} 8089 8090// SetS3PutObjectRetention sets the S3PutObjectRetention field's value. 8091func (s *JobOperation) SetS3PutObjectRetention(v *S3SetObjectRetentionOperation) *JobOperation { 8092 s.S3PutObjectRetention = v 8093 return s 8094} 8095 8096// SetS3PutObjectTagging sets the S3PutObjectTagging field's value. 8097func (s *JobOperation) SetS3PutObjectTagging(v *S3SetObjectTaggingOperation) *JobOperation { 8098 s.S3PutObjectTagging = v 8099 return s 8100} 8101 8102// Describes the total number of tasks that the specified job has started, the 8103// number of tasks that succeeded, and the number of tasks that failed. 8104type JobProgressSummary struct { 8105 _ struct{} `type:"structure"` 8106 8107 NumberOfTasksFailed *int64 `type:"long"` 8108 8109 NumberOfTasksSucceeded *int64 `type:"long"` 8110 8111 TotalNumberOfTasks *int64 `type:"long"` 8112} 8113 8114// String returns the string representation 8115func (s JobProgressSummary) String() string { 8116 return awsutil.Prettify(s) 8117} 8118 8119// GoString returns the string representation 8120func (s JobProgressSummary) GoString() string { 8121 return s.String() 8122} 8123 8124// SetNumberOfTasksFailed sets the NumberOfTasksFailed field's value. 8125func (s *JobProgressSummary) SetNumberOfTasksFailed(v int64) *JobProgressSummary { 8126 s.NumberOfTasksFailed = &v 8127 return s 8128} 8129 8130// SetNumberOfTasksSucceeded sets the NumberOfTasksSucceeded field's value. 8131func (s *JobProgressSummary) SetNumberOfTasksSucceeded(v int64) *JobProgressSummary { 8132 s.NumberOfTasksSucceeded = &v 8133 return s 8134} 8135 8136// SetTotalNumberOfTasks sets the TotalNumberOfTasks field's value. 8137func (s *JobProgressSummary) SetTotalNumberOfTasks(v int64) *JobProgressSummary { 8138 s.TotalNumberOfTasks = &v 8139 return s 8140} 8141 8142// Contains the configuration parameters for a job-completion report. 8143type JobReport struct { 8144 _ struct{} `type:"structure"` 8145 8146 // The Amazon Resource Name (ARN) for the bucket where specified job-completion 8147 // report will be stored. 8148 Bucket *string `min:"1" type:"string"` 8149 8150 // Indicates whether the specified job will generate a job-completion report. 8151 // 8152 // Enabled is a required field 8153 Enabled *bool `type:"boolean" required:"true"` 8154 8155 // The format of the specified job-completion report. 8156 Format *string `type:"string" enum:"JobReportFormat"` 8157 8158 // An optional prefix to describe where in the specified bucket the job-completion 8159 // report will be stored. Amazon S3 stores the job-completion report at <prefix>/job-<job-id>/report.json. 8160 Prefix *string `min:"1" type:"string"` 8161 8162 // Indicates whether the job-completion report will include details of all tasks 8163 // or only failed tasks. 8164 ReportScope *string `type:"string" enum:"JobReportScope"` 8165} 8166 8167// String returns the string representation 8168func (s JobReport) String() string { 8169 return awsutil.Prettify(s) 8170} 8171 8172// GoString returns the string representation 8173func (s JobReport) GoString() string { 8174 return s.String() 8175} 8176 8177// Validate inspects the fields of the type to determine if they are valid. 8178func (s *JobReport) Validate() error { 8179 invalidParams := request.ErrInvalidParams{Context: "JobReport"} 8180 if s.Bucket != nil && len(*s.Bucket) < 1 { 8181 invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) 8182 } 8183 if s.Enabled == nil { 8184 invalidParams.Add(request.NewErrParamRequired("Enabled")) 8185 } 8186 if s.Prefix != nil && len(*s.Prefix) < 1 { 8187 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 8188 } 8189 8190 if invalidParams.Len() > 0 { 8191 return invalidParams 8192 } 8193 return nil 8194} 8195 8196// SetBucket sets the Bucket field's value. 8197func (s *JobReport) SetBucket(v string) *JobReport { 8198 s.Bucket = &v 8199 return s 8200} 8201 8202// SetEnabled sets the Enabled field's value. 8203func (s *JobReport) SetEnabled(v bool) *JobReport { 8204 s.Enabled = &v 8205 return s 8206} 8207 8208// SetFormat sets the Format field's value. 8209func (s *JobReport) SetFormat(v string) *JobReport { 8210 s.Format = &v 8211 return s 8212} 8213 8214// SetPrefix sets the Prefix field's value. 8215func (s *JobReport) SetPrefix(v string) *JobReport { 8216 s.Prefix = &v 8217 return s 8218} 8219 8220// SetReportScope sets the ReportScope field's value. 8221func (s *JobReport) SetReportScope(v string) *JobReport { 8222 s.ReportScope = &v 8223 return s 8224} 8225 8226// Contains the configuration parameters for a Lambda Invoke operation. 8227type LambdaInvokeOperation struct { 8228 _ struct{} `type:"structure"` 8229 8230 // The Amazon Resource Name (ARN) for the AWS Lambda function that the specified 8231 // job will invoke on every object in the manifest. 8232 FunctionArn *string `min:"1" type:"string"` 8233} 8234 8235// String returns the string representation 8236func (s LambdaInvokeOperation) String() string { 8237 return awsutil.Prettify(s) 8238} 8239 8240// GoString returns the string representation 8241func (s LambdaInvokeOperation) GoString() string { 8242 return s.String() 8243} 8244 8245// Validate inspects the fields of the type to determine if they are valid. 8246func (s *LambdaInvokeOperation) Validate() error { 8247 invalidParams := request.ErrInvalidParams{Context: "LambdaInvokeOperation"} 8248 if s.FunctionArn != nil && len(*s.FunctionArn) < 1 { 8249 invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1)) 8250 } 8251 8252 if invalidParams.Len() > 0 { 8253 return invalidParams 8254 } 8255 return nil 8256} 8257 8258// SetFunctionArn sets the FunctionArn field's value. 8259func (s *LambdaInvokeOperation) SetFunctionArn(v string) *LambdaInvokeOperation { 8260 s.FunctionArn = &v 8261 return s 8262} 8263 8264// The container for the Outposts bucket lifecycle configuration. 8265type LifecycleConfiguration struct { 8266 _ struct{} `type:"structure"` 8267 8268 // A lifecycle rule for individual objects in an Outposts bucket. 8269 Rules []*LifecycleRule `locationNameList:"Rule" type:"list"` 8270} 8271 8272// String returns the string representation 8273func (s LifecycleConfiguration) String() string { 8274 return awsutil.Prettify(s) 8275} 8276 8277// GoString returns the string representation 8278func (s LifecycleConfiguration) GoString() string { 8279 return s.String() 8280} 8281 8282// Validate inspects the fields of the type to determine if they are valid. 8283func (s *LifecycleConfiguration) Validate() error { 8284 invalidParams := request.ErrInvalidParams{Context: "LifecycleConfiguration"} 8285 if s.Rules != nil { 8286 for i, v := range s.Rules { 8287 if v == nil { 8288 continue 8289 } 8290 if err := v.Validate(); err != nil { 8291 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 8292 } 8293 } 8294 } 8295 8296 if invalidParams.Len() > 0 { 8297 return invalidParams 8298 } 8299 return nil 8300} 8301 8302// SetRules sets the Rules field's value. 8303func (s *LifecycleConfiguration) SetRules(v []*LifecycleRule) *LifecycleConfiguration { 8304 s.Rules = v 8305 return s 8306} 8307 8308// The container of the Outposts bucket lifecycle expiration. 8309type LifecycleExpiration struct { 8310 _ struct{} `type:"structure"` 8311 8312 // Indicates at what date the object is to be deleted. Should be in GMT ISO 8313 // 8601 format. 8314 Date *time.Time `type:"timestamp"` 8315 8316 // Indicates the lifetime, in days, of the objects that are subject to the rule. 8317 // The value must be a non-zero positive integer. 8318 Days *int64 `type:"integer"` 8319 8320 // Indicates whether Amazon S3 will remove a delete marker with no noncurrent 8321 // versions. If set to true, the delete marker will be expired. If set to false, 8322 // the policy takes no action. This cannot be specified with Days or Date in 8323 // a Lifecycle Expiration Policy. 8324 ExpiredObjectDeleteMarker *bool `type:"boolean"` 8325} 8326 8327// String returns the string representation 8328func (s LifecycleExpiration) String() string { 8329 return awsutil.Prettify(s) 8330} 8331 8332// GoString returns the string representation 8333func (s LifecycleExpiration) GoString() string { 8334 return s.String() 8335} 8336 8337// SetDate sets the Date field's value. 8338func (s *LifecycleExpiration) SetDate(v time.Time) *LifecycleExpiration { 8339 s.Date = &v 8340 return s 8341} 8342 8343// SetDays sets the Days field's value. 8344func (s *LifecycleExpiration) SetDays(v int64) *LifecycleExpiration { 8345 s.Days = &v 8346 return s 8347} 8348 8349// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value. 8350func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExpiration { 8351 s.ExpiredObjectDeleteMarker = &v 8352 return s 8353} 8354 8355// The container for the Outposts bucket lifecycle rule. 8356type LifecycleRule struct { 8357 _ struct{} `type:"structure"` 8358 8359 // Specifies the days since the initiation of an incomplete multipart upload 8360 // that Amazon S3 waits before permanently removing all parts of the upload. 8361 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket 8362 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) 8363 // in the Amazon Simple Storage Service Developer Guide. 8364 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 8365 8366 // Specifies the expiration for the lifecycle of the object in the form of date, 8367 // days and, whether the object has a delete marker. 8368 Expiration *LifecycleExpiration `type:"structure"` 8369 8370 // The container for the filter of lifecycle rule. 8371 Filter *LifecycleRuleFilter `type:"structure"` 8372 8373 // Unique identifier for the rule. The value cannot be longer than 255 characters. 8374 ID *string `type:"string"` 8375 8376 // The noncurrent version expiration of the lifecycle rule. 8377 // 8378 // This is not supported by Amazon S3 on Outposts buckets. 8379 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 8380 8381 // Specifies the transition rule for the lifecycle rule that describes when 8382 // noncurrent objects transition to a specific storage class. If your bucket 8383 // is versioning-enabled (or versioning is suspended), you can set this action 8384 // to request that Amazon S3 transition noncurrent object versions to a specific 8385 // storage class at a set period in the object's lifetime. 8386 // 8387 // This is not supported by Amazon S3 on Outposts buckets. 8388 NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationNameList:"NoncurrentVersionTransition" type:"list"` 8389 8390 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 8391 // is not currently being applied. 8392 // 8393 // Status is a required field 8394 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 8395 8396 // Specifies when an Amazon S3 object transitions to a specified storage class. 8397 // 8398 // This is not supported by Amazon S3 on Outposts buckets. 8399 Transitions []*Transition `locationNameList:"Transition" type:"list"` 8400} 8401 8402// String returns the string representation 8403func (s LifecycleRule) String() string { 8404 return awsutil.Prettify(s) 8405} 8406 8407// GoString returns the string representation 8408func (s LifecycleRule) GoString() string { 8409 return s.String() 8410} 8411 8412// Validate inspects the fields of the type to determine if they are valid. 8413func (s *LifecycleRule) Validate() error { 8414 invalidParams := request.ErrInvalidParams{Context: "LifecycleRule"} 8415 if s.Status == nil { 8416 invalidParams.Add(request.NewErrParamRequired("Status")) 8417 } 8418 if s.Filter != nil { 8419 if err := s.Filter.Validate(); err != nil { 8420 invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) 8421 } 8422 } 8423 8424 if invalidParams.Len() > 0 { 8425 return invalidParams 8426 } 8427 return nil 8428} 8429 8430// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value. 8431func (s *LifecycleRule) SetAbortIncompleteMultipartUpload(v *AbortIncompleteMultipartUpload) *LifecycleRule { 8432 s.AbortIncompleteMultipartUpload = v 8433 return s 8434} 8435 8436// SetExpiration sets the Expiration field's value. 8437func (s *LifecycleRule) SetExpiration(v *LifecycleExpiration) *LifecycleRule { 8438 s.Expiration = v 8439 return s 8440} 8441 8442// SetFilter sets the Filter field's value. 8443func (s *LifecycleRule) SetFilter(v *LifecycleRuleFilter) *LifecycleRule { 8444 s.Filter = v 8445 return s 8446} 8447 8448// SetID sets the ID field's value. 8449func (s *LifecycleRule) SetID(v string) *LifecycleRule { 8450 s.ID = &v 8451 return s 8452} 8453 8454// SetNoncurrentVersionExpiration sets the NoncurrentVersionExpiration field's value. 8455func (s *LifecycleRule) SetNoncurrentVersionExpiration(v *NoncurrentVersionExpiration) *LifecycleRule { 8456 s.NoncurrentVersionExpiration = v 8457 return s 8458} 8459 8460// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value. 8461func (s *LifecycleRule) SetNoncurrentVersionTransitions(v []*NoncurrentVersionTransition) *LifecycleRule { 8462 s.NoncurrentVersionTransitions = v 8463 return s 8464} 8465 8466// SetStatus sets the Status field's value. 8467func (s *LifecycleRule) SetStatus(v string) *LifecycleRule { 8468 s.Status = &v 8469 return s 8470} 8471 8472// SetTransitions sets the Transitions field's value. 8473func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule { 8474 s.Transitions = v 8475 return s 8476} 8477 8478// The container for the Outposts bucket lifecycle rule and operator. 8479type LifecycleRuleAndOperator struct { 8480 _ struct{} `type:"structure"` 8481 8482 // Prefix identifying one or more objects to which the rule applies. 8483 Prefix *string `type:"string"` 8484 8485 // All of these tags must exist in the object's tag set in order for the rule 8486 // to apply. 8487 Tags []*S3Tag `type:"list"` 8488} 8489 8490// String returns the string representation 8491func (s LifecycleRuleAndOperator) String() string { 8492 return awsutil.Prettify(s) 8493} 8494 8495// GoString returns the string representation 8496func (s LifecycleRuleAndOperator) GoString() string { 8497 return s.String() 8498} 8499 8500// Validate inspects the fields of the type to determine if they are valid. 8501func (s *LifecycleRuleAndOperator) Validate() error { 8502 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleAndOperator"} 8503 if s.Tags != nil { 8504 for i, v := range s.Tags { 8505 if v == nil { 8506 continue 8507 } 8508 if err := v.Validate(); err != nil { 8509 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8510 } 8511 } 8512 } 8513 8514 if invalidParams.Len() > 0 { 8515 return invalidParams 8516 } 8517 return nil 8518} 8519 8520// SetPrefix sets the Prefix field's value. 8521func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator { 8522 s.Prefix = &v 8523 return s 8524} 8525 8526// SetTags sets the Tags field's value. 8527func (s *LifecycleRuleAndOperator) SetTags(v []*S3Tag) *LifecycleRuleAndOperator { 8528 s.Tags = v 8529 return s 8530} 8531 8532// The container for the filter of the lifecycle rule. 8533type LifecycleRuleFilter struct { 8534 _ struct{} `type:"structure"` 8535 8536 // The container for the AND condition for the lifecycle rule. 8537 And *LifecycleRuleAndOperator `type:"structure"` 8538 8539 // Prefix identifying one or more objects to which the rule applies. 8540 Prefix *string `type:"string"` 8541 8542 Tag *S3Tag `type:"structure"` 8543} 8544 8545// String returns the string representation 8546func (s LifecycleRuleFilter) String() string { 8547 return awsutil.Prettify(s) 8548} 8549 8550// GoString returns the string representation 8551func (s LifecycleRuleFilter) GoString() string { 8552 return s.String() 8553} 8554 8555// Validate inspects the fields of the type to determine if they are valid. 8556func (s *LifecycleRuleFilter) Validate() error { 8557 invalidParams := request.ErrInvalidParams{Context: "LifecycleRuleFilter"} 8558 if s.And != nil { 8559 if err := s.And.Validate(); err != nil { 8560 invalidParams.AddNested("And", err.(request.ErrInvalidParams)) 8561 } 8562 } 8563 if s.Tag != nil { 8564 if err := s.Tag.Validate(); err != nil { 8565 invalidParams.AddNested("Tag", err.(request.ErrInvalidParams)) 8566 } 8567 } 8568 8569 if invalidParams.Len() > 0 { 8570 return invalidParams 8571 } 8572 return nil 8573} 8574 8575// SetAnd sets the And field's value. 8576func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRuleFilter { 8577 s.And = v 8578 return s 8579} 8580 8581// SetPrefix sets the Prefix field's value. 8582func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter { 8583 s.Prefix = &v 8584 return s 8585} 8586 8587// SetTag sets the Tag field's value. 8588func (s *LifecycleRuleFilter) SetTag(v *S3Tag) *LifecycleRuleFilter { 8589 s.Tag = v 8590 return s 8591} 8592 8593type ListAccessPointsInput struct { 8594 _ struct{} `locationName:"ListAccessPointsRequest" type:"structure"` 8595 8596 // The AWS account ID for owner of the bucket whose access points you want to 8597 // list. 8598 // 8599 // AccountId is a required field 8600 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8601 8602 // The name of the bucket whose associated access points you want to list. 8603 // 8604 // For using this parameter with Amazon S3 on Outposts with the REST API, you 8605 // must specify the name and the x-amz-outpost-id as well. 8606 // 8607 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 8608 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 8609 // For example, to access the bucket reports through outpost my-outpost owned 8610 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 8611 // The value must be URL encoded. 8612 Bucket *string `location:"querystring" locationName:"bucket" min:"3" type:"string"` 8613 8614 // The maximum number of access points that you want to include in the list. 8615 // If the specified bucket has more than this number of access points, then 8616 // the response will include a continuation token in the NextToken field that 8617 // you can use to retrieve the next page of access points. 8618 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 8619 8620 // A continuation token. If a previous call to ListAccessPoints returned a continuation 8621 // token in the NextToken field, then providing that value here causes Amazon 8622 // S3 to retrieve the next page of results. 8623 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 8624} 8625 8626// String returns the string representation 8627func (s ListAccessPointsInput) String() string { 8628 return awsutil.Prettify(s) 8629} 8630 8631// GoString returns the string representation 8632func (s ListAccessPointsInput) GoString() string { 8633 return s.String() 8634} 8635 8636// Validate inspects the fields of the type to determine if they are valid. 8637func (s *ListAccessPointsInput) Validate() error { 8638 invalidParams := request.ErrInvalidParams{Context: "ListAccessPointsInput"} 8639 if s.AccountId == nil { 8640 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8641 } 8642 if s.AccountId != nil && len(*s.AccountId) < 1 { 8643 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8644 } 8645 if s.Bucket != nil && len(*s.Bucket) < 3 { 8646 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8647 } 8648 if s.NextToken != nil && len(*s.NextToken) < 1 { 8649 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 8650 } 8651 8652 if invalidParams.Len() > 0 { 8653 return invalidParams 8654 } 8655 return nil 8656} 8657 8658// SetAccountId sets the AccountId field's value. 8659func (s *ListAccessPointsInput) SetAccountId(v string) *ListAccessPointsInput { 8660 s.AccountId = &v 8661 return s 8662} 8663 8664// SetBucket sets the Bucket field's value. 8665func (s *ListAccessPointsInput) SetBucket(v string) *ListAccessPointsInput { 8666 s.Bucket = &v 8667 return s 8668} 8669 8670// SetMaxResults sets the MaxResults field's value. 8671func (s *ListAccessPointsInput) SetMaxResults(v int64) *ListAccessPointsInput { 8672 s.MaxResults = &v 8673 return s 8674} 8675 8676// SetNextToken sets the NextToken field's value. 8677func (s *ListAccessPointsInput) SetNextToken(v string) *ListAccessPointsInput { 8678 s.NextToken = &v 8679 return s 8680} 8681 8682func (s *ListAccessPointsInput) hostLabels() map[string]string { 8683 return map[string]string{ 8684 "AccountId": aws.StringValue(s.AccountId), 8685 } 8686} 8687 8688func (s *ListAccessPointsInput) getEndpointARN() (arn.Resource, error) { 8689 if s.Bucket == nil { 8690 return nil, fmt.Errorf("member Bucket is nil") 8691 } 8692 return parseEndpointARN(*s.Bucket) 8693} 8694 8695func (s *ListAccessPointsInput) hasEndpointARN() bool { 8696 if s.Bucket == nil { 8697 return false 8698 } 8699 return arn.IsARN(*s.Bucket) 8700} 8701 8702// updateArnableField updates the value of the input field that 8703// takes an ARN as an input. This method is useful to backfill 8704// the parsed resource name from ARN into the input member. 8705// It returns a pointer to a modified copy of input and an error. 8706// Note that original input is not modified. 8707func (s ListAccessPointsInput) updateArnableField(v string) (interface{}, error) { 8708 if s.Bucket == nil { 8709 return nil, fmt.Errorf("member Bucket is nil") 8710 } 8711 s.Bucket = aws.String(v) 8712 return &s, nil 8713} 8714 8715// updateAccountID returns a pointer to a modified copy of input, 8716// if account id is not provided, we update the account id in modified input 8717// if account id is provided, but doesn't match with the one in ARN, we throw an error 8718// if account id is not updated, we return nil. Note that original input is not modified. 8719func (s ListAccessPointsInput) updateAccountID(accountId string) (interface{}, error) { 8720 if s.AccountId == nil { 8721 s.AccountId = aws.String(accountId) 8722 return &s, nil 8723 } else if *s.AccountId != accountId { 8724 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 8725 } 8726 return nil, nil 8727} 8728 8729type ListAccessPointsOutput struct { 8730 _ struct{} `type:"structure"` 8731 8732 // Contains identification and configuration information for one or more access 8733 // points associated with the specified bucket. 8734 AccessPointList []*AccessPoint `locationNameList:"AccessPoint" type:"list"` 8735 8736 // If the specified bucket has more access points than can be returned in one 8737 // call to this API, this field contains a continuation token that you can provide 8738 // in subsequent calls to this API to retrieve additional access points. 8739 NextToken *string `min:"1" type:"string"` 8740} 8741 8742// String returns the string representation 8743func (s ListAccessPointsOutput) String() string { 8744 return awsutil.Prettify(s) 8745} 8746 8747// GoString returns the string representation 8748func (s ListAccessPointsOutput) GoString() string { 8749 return s.String() 8750} 8751 8752// SetAccessPointList sets the AccessPointList field's value. 8753func (s *ListAccessPointsOutput) SetAccessPointList(v []*AccessPoint) *ListAccessPointsOutput { 8754 s.AccessPointList = v 8755 return s 8756} 8757 8758// SetNextToken sets the NextToken field's value. 8759func (s *ListAccessPointsOutput) SetNextToken(v string) *ListAccessPointsOutput { 8760 s.NextToken = &v 8761 return s 8762} 8763 8764type ListJobsInput struct { 8765 _ struct{} `locationName:"ListJobsRequest" type:"structure"` 8766 8767 // AccountId is a required field 8768 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8769 8770 // The List Jobs request returns jobs that match the statuses listed in this 8771 // element. 8772 JobStatuses []*string `location:"querystring" locationName:"jobStatuses" type:"list"` 8773 8774 // The maximum number of jobs that Amazon S3 will include in the List Jobs response. 8775 // If there are more jobs than this number, the response will include a pagination 8776 // token in the NextToken field to enable you to retrieve the next page of results. 8777 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 8778 8779 // A pagination token to request the next page of results. Use the token that 8780 // Amazon S3 returned in the NextToken element of the ListJobsResult from the 8781 // previous List Jobs request. 8782 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 8783} 8784 8785// String returns the string representation 8786func (s ListJobsInput) String() string { 8787 return awsutil.Prettify(s) 8788} 8789 8790// GoString returns the string representation 8791func (s ListJobsInput) GoString() string { 8792 return s.String() 8793} 8794 8795// Validate inspects the fields of the type to determine if they are valid. 8796func (s *ListJobsInput) Validate() error { 8797 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 8798 if s.AccountId == nil { 8799 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8800 } 8801 if s.AccountId != nil && len(*s.AccountId) < 1 { 8802 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8803 } 8804 if s.NextToken != nil && len(*s.NextToken) < 1 { 8805 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 8806 } 8807 8808 if invalidParams.Len() > 0 { 8809 return invalidParams 8810 } 8811 return nil 8812} 8813 8814// SetAccountId sets the AccountId field's value. 8815func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 8816 s.AccountId = &v 8817 return s 8818} 8819 8820// SetJobStatuses sets the JobStatuses field's value. 8821func (s *ListJobsInput) SetJobStatuses(v []*string) *ListJobsInput { 8822 s.JobStatuses = v 8823 return s 8824} 8825 8826// SetMaxResults sets the MaxResults field's value. 8827func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 8828 s.MaxResults = &v 8829 return s 8830} 8831 8832// SetNextToken sets the NextToken field's value. 8833func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 8834 s.NextToken = &v 8835 return s 8836} 8837 8838func (s *ListJobsInput) hostLabels() map[string]string { 8839 return map[string]string{ 8840 "AccountId": aws.StringValue(s.AccountId), 8841 } 8842} 8843 8844type ListJobsOutput struct { 8845 _ struct{} `type:"structure"` 8846 8847 // The list of current jobs and jobs that have ended within the last 30 days. 8848 Jobs []*JobListDescriptor `type:"list"` 8849 8850 // If the List Jobs request produced more than the maximum number of results, 8851 // you can pass this value into a subsequent List Jobs request in order to retrieve 8852 // the next page of results. 8853 NextToken *string `min:"1" type:"string"` 8854} 8855 8856// String returns the string representation 8857func (s ListJobsOutput) String() string { 8858 return awsutil.Prettify(s) 8859} 8860 8861// GoString returns the string representation 8862func (s ListJobsOutput) GoString() string { 8863 return s.String() 8864} 8865 8866// SetJobs sets the Jobs field's value. 8867func (s *ListJobsOutput) SetJobs(v []*JobListDescriptor) *ListJobsOutput { 8868 s.Jobs = v 8869 return s 8870} 8871 8872// SetNextToken sets the NextToken field's value. 8873func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 8874 s.NextToken = &v 8875 return s 8876} 8877 8878type ListRegionalBucketsInput struct { 8879 _ struct{} `locationName:"ListRegionalBucketsRequest" type:"structure"` 8880 8881 // The AWS account ID of the Outposts bucket. 8882 // 8883 // AccountId is a required field 8884 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 8885 8886 MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` 8887 8888 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 8889 8890 // The ID of the AWS Outposts. 8891 // 8892 // This is required by Amazon S3 on Outposts buckets. 8893 OutpostId *string `location:"header" locationName:"x-amz-outpost-id" min:"1" type:"string"` 8894} 8895 8896// String returns the string representation 8897func (s ListRegionalBucketsInput) String() string { 8898 return awsutil.Prettify(s) 8899} 8900 8901// GoString returns the string representation 8902func (s ListRegionalBucketsInput) GoString() string { 8903 return s.String() 8904} 8905 8906// Validate inspects the fields of the type to determine if they are valid. 8907func (s *ListRegionalBucketsInput) Validate() error { 8908 invalidParams := request.ErrInvalidParams{Context: "ListRegionalBucketsInput"} 8909 if s.AccountId == nil { 8910 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8911 } 8912 if s.AccountId != nil && len(*s.AccountId) < 1 { 8913 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8914 } 8915 if s.NextToken != nil && len(*s.NextToken) < 1 { 8916 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 8917 } 8918 if s.OutpostId != nil && len(*s.OutpostId) < 1 { 8919 invalidParams.Add(request.NewErrParamMinLen("OutpostId", 1)) 8920 } 8921 8922 if invalidParams.Len() > 0 { 8923 return invalidParams 8924 } 8925 return nil 8926} 8927 8928// SetAccountId sets the AccountId field's value. 8929func (s *ListRegionalBucketsInput) SetAccountId(v string) *ListRegionalBucketsInput { 8930 s.AccountId = &v 8931 return s 8932} 8933 8934// SetMaxResults sets the MaxResults field's value. 8935func (s *ListRegionalBucketsInput) SetMaxResults(v int64) *ListRegionalBucketsInput { 8936 s.MaxResults = &v 8937 return s 8938} 8939 8940// SetNextToken sets the NextToken field's value. 8941func (s *ListRegionalBucketsInput) SetNextToken(v string) *ListRegionalBucketsInput { 8942 s.NextToken = &v 8943 return s 8944} 8945 8946// SetOutpostId sets the OutpostId field's value. 8947func (s *ListRegionalBucketsInput) SetOutpostId(v string) *ListRegionalBucketsInput { 8948 s.OutpostId = &v 8949 return s 8950} 8951 8952func (s *ListRegionalBucketsInput) hostLabels() map[string]string { 8953 return map[string]string{ 8954 "AccountId": aws.StringValue(s.AccountId), 8955 } 8956} 8957 8958func (s *ListRegionalBucketsInput) getOutpostID() (string, error) { 8959 if s.OutpostId == nil { 8960 return "", fmt.Errorf("member OutpostId is nil") 8961 } 8962 return *s.OutpostId, nil 8963} 8964 8965func (s *ListRegionalBucketsInput) hasOutpostID() bool { 8966 if s.OutpostId == nil { 8967 return false 8968 } 8969 return true 8970} 8971 8972type ListRegionalBucketsOutput struct { 8973 _ struct{} `type:"structure"` 8974 8975 // NextToken is sent when isTruncated is true, which means there are more buckets 8976 // that can be listed. The next list requests to Amazon S3 can be continued 8977 // with this NextToken. NextToken is obfuscated and is not a real key. 8978 NextToken *string `min:"1" type:"string"` 8979 8980 RegionalBucketList []*RegionalBucket `locationNameList:"RegionalBucket" type:"list"` 8981} 8982 8983// String returns the string representation 8984func (s ListRegionalBucketsOutput) String() string { 8985 return awsutil.Prettify(s) 8986} 8987 8988// GoString returns the string representation 8989func (s ListRegionalBucketsOutput) GoString() string { 8990 return s.String() 8991} 8992 8993// SetNextToken sets the NextToken field's value. 8994func (s *ListRegionalBucketsOutput) SetNextToken(v string) *ListRegionalBucketsOutput { 8995 s.NextToken = &v 8996 return s 8997} 8998 8999// SetRegionalBucketList sets the RegionalBucketList field's value. 9000func (s *ListRegionalBucketsOutput) SetRegionalBucketList(v []*RegionalBucket) *ListRegionalBucketsOutput { 9001 s.RegionalBucketList = v 9002 return s 9003} 9004 9005// Part of ListStorageLensConfigurationResult. Each entry includes the description 9006// of the S3 Storage Lens configuration, its home Region, whether it is enabled, 9007// its Amazon Resource Name (ARN), and config ID. 9008type ListStorageLensConfigurationEntry struct { 9009 _ struct{} `type:"structure"` 9010 9011 // A container for the S3 Storage Lens home Region. Your metrics data is stored 9012 // and retained in your designated S3 Storage Lens home Region. 9013 // 9014 // HomeRegion is a required field 9015 HomeRegion *string `min:"5" type:"string" required:"true"` 9016 9017 // A container for the S3 Storage Lens configuration ID. 9018 // 9019 // Id is a required field 9020 Id *string `min:"1" type:"string" required:"true"` 9021 9022 // A container for whether the S3 Storage Lens configuration is enabled. This 9023 // property is required. 9024 IsEnabled *bool `type:"boolean"` 9025 9026 // The ARN of the S3 Storage Lens configuration. This property is read-only. 9027 // 9028 // StorageLensArn is a required field 9029 StorageLensArn *string `min:"1" type:"string" required:"true"` 9030} 9031 9032// String returns the string representation 9033func (s ListStorageLensConfigurationEntry) String() string { 9034 return awsutil.Prettify(s) 9035} 9036 9037// GoString returns the string representation 9038func (s ListStorageLensConfigurationEntry) GoString() string { 9039 return s.String() 9040} 9041 9042// SetHomeRegion sets the HomeRegion field's value. 9043func (s *ListStorageLensConfigurationEntry) SetHomeRegion(v string) *ListStorageLensConfigurationEntry { 9044 s.HomeRegion = &v 9045 return s 9046} 9047 9048// SetId sets the Id field's value. 9049func (s *ListStorageLensConfigurationEntry) SetId(v string) *ListStorageLensConfigurationEntry { 9050 s.Id = &v 9051 return s 9052} 9053 9054// SetIsEnabled sets the IsEnabled field's value. 9055func (s *ListStorageLensConfigurationEntry) SetIsEnabled(v bool) *ListStorageLensConfigurationEntry { 9056 s.IsEnabled = &v 9057 return s 9058} 9059 9060// SetStorageLensArn sets the StorageLensArn field's value. 9061func (s *ListStorageLensConfigurationEntry) SetStorageLensArn(v string) *ListStorageLensConfigurationEntry { 9062 s.StorageLensArn = &v 9063 return s 9064} 9065 9066type ListStorageLensConfigurationsInput struct { 9067 _ struct{} `locationName:"ListStorageLensConfigurationsRequest" type:"structure"` 9068 9069 // The account ID of the requester. 9070 // 9071 // AccountId is a required field 9072 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9073 9074 // A pagination token to request the next page of results. 9075 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 9076} 9077 9078// String returns the string representation 9079func (s ListStorageLensConfigurationsInput) String() string { 9080 return awsutil.Prettify(s) 9081} 9082 9083// GoString returns the string representation 9084func (s ListStorageLensConfigurationsInput) GoString() string { 9085 return s.String() 9086} 9087 9088// Validate inspects the fields of the type to determine if they are valid. 9089func (s *ListStorageLensConfigurationsInput) Validate() error { 9090 invalidParams := request.ErrInvalidParams{Context: "ListStorageLensConfigurationsInput"} 9091 if s.AccountId == nil { 9092 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9093 } 9094 if s.AccountId != nil && len(*s.AccountId) < 1 { 9095 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9096 } 9097 9098 if invalidParams.Len() > 0 { 9099 return invalidParams 9100 } 9101 return nil 9102} 9103 9104// SetAccountId sets the AccountId field's value. 9105func (s *ListStorageLensConfigurationsInput) SetAccountId(v string) *ListStorageLensConfigurationsInput { 9106 s.AccountId = &v 9107 return s 9108} 9109 9110// SetNextToken sets the NextToken field's value. 9111func (s *ListStorageLensConfigurationsInput) SetNextToken(v string) *ListStorageLensConfigurationsInput { 9112 s.NextToken = &v 9113 return s 9114} 9115 9116func (s *ListStorageLensConfigurationsInput) hostLabels() map[string]string { 9117 return map[string]string{ 9118 "AccountId": aws.StringValue(s.AccountId), 9119 } 9120} 9121 9122type ListStorageLensConfigurationsOutput struct { 9123 _ struct{} `type:"structure"` 9124 9125 // If the request produced more than the maximum number of S3 Storage Lens configuration 9126 // results, you can pass this value into a subsequent request to retrieve the 9127 // next page of results. 9128 NextToken *string `type:"string"` 9129 9130 // A list of S3 Storage Lens configurations. 9131 StorageLensConfigurationList []*ListStorageLensConfigurationEntry `locationNameList:"StorageLensConfiguration" type:"list" flattened:"true"` 9132} 9133 9134// String returns the string representation 9135func (s ListStorageLensConfigurationsOutput) String() string { 9136 return awsutil.Prettify(s) 9137} 9138 9139// GoString returns the string representation 9140func (s ListStorageLensConfigurationsOutput) GoString() string { 9141 return s.String() 9142} 9143 9144// SetNextToken sets the NextToken field's value. 9145func (s *ListStorageLensConfigurationsOutput) SetNextToken(v string) *ListStorageLensConfigurationsOutput { 9146 s.NextToken = &v 9147 return s 9148} 9149 9150// SetStorageLensConfigurationList sets the StorageLensConfigurationList field's value. 9151func (s *ListStorageLensConfigurationsOutput) SetStorageLensConfigurationList(v []*ListStorageLensConfigurationEntry) *ListStorageLensConfigurationsOutput { 9152 s.StorageLensConfigurationList = v 9153 return s 9154} 9155 9156// The container of the noncurrent version expiration. 9157type NoncurrentVersionExpiration struct { 9158 _ struct{} `type:"structure"` 9159 9160 // Specifies the number of days an object is noncurrent before Amazon S3 can 9161 // perform the associated action. For information about the noncurrent days 9162 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 9163 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 9164 // in the Amazon Simple Storage Service Developer Guide. 9165 NoncurrentDays *int64 `type:"integer"` 9166} 9167 9168// String returns the string representation 9169func (s NoncurrentVersionExpiration) String() string { 9170 return awsutil.Prettify(s) 9171} 9172 9173// GoString returns the string representation 9174func (s NoncurrentVersionExpiration) GoString() string { 9175 return s.String() 9176} 9177 9178// SetNoncurrentDays sets the NoncurrentDays field's value. 9179func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration { 9180 s.NoncurrentDays = &v 9181 return s 9182} 9183 9184// The container for the noncurrent version transition. 9185type NoncurrentVersionTransition struct { 9186 _ struct{} `type:"structure"` 9187 9188 // Specifies the number of days an object is noncurrent before Amazon S3 can 9189 // perform the associated action. For information about the noncurrent days 9190 // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent 9191 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) 9192 // in the Amazon Simple Storage Service Developer Guide. 9193 NoncurrentDays *int64 `type:"integer"` 9194 9195 // The class of storage used to store the object. 9196 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 9197} 9198 9199// String returns the string representation 9200func (s NoncurrentVersionTransition) String() string { 9201 return awsutil.Prettify(s) 9202} 9203 9204// GoString returns the string representation 9205func (s NoncurrentVersionTransition) GoString() string { 9206 return s.String() 9207} 9208 9209// SetNoncurrentDays sets the NoncurrentDays field's value. 9210func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition { 9211 s.NoncurrentDays = &v 9212 return s 9213} 9214 9215// SetStorageClass sets the StorageClass field's value. 9216func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersionTransition { 9217 s.StorageClass = &v 9218 return s 9219} 9220 9221// Indicates whether this access point policy is public. For more information 9222// about how Amazon S3 evaluates policies to determine whether they are public, 9223// see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 9224// in the Amazon Simple Storage Service Developer Guide. 9225type PolicyStatus struct { 9226 _ struct{} `type:"structure"` 9227 9228 IsPublic *bool `locationName:"IsPublic" type:"boolean"` 9229} 9230 9231// String returns the string representation 9232func (s PolicyStatus) String() string { 9233 return awsutil.Prettify(s) 9234} 9235 9236// GoString returns the string representation 9237func (s PolicyStatus) GoString() string { 9238 return s.String() 9239} 9240 9241// SetIsPublic sets the IsPublic field's value. 9242func (s *PolicyStatus) SetIsPublic(v bool) *PolicyStatus { 9243 s.IsPublic = &v 9244 return s 9245} 9246 9247// A container for the prefix-level configuration. 9248type PrefixLevel struct { 9249 _ struct{} `type:"structure"` 9250 9251 // A container for the prefix-level storage metrics for S3 Storage Lens. 9252 // 9253 // StorageMetrics is a required field 9254 StorageMetrics *PrefixLevelStorageMetrics `type:"structure" required:"true"` 9255} 9256 9257// String returns the string representation 9258func (s PrefixLevel) String() string { 9259 return awsutil.Prettify(s) 9260} 9261 9262// GoString returns the string representation 9263func (s PrefixLevel) GoString() string { 9264 return s.String() 9265} 9266 9267// Validate inspects the fields of the type to determine if they are valid. 9268func (s *PrefixLevel) Validate() error { 9269 invalidParams := request.ErrInvalidParams{Context: "PrefixLevel"} 9270 if s.StorageMetrics == nil { 9271 invalidParams.Add(request.NewErrParamRequired("StorageMetrics")) 9272 } 9273 if s.StorageMetrics != nil { 9274 if err := s.StorageMetrics.Validate(); err != nil { 9275 invalidParams.AddNested("StorageMetrics", err.(request.ErrInvalidParams)) 9276 } 9277 } 9278 9279 if invalidParams.Len() > 0 { 9280 return invalidParams 9281 } 9282 return nil 9283} 9284 9285// SetStorageMetrics sets the StorageMetrics field's value. 9286func (s *PrefixLevel) SetStorageMetrics(v *PrefixLevelStorageMetrics) *PrefixLevel { 9287 s.StorageMetrics = v 9288 return s 9289} 9290 9291// A container for the prefix-level storage metrics for S3 Storage Lens. 9292type PrefixLevelStorageMetrics struct { 9293 _ struct{} `type:"structure"` 9294 9295 // A container for whether prefix-level storage metrics are enabled. 9296 IsEnabled *bool `type:"boolean"` 9297 9298 SelectionCriteria *SelectionCriteria `type:"structure"` 9299} 9300 9301// String returns the string representation 9302func (s PrefixLevelStorageMetrics) String() string { 9303 return awsutil.Prettify(s) 9304} 9305 9306// GoString returns the string representation 9307func (s PrefixLevelStorageMetrics) GoString() string { 9308 return s.String() 9309} 9310 9311// Validate inspects the fields of the type to determine if they are valid. 9312func (s *PrefixLevelStorageMetrics) Validate() error { 9313 invalidParams := request.ErrInvalidParams{Context: "PrefixLevelStorageMetrics"} 9314 if s.SelectionCriteria != nil { 9315 if err := s.SelectionCriteria.Validate(); err != nil { 9316 invalidParams.AddNested("SelectionCriteria", err.(request.ErrInvalidParams)) 9317 } 9318 } 9319 9320 if invalidParams.Len() > 0 { 9321 return invalidParams 9322 } 9323 return nil 9324} 9325 9326// SetIsEnabled sets the IsEnabled field's value. 9327func (s *PrefixLevelStorageMetrics) SetIsEnabled(v bool) *PrefixLevelStorageMetrics { 9328 s.IsEnabled = &v 9329 return s 9330} 9331 9332// SetSelectionCriteria sets the SelectionCriteria field's value. 9333func (s *PrefixLevelStorageMetrics) SetSelectionCriteria(v *SelectionCriteria) *PrefixLevelStorageMetrics { 9334 s.SelectionCriteria = v 9335 return s 9336} 9337 9338// The PublicAccessBlock configuration that you want to apply to this Amazon 9339// S3 account. You can enable the configuration options in any combination. 9340// For more information about when Amazon S3 considers a bucket or object public, 9341// see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) 9342// in the Amazon Simple Storage Service Developer Guide. 9343// 9344// This is not supported for Amazon S3 on Outposts. 9345type PublicAccessBlockConfiguration struct { 9346 _ struct{} `type:"structure"` 9347 9348 // Specifies whether Amazon S3 should block public access control lists (ACLs) 9349 // for buckets in this account. Setting this element to TRUE causes the following 9350 // behavior: 9351 // 9352 // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is 9353 // public. 9354 // 9355 // * PUT Object calls fail if the request includes a public ACL. 9356 // 9357 // * PUT Bucket calls fail if the request includes a public ACL. 9358 // 9359 // Enabling this setting doesn't affect existing policies or ACLs. 9360 // 9361 // This is not supported for Amazon S3 on Outposts. 9362 BlockPublicAcls *bool `locationName:"BlockPublicAcls" type:"boolean"` 9363 9364 // Specifies whether Amazon S3 should block public bucket policies for buckets 9365 // in this account. Setting this element to TRUE causes Amazon S3 to reject 9366 // calls to PUT Bucket policy if the specified bucket policy allows public access. 9367 // 9368 // Enabling this setting doesn't affect existing bucket policies. 9369 // 9370 // This is not supported for Amazon S3 on Outposts. 9371 BlockPublicPolicy *bool `locationName:"BlockPublicPolicy" type:"boolean"` 9372 9373 // Specifies whether Amazon S3 should ignore public ACLs for buckets in this 9374 // account. Setting this element to TRUE causes Amazon S3 to ignore all public 9375 // ACLs on buckets in this account and any objects that they contain. 9376 // 9377 // Enabling this setting doesn't affect the persistence of any existing ACLs 9378 // and doesn't prevent new public ACLs from being set. 9379 // 9380 // This is not supported for Amazon S3 on Outposts. 9381 IgnorePublicAcls *bool `locationName:"IgnorePublicAcls" type:"boolean"` 9382 9383 // Specifies whether Amazon S3 should restrict public bucket policies for buckets 9384 // in this account. Setting this element to TRUE restricts access to buckets 9385 // with public policies to only AWS service principals and authorized users 9386 // within this account. 9387 // 9388 // Enabling this setting doesn't affect previously stored bucket policies, except 9389 // that public and cross-account access within any public bucket policy, including 9390 // non-public delegation to specific accounts, is blocked. 9391 // 9392 // This is not supported for Amazon S3 on Outposts. 9393 RestrictPublicBuckets *bool `locationName:"RestrictPublicBuckets" type:"boolean"` 9394} 9395 9396// String returns the string representation 9397func (s PublicAccessBlockConfiguration) String() string { 9398 return awsutil.Prettify(s) 9399} 9400 9401// GoString returns the string representation 9402func (s PublicAccessBlockConfiguration) GoString() string { 9403 return s.String() 9404} 9405 9406// SetBlockPublicAcls sets the BlockPublicAcls field's value. 9407func (s *PublicAccessBlockConfiguration) SetBlockPublicAcls(v bool) *PublicAccessBlockConfiguration { 9408 s.BlockPublicAcls = &v 9409 return s 9410} 9411 9412// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. 9413func (s *PublicAccessBlockConfiguration) SetBlockPublicPolicy(v bool) *PublicAccessBlockConfiguration { 9414 s.BlockPublicPolicy = &v 9415 return s 9416} 9417 9418// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. 9419func (s *PublicAccessBlockConfiguration) SetIgnorePublicAcls(v bool) *PublicAccessBlockConfiguration { 9420 s.IgnorePublicAcls = &v 9421 return s 9422} 9423 9424// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. 9425func (s *PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *PublicAccessBlockConfiguration { 9426 s.RestrictPublicBuckets = &v 9427 return s 9428} 9429 9430type PutAccessPointPolicyInput struct { 9431 _ struct{} `locationName:"PutAccessPointPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 9432 9433 // The AWS account ID for owner of the bucket associated with the specified 9434 // access point. 9435 // 9436 // AccountId is a required field 9437 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9438 9439 // The name of the access point that you want to associate with the specified 9440 // policy. 9441 // 9442 // For using this parameter with Amazon S3 on Outposts with the REST API, you 9443 // must specify the name and the x-amz-outpost-id as well. 9444 // 9445 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 9446 // must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. 9447 // For example, to access the access point reports-ap through outpost my-outpost 9448 // owned by account 123456789012 in Region us-west-2, use the URL encoding of 9449 // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. 9450 // The value must be URL encoded. 9451 // 9452 // Name is a required field 9453 Name *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9454 9455 // The policy that you want to apply to the specified access point. For more 9456 // information about access point policies, see Managing data access with Amazon 9457 // S3 Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html) 9458 // in the Amazon Simple Storage Service Developer Guide. 9459 // 9460 // Policy is a required field 9461 Policy *string `type:"string" required:"true"` 9462} 9463 9464// String returns the string representation 9465func (s PutAccessPointPolicyInput) String() string { 9466 return awsutil.Prettify(s) 9467} 9468 9469// GoString returns the string representation 9470func (s PutAccessPointPolicyInput) GoString() string { 9471 return s.String() 9472} 9473 9474// Validate inspects the fields of the type to determine if they are valid. 9475func (s *PutAccessPointPolicyInput) Validate() error { 9476 invalidParams := request.ErrInvalidParams{Context: "PutAccessPointPolicyInput"} 9477 if s.AccountId == nil { 9478 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9479 } 9480 if s.AccountId != nil && len(*s.AccountId) < 1 { 9481 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9482 } 9483 if s.Name == nil { 9484 invalidParams.Add(request.NewErrParamRequired("Name")) 9485 } 9486 if s.Name != nil && len(*s.Name) < 3 { 9487 invalidParams.Add(request.NewErrParamMinLen("Name", 3)) 9488 } 9489 if s.Policy == nil { 9490 invalidParams.Add(request.NewErrParamRequired("Policy")) 9491 } 9492 9493 if invalidParams.Len() > 0 { 9494 return invalidParams 9495 } 9496 return nil 9497} 9498 9499// SetAccountId sets the AccountId field's value. 9500func (s *PutAccessPointPolicyInput) SetAccountId(v string) *PutAccessPointPolicyInput { 9501 s.AccountId = &v 9502 return s 9503} 9504 9505// SetName sets the Name field's value. 9506func (s *PutAccessPointPolicyInput) SetName(v string) *PutAccessPointPolicyInput { 9507 s.Name = &v 9508 return s 9509} 9510 9511// SetPolicy sets the Policy field's value. 9512func (s *PutAccessPointPolicyInput) SetPolicy(v string) *PutAccessPointPolicyInput { 9513 s.Policy = &v 9514 return s 9515} 9516 9517func (s *PutAccessPointPolicyInput) hostLabels() map[string]string { 9518 return map[string]string{ 9519 "AccountId": aws.StringValue(s.AccountId), 9520 } 9521} 9522 9523func (s *PutAccessPointPolicyInput) getEndpointARN() (arn.Resource, error) { 9524 if s.Name == nil { 9525 return nil, fmt.Errorf("member Name is nil") 9526 } 9527 return parseEndpointARN(*s.Name) 9528} 9529 9530func (s *PutAccessPointPolicyInput) hasEndpointARN() bool { 9531 if s.Name == nil { 9532 return false 9533 } 9534 return arn.IsARN(*s.Name) 9535} 9536 9537// updateArnableField updates the value of the input field that 9538// takes an ARN as an input. This method is useful to backfill 9539// the parsed resource name from ARN into the input member. 9540// It returns a pointer to a modified copy of input and an error. 9541// Note that original input is not modified. 9542func (s PutAccessPointPolicyInput) updateArnableField(v string) (interface{}, error) { 9543 if s.Name == nil { 9544 return nil, fmt.Errorf("member Name is nil") 9545 } 9546 s.Name = aws.String(v) 9547 return &s, nil 9548} 9549 9550// updateAccountID returns a pointer to a modified copy of input, 9551// if account id is not provided, we update the account id in modified input 9552// if account id is provided, but doesn't match with the one in ARN, we throw an error 9553// if account id is not updated, we return nil. Note that original input is not modified. 9554func (s PutAccessPointPolicyInput) updateAccountID(accountId string) (interface{}, error) { 9555 if s.AccountId == nil { 9556 s.AccountId = aws.String(accountId) 9557 return &s, nil 9558 } else if *s.AccountId != accountId { 9559 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 9560 } 9561 return nil, nil 9562} 9563 9564type PutAccessPointPolicyOutput struct { 9565 _ struct{} `type:"structure"` 9566} 9567 9568// String returns the string representation 9569func (s PutAccessPointPolicyOutput) String() string { 9570 return awsutil.Prettify(s) 9571} 9572 9573// GoString returns the string representation 9574func (s PutAccessPointPolicyOutput) GoString() string { 9575 return s.String() 9576} 9577 9578type PutBucketLifecycleConfigurationInput struct { 9579 _ struct{} `locationName:"PutBucketLifecycleConfigurationRequest" type:"structure" payload:"LifecycleConfiguration"` 9580 9581 // The AWS account ID of the Outposts bucket. 9582 // 9583 // AccountId is a required field 9584 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9585 9586 // The name of the bucket for which to set the configuration. 9587 // 9588 // Bucket is a required field 9589 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9590 9591 // Container for lifecycle rules. You can add as many as 1,000 rules. 9592 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 9593} 9594 9595// String returns the string representation 9596func (s PutBucketLifecycleConfigurationInput) String() string { 9597 return awsutil.Prettify(s) 9598} 9599 9600// GoString returns the string representation 9601func (s PutBucketLifecycleConfigurationInput) GoString() string { 9602 return s.String() 9603} 9604 9605// Validate inspects the fields of the type to determine if they are valid. 9606func (s *PutBucketLifecycleConfigurationInput) Validate() error { 9607 invalidParams := request.ErrInvalidParams{Context: "PutBucketLifecycleConfigurationInput"} 9608 if s.AccountId == nil { 9609 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9610 } 9611 if s.AccountId != nil && len(*s.AccountId) < 1 { 9612 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9613 } 9614 if s.Bucket == nil { 9615 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9616 } 9617 if s.Bucket != nil && len(*s.Bucket) < 3 { 9618 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 9619 } 9620 if s.LifecycleConfiguration != nil { 9621 if err := s.LifecycleConfiguration.Validate(); err != nil { 9622 invalidParams.AddNested("LifecycleConfiguration", err.(request.ErrInvalidParams)) 9623 } 9624 } 9625 9626 if invalidParams.Len() > 0 { 9627 return invalidParams 9628 } 9629 return nil 9630} 9631 9632// SetAccountId sets the AccountId field's value. 9633func (s *PutBucketLifecycleConfigurationInput) SetAccountId(v string) *PutBucketLifecycleConfigurationInput { 9634 s.AccountId = &v 9635 return s 9636} 9637 9638// SetBucket sets the Bucket field's value. 9639func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLifecycleConfigurationInput { 9640 s.Bucket = &v 9641 return s 9642} 9643 9644// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 9645func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 9646 s.LifecycleConfiguration = v 9647 return s 9648} 9649 9650func (s *PutBucketLifecycleConfigurationInput) hostLabels() map[string]string { 9651 return map[string]string{ 9652 "AccountId": aws.StringValue(s.AccountId), 9653 } 9654} 9655 9656func (s *PutBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) { 9657 if s.Bucket == nil { 9658 return nil, fmt.Errorf("member Bucket is nil") 9659 } 9660 return parseEndpointARN(*s.Bucket) 9661} 9662 9663func (s *PutBucketLifecycleConfigurationInput) hasEndpointARN() bool { 9664 if s.Bucket == nil { 9665 return false 9666 } 9667 return arn.IsARN(*s.Bucket) 9668} 9669 9670// updateArnableField updates the value of the input field that 9671// takes an ARN as an input. This method is useful to backfill 9672// the parsed resource name from ARN into the input member. 9673// It returns a pointer to a modified copy of input and an error. 9674// Note that original input is not modified. 9675func (s PutBucketLifecycleConfigurationInput) updateArnableField(v string) (interface{}, error) { 9676 if s.Bucket == nil { 9677 return nil, fmt.Errorf("member Bucket is nil") 9678 } 9679 s.Bucket = aws.String(v) 9680 return &s, nil 9681} 9682 9683// updateAccountID returns a pointer to a modified copy of input, 9684// if account id is not provided, we update the account id in modified input 9685// if account id is provided, but doesn't match with the one in ARN, we throw an error 9686// if account id is not updated, we return nil. Note that original input is not modified. 9687func (s PutBucketLifecycleConfigurationInput) updateAccountID(accountId string) (interface{}, error) { 9688 if s.AccountId == nil { 9689 s.AccountId = aws.String(accountId) 9690 return &s, nil 9691 } else if *s.AccountId != accountId { 9692 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 9693 } 9694 return nil, nil 9695} 9696 9697type PutBucketLifecycleConfigurationOutput struct { 9698 _ struct{} `type:"structure"` 9699} 9700 9701// String returns the string representation 9702func (s PutBucketLifecycleConfigurationOutput) String() string { 9703 return awsutil.Prettify(s) 9704} 9705 9706// GoString returns the string representation 9707func (s PutBucketLifecycleConfigurationOutput) GoString() string { 9708 return s.String() 9709} 9710 9711type PutBucketPolicyInput struct { 9712 _ struct{} `locationName:"PutBucketPolicyRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 9713 9714 // The AWS account ID of the Outposts bucket. 9715 // 9716 // AccountId is a required field 9717 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9718 9719 // Specifies the bucket. 9720 // 9721 // For using this parameter with Amazon S3 on Outposts with the REST API, you 9722 // must specify the name and the x-amz-outpost-id as well. 9723 // 9724 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 9725 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 9726 // For example, to access the bucket reports through outpost my-outpost owned 9727 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 9728 // The value must be URL encoded. 9729 // 9730 // Bucket is a required field 9731 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9732 9733 // Set this parameter to true to confirm that you want to remove your permissions 9734 // to change this bucket policy in the future. 9735 // 9736 // This is not supported by Amazon S3 on Outposts buckets. 9737 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"` 9738 9739 // The bucket policy as a JSON document. 9740 // 9741 // Policy is a required field 9742 Policy *string `type:"string" required:"true"` 9743} 9744 9745// String returns the string representation 9746func (s PutBucketPolicyInput) String() string { 9747 return awsutil.Prettify(s) 9748} 9749 9750// GoString returns the string representation 9751func (s PutBucketPolicyInput) GoString() string { 9752 return s.String() 9753} 9754 9755// Validate inspects the fields of the type to determine if they are valid. 9756func (s *PutBucketPolicyInput) Validate() error { 9757 invalidParams := request.ErrInvalidParams{Context: "PutBucketPolicyInput"} 9758 if s.AccountId == nil { 9759 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9760 } 9761 if s.AccountId != nil && len(*s.AccountId) < 1 { 9762 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9763 } 9764 if s.Bucket == nil { 9765 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9766 } 9767 if s.Bucket != nil && len(*s.Bucket) < 3 { 9768 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 9769 } 9770 if s.Policy == nil { 9771 invalidParams.Add(request.NewErrParamRequired("Policy")) 9772 } 9773 9774 if invalidParams.Len() > 0 { 9775 return invalidParams 9776 } 9777 return nil 9778} 9779 9780// SetAccountId sets the AccountId field's value. 9781func (s *PutBucketPolicyInput) SetAccountId(v string) *PutBucketPolicyInput { 9782 s.AccountId = &v 9783 return s 9784} 9785 9786// SetBucket sets the Bucket field's value. 9787func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput { 9788 s.Bucket = &v 9789 return s 9790} 9791 9792// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value. 9793func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput { 9794 s.ConfirmRemoveSelfBucketAccess = &v 9795 return s 9796} 9797 9798// SetPolicy sets the Policy field's value. 9799func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 9800 s.Policy = &v 9801 return s 9802} 9803 9804func (s *PutBucketPolicyInput) hostLabels() map[string]string { 9805 return map[string]string{ 9806 "AccountId": aws.StringValue(s.AccountId), 9807 } 9808} 9809 9810func (s *PutBucketPolicyInput) getEndpointARN() (arn.Resource, error) { 9811 if s.Bucket == nil { 9812 return nil, fmt.Errorf("member Bucket is nil") 9813 } 9814 return parseEndpointARN(*s.Bucket) 9815} 9816 9817func (s *PutBucketPolicyInput) hasEndpointARN() bool { 9818 if s.Bucket == nil { 9819 return false 9820 } 9821 return arn.IsARN(*s.Bucket) 9822} 9823 9824// updateArnableField updates the value of the input field that 9825// takes an ARN as an input. This method is useful to backfill 9826// the parsed resource name from ARN into the input member. 9827// It returns a pointer to a modified copy of input and an error. 9828// Note that original input is not modified. 9829func (s PutBucketPolicyInput) updateArnableField(v string) (interface{}, error) { 9830 if s.Bucket == nil { 9831 return nil, fmt.Errorf("member Bucket is nil") 9832 } 9833 s.Bucket = aws.String(v) 9834 return &s, nil 9835} 9836 9837// updateAccountID returns a pointer to a modified copy of input, 9838// if account id is not provided, we update the account id in modified input 9839// if account id is provided, but doesn't match with the one in ARN, we throw an error 9840// if account id is not updated, we return nil. Note that original input is not modified. 9841func (s PutBucketPolicyInput) updateAccountID(accountId string) (interface{}, error) { 9842 if s.AccountId == nil { 9843 s.AccountId = aws.String(accountId) 9844 return &s, nil 9845 } else if *s.AccountId != accountId { 9846 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 9847 } 9848 return nil, nil 9849} 9850 9851type PutBucketPolicyOutput struct { 9852 _ struct{} `type:"structure"` 9853} 9854 9855// String returns the string representation 9856func (s PutBucketPolicyOutput) String() string { 9857 return awsutil.Prettify(s) 9858} 9859 9860// GoString returns the string representation 9861func (s PutBucketPolicyOutput) GoString() string { 9862 return s.String() 9863} 9864 9865type PutBucketTaggingInput struct { 9866 _ struct{} `locationName:"PutBucketTaggingRequest" type:"structure" payload:"Tagging"` 9867 9868 // The AWS account ID of the Outposts bucket. 9869 // 9870 // AccountId is a required field 9871 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 9872 9873 // The Amazon Resource Name (ARN) of the bucket. 9874 // 9875 // For using this parameter with Amazon S3 on Outposts with the REST API, you 9876 // must specify the name and the x-amz-outpost-id as well. 9877 // 9878 // For using this parameter with S3 on Outposts with the AWS SDK and CLI, you 9879 // must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. 9880 // For example, to access the bucket reports through outpost my-outpost owned 9881 // by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. 9882 // The value must be URL encoded. 9883 // 9884 // Bucket is a required field 9885 Bucket *string `location:"uri" locationName:"name" min:"3" type:"string" required:"true"` 9886 9887 // Tagging is a required field 9888 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 9889} 9890 9891// String returns the string representation 9892func (s PutBucketTaggingInput) String() string { 9893 return awsutil.Prettify(s) 9894} 9895 9896// GoString returns the string representation 9897func (s PutBucketTaggingInput) GoString() string { 9898 return s.String() 9899} 9900 9901// Validate inspects the fields of the type to determine if they are valid. 9902func (s *PutBucketTaggingInput) Validate() error { 9903 invalidParams := request.ErrInvalidParams{Context: "PutBucketTaggingInput"} 9904 if s.AccountId == nil { 9905 invalidParams.Add(request.NewErrParamRequired("AccountId")) 9906 } 9907 if s.AccountId != nil && len(*s.AccountId) < 1 { 9908 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 9909 } 9910 if s.Bucket == nil { 9911 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9912 } 9913 if s.Bucket != nil && len(*s.Bucket) < 3 { 9914 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 9915 } 9916 if s.Tagging == nil { 9917 invalidParams.Add(request.NewErrParamRequired("Tagging")) 9918 } 9919 if s.Tagging != nil { 9920 if err := s.Tagging.Validate(); err != nil { 9921 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams)) 9922 } 9923 } 9924 9925 if invalidParams.Len() > 0 { 9926 return invalidParams 9927 } 9928 return nil 9929} 9930 9931// SetAccountId sets the AccountId field's value. 9932func (s *PutBucketTaggingInput) SetAccountId(v string) *PutBucketTaggingInput { 9933 s.AccountId = &v 9934 return s 9935} 9936 9937// SetBucket sets the Bucket field's value. 9938func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput { 9939 s.Bucket = &v 9940 return s 9941} 9942 9943// SetTagging sets the Tagging field's value. 9944func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 9945 s.Tagging = v 9946 return s 9947} 9948 9949func (s *PutBucketTaggingInput) hostLabels() map[string]string { 9950 return map[string]string{ 9951 "AccountId": aws.StringValue(s.AccountId), 9952 } 9953} 9954 9955func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) { 9956 if s.Bucket == nil { 9957 return nil, fmt.Errorf("member Bucket is nil") 9958 } 9959 return parseEndpointARN(*s.Bucket) 9960} 9961 9962func (s *PutBucketTaggingInput) hasEndpointARN() bool { 9963 if s.Bucket == nil { 9964 return false 9965 } 9966 return arn.IsARN(*s.Bucket) 9967} 9968 9969// updateArnableField updates the value of the input field that 9970// takes an ARN as an input. This method is useful to backfill 9971// the parsed resource name from ARN into the input member. 9972// It returns a pointer to a modified copy of input and an error. 9973// Note that original input is not modified. 9974func (s PutBucketTaggingInput) updateArnableField(v string) (interface{}, error) { 9975 if s.Bucket == nil { 9976 return nil, fmt.Errorf("member Bucket is nil") 9977 } 9978 s.Bucket = aws.String(v) 9979 return &s, nil 9980} 9981 9982// updateAccountID returns a pointer to a modified copy of input, 9983// if account id is not provided, we update the account id in modified input 9984// if account id is provided, but doesn't match with the one in ARN, we throw an error 9985// if account id is not updated, we return nil. Note that original input is not modified. 9986func (s PutBucketTaggingInput) updateAccountID(accountId string) (interface{}, error) { 9987 if s.AccountId == nil { 9988 s.AccountId = aws.String(accountId) 9989 return &s, nil 9990 } else if *s.AccountId != accountId { 9991 return &s, fmt.Errorf("Account ID mismatch, the Account ID cannot be specified in an ARN and in the accountId field") 9992 } 9993 return nil, nil 9994} 9995 9996type PutBucketTaggingOutput struct { 9997 _ struct{} `type:"structure"` 9998} 9999 10000// String returns the string representation 10001func (s PutBucketTaggingOutput) String() string { 10002 return awsutil.Prettify(s) 10003} 10004 10005// GoString returns the string representation 10006func (s PutBucketTaggingOutput) GoString() string { 10007 return s.String() 10008} 10009 10010type PutJobTaggingInput struct { 10011 _ struct{} `locationName:"PutJobTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 10012 10013 // The AWS account ID associated with the S3 Batch Operations job. 10014 // 10015 // AccountId is a required field 10016 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10017 10018 // The ID for the S3 Batch Operations job whose tags you want to replace. 10019 // 10020 // JobId is a required field 10021 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 10022 10023 // The set of tags to associate with the S3 Batch Operations job. 10024 // 10025 // Tags is a required field 10026 Tags []*S3Tag `type:"list" required:"true"` 10027} 10028 10029// String returns the string representation 10030func (s PutJobTaggingInput) String() string { 10031 return awsutil.Prettify(s) 10032} 10033 10034// GoString returns the string representation 10035func (s PutJobTaggingInput) GoString() string { 10036 return s.String() 10037} 10038 10039// Validate inspects the fields of the type to determine if they are valid. 10040func (s *PutJobTaggingInput) Validate() error { 10041 invalidParams := request.ErrInvalidParams{Context: "PutJobTaggingInput"} 10042 if s.AccountId == nil { 10043 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10044 } 10045 if s.AccountId != nil && len(*s.AccountId) < 1 { 10046 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10047 } 10048 if s.JobId == nil { 10049 invalidParams.Add(request.NewErrParamRequired("JobId")) 10050 } 10051 if s.JobId != nil && len(*s.JobId) < 5 { 10052 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 10053 } 10054 if s.Tags == nil { 10055 invalidParams.Add(request.NewErrParamRequired("Tags")) 10056 } 10057 if s.Tags != nil { 10058 for i, v := range s.Tags { 10059 if v == nil { 10060 continue 10061 } 10062 if err := v.Validate(); err != nil { 10063 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10064 } 10065 } 10066 } 10067 10068 if invalidParams.Len() > 0 { 10069 return invalidParams 10070 } 10071 return nil 10072} 10073 10074// SetAccountId sets the AccountId field's value. 10075func (s *PutJobTaggingInput) SetAccountId(v string) *PutJobTaggingInput { 10076 s.AccountId = &v 10077 return s 10078} 10079 10080// SetJobId sets the JobId field's value. 10081func (s *PutJobTaggingInput) SetJobId(v string) *PutJobTaggingInput { 10082 s.JobId = &v 10083 return s 10084} 10085 10086// SetTags sets the Tags field's value. 10087func (s *PutJobTaggingInput) SetTags(v []*S3Tag) *PutJobTaggingInput { 10088 s.Tags = v 10089 return s 10090} 10091 10092func (s *PutJobTaggingInput) hostLabels() map[string]string { 10093 return map[string]string{ 10094 "AccountId": aws.StringValue(s.AccountId), 10095 } 10096} 10097 10098type PutJobTaggingOutput struct { 10099 _ struct{} `type:"structure"` 10100} 10101 10102// String returns the string representation 10103func (s PutJobTaggingOutput) String() string { 10104 return awsutil.Prettify(s) 10105} 10106 10107// GoString returns the string representation 10108func (s PutJobTaggingOutput) GoString() string { 10109 return s.String() 10110} 10111 10112type PutPublicAccessBlockInput struct { 10113 _ struct{} `locationName:"PutPublicAccessBlockRequest" type:"structure" payload:"PublicAccessBlockConfiguration"` 10114 10115 // The account ID for the AWS account whose PublicAccessBlock configuration 10116 // you want to set. 10117 // 10118 // AccountId is a required field 10119 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10120 10121 // The PublicAccessBlock configuration that you want to apply to the specified 10122 // AWS account. 10123 // 10124 // PublicAccessBlockConfiguration is a required field 10125 PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 10126} 10127 10128// String returns the string representation 10129func (s PutPublicAccessBlockInput) String() string { 10130 return awsutil.Prettify(s) 10131} 10132 10133// GoString returns the string representation 10134func (s PutPublicAccessBlockInput) GoString() string { 10135 return s.String() 10136} 10137 10138// Validate inspects the fields of the type to determine if they are valid. 10139func (s *PutPublicAccessBlockInput) Validate() error { 10140 invalidParams := request.ErrInvalidParams{Context: "PutPublicAccessBlockInput"} 10141 if s.AccountId == nil { 10142 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10143 } 10144 if s.AccountId != nil && len(*s.AccountId) < 1 { 10145 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10146 } 10147 if s.PublicAccessBlockConfiguration == nil { 10148 invalidParams.Add(request.NewErrParamRequired("PublicAccessBlockConfiguration")) 10149 } 10150 10151 if invalidParams.Len() > 0 { 10152 return invalidParams 10153 } 10154 return nil 10155} 10156 10157// SetAccountId sets the AccountId field's value. 10158func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput { 10159 s.AccountId = &v 10160 return s 10161} 10162 10163// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value. 10164func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput { 10165 s.PublicAccessBlockConfiguration = v 10166 return s 10167} 10168 10169func (s *PutPublicAccessBlockInput) hostLabels() map[string]string { 10170 return map[string]string{ 10171 "AccountId": aws.StringValue(s.AccountId), 10172 } 10173} 10174 10175type PutPublicAccessBlockOutput struct { 10176 _ struct{} `type:"structure"` 10177} 10178 10179// String returns the string representation 10180func (s PutPublicAccessBlockOutput) String() string { 10181 return awsutil.Prettify(s) 10182} 10183 10184// GoString returns the string representation 10185func (s PutPublicAccessBlockOutput) GoString() string { 10186 return s.String() 10187} 10188 10189type PutStorageLensConfigurationInput struct { 10190 _ struct{} `locationName:"PutStorageLensConfigurationRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 10191 10192 // The account ID of the requester. 10193 // 10194 // AccountId is a required field 10195 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10196 10197 // The ID of the S3 Storage Lens configuration. 10198 // 10199 // ConfigId is a required field 10200 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 10201 10202 // The S3 Storage Lens configuration. 10203 // 10204 // StorageLensConfiguration is a required field 10205 StorageLensConfiguration *StorageLensConfiguration `type:"structure" required:"true"` 10206 10207 // The tag set of the S3 Storage Lens configuration. 10208 // 10209 // You can set up to a maximum of 50 tags. 10210 Tags []*StorageLensTag `locationNameList:"Tag" type:"list"` 10211} 10212 10213// String returns the string representation 10214func (s PutStorageLensConfigurationInput) String() string { 10215 return awsutil.Prettify(s) 10216} 10217 10218// GoString returns the string representation 10219func (s PutStorageLensConfigurationInput) GoString() string { 10220 return s.String() 10221} 10222 10223// Validate inspects the fields of the type to determine if they are valid. 10224func (s *PutStorageLensConfigurationInput) Validate() error { 10225 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationInput"} 10226 if s.AccountId == nil { 10227 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10228 } 10229 if s.AccountId != nil && len(*s.AccountId) < 1 { 10230 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10231 } 10232 if s.ConfigId == nil { 10233 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 10234 } 10235 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 10236 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 10237 } 10238 if s.StorageLensConfiguration == nil { 10239 invalidParams.Add(request.NewErrParamRequired("StorageLensConfiguration")) 10240 } 10241 if s.StorageLensConfiguration != nil { 10242 if err := s.StorageLensConfiguration.Validate(); err != nil { 10243 invalidParams.AddNested("StorageLensConfiguration", err.(request.ErrInvalidParams)) 10244 } 10245 } 10246 if s.Tags != nil { 10247 for i, v := range s.Tags { 10248 if v == nil { 10249 continue 10250 } 10251 if err := v.Validate(); err != nil { 10252 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10253 } 10254 } 10255 } 10256 10257 if invalidParams.Len() > 0 { 10258 return invalidParams 10259 } 10260 return nil 10261} 10262 10263// SetAccountId sets the AccountId field's value. 10264func (s *PutStorageLensConfigurationInput) SetAccountId(v string) *PutStorageLensConfigurationInput { 10265 s.AccountId = &v 10266 return s 10267} 10268 10269// SetConfigId sets the ConfigId field's value. 10270func (s *PutStorageLensConfigurationInput) SetConfigId(v string) *PutStorageLensConfigurationInput { 10271 s.ConfigId = &v 10272 return s 10273} 10274 10275// SetStorageLensConfiguration sets the StorageLensConfiguration field's value. 10276func (s *PutStorageLensConfigurationInput) SetStorageLensConfiguration(v *StorageLensConfiguration) *PutStorageLensConfigurationInput { 10277 s.StorageLensConfiguration = v 10278 return s 10279} 10280 10281// SetTags sets the Tags field's value. 10282func (s *PutStorageLensConfigurationInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationInput { 10283 s.Tags = v 10284 return s 10285} 10286 10287func (s *PutStorageLensConfigurationInput) hostLabels() map[string]string { 10288 return map[string]string{ 10289 "AccountId": aws.StringValue(s.AccountId), 10290 } 10291} 10292 10293type PutStorageLensConfigurationOutput struct { 10294 _ struct{} `type:"structure"` 10295} 10296 10297// String returns the string representation 10298func (s PutStorageLensConfigurationOutput) String() string { 10299 return awsutil.Prettify(s) 10300} 10301 10302// GoString returns the string representation 10303func (s PutStorageLensConfigurationOutput) GoString() string { 10304 return s.String() 10305} 10306 10307type PutStorageLensConfigurationTaggingInput struct { 10308 _ struct{} `locationName:"PutStorageLensConfigurationTaggingRequest" type:"structure" xmlURI:"http://awss3control.amazonaws.com/doc/2018-08-20/"` 10309 10310 // The account ID of the requester. 10311 // 10312 // AccountId is a required field 10313 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 10314 10315 // The ID of the S3 Storage Lens configuration. 10316 // 10317 // ConfigId is a required field 10318 ConfigId *string `location:"uri" locationName:"storagelensid" min:"1" type:"string" required:"true"` 10319 10320 // The tag set of the S3 Storage Lens configuration. 10321 // 10322 // You can set up to a maximum of 50 tags. 10323 // 10324 // Tags is a required field 10325 Tags []*StorageLensTag `locationNameList:"Tag" type:"list" required:"true"` 10326} 10327 10328// String returns the string representation 10329func (s PutStorageLensConfigurationTaggingInput) String() string { 10330 return awsutil.Prettify(s) 10331} 10332 10333// GoString returns the string representation 10334func (s PutStorageLensConfigurationTaggingInput) GoString() string { 10335 return s.String() 10336} 10337 10338// Validate inspects the fields of the type to determine if they are valid. 10339func (s *PutStorageLensConfigurationTaggingInput) Validate() error { 10340 invalidParams := request.ErrInvalidParams{Context: "PutStorageLensConfigurationTaggingInput"} 10341 if s.AccountId == nil { 10342 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10343 } 10344 if s.AccountId != nil && len(*s.AccountId) < 1 { 10345 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 10346 } 10347 if s.ConfigId == nil { 10348 invalidParams.Add(request.NewErrParamRequired("ConfigId")) 10349 } 10350 if s.ConfigId != nil && len(*s.ConfigId) < 1 { 10351 invalidParams.Add(request.NewErrParamMinLen("ConfigId", 1)) 10352 } 10353 if s.Tags == nil { 10354 invalidParams.Add(request.NewErrParamRequired("Tags")) 10355 } 10356 if s.Tags != nil { 10357 for i, v := range s.Tags { 10358 if v == nil { 10359 continue 10360 } 10361 if err := v.Validate(); err != nil { 10362 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10363 } 10364 } 10365 } 10366 10367 if invalidParams.Len() > 0 { 10368 return invalidParams 10369 } 10370 return nil 10371} 10372 10373// SetAccountId sets the AccountId field's value. 10374func (s *PutStorageLensConfigurationTaggingInput) SetAccountId(v string) *PutStorageLensConfigurationTaggingInput { 10375 s.AccountId = &v 10376 return s 10377} 10378 10379// SetConfigId sets the ConfigId field's value. 10380func (s *PutStorageLensConfigurationTaggingInput) SetConfigId(v string) *PutStorageLensConfigurationTaggingInput { 10381 s.ConfigId = &v 10382 return s 10383} 10384 10385// SetTags sets the Tags field's value. 10386func (s *PutStorageLensConfigurationTaggingInput) SetTags(v []*StorageLensTag) *PutStorageLensConfigurationTaggingInput { 10387 s.Tags = v 10388 return s 10389} 10390 10391func (s *PutStorageLensConfigurationTaggingInput) hostLabels() map[string]string { 10392 return map[string]string{ 10393 "AccountId": aws.StringValue(s.AccountId), 10394 } 10395} 10396 10397type PutStorageLensConfigurationTaggingOutput struct { 10398 _ struct{} `type:"structure"` 10399} 10400 10401// String returns the string representation 10402func (s PutStorageLensConfigurationTaggingOutput) String() string { 10403 return awsutil.Prettify(s) 10404} 10405 10406// GoString returns the string representation 10407func (s PutStorageLensConfigurationTaggingOutput) GoString() string { 10408 return s.String() 10409} 10410 10411// The container for the regional bucket. 10412type RegionalBucket struct { 10413 _ struct{} `type:"structure"` 10414 10415 // Bucket is a required field 10416 Bucket *string `min:"3" type:"string" required:"true"` 10417 10418 // The Amazon Resource Name (ARN) for the regional bucket. 10419 BucketArn *string `min:"4" type:"string"` 10420 10421 // The creation date of the regional bucket 10422 // 10423 // CreationDate is a required field 10424 CreationDate *time.Time `type:"timestamp" required:"true"` 10425 10426 // The AWS Outposts ID of the regional bucket. 10427 OutpostId *string `min:"1" type:"string"` 10428 10429 // PublicAccessBlockEnabled is a required field 10430 PublicAccessBlockEnabled *bool `type:"boolean" required:"true"` 10431} 10432 10433// String returns the string representation 10434func (s RegionalBucket) String() string { 10435 return awsutil.Prettify(s) 10436} 10437 10438// GoString returns the string representation 10439func (s RegionalBucket) GoString() string { 10440 return s.String() 10441} 10442 10443// SetBucket sets the Bucket field's value. 10444func (s *RegionalBucket) SetBucket(v string) *RegionalBucket { 10445 s.Bucket = &v 10446 return s 10447} 10448 10449// SetBucketArn sets the BucketArn field's value. 10450func (s *RegionalBucket) SetBucketArn(v string) *RegionalBucket { 10451 s.BucketArn = &v 10452 return s 10453} 10454 10455// SetCreationDate sets the CreationDate field's value. 10456func (s *RegionalBucket) SetCreationDate(v time.Time) *RegionalBucket { 10457 s.CreationDate = &v 10458 return s 10459} 10460 10461// SetOutpostId sets the OutpostId field's value. 10462func (s *RegionalBucket) SetOutpostId(v string) *RegionalBucket { 10463 s.OutpostId = &v 10464 return s 10465} 10466 10467// SetPublicAccessBlockEnabled sets the PublicAccessBlockEnabled field's value. 10468func (s *RegionalBucket) SetPublicAccessBlockEnabled(v bool) *RegionalBucket { 10469 s.PublicAccessBlockEnabled = &v 10470 return s 10471} 10472 10473type S3AccessControlList struct { 10474 _ struct{} `type:"structure"` 10475 10476 Grants []*S3Grant `type:"list"` 10477 10478 // Owner is a required field 10479 Owner *S3ObjectOwner `type:"structure" required:"true"` 10480} 10481 10482// String returns the string representation 10483func (s S3AccessControlList) String() string { 10484 return awsutil.Prettify(s) 10485} 10486 10487// GoString returns the string representation 10488func (s S3AccessControlList) GoString() string { 10489 return s.String() 10490} 10491 10492// Validate inspects the fields of the type to determine if they are valid. 10493func (s *S3AccessControlList) Validate() error { 10494 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlList"} 10495 if s.Owner == nil { 10496 invalidParams.Add(request.NewErrParamRequired("Owner")) 10497 } 10498 if s.Grants != nil { 10499 for i, v := range s.Grants { 10500 if v == nil { 10501 continue 10502 } 10503 if err := v.Validate(); err != nil { 10504 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Grants", i), err.(request.ErrInvalidParams)) 10505 } 10506 } 10507 } 10508 if s.Owner != nil { 10509 if err := s.Owner.Validate(); err != nil { 10510 invalidParams.AddNested("Owner", err.(request.ErrInvalidParams)) 10511 } 10512 } 10513 10514 if invalidParams.Len() > 0 { 10515 return invalidParams 10516 } 10517 return nil 10518} 10519 10520// SetGrants sets the Grants field's value. 10521func (s *S3AccessControlList) SetGrants(v []*S3Grant) *S3AccessControlList { 10522 s.Grants = v 10523 return s 10524} 10525 10526// SetOwner sets the Owner field's value. 10527func (s *S3AccessControlList) SetOwner(v *S3ObjectOwner) *S3AccessControlList { 10528 s.Owner = v 10529 return s 10530} 10531 10532type S3AccessControlPolicy struct { 10533 _ struct{} `type:"structure"` 10534 10535 AccessControlList *S3AccessControlList `type:"structure"` 10536 10537 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 10538} 10539 10540// String returns the string representation 10541func (s S3AccessControlPolicy) String() string { 10542 return awsutil.Prettify(s) 10543} 10544 10545// GoString returns the string representation 10546func (s S3AccessControlPolicy) GoString() string { 10547 return s.String() 10548} 10549 10550// Validate inspects the fields of the type to determine if they are valid. 10551func (s *S3AccessControlPolicy) Validate() error { 10552 invalidParams := request.ErrInvalidParams{Context: "S3AccessControlPolicy"} 10553 if s.AccessControlList != nil { 10554 if err := s.AccessControlList.Validate(); err != nil { 10555 invalidParams.AddNested("AccessControlList", err.(request.ErrInvalidParams)) 10556 } 10557 } 10558 10559 if invalidParams.Len() > 0 { 10560 return invalidParams 10561 } 10562 return nil 10563} 10564 10565// SetAccessControlList sets the AccessControlList field's value. 10566func (s *S3AccessControlPolicy) SetAccessControlList(v *S3AccessControlList) *S3AccessControlPolicy { 10567 s.AccessControlList = v 10568 return s 10569} 10570 10571// SetCannedAccessControlList sets the CannedAccessControlList field's value. 10572func (s *S3AccessControlPolicy) SetCannedAccessControlList(v string) *S3AccessControlPolicy { 10573 s.CannedAccessControlList = &v 10574 return s 10575} 10576 10577// A container for the bucket where the Amazon S3 Storage Lens metrics export 10578// files are located. 10579type S3BucketDestination struct { 10580 _ struct{} `type:"structure"` 10581 10582 // The account ID of the owner of the S3 Storage Lens metrics export bucket. 10583 // 10584 // AccountId is a required field 10585 AccountId *string `type:"string" required:"true"` 10586 10587 // The Amazon Resource Name (ARN) of the bucket. This property is read-only 10588 // and follows the following format: arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name 10589 // 10590 // Arn is a required field 10591 Arn *string `min:"1" type:"string" required:"true"` 10592 10593 // The container for the type encryption of the metrics exports in this bucket. 10594 Encryption *StorageLensDataExportEncryption `type:"structure"` 10595 10596 // Format is a required field 10597 Format *string `type:"string" required:"true" enum:"Format"` 10598 10599 // The schema version of the export file. 10600 // 10601 // OutputSchemaVersion is a required field 10602 OutputSchemaVersion *string `type:"string" required:"true" enum:"OutputSchemaVersion"` 10603 10604 // The prefix of the destination bucket where the metrics export will be delivered. 10605 Prefix *string `type:"string"` 10606} 10607 10608// String returns the string representation 10609func (s S3BucketDestination) String() string { 10610 return awsutil.Prettify(s) 10611} 10612 10613// GoString returns the string representation 10614func (s S3BucketDestination) GoString() string { 10615 return s.String() 10616} 10617 10618// Validate inspects the fields of the type to determine if they are valid. 10619func (s *S3BucketDestination) Validate() error { 10620 invalidParams := request.ErrInvalidParams{Context: "S3BucketDestination"} 10621 if s.AccountId == nil { 10622 invalidParams.Add(request.NewErrParamRequired("AccountId")) 10623 } 10624 if s.Arn == nil { 10625 invalidParams.Add(request.NewErrParamRequired("Arn")) 10626 } 10627 if s.Arn != nil && len(*s.Arn) < 1 { 10628 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 10629 } 10630 if s.Format == nil { 10631 invalidParams.Add(request.NewErrParamRequired("Format")) 10632 } 10633 if s.OutputSchemaVersion == nil { 10634 invalidParams.Add(request.NewErrParamRequired("OutputSchemaVersion")) 10635 } 10636 if s.Encryption != nil { 10637 if err := s.Encryption.Validate(); err != nil { 10638 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams)) 10639 } 10640 } 10641 10642 if invalidParams.Len() > 0 { 10643 return invalidParams 10644 } 10645 return nil 10646} 10647 10648// SetAccountId sets the AccountId field's value. 10649func (s *S3BucketDestination) SetAccountId(v string) *S3BucketDestination { 10650 s.AccountId = &v 10651 return s 10652} 10653 10654// SetArn sets the Arn field's value. 10655func (s *S3BucketDestination) SetArn(v string) *S3BucketDestination { 10656 s.Arn = &v 10657 return s 10658} 10659 10660// SetEncryption sets the Encryption field's value. 10661func (s *S3BucketDestination) SetEncryption(v *StorageLensDataExportEncryption) *S3BucketDestination { 10662 s.Encryption = v 10663 return s 10664} 10665 10666// SetFormat sets the Format field's value. 10667func (s *S3BucketDestination) SetFormat(v string) *S3BucketDestination { 10668 s.Format = &v 10669 return s 10670} 10671 10672// SetOutputSchemaVersion sets the OutputSchemaVersion field's value. 10673func (s *S3BucketDestination) SetOutputSchemaVersion(v string) *S3BucketDestination { 10674 s.OutputSchemaVersion = &v 10675 return s 10676} 10677 10678// SetPrefix sets the Prefix field's value. 10679func (s *S3BucketDestination) SetPrefix(v string) *S3BucketDestination { 10680 s.Prefix = &v 10681 return s 10682} 10683 10684// Contains the configuration parameters for a PUT Copy object operation. S3 10685// Batch Operations passes every object to the underlying PUT Copy object API. 10686// For more information about the parameters for this operation, see PUT Object 10687// - Copy (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html). 10688type S3CopyObjectOperation struct { 10689 _ struct{} `type:"structure"` 10690 10691 AccessControlGrants []*S3Grant `type:"list"` 10692 10693 CannedAccessControlList *string `type:"string" enum:"S3CannedAccessControlList"` 10694 10695 MetadataDirective *string `type:"string" enum:"S3MetadataDirective"` 10696 10697 ModifiedSinceConstraint *time.Time `type:"timestamp"` 10698 10699 NewObjectMetadata *S3ObjectMetadata `type:"structure"` 10700 10701 NewObjectTagging []*S3Tag `type:"list"` 10702 10703 // The legal hold status to be applied to all objects in the Batch Operations 10704 // job. 10705 ObjectLockLegalHoldStatus *string `type:"string" enum:"S3ObjectLockLegalHoldStatus"` 10706 10707 // The retention mode to be applied to all objects in the Batch Operations job. 10708 ObjectLockMode *string `type:"string" enum:"S3ObjectLockMode"` 10709 10710 // The date when the applied object retention configuration expires on all objects 10711 // in the Batch Operations job. 10712 ObjectLockRetainUntilDate *time.Time `type:"timestamp"` 10713 10714 // Specifies an optional metadata property for website redirects, x-amz-website-redirect-location. 10715 // Allows webpage redirects if the object is accessed through a website endpoint. 10716 RedirectLocation *string `min:"1" type:"string"` 10717 10718 RequesterPays *bool `type:"boolean"` 10719 10720 SSEAwsKmsKeyId *string `min:"1" type:"string"` 10721 10722 StorageClass *string `type:"string" enum:"S3StorageClass"` 10723 10724 // Specifies the folder prefix into which you would like the objects to be copied. 10725 // For example, to copy objects into a folder named "Folder1" in the destination 10726 // bucket, set the TargetKeyPrefix to "Folder1/". 10727 TargetKeyPrefix *string `min:"1" type:"string"` 10728 10729 // Specifies the destination bucket ARN for the batch copy operation. For example, 10730 // to copy objects to a bucket named "destinationBucket", set the TargetResource 10731 // to "arn:aws:s3:::destinationBucket". 10732 TargetResource *string `min:"1" type:"string"` 10733 10734 UnModifiedSinceConstraint *time.Time `type:"timestamp"` 10735} 10736 10737// String returns the string representation 10738func (s S3CopyObjectOperation) String() string { 10739 return awsutil.Prettify(s) 10740} 10741 10742// GoString returns the string representation 10743func (s S3CopyObjectOperation) GoString() string { 10744 return s.String() 10745} 10746 10747// Validate inspects the fields of the type to determine if they are valid. 10748func (s *S3CopyObjectOperation) Validate() error { 10749 invalidParams := request.ErrInvalidParams{Context: "S3CopyObjectOperation"} 10750 if s.RedirectLocation != nil && len(*s.RedirectLocation) < 1 { 10751 invalidParams.Add(request.NewErrParamMinLen("RedirectLocation", 1)) 10752 } 10753 if s.SSEAwsKmsKeyId != nil && len(*s.SSEAwsKmsKeyId) < 1 { 10754 invalidParams.Add(request.NewErrParamMinLen("SSEAwsKmsKeyId", 1)) 10755 } 10756 if s.TargetKeyPrefix != nil && len(*s.TargetKeyPrefix) < 1 { 10757 invalidParams.Add(request.NewErrParamMinLen("TargetKeyPrefix", 1)) 10758 } 10759 if s.TargetResource != nil && len(*s.TargetResource) < 1 { 10760 invalidParams.Add(request.NewErrParamMinLen("TargetResource", 1)) 10761 } 10762 if s.AccessControlGrants != nil { 10763 for i, v := range s.AccessControlGrants { 10764 if v == nil { 10765 continue 10766 } 10767 if err := v.Validate(); err != nil { 10768 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlGrants", i), err.(request.ErrInvalidParams)) 10769 } 10770 } 10771 } 10772 if s.NewObjectMetadata != nil { 10773 if err := s.NewObjectMetadata.Validate(); err != nil { 10774 invalidParams.AddNested("NewObjectMetadata", err.(request.ErrInvalidParams)) 10775 } 10776 } 10777 if s.NewObjectTagging != nil { 10778 for i, v := range s.NewObjectTagging { 10779 if v == nil { 10780 continue 10781 } 10782 if err := v.Validate(); err != nil { 10783 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NewObjectTagging", i), err.(request.ErrInvalidParams)) 10784 } 10785 } 10786 } 10787 10788 if invalidParams.Len() > 0 { 10789 return invalidParams 10790 } 10791 return nil 10792} 10793 10794// SetAccessControlGrants sets the AccessControlGrants field's value. 10795func (s *S3CopyObjectOperation) SetAccessControlGrants(v []*S3Grant) *S3CopyObjectOperation { 10796 s.AccessControlGrants = v 10797 return s 10798} 10799 10800// SetCannedAccessControlList sets the CannedAccessControlList field's value. 10801func (s *S3CopyObjectOperation) SetCannedAccessControlList(v string) *S3CopyObjectOperation { 10802 s.CannedAccessControlList = &v 10803 return s 10804} 10805 10806// SetMetadataDirective sets the MetadataDirective field's value. 10807func (s *S3CopyObjectOperation) SetMetadataDirective(v string) *S3CopyObjectOperation { 10808 s.MetadataDirective = &v 10809 return s 10810} 10811 10812// SetModifiedSinceConstraint sets the ModifiedSinceConstraint field's value. 10813func (s *S3CopyObjectOperation) SetModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 10814 s.ModifiedSinceConstraint = &v 10815 return s 10816} 10817 10818// SetNewObjectMetadata sets the NewObjectMetadata field's value. 10819func (s *S3CopyObjectOperation) SetNewObjectMetadata(v *S3ObjectMetadata) *S3CopyObjectOperation { 10820 s.NewObjectMetadata = v 10821 return s 10822} 10823 10824// SetNewObjectTagging sets the NewObjectTagging field's value. 10825func (s *S3CopyObjectOperation) SetNewObjectTagging(v []*S3Tag) *S3CopyObjectOperation { 10826 s.NewObjectTagging = v 10827 return s 10828} 10829 10830// SetObjectLockLegalHoldStatus sets the ObjectLockLegalHoldStatus field's value. 10831func (s *S3CopyObjectOperation) SetObjectLockLegalHoldStatus(v string) *S3CopyObjectOperation { 10832 s.ObjectLockLegalHoldStatus = &v 10833 return s 10834} 10835 10836// SetObjectLockMode sets the ObjectLockMode field's value. 10837func (s *S3CopyObjectOperation) SetObjectLockMode(v string) *S3CopyObjectOperation { 10838 s.ObjectLockMode = &v 10839 return s 10840} 10841 10842// SetObjectLockRetainUntilDate sets the ObjectLockRetainUntilDate field's value. 10843func (s *S3CopyObjectOperation) SetObjectLockRetainUntilDate(v time.Time) *S3CopyObjectOperation { 10844 s.ObjectLockRetainUntilDate = &v 10845 return s 10846} 10847 10848// SetRedirectLocation sets the RedirectLocation field's value. 10849func (s *S3CopyObjectOperation) SetRedirectLocation(v string) *S3CopyObjectOperation { 10850 s.RedirectLocation = &v 10851 return s 10852} 10853 10854// SetRequesterPays sets the RequesterPays field's value. 10855func (s *S3CopyObjectOperation) SetRequesterPays(v bool) *S3CopyObjectOperation { 10856 s.RequesterPays = &v 10857 return s 10858} 10859 10860// SetSSEAwsKmsKeyId sets the SSEAwsKmsKeyId field's value. 10861func (s *S3CopyObjectOperation) SetSSEAwsKmsKeyId(v string) *S3CopyObjectOperation { 10862 s.SSEAwsKmsKeyId = &v 10863 return s 10864} 10865 10866// SetStorageClass sets the StorageClass field's value. 10867func (s *S3CopyObjectOperation) SetStorageClass(v string) *S3CopyObjectOperation { 10868 s.StorageClass = &v 10869 return s 10870} 10871 10872// SetTargetKeyPrefix sets the TargetKeyPrefix field's value. 10873func (s *S3CopyObjectOperation) SetTargetKeyPrefix(v string) *S3CopyObjectOperation { 10874 s.TargetKeyPrefix = &v 10875 return s 10876} 10877 10878// SetTargetResource sets the TargetResource field's value. 10879func (s *S3CopyObjectOperation) SetTargetResource(v string) *S3CopyObjectOperation { 10880 s.TargetResource = &v 10881 return s 10882} 10883 10884// SetUnModifiedSinceConstraint sets the UnModifiedSinceConstraint field's value. 10885func (s *S3CopyObjectOperation) SetUnModifiedSinceConstraint(v time.Time) *S3CopyObjectOperation { 10886 s.UnModifiedSinceConstraint = &v 10887 return s 10888} 10889 10890type S3Grant struct { 10891 _ struct{} `type:"structure"` 10892 10893 Grantee *S3Grantee `type:"structure"` 10894 10895 Permission *string `type:"string" enum:"S3Permission"` 10896} 10897 10898// String returns the string representation 10899func (s S3Grant) String() string { 10900 return awsutil.Prettify(s) 10901} 10902 10903// GoString returns the string representation 10904func (s S3Grant) GoString() string { 10905 return s.String() 10906} 10907 10908// Validate inspects the fields of the type to determine if they are valid. 10909func (s *S3Grant) Validate() error { 10910 invalidParams := request.ErrInvalidParams{Context: "S3Grant"} 10911 if s.Grantee != nil { 10912 if err := s.Grantee.Validate(); err != nil { 10913 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 10914 } 10915 } 10916 10917 if invalidParams.Len() > 0 { 10918 return invalidParams 10919 } 10920 return nil 10921} 10922 10923// SetGrantee sets the Grantee field's value. 10924func (s *S3Grant) SetGrantee(v *S3Grantee) *S3Grant { 10925 s.Grantee = v 10926 return s 10927} 10928 10929// SetPermission sets the Permission field's value. 10930func (s *S3Grant) SetPermission(v string) *S3Grant { 10931 s.Permission = &v 10932 return s 10933} 10934 10935type S3Grantee struct { 10936 _ struct{} `type:"structure"` 10937 10938 DisplayName *string `min:"1" type:"string"` 10939 10940 Identifier *string `min:"1" type:"string"` 10941 10942 TypeIdentifier *string `type:"string" enum:"S3GranteeTypeIdentifier"` 10943} 10944 10945// String returns the string representation 10946func (s S3Grantee) String() string { 10947 return awsutil.Prettify(s) 10948} 10949 10950// GoString returns the string representation 10951func (s S3Grantee) GoString() string { 10952 return s.String() 10953} 10954 10955// Validate inspects the fields of the type to determine if they are valid. 10956func (s *S3Grantee) Validate() error { 10957 invalidParams := request.ErrInvalidParams{Context: "S3Grantee"} 10958 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 10959 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 10960 } 10961 if s.Identifier != nil && len(*s.Identifier) < 1 { 10962 invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) 10963 } 10964 10965 if invalidParams.Len() > 0 { 10966 return invalidParams 10967 } 10968 return nil 10969} 10970 10971// SetDisplayName sets the DisplayName field's value. 10972func (s *S3Grantee) SetDisplayName(v string) *S3Grantee { 10973 s.DisplayName = &v 10974 return s 10975} 10976 10977// SetIdentifier sets the Identifier field's value. 10978func (s *S3Grantee) SetIdentifier(v string) *S3Grantee { 10979 s.Identifier = &v 10980 return s 10981} 10982 10983// SetTypeIdentifier sets the TypeIdentifier field's value. 10984func (s *S3Grantee) SetTypeIdentifier(v string) *S3Grantee { 10985 s.TypeIdentifier = &v 10986 return s 10987} 10988 10989// Contains the configuration parameters for an S3 Initiate Restore Object job. 10990// S3 Batch Operations passes every object to the underlying POST Object restore 10991// API. For more information about the parameters for this operation, see RestoreObject 10992// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). 10993type S3InitiateRestoreObjectOperation struct { 10994 _ struct{} `type:"structure"` 10995 10996 // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive 10997 // object remains available in Amazon S3. S3 Initiate Restore Object jobs that 10998 // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays 10999 // set to 1 or greater. 11000 // 11001 // Conversely, do not set ExpirationInDays when creating S3 Initiate Restore 11002 // Object jobs that target S3 Intelligent-Tiering Archive Access and Deep Archive 11003 // Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers 11004 // are not subject to restore expiry, so specifying ExpirationInDays results 11005 // in restore request failure. 11006 // 11007 // S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier 11008 // Deep Archive storage class objects or on S3 Intelligent-Tiering Archive Access 11009 // and Deep Archive Access storage tier objects, but not both types in the same 11010 // job. If you need to restore objects of both types you must create separate 11011 // Batch Operations jobs. 11012 ExpirationInDays *int64 `type:"integer"` 11013 11014 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the 11015 // EXPEDITED retrieval tier. 11016 GlacierJobTier *string `type:"string" enum:"S3GlacierJobTier"` 11017} 11018 11019// String returns the string representation 11020func (s S3InitiateRestoreObjectOperation) String() string { 11021 return awsutil.Prettify(s) 11022} 11023 11024// GoString returns the string representation 11025func (s S3InitiateRestoreObjectOperation) GoString() string { 11026 return s.String() 11027} 11028 11029// SetExpirationInDays sets the ExpirationInDays field's value. 11030func (s *S3InitiateRestoreObjectOperation) SetExpirationInDays(v int64) *S3InitiateRestoreObjectOperation { 11031 s.ExpirationInDays = &v 11032 return s 11033} 11034 11035// SetGlacierJobTier sets the GlacierJobTier field's value. 11036func (s *S3InitiateRestoreObjectOperation) SetGlacierJobTier(v string) *S3InitiateRestoreObjectOperation { 11037 s.GlacierJobTier = &v 11038 return s 11039} 11040 11041// Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch 11042// Operations job. 11043type S3ObjectLockLegalHold struct { 11044 _ struct{} `type:"structure"` 11045 11046 // The Object Lock legal hold status to be applied to all objects in the Batch 11047 // Operations job. 11048 // 11049 // Status is a required field 11050 Status *string `type:"string" required:"true" enum:"S3ObjectLockLegalHoldStatus"` 11051} 11052 11053// String returns the string representation 11054func (s S3ObjectLockLegalHold) String() string { 11055 return awsutil.Prettify(s) 11056} 11057 11058// GoString returns the string representation 11059func (s S3ObjectLockLegalHold) GoString() string { 11060 return s.String() 11061} 11062 11063// Validate inspects the fields of the type to determine if they are valid. 11064func (s *S3ObjectLockLegalHold) Validate() error { 11065 invalidParams := request.ErrInvalidParams{Context: "S3ObjectLockLegalHold"} 11066 if s.Status == nil { 11067 invalidParams.Add(request.NewErrParamRequired("Status")) 11068 } 11069 11070 if invalidParams.Len() > 0 { 11071 return invalidParams 11072 } 11073 return nil 11074} 11075 11076// SetStatus sets the Status field's value. 11077func (s *S3ObjectLockLegalHold) SetStatus(v string) *S3ObjectLockLegalHold { 11078 s.Status = &v 11079 return s 11080} 11081 11082type S3ObjectMetadata struct { 11083 _ struct{} `type:"structure"` 11084 11085 CacheControl *string `min:"1" type:"string"` 11086 11087 ContentDisposition *string `min:"1" type:"string"` 11088 11089 ContentEncoding *string `min:"1" type:"string"` 11090 11091 ContentLanguage *string `min:"1" type:"string"` 11092 11093 ContentLength *int64 `type:"long"` 11094 11095 ContentMD5 *string `min:"1" type:"string"` 11096 11097 ContentType *string `min:"1" type:"string"` 11098 11099 HttpExpiresDate *time.Time `type:"timestamp"` 11100 11101 RequesterCharged *bool `type:"boolean"` 11102 11103 SSEAlgorithm *string `type:"string" enum:"S3SSEAlgorithm"` 11104 11105 UserMetadata map[string]*string `type:"map"` 11106} 11107 11108// String returns the string representation 11109func (s S3ObjectMetadata) String() string { 11110 return awsutil.Prettify(s) 11111} 11112 11113// GoString returns the string representation 11114func (s S3ObjectMetadata) GoString() string { 11115 return s.String() 11116} 11117 11118// Validate inspects the fields of the type to determine if they are valid. 11119func (s *S3ObjectMetadata) Validate() error { 11120 invalidParams := request.ErrInvalidParams{Context: "S3ObjectMetadata"} 11121 if s.CacheControl != nil && len(*s.CacheControl) < 1 { 11122 invalidParams.Add(request.NewErrParamMinLen("CacheControl", 1)) 11123 } 11124 if s.ContentDisposition != nil && len(*s.ContentDisposition) < 1 { 11125 invalidParams.Add(request.NewErrParamMinLen("ContentDisposition", 1)) 11126 } 11127 if s.ContentEncoding != nil && len(*s.ContentEncoding) < 1 { 11128 invalidParams.Add(request.NewErrParamMinLen("ContentEncoding", 1)) 11129 } 11130 if s.ContentLanguage != nil && len(*s.ContentLanguage) < 1 { 11131 invalidParams.Add(request.NewErrParamMinLen("ContentLanguage", 1)) 11132 } 11133 if s.ContentMD5 != nil && len(*s.ContentMD5) < 1 { 11134 invalidParams.Add(request.NewErrParamMinLen("ContentMD5", 1)) 11135 } 11136 if s.ContentType != nil && len(*s.ContentType) < 1 { 11137 invalidParams.Add(request.NewErrParamMinLen("ContentType", 1)) 11138 } 11139 11140 if invalidParams.Len() > 0 { 11141 return invalidParams 11142 } 11143 return nil 11144} 11145 11146// SetCacheControl sets the CacheControl field's value. 11147func (s *S3ObjectMetadata) SetCacheControl(v string) *S3ObjectMetadata { 11148 s.CacheControl = &v 11149 return s 11150} 11151 11152// SetContentDisposition sets the ContentDisposition field's value. 11153func (s *S3ObjectMetadata) SetContentDisposition(v string) *S3ObjectMetadata { 11154 s.ContentDisposition = &v 11155 return s 11156} 11157 11158// SetContentEncoding sets the ContentEncoding field's value. 11159func (s *S3ObjectMetadata) SetContentEncoding(v string) *S3ObjectMetadata { 11160 s.ContentEncoding = &v 11161 return s 11162} 11163 11164// SetContentLanguage sets the ContentLanguage field's value. 11165func (s *S3ObjectMetadata) SetContentLanguage(v string) *S3ObjectMetadata { 11166 s.ContentLanguage = &v 11167 return s 11168} 11169 11170// SetContentLength sets the ContentLength field's value. 11171func (s *S3ObjectMetadata) SetContentLength(v int64) *S3ObjectMetadata { 11172 s.ContentLength = &v 11173 return s 11174} 11175 11176// SetContentMD5 sets the ContentMD5 field's value. 11177func (s *S3ObjectMetadata) SetContentMD5(v string) *S3ObjectMetadata { 11178 s.ContentMD5 = &v 11179 return s 11180} 11181 11182// SetContentType sets the ContentType field's value. 11183func (s *S3ObjectMetadata) SetContentType(v string) *S3ObjectMetadata { 11184 s.ContentType = &v 11185 return s 11186} 11187 11188// SetHttpExpiresDate sets the HttpExpiresDate field's value. 11189func (s *S3ObjectMetadata) SetHttpExpiresDate(v time.Time) *S3ObjectMetadata { 11190 s.HttpExpiresDate = &v 11191 return s 11192} 11193 11194// SetRequesterCharged sets the RequesterCharged field's value. 11195func (s *S3ObjectMetadata) SetRequesterCharged(v bool) *S3ObjectMetadata { 11196 s.RequesterCharged = &v 11197 return s 11198} 11199 11200// SetSSEAlgorithm sets the SSEAlgorithm field's value. 11201func (s *S3ObjectMetadata) SetSSEAlgorithm(v string) *S3ObjectMetadata { 11202 s.SSEAlgorithm = &v 11203 return s 11204} 11205 11206// SetUserMetadata sets the UserMetadata field's value. 11207func (s *S3ObjectMetadata) SetUserMetadata(v map[string]*string) *S3ObjectMetadata { 11208 s.UserMetadata = v 11209 return s 11210} 11211 11212type S3ObjectOwner struct { 11213 _ struct{} `type:"structure"` 11214 11215 DisplayName *string `min:"1" type:"string"` 11216 11217 ID *string `min:"1" type:"string"` 11218} 11219 11220// String returns the string representation 11221func (s S3ObjectOwner) String() string { 11222 return awsutil.Prettify(s) 11223} 11224 11225// GoString returns the string representation 11226func (s S3ObjectOwner) GoString() string { 11227 return s.String() 11228} 11229 11230// Validate inspects the fields of the type to determine if they are valid. 11231func (s *S3ObjectOwner) Validate() error { 11232 invalidParams := request.ErrInvalidParams{Context: "S3ObjectOwner"} 11233 if s.DisplayName != nil && len(*s.DisplayName) < 1 { 11234 invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) 11235 } 11236 if s.ID != nil && len(*s.ID) < 1 { 11237 invalidParams.Add(request.NewErrParamMinLen("ID", 1)) 11238 } 11239 11240 if invalidParams.Len() > 0 { 11241 return invalidParams 11242 } 11243 return nil 11244} 11245 11246// SetDisplayName sets the DisplayName field's value. 11247func (s *S3ObjectOwner) SetDisplayName(v string) *S3ObjectOwner { 11248 s.DisplayName = &v 11249 return s 11250} 11251 11252// SetID sets the ID field's value. 11253func (s *S3ObjectOwner) SetID(v string) *S3ObjectOwner { 11254 s.ID = &v 11255 return s 11256} 11257 11258// Contains the S3 Object Lock retention mode to be applied to all objects in 11259// the S3 Batch Operations job. If you don't provide Mode and RetainUntilDate 11260// data types in your operation, you will remove the retention from your objects. 11261// For more information, see Using S3 Object Lock retention with S3 Batch Operations 11262// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 11263// in the Amazon Simple Storage Service Developer Guide. 11264type S3Retention struct { 11265 _ struct{} `type:"structure"` 11266 11267 // The Object Lock retention mode to be applied to all objects in the Batch 11268 // Operations job. 11269 Mode *string `type:"string" enum:"S3ObjectLockRetentionMode"` 11270 11271 // The date when the applied Object Lock retention will expire on all objects 11272 // set by the Batch Operations job. 11273 RetainUntilDate *time.Time `type:"timestamp"` 11274} 11275 11276// String returns the string representation 11277func (s S3Retention) String() string { 11278 return awsutil.Prettify(s) 11279} 11280 11281// GoString returns the string representation 11282func (s S3Retention) GoString() string { 11283 return s.String() 11284} 11285 11286// SetMode sets the Mode field's value. 11287func (s *S3Retention) SetMode(v string) *S3Retention { 11288 s.Mode = &v 11289 return s 11290} 11291 11292// SetRetainUntilDate sets the RetainUntilDate field's value. 11293func (s *S3Retention) SetRetainUntilDate(v time.Time) *S3Retention { 11294 s.RetainUntilDate = &v 11295 return s 11296} 11297 11298// Contains the configuration parameters for a Set Object ACL operation. S3 11299// Batch Operations passes every object to the underlying PUT Object acl API. 11300// For more information about the parameters for this operation, see PUT Object 11301// acl (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html). 11302type S3SetObjectAclOperation struct { 11303 _ struct{} `type:"structure"` 11304 11305 AccessControlPolicy *S3AccessControlPolicy `type:"structure"` 11306} 11307 11308// String returns the string representation 11309func (s S3SetObjectAclOperation) String() string { 11310 return awsutil.Prettify(s) 11311} 11312 11313// GoString returns the string representation 11314func (s S3SetObjectAclOperation) GoString() string { 11315 return s.String() 11316} 11317 11318// Validate inspects the fields of the type to determine if they are valid. 11319func (s *S3SetObjectAclOperation) Validate() error { 11320 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectAclOperation"} 11321 if s.AccessControlPolicy != nil { 11322 if err := s.AccessControlPolicy.Validate(); err != nil { 11323 invalidParams.AddNested("AccessControlPolicy", err.(request.ErrInvalidParams)) 11324 } 11325 } 11326 11327 if invalidParams.Len() > 0 { 11328 return invalidParams 11329 } 11330 return nil 11331} 11332 11333// SetAccessControlPolicy sets the AccessControlPolicy field's value. 11334func (s *S3SetObjectAclOperation) SetAccessControlPolicy(v *S3AccessControlPolicy) *S3SetObjectAclOperation { 11335 s.AccessControlPolicy = v 11336 return s 11337} 11338 11339// Contains the configuration for an S3 Object Lock legal hold operation that 11340// an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold 11341// API. For more information, see Using S3 Object Lock legal hold with S3 Batch 11342// Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) 11343// in the Amazon Simple Storage Service Developer Guide. 11344type S3SetObjectLegalHoldOperation struct { 11345 _ struct{} `type:"structure"` 11346 11347 // Contains the Object Lock legal hold status to be applied to all objects in 11348 // the Batch Operations job. 11349 // 11350 // LegalHold is a required field 11351 LegalHold *S3ObjectLockLegalHold `type:"structure" required:"true"` 11352} 11353 11354// String returns the string representation 11355func (s S3SetObjectLegalHoldOperation) String() string { 11356 return awsutil.Prettify(s) 11357} 11358 11359// GoString returns the string representation 11360func (s S3SetObjectLegalHoldOperation) GoString() string { 11361 return s.String() 11362} 11363 11364// Validate inspects the fields of the type to determine if they are valid. 11365func (s *S3SetObjectLegalHoldOperation) Validate() error { 11366 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectLegalHoldOperation"} 11367 if s.LegalHold == nil { 11368 invalidParams.Add(request.NewErrParamRequired("LegalHold")) 11369 } 11370 if s.LegalHold != nil { 11371 if err := s.LegalHold.Validate(); err != nil { 11372 invalidParams.AddNested("LegalHold", err.(request.ErrInvalidParams)) 11373 } 11374 } 11375 11376 if invalidParams.Len() > 0 { 11377 return invalidParams 11378 } 11379 return nil 11380} 11381 11382// SetLegalHold sets the LegalHold field's value. 11383func (s *S3SetObjectLegalHoldOperation) SetLegalHold(v *S3ObjectLockLegalHold) *S3SetObjectLegalHoldOperation { 11384 s.LegalHold = v 11385 return s 11386} 11387 11388// Contains the configuration parameters for the Object Lock retention action 11389// for an S3 Batch Operations job. Batch Operations passes every object to the 11390// underlying PutObjectRetention API. For more information, see Using S3 Object 11391// Lock retention with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 11392// in the Amazon Simple Storage Service Developer Guide. 11393type S3SetObjectRetentionOperation struct { 11394 _ struct{} `type:"structure"` 11395 11396 // Indicates if the action should be applied to objects in the Batch Operations 11397 // job even if they have Object Lock GOVERNANCE type in place. 11398 BypassGovernanceRetention *bool `type:"boolean"` 11399 11400 // Contains the Object Lock retention mode to be applied to all objects in the 11401 // Batch Operations job. For more information, see Using S3 Object Lock retention 11402 // with S3 Batch Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) 11403 // in the Amazon Simple Storage Service Developer Guide. 11404 // 11405 // Retention is a required field 11406 Retention *S3Retention `type:"structure" required:"true"` 11407} 11408 11409// String returns the string representation 11410func (s S3SetObjectRetentionOperation) String() string { 11411 return awsutil.Prettify(s) 11412} 11413 11414// GoString returns the string representation 11415func (s S3SetObjectRetentionOperation) GoString() string { 11416 return s.String() 11417} 11418 11419// Validate inspects the fields of the type to determine if they are valid. 11420func (s *S3SetObjectRetentionOperation) Validate() error { 11421 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectRetentionOperation"} 11422 if s.Retention == nil { 11423 invalidParams.Add(request.NewErrParamRequired("Retention")) 11424 } 11425 11426 if invalidParams.Len() > 0 { 11427 return invalidParams 11428 } 11429 return nil 11430} 11431 11432// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. 11433func (s *S3SetObjectRetentionOperation) SetBypassGovernanceRetention(v bool) *S3SetObjectRetentionOperation { 11434 s.BypassGovernanceRetention = &v 11435 return s 11436} 11437 11438// SetRetention sets the Retention field's value. 11439func (s *S3SetObjectRetentionOperation) SetRetention(v *S3Retention) *S3SetObjectRetentionOperation { 11440 s.Retention = v 11441 return s 11442} 11443 11444// Contains the configuration parameters for a Set Object Tagging operation. 11445// S3 Batch Operations passes every object to the underlying PUT Object tagging 11446// API. For more information about the parameters for this operation, see PUT 11447// Object tagging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html). 11448type S3SetObjectTaggingOperation struct { 11449 _ struct{} `type:"structure"` 11450 11451 TagSet []*S3Tag `type:"list"` 11452} 11453 11454// String returns the string representation 11455func (s S3SetObjectTaggingOperation) String() string { 11456 return awsutil.Prettify(s) 11457} 11458 11459// GoString returns the string representation 11460func (s S3SetObjectTaggingOperation) GoString() string { 11461 return s.String() 11462} 11463 11464// Validate inspects the fields of the type to determine if they are valid. 11465func (s *S3SetObjectTaggingOperation) Validate() error { 11466 invalidParams := request.ErrInvalidParams{Context: "S3SetObjectTaggingOperation"} 11467 if s.TagSet != nil { 11468 for i, v := range s.TagSet { 11469 if v == nil { 11470 continue 11471 } 11472 if err := v.Validate(); err != nil { 11473 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 11474 } 11475 } 11476 } 11477 11478 if invalidParams.Len() > 0 { 11479 return invalidParams 11480 } 11481 return nil 11482} 11483 11484// SetTagSet sets the TagSet field's value. 11485func (s *S3SetObjectTaggingOperation) SetTagSet(v []*S3Tag) *S3SetObjectTaggingOperation { 11486 s.TagSet = v 11487 return s 11488} 11489 11490type S3Tag struct { 11491 _ struct{} `type:"structure"` 11492 11493 // Key is a required field 11494 Key *string `min:"1" type:"string" required:"true"` 11495 11496 // Value is a required field 11497 Value *string `type:"string" required:"true"` 11498} 11499 11500// String returns the string representation 11501func (s S3Tag) String() string { 11502 return awsutil.Prettify(s) 11503} 11504 11505// GoString returns the string representation 11506func (s S3Tag) GoString() string { 11507 return s.String() 11508} 11509 11510// Validate inspects the fields of the type to determine if they are valid. 11511func (s *S3Tag) Validate() error { 11512 invalidParams := request.ErrInvalidParams{Context: "S3Tag"} 11513 if s.Key == nil { 11514 invalidParams.Add(request.NewErrParamRequired("Key")) 11515 } 11516 if s.Key != nil && len(*s.Key) < 1 { 11517 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 11518 } 11519 if s.Value == nil { 11520 invalidParams.Add(request.NewErrParamRequired("Value")) 11521 } 11522 11523 if invalidParams.Len() > 0 { 11524 return invalidParams 11525 } 11526 return nil 11527} 11528 11529// SetKey sets the Key field's value. 11530func (s *S3Tag) SetKey(v string) *S3Tag { 11531 s.Key = &v 11532 return s 11533} 11534 11535// SetValue sets the Value field's value. 11536func (s *S3Tag) SetValue(v string) *S3Tag { 11537 s.Value = &v 11538 return s 11539} 11540 11541type SSEKMS struct { 11542 _ struct{} `locationName:"SSE-KMS" type:"structure"` 11543 11544 // A container for the ARN of the SSE-KMS encryption. This property is read-only 11545 // and follows the following format: arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e 11546 // 11547 // KeyId is a required field 11548 KeyId *string `type:"string" required:"true"` 11549} 11550 11551// String returns the string representation 11552func (s SSEKMS) String() string { 11553 return awsutil.Prettify(s) 11554} 11555 11556// GoString returns the string representation 11557func (s SSEKMS) GoString() string { 11558 return s.String() 11559} 11560 11561// Validate inspects the fields of the type to determine if they are valid. 11562func (s *SSEKMS) Validate() error { 11563 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"} 11564 if s.KeyId == nil { 11565 invalidParams.Add(request.NewErrParamRequired("KeyId")) 11566 } 11567 11568 if invalidParams.Len() > 0 { 11569 return invalidParams 11570 } 11571 return nil 11572} 11573 11574// SetKeyId sets the KeyId field's value. 11575func (s *SSEKMS) SetKeyId(v string) *SSEKMS { 11576 s.KeyId = &v 11577 return s 11578} 11579 11580type SSES3 struct { 11581 _ struct{} `locationName:"SSE-S3" type:"structure"` 11582} 11583 11584// String returns the string representation 11585func (s SSES3) String() string { 11586 return awsutil.Prettify(s) 11587} 11588 11589// GoString returns the string representation 11590func (s SSES3) GoString() string { 11591 return s.String() 11592} 11593 11594type SelectionCriteria struct { 11595 _ struct{} `type:"structure"` 11596 11597 // A container for the delimiter of the selection criteria being used. 11598 Delimiter *string `type:"string"` 11599 11600 // The max depth of the selection criteria 11601 MaxDepth *int64 `min:"1" type:"integer"` 11602 11603 // The minimum number of storage bytes percentage whose metrics will be selected. 11604 // 11605 // You must choose a value greater than or equal to 1.0. 11606 MinStorageBytesPercentage *float64 `min:"0.1" type:"double"` 11607} 11608 11609// String returns the string representation 11610func (s SelectionCriteria) String() string { 11611 return awsutil.Prettify(s) 11612} 11613 11614// GoString returns the string representation 11615func (s SelectionCriteria) GoString() string { 11616 return s.String() 11617} 11618 11619// Validate inspects the fields of the type to determine if they are valid. 11620func (s *SelectionCriteria) Validate() error { 11621 invalidParams := request.ErrInvalidParams{Context: "SelectionCriteria"} 11622 if s.MaxDepth != nil && *s.MaxDepth < 1 { 11623 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 11624 } 11625 if s.MinStorageBytesPercentage != nil && *s.MinStorageBytesPercentage < 0.1 { 11626 invalidParams.Add(request.NewErrParamMinValue("MinStorageBytesPercentage", 0.1)) 11627 } 11628 11629 if invalidParams.Len() > 0 { 11630 return invalidParams 11631 } 11632 return nil 11633} 11634 11635// SetDelimiter sets the Delimiter field's value. 11636func (s *SelectionCriteria) SetDelimiter(v string) *SelectionCriteria { 11637 s.Delimiter = &v 11638 return s 11639} 11640 11641// SetMaxDepth sets the MaxDepth field's value. 11642func (s *SelectionCriteria) SetMaxDepth(v int64) *SelectionCriteria { 11643 s.MaxDepth = &v 11644 return s 11645} 11646 11647// SetMinStorageBytesPercentage sets the MinStorageBytesPercentage field's value. 11648func (s *SelectionCriteria) SetMinStorageBytesPercentage(v float64) *SelectionCriteria { 11649 s.MinStorageBytesPercentage = &v 11650 return s 11651} 11652 11653// The AWS organization for your S3 Storage Lens. 11654type StorageLensAwsOrg struct { 11655 _ struct{} `type:"structure"` 11656 11657 // A container for the Amazon Resource Name (ARN) of the AWS organization. This 11658 // property is read-only and follows the following format: arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck 11659 // 11660 // Arn is a required field 11661 Arn *string `min:"1" type:"string" required:"true"` 11662} 11663 11664// String returns the string representation 11665func (s StorageLensAwsOrg) String() string { 11666 return awsutil.Prettify(s) 11667} 11668 11669// GoString returns the string representation 11670func (s StorageLensAwsOrg) GoString() string { 11671 return s.String() 11672} 11673 11674// Validate inspects the fields of the type to determine if they are valid. 11675func (s *StorageLensAwsOrg) Validate() error { 11676 invalidParams := request.ErrInvalidParams{Context: "StorageLensAwsOrg"} 11677 if s.Arn == nil { 11678 invalidParams.Add(request.NewErrParamRequired("Arn")) 11679 } 11680 if s.Arn != nil && len(*s.Arn) < 1 { 11681 invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) 11682 } 11683 11684 if invalidParams.Len() > 0 { 11685 return invalidParams 11686 } 11687 return nil 11688} 11689 11690// SetArn sets the Arn field's value. 11691func (s *StorageLensAwsOrg) SetArn(v string) *StorageLensAwsOrg { 11692 s.Arn = &v 11693 return s 11694} 11695 11696// A container for the Amazon S3 Storage Lens configuration. 11697type StorageLensConfiguration struct { 11698 _ struct{} `type:"structure"` 11699 11700 // A container for all the account-level configurations of your S3 Storage Lens 11701 // configuration. 11702 // 11703 // AccountLevel is a required field 11704 AccountLevel *AccountLevel `type:"structure" required:"true"` 11705 11706 // A container for the AWS organization for this S3 Storage Lens configuration. 11707 AwsOrg *StorageLensAwsOrg `type:"structure"` 11708 11709 // A container to specify the properties of your S3 Storage Lens metrics export 11710 // including, the destination, schema and format. 11711 DataExport *StorageLensDataExport `type:"structure"` 11712 11713 // A container for what is excluded in this configuration. This container can 11714 // only be valid if there is no Include container submitted, and it's not empty. 11715 Exclude *Exclude `type:"structure"` 11716 11717 // A container for the Amazon S3 Storage Lens configuration ID. 11718 // 11719 // Id is a required field 11720 Id *string `min:"1" type:"string" required:"true"` 11721 11722 // A container for what is included in this configuration. This container can 11723 // only be valid if there is no Exclude container submitted, and it's not empty. 11724 Include *Include `type:"structure"` 11725 11726 // A container for whether the S3 Storage Lens configuration is enabled. 11727 // 11728 // IsEnabled is a required field 11729 IsEnabled *bool `type:"boolean" required:"true"` 11730 11731 // The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This 11732 // property is read-only and follows the following format: arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name 11733 StorageLensArn *string `min:"1" type:"string"` 11734} 11735 11736// String returns the string representation 11737func (s StorageLensConfiguration) String() string { 11738 return awsutil.Prettify(s) 11739} 11740 11741// GoString returns the string representation 11742func (s StorageLensConfiguration) GoString() string { 11743 return s.String() 11744} 11745 11746// Validate inspects the fields of the type to determine if they are valid. 11747func (s *StorageLensConfiguration) Validate() error { 11748 invalidParams := request.ErrInvalidParams{Context: "StorageLensConfiguration"} 11749 if s.AccountLevel == nil { 11750 invalidParams.Add(request.NewErrParamRequired("AccountLevel")) 11751 } 11752 if s.Id == nil { 11753 invalidParams.Add(request.NewErrParamRequired("Id")) 11754 } 11755 if s.Id != nil && len(*s.Id) < 1 { 11756 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 11757 } 11758 if s.IsEnabled == nil { 11759 invalidParams.Add(request.NewErrParamRequired("IsEnabled")) 11760 } 11761 if s.StorageLensArn != nil && len(*s.StorageLensArn) < 1 { 11762 invalidParams.Add(request.NewErrParamMinLen("StorageLensArn", 1)) 11763 } 11764 if s.AccountLevel != nil { 11765 if err := s.AccountLevel.Validate(); err != nil { 11766 invalidParams.AddNested("AccountLevel", err.(request.ErrInvalidParams)) 11767 } 11768 } 11769 if s.AwsOrg != nil { 11770 if err := s.AwsOrg.Validate(); err != nil { 11771 invalidParams.AddNested("AwsOrg", err.(request.ErrInvalidParams)) 11772 } 11773 } 11774 if s.DataExport != nil { 11775 if err := s.DataExport.Validate(); err != nil { 11776 invalidParams.AddNested("DataExport", err.(request.ErrInvalidParams)) 11777 } 11778 } 11779 11780 if invalidParams.Len() > 0 { 11781 return invalidParams 11782 } 11783 return nil 11784} 11785 11786// SetAccountLevel sets the AccountLevel field's value. 11787func (s *StorageLensConfiguration) SetAccountLevel(v *AccountLevel) *StorageLensConfiguration { 11788 s.AccountLevel = v 11789 return s 11790} 11791 11792// SetAwsOrg sets the AwsOrg field's value. 11793func (s *StorageLensConfiguration) SetAwsOrg(v *StorageLensAwsOrg) *StorageLensConfiguration { 11794 s.AwsOrg = v 11795 return s 11796} 11797 11798// SetDataExport sets the DataExport field's value. 11799func (s *StorageLensConfiguration) SetDataExport(v *StorageLensDataExport) *StorageLensConfiguration { 11800 s.DataExport = v 11801 return s 11802} 11803 11804// SetExclude sets the Exclude field's value. 11805func (s *StorageLensConfiguration) SetExclude(v *Exclude) *StorageLensConfiguration { 11806 s.Exclude = v 11807 return s 11808} 11809 11810// SetId sets the Id field's value. 11811func (s *StorageLensConfiguration) SetId(v string) *StorageLensConfiguration { 11812 s.Id = &v 11813 return s 11814} 11815 11816// SetInclude sets the Include field's value. 11817func (s *StorageLensConfiguration) SetInclude(v *Include) *StorageLensConfiguration { 11818 s.Include = v 11819 return s 11820} 11821 11822// SetIsEnabled sets the IsEnabled field's value. 11823func (s *StorageLensConfiguration) SetIsEnabled(v bool) *StorageLensConfiguration { 11824 s.IsEnabled = &v 11825 return s 11826} 11827 11828// SetStorageLensArn sets the StorageLensArn field's value. 11829func (s *StorageLensConfiguration) SetStorageLensArn(v string) *StorageLensConfiguration { 11830 s.StorageLensArn = &v 11831 return s 11832} 11833 11834// A container to specify the properties of your S3 Storage Lens metrics export, 11835// including the destination, schema, and format. 11836type StorageLensDataExport struct { 11837 _ struct{} `type:"structure"` 11838 11839 // A container for the bucket where the S3 Storage Lens metrics export will 11840 // be located. 11841 // 11842 // S3BucketDestination is a required field 11843 S3BucketDestination *S3BucketDestination `type:"structure" required:"true"` 11844} 11845 11846// String returns the string representation 11847func (s StorageLensDataExport) String() string { 11848 return awsutil.Prettify(s) 11849} 11850 11851// GoString returns the string representation 11852func (s StorageLensDataExport) GoString() string { 11853 return s.String() 11854} 11855 11856// Validate inspects the fields of the type to determine if they are valid. 11857func (s *StorageLensDataExport) Validate() error { 11858 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExport"} 11859 if s.S3BucketDestination == nil { 11860 invalidParams.Add(request.NewErrParamRequired("S3BucketDestination")) 11861 } 11862 if s.S3BucketDestination != nil { 11863 if err := s.S3BucketDestination.Validate(); err != nil { 11864 invalidParams.AddNested("S3BucketDestination", err.(request.ErrInvalidParams)) 11865 } 11866 } 11867 11868 if invalidParams.Len() > 0 { 11869 return invalidParams 11870 } 11871 return nil 11872} 11873 11874// SetS3BucketDestination sets the S3BucketDestination field's value. 11875func (s *StorageLensDataExport) SetS3BucketDestination(v *S3BucketDestination) *StorageLensDataExport { 11876 s.S3BucketDestination = v 11877 return s 11878} 11879 11880// A container for the encryption of the S3 Storage Lens metrics exports. 11881type StorageLensDataExportEncryption struct { 11882 _ struct{} `type:"structure"` 11883 11884 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"` 11885 11886 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"` 11887} 11888 11889// String returns the string representation 11890func (s StorageLensDataExportEncryption) String() string { 11891 return awsutil.Prettify(s) 11892} 11893 11894// GoString returns the string representation 11895func (s StorageLensDataExportEncryption) GoString() string { 11896 return s.String() 11897} 11898 11899// Validate inspects the fields of the type to determine if they are valid. 11900func (s *StorageLensDataExportEncryption) Validate() error { 11901 invalidParams := request.ErrInvalidParams{Context: "StorageLensDataExportEncryption"} 11902 if s.SSEKMS != nil { 11903 if err := s.SSEKMS.Validate(); err != nil { 11904 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams)) 11905 } 11906 } 11907 11908 if invalidParams.Len() > 0 { 11909 return invalidParams 11910 } 11911 return nil 11912} 11913 11914// SetSSEKMS sets the SSEKMS field's value. 11915func (s *StorageLensDataExportEncryption) SetSSEKMS(v *SSEKMS) *StorageLensDataExportEncryption { 11916 s.SSEKMS = v 11917 return s 11918} 11919 11920// SetSSES3 sets the SSES3 field's value. 11921func (s *StorageLensDataExportEncryption) SetSSES3(v *SSES3) *StorageLensDataExportEncryption { 11922 s.SSES3 = v 11923 return s 11924} 11925 11926type StorageLensTag struct { 11927 _ struct{} `type:"structure"` 11928 11929 // Key is a required field 11930 Key *string `min:"1" type:"string" required:"true"` 11931 11932 // Value is a required field 11933 Value *string `type:"string" required:"true"` 11934} 11935 11936// String returns the string representation 11937func (s StorageLensTag) String() string { 11938 return awsutil.Prettify(s) 11939} 11940 11941// GoString returns the string representation 11942func (s StorageLensTag) GoString() string { 11943 return s.String() 11944} 11945 11946// Validate inspects the fields of the type to determine if they are valid. 11947func (s *StorageLensTag) Validate() error { 11948 invalidParams := request.ErrInvalidParams{Context: "StorageLensTag"} 11949 if s.Key == nil { 11950 invalidParams.Add(request.NewErrParamRequired("Key")) 11951 } 11952 if s.Key != nil && len(*s.Key) < 1 { 11953 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 11954 } 11955 if s.Value == nil { 11956 invalidParams.Add(request.NewErrParamRequired("Value")) 11957 } 11958 11959 if invalidParams.Len() > 0 { 11960 return invalidParams 11961 } 11962 return nil 11963} 11964 11965// SetKey sets the Key field's value. 11966func (s *StorageLensTag) SetKey(v string) *StorageLensTag { 11967 s.Key = &v 11968 return s 11969} 11970 11971// SetValue sets the Value field's value. 11972func (s *StorageLensTag) SetValue(v string) *StorageLensTag { 11973 s.Value = &v 11974 return s 11975} 11976 11977type Tagging struct { 11978 _ struct{} `type:"structure"` 11979 11980 // A collection for a set of tags. 11981 // 11982 // TagSet is a required field 11983 TagSet []*S3Tag `type:"list" required:"true"` 11984} 11985 11986// String returns the string representation 11987func (s Tagging) String() string { 11988 return awsutil.Prettify(s) 11989} 11990 11991// GoString returns the string representation 11992func (s Tagging) GoString() string { 11993 return s.String() 11994} 11995 11996// Validate inspects the fields of the type to determine if they are valid. 11997func (s *Tagging) Validate() error { 11998 invalidParams := request.ErrInvalidParams{Context: "Tagging"} 11999 if s.TagSet == nil { 12000 invalidParams.Add(request.NewErrParamRequired("TagSet")) 12001 } 12002 if s.TagSet != nil { 12003 for i, v := range s.TagSet { 12004 if v == nil { 12005 continue 12006 } 12007 if err := v.Validate(); err != nil { 12008 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagSet", i), err.(request.ErrInvalidParams)) 12009 } 12010 } 12011 } 12012 12013 if invalidParams.Len() > 0 { 12014 return invalidParams 12015 } 12016 return nil 12017} 12018 12019// SetTagSet sets the TagSet field's value. 12020func (s *Tagging) SetTagSet(v []*S3Tag) *Tagging { 12021 s.TagSet = v 12022 return s 12023} 12024 12025// Specifies when an object transitions to a specified storage class. For more 12026// information about Amazon S3 Lifecycle configuration rules, see Transitioning 12027// objects using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) 12028// in the Amazon Simple Storage Service Developer Guide. 12029type Transition struct { 12030 _ struct{} `type:"structure"` 12031 12032 // Indicates when objects are transitioned to the specified storage class. The 12033 // date value must be in ISO 8601 format. The time is always midnight UTC. 12034 Date *time.Time `type:"timestamp"` 12035 12036 // Indicates the number of days after creation when objects are transitioned 12037 // to the specified storage class. The value must be a positive integer. 12038 Days *int64 `type:"integer"` 12039 12040 // The storage class to which you want the object to transition. 12041 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 12042} 12043 12044// String returns the string representation 12045func (s Transition) String() string { 12046 return awsutil.Prettify(s) 12047} 12048 12049// GoString returns the string representation 12050func (s Transition) GoString() string { 12051 return s.String() 12052} 12053 12054// SetDate sets the Date field's value. 12055func (s *Transition) SetDate(v time.Time) *Transition { 12056 s.Date = &v 12057 return s 12058} 12059 12060// SetDays sets the Days field's value. 12061func (s *Transition) SetDays(v int64) *Transition { 12062 s.Days = &v 12063 return s 12064} 12065 12066// SetStorageClass sets the StorageClass field's value. 12067func (s *Transition) SetStorageClass(v string) *Transition { 12068 s.StorageClass = &v 12069 return s 12070} 12071 12072type UpdateJobPriorityInput struct { 12073 _ struct{} `locationName:"UpdateJobPriorityRequest" type:"structure"` 12074 12075 // AccountId is a required field 12076 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12077 12078 // The ID for the job whose priority you want to update. 12079 // 12080 // JobId is a required field 12081 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 12082 12083 // The priority you want to assign to this job. 12084 // 12085 // Priority is a required field 12086 Priority *int64 `location:"querystring" locationName:"priority" type:"integer" required:"true"` 12087} 12088 12089// String returns the string representation 12090func (s UpdateJobPriorityInput) String() string { 12091 return awsutil.Prettify(s) 12092} 12093 12094// GoString returns the string representation 12095func (s UpdateJobPriorityInput) GoString() string { 12096 return s.String() 12097} 12098 12099// Validate inspects the fields of the type to determine if they are valid. 12100func (s *UpdateJobPriorityInput) Validate() error { 12101 invalidParams := request.ErrInvalidParams{Context: "UpdateJobPriorityInput"} 12102 if s.AccountId == nil { 12103 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12104 } 12105 if s.AccountId != nil && len(*s.AccountId) < 1 { 12106 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12107 } 12108 if s.JobId == nil { 12109 invalidParams.Add(request.NewErrParamRequired("JobId")) 12110 } 12111 if s.JobId != nil && len(*s.JobId) < 5 { 12112 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 12113 } 12114 if s.Priority == nil { 12115 invalidParams.Add(request.NewErrParamRequired("Priority")) 12116 } 12117 12118 if invalidParams.Len() > 0 { 12119 return invalidParams 12120 } 12121 return nil 12122} 12123 12124// SetAccountId sets the AccountId field's value. 12125func (s *UpdateJobPriorityInput) SetAccountId(v string) *UpdateJobPriorityInput { 12126 s.AccountId = &v 12127 return s 12128} 12129 12130// SetJobId sets the JobId field's value. 12131func (s *UpdateJobPriorityInput) SetJobId(v string) *UpdateJobPriorityInput { 12132 s.JobId = &v 12133 return s 12134} 12135 12136// SetPriority sets the Priority field's value. 12137func (s *UpdateJobPriorityInput) SetPriority(v int64) *UpdateJobPriorityInput { 12138 s.Priority = &v 12139 return s 12140} 12141 12142func (s *UpdateJobPriorityInput) hostLabels() map[string]string { 12143 return map[string]string{ 12144 "AccountId": aws.StringValue(s.AccountId), 12145 } 12146} 12147 12148type UpdateJobPriorityOutput struct { 12149 _ struct{} `type:"structure"` 12150 12151 // The ID for the job whose priority Amazon S3 updated. 12152 // 12153 // JobId is a required field 12154 JobId *string `min:"5" type:"string" required:"true"` 12155 12156 // The new priority assigned to the specified job. 12157 // 12158 // Priority is a required field 12159 Priority *int64 `type:"integer" required:"true"` 12160} 12161 12162// String returns the string representation 12163func (s UpdateJobPriorityOutput) String() string { 12164 return awsutil.Prettify(s) 12165} 12166 12167// GoString returns the string representation 12168func (s UpdateJobPriorityOutput) GoString() string { 12169 return s.String() 12170} 12171 12172// SetJobId sets the JobId field's value. 12173func (s *UpdateJobPriorityOutput) SetJobId(v string) *UpdateJobPriorityOutput { 12174 s.JobId = &v 12175 return s 12176} 12177 12178// SetPriority sets the Priority field's value. 12179func (s *UpdateJobPriorityOutput) SetPriority(v int64) *UpdateJobPriorityOutput { 12180 s.Priority = &v 12181 return s 12182} 12183 12184type UpdateJobStatusInput struct { 12185 _ struct{} `locationName:"UpdateJobStatusRequest" type:"structure"` 12186 12187 // AccountId is a required field 12188 AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` 12189 12190 // The ID of the job whose status you want to update. 12191 // 12192 // JobId is a required field 12193 JobId *string `location:"uri" locationName:"id" min:"5" type:"string" required:"true"` 12194 12195 // The status that you want to move the specified job to. 12196 // 12197 // RequestedJobStatus is a required field 12198 RequestedJobStatus *string `location:"querystring" locationName:"requestedJobStatus" type:"string" required:"true" enum:"RequestedJobStatus"` 12199 12200 // A description of the reason why you want to change the specified job's status. 12201 // This field can be any string up to the maximum length. 12202 StatusUpdateReason *string `location:"querystring" locationName:"statusUpdateReason" min:"1" type:"string"` 12203} 12204 12205// String returns the string representation 12206func (s UpdateJobStatusInput) String() string { 12207 return awsutil.Prettify(s) 12208} 12209 12210// GoString returns the string representation 12211func (s UpdateJobStatusInput) GoString() string { 12212 return s.String() 12213} 12214 12215// Validate inspects the fields of the type to determine if they are valid. 12216func (s *UpdateJobStatusInput) Validate() error { 12217 invalidParams := request.ErrInvalidParams{Context: "UpdateJobStatusInput"} 12218 if s.AccountId == nil { 12219 invalidParams.Add(request.NewErrParamRequired("AccountId")) 12220 } 12221 if s.AccountId != nil && len(*s.AccountId) < 1 { 12222 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 12223 } 12224 if s.JobId == nil { 12225 invalidParams.Add(request.NewErrParamRequired("JobId")) 12226 } 12227 if s.JobId != nil && len(*s.JobId) < 5 { 12228 invalidParams.Add(request.NewErrParamMinLen("JobId", 5)) 12229 } 12230 if s.RequestedJobStatus == nil { 12231 invalidParams.Add(request.NewErrParamRequired("RequestedJobStatus")) 12232 } 12233 if s.StatusUpdateReason != nil && len(*s.StatusUpdateReason) < 1 { 12234 invalidParams.Add(request.NewErrParamMinLen("StatusUpdateReason", 1)) 12235 } 12236 12237 if invalidParams.Len() > 0 { 12238 return invalidParams 12239 } 12240 return nil 12241} 12242 12243// SetAccountId sets the AccountId field's value. 12244func (s *UpdateJobStatusInput) SetAccountId(v string) *UpdateJobStatusInput { 12245 s.AccountId = &v 12246 return s 12247} 12248 12249// SetJobId sets the JobId field's value. 12250func (s *UpdateJobStatusInput) SetJobId(v string) *UpdateJobStatusInput { 12251 s.JobId = &v 12252 return s 12253} 12254 12255// SetRequestedJobStatus sets the RequestedJobStatus field's value. 12256func (s *UpdateJobStatusInput) SetRequestedJobStatus(v string) *UpdateJobStatusInput { 12257 s.RequestedJobStatus = &v 12258 return s 12259} 12260 12261// SetStatusUpdateReason sets the StatusUpdateReason field's value. 12262func (s *UpdateJobStatusInput) SetStatusUpdateReason(v string) *UpdateJobStatusInput { 12263 s.StatusUpdateReason = &v 12264 return s 12265} 12266 12267func (s *UpdateJobStatusInput) hostLabels() map[string]string { 12268 return map[string]string{ 12269 "AccountId": aws.StringValue(s.AccountId), 12270 } 12271} 12272 12273type UpdateJobStatusOutput struct { 12274 _ struct{} `type:"structure"` 12275 12276 // The ID for the job whose status was updated. 12277 JobId *string `min:"5" type:"string"` 12278 12279 // The current status for the specified job. 12280 Status *string `type:"string" enum:"JobStatus"` 12281 12282 // The reason that the specified job's status was updated. 12283 StatusUpdateReason *string `min:"1" type:"string"` 12284} 12285 12286// String returns the string representation 12287func (s UpdateJobStatusOutput) String() string { 12288 return awsutil.Prettify(s) 12289} 12290 12291// GoString returns the string representation 12292func (s UpdateJobStatusOutput) GoString() string { 12293 return s.String() 12294} 12295 12296// SetJobId sets the JobId field's value. 12297func (s *UpdateJobStatusOutput) SetJobId(v string) *UpdateJobStatusOutput { 12298 s.JobId = &v 12299 return s 12300} 12301 12302// SetStatus sets the Status field's value. 12303func (s *UpdateJobStatusOutput) SetStatus(v string) *UpdateJobStatusOutput { 12304 s.Status = &v 12305 return s 12306} 12307 12308// SetStatusUpdateReason sets the StatusUpdateReason field's value. 12309func (s *UpdateJobStatusOutput) SetStatusUpdateReason(v string) *UpdateJobStatusOutput { 12310 s.StatusUpdateReason = &v 12311 return s 12312} 12313 12314// The virtual private cloud (VPC) configuration for an access point. 12315type VpcConfiguration struct { 12316 _ struct{} `type:"structure"` 12317 12318 // If this field is specified, this access point will only allow connections 12319 // from the specified VPC ID. 12320 // 12321 // VpcId is a required field 12322 VpcId *string `min:"1" type:"string" required:"true"` 12323} 12324 12325// String returns the string representation 12326func (s VpcConfiguration) String() string { 12327 return awsutil.Prettify(s) 12328} 12329 12330// GoString returns the string representation 12331func (s VpcConfiguration) GoString() string { 12332 return s.String() 12333} 12334 12335// Validate inspects the fields of the type to determine if they are valid. 12336func (s *VpcConfiguration) Validate() error { 12337 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 12338 if s.VpcId == nil { 12339 invalidParams.Add(request.NewErrParamRequired("VpcId")) 12340 } 12341 if s.VpcId != nil && len(*s.VpcId) < 1 { 12342 invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) 12343 } 12344 12345 if invalidParams.Len() > 0 { 12346 return invalidParams 12347 } 12348 return nil 12349} 12350 12351// SetVpcId sets the VpcId field's value. 12352func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { 12353 s.VpcId = &v 12354 return s 12355} 12356 12357const ( 12358 // BucketCannedACLPrivate is a BucketCannedACL enum value 12359 BucketCannedACLPrivate = "private" 12360 12361 // BucketCannedACLPublicRead is a BucketCannedACL enum value 12362 BucketCannedACLPublicRead = "public-read" 12363 12364 // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value 12365 BucketCannedACLPublicReadWrite = "public-read-write" 12366 12367 // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value 12368 BucketCannedACLAuthenticatedRead = "authenticated-read" 12369) 12370 12371// BucketCannedACL_Values returns all elements of the BucketCannedACL enum 12372func BucketCannedACL_Values() []string { 12373 return []string{ 12374 BucketCannedACLPrivate, 12375 BucketCannedACLPublicRead, 12376 BucketCannedACLPublicReadWrite, 12377 BucketCannedACLAuthenticatedRead, 12378 } 12379} 12380 12381const ( 12382 // BucketLocationConstraintEu is a BucketLocationConstraint enum value 12383 BucketLocationConstraintEu = "EU" 12384 12385 // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value 12386 BucketLocationConstraintEuWest1 = "eu-west-1" 12387 12388 // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value 12389 BucketLocationConstraintUsWest1 = "us-west-1" 12390 12391 // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value 12392 BucketLocationConstraintUsWest2 = "us-west-2" 12393 12394 // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value 12395 BucketLocationConstraintApSouth1 = "ap-south-1" 12396 12397 // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value 12398 BucketLocationConstraintApSoutheast1 = "ap-southeast-1" 12399 12400 // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value 12401 BucketLocationConstraintApSoutheast2 = "ap-southeast-2" 12402 12403 // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value 12404 BucketLocationConstraintApNortheast1 = "ap-northeast-1" 12405 12406 // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value 12407 BucketLocationConstraintSaEast1 = "sa-east-1" 12408 12409 // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value 12410 BucketLocationConstraintCnNorth1 = "cn-north-1" 12411 12412 // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value 12413 BucketLocationConstraintEuCentral1 = "eu-central-1" 12414) 12415 12416// BucketLocationConstraint_Values returns all elements of the BucketLocationConstraint enum 12417func BucketLocationConstraint_Values() []string { 12418 return []string{ 12419 BucketLocationConstraintEu, 12420 BucketLocationConstraintEuWest1, 12421 BucketLocationConstraintUsWest1, 12422 BucketLocationConstraintUsWest2, 12423 BucketLocationConstraintApSouth1, 12424 BucketLocationConstraintApSoutheast1, 12425 BucketLocationConstraintApSoutheast2, 12426 BucketLocationConstraintApNortheast1, 12427 BucketLocationConstraintSaEast1, 12428 BucketLocationConstraintCnNorth1, 12429 BucketLocationConstraintEuCentral1, 12430 } 12431} 12432 12433const ( 12434 // ExpirationStatusEnabled is a ExpirationStatus enum value 12435 ExpirationStatusEnabled = "Enabled" 12436 12437 // ExpirationStatusDisabled is a ExpirationStatus enum value 12438 ExpirationStatusDisabled = "Disabled" 12439) 12440 12441// ExpirationStatus_Values returns all elements of the ExpirationStatus enum 12442func ExpirationStatus_Values() []string { 12443 return []string{ 12444 ExpirationStatusEnabled, 12445 ExpirationStatusDisabled, 12446 } 12447} 12448 12449const ( 12450 // FormatCsv is a Format enum value 12451 FormatCsv = "CSV" 12452 12453 // FormatParquet is a Format enum value 12454 FormatParquet = "Parquet" 12455) 12456 12457// Format_Values returns all elements of the Format enum 12458func Format_Values() []string { 12459 return []string{ 12460 FormatCsv, 12461 FormatParquet, 12462 } 12463} 12464 12465const ( 12466 // JobManifestFieldNameIgnore is a JobManifestFieldName enum value 12467 JobManifestFieldNameIgnore = "Ignore" 12468 12469 // JobManifestFieldNameBucket is a JobManifestFieldName enum value 12470 JobManifestFieldNameBucket = "Bucket" 12471 12472 // JobManifestFieldNameKey is a JobManifestFieldName enum value 12473 JobManifestFieldNameKey = "Key" 12474 12475 // JobManifestFieldNameVersionId is a JobManifestFieldName enum value 12476 JobManifestFieldNameVersionId = "VersionId" 12477) 12478 12479// JobManifestFieldName_Values returns all elements of the JobManifestFieldName enum 12480func JobManifestFieldName_Values() []string { 12481 return []string{ 12482 JobManifestFieldNameIgnore, 12483 JobManifestFieldNameBucket, 12484 JobManifestFieldNameKey, 12485 JobManifestFieldNameVersionId, 12486 } 12487} 12488 12489const ( 12490 // JobManifestFormatS3batchOperationsCsv20180820 is a JobManifestFormat enum value 12491 JobManifestFormatS3batchOperationsCsv20180820 = "S3BatchOperations_CSV_20180820" 12492 12493 // JobManifestFormatS3inventoryReportCsv20161130 is a JobManifestFormat enum value 12494 JobManifestFormatS3inventoryReportCsv20161130 = "S3InventoryReport_CSV_20161130" 12495) 12496 12497// JobManifestFormat_Values returns all elements of the JobManifestFormat enum 12498func JobManifestFormat_Values() []string { 12499 return []string{ 12500 JobManifestFormatS3batchOperationsCsv20180820, 12501 JobManifestFormatS3inventoryReportCsv20161130, 12502 } 12503} 12504 12505const ( 12506 // JobReportFormatReportCsv20180820 is a JobReportFormat enum value 12507 JobReportFormatReportCsv20180820 = "Report_CSV_20180820" 12508) 12509 12510// JobReportFormat_Values returns all elements of the JobReportFormat enum 12511func JobReportFormat_Values() []string { 12512 return []string{ 12513 JobReportFormatReportCsv20180820, 12514 } 12515} 12516 12517const ( 12518 // JobReportScopeAllTasks is a JobReportScope enum value 12519 JobReportScopeAllTasks = "AllTasks" 12520 12521 // JobReportScopeFailedTasksOnly is a JobReportScope enum value 12522 JobReportScopeFailedTasksOnly = "FailedTasksOnly" 12523) 12524 12525// JobReportScope_Values returns all elements of the JobReportScope enum 12526func JobReportScope_Values() []string { 12527 return []string{ 12528 JobReportScopeAllTasks, 12529 JobReportScopeFailedTasksOnly, 12530 } 12531} 12532 12533const ( 12534 // JobStatusActive is a JobStatus enum value 12535 JobStatusActive = "Active" 12536 12537 // JobStatusCancelled is a JobStatus enum value 12538 JobStatusCancelled = "Cancelled" 12539 12540 // JobStatusCancelling is a JobStatus enum value 12541 JobStatusCancelling = "Cancelling" 12542 12543 // JobStatusComplete is a JobStatus enum value 12544 JobStatusComplete = "Complete" 12545 12546 // JobStatusCompleting is a JobStatus enum value 12547 JobStatusCompleting = "Completing" 12548 12549 // JobStatusFailed is a JobStatus enum value 12550 JobStatusFailed = "Failed" 12551 12552 // JobStatusFailing is a JobStatus enum value 12553 JobStatusFailing = "Failing" 12554 12555 // JobStatusNew is a JobStatus enum value 12556 JobStatusNew = "New" 12557 12558 // JobStatusPaused is a JobStatus enum value 12559 JobStatusPaused = "Paused" 12560 12561 // JobStatusPausing is a JobStatus enum value 12562 JobStatusPausing = "Pausing" 12563 12564 // JobStatusPreparing is a JobStatus enum value 12565 JobStatusPreparing = "Preparing" 12566 12567 // JobStatusReady is a JobStatus enum value 12568 JobStatusReady = "Ready" 12569 12570 // JobStatusSuspended is a JobStatus enum value 12571 JobStatusSuspended = "Suspended" 12572) 12573 12574// JobStatus_Values returns all elements of the JobStatus enum 12575func JobStatus_Values() []string { 12576 return []string{ 12577 JobStatusActive, 12578 JobStatusCancelled, 12579 JobStatusCancelling, 12580 JobStatusComplete, 12581 JobStatusCompleting, 12582 JobStatusFailed, 12583 JobStatusFailing, 12584 JobStatusNew, 12585 JobStatusPaused, 12586 JobStatusPausing, 12587 JobStatusPreparing, 12588 JobStatusReady, 12589 JobStatusSuspended, 12590 } 12591} 12592 12593const ( 12594 // NetworkOriginInternet is a NetworkOrigin enum value 12595 NetworkOriginInternet = "Internet" 12596 12597 // NetworkOriginVpc is a NetworkOrigin enum value 12598 NetworkOriginVpc = "VPC" 12599) 12600 12601// NetworkOrigin_Values returns all elements of the NetworkOrigin enum 12602func NetworkOrigin_Values() []string { 12603 return []string{ 12604 NetworkOriginInternet, 12605 NetworkOriginVpc, 12606 } 12607} 12608 12609const ( 12610 // OperationNameLambdaInvoke is a OperationName enum value 12611 OperationNameLambdaInvoke = "LambdaInvoke" 12612 12613 // OperationNameS3putObjectCopy is a OperationName enum value 12614 OperationNameS3putObjectCopy = "S3PutObjectCopy" 12615 12616 // OperationNameS3putObjectAcl is a OperationName enum value 12617 OperationNameS3putObjectAcl = "S3PutObjectAcl" 12618 12619 // OperationNameS3putObjectTagging is a OperationName enum value 12620 OperationNameS3putObjectTagging = "S3PutObjectTagging" 12621 12622 // OperationNameS3initiateRestoreObject is a OperationName enum value 12623 OperationNameS3initiateRestoreObject = "S3InitiateRestoreObject" 12624 12625 // OperationNameS3putObjectLegalHold is a OperationName enum value 12626 OperationNameS3putObjectLegalHold = "S3PutObjectLegalHold" 12627 12628 // OperationNameS3putObjectRetention is a OperationName enum value 12629 OperationNameS3putObjectRetention = "S3PutObjectRetention" 12630) 12631 12632// OperationName_Values returns all elements of the OperationName enum 12633func OperationName_Values() []string { 12634 return []string{ 12635 OperationNameLambdaInvoke, 12636 OperationNameS3putObjectCopy, 12637 OperationNameS3putObjectAcl, 12638 OperationNameS3putObjectTagging, 12639 OperationNameS3initiateRestoreObject, 12640 OperationNameS3putObjectLegalHold, 12641 OperationNameS3putObjectRetention, 12642 } 12643} 12644 12645const ( 12646 // OutputSchemaVersionV1 is a OutputSchemaVersion enum value 12647 OutputSchemaVersionV1 = "V_1" 12648) 12649 12650// OutputSchemaVersion_Values returns all elements of the OutputSchemaVersion enum 12651func OutputSchemaVersion_Values() []string { 12652 return []string{ 12653 OutputSchemaVersionV1, 12654 } 12655} 12656 12657const ( 12658 // RequestedJobStatusCancelled is a RequestedJobStatus enum value 12659 RequestedJobStatusCancelled = "Cancelled" 12660 12661 // RequestedJobStatusReady is a RequestedJobStatus enum value 12662 RequestedJobStatusReady = "Ready" 12663) 12664 12665// RequestedJobStatus_Values returns all elements of the RequestedJobStatus enum 12666func RequestedJobStatus_Values() []string { 12667 return []string{ 12668 RequestedJobStatusCancelled, 12669 RequestedJobStatusReady, 12670 } 12671} 12672 12673const ( 12674 // S3CannedAccessControlListPrivate is a S3CannedAccessControlList enum value 12675 S3CannedAccessControlListPrivate = "private" 12676 12677 // S3CannedAccessControlListPublicRead is a S3CannedAccessControlList enum value 12678 S3CannedAccessControlListPublicRead = "public-read" 12679 12680 // S3CannedAccessControlListPublicReadWrite is a S3CannedAccessControlList enum value 12681 S3CannedAccessControlListPublicReadWrite = "public-read-write" 12682 12683 // S3CannedAccessControlListAwsExecRead is a S3CannedAccessControlList enum value 12684 S3CannedAccessControlListAwsExecRead = "aws-exec-read" 12685 12686 // S3CannedAccessControlListAuthenticatedRead is a S3CannedAccessControlList enum value 12687 S3CannedAccessControlListAuthenticatedRead = "authenticated-read" 12688 12689 // S3CannedAccessControlListBucketOwnerRead is a S3CannedAccessControlList enum value 12690 S3CannedAccessControlListBucketOwnerRead = "bucket-owner-read" 12691 12692 // S3CannedAccessControlListBucketOwnerFullControl is a S3CannedAccessControlList enum value 12693 S3CannedAccessControlListBucketOwnerFullControl = "bucket-owner-full-control" 12694) 12695 12696// S3CannedAccessControlList_Values returns all elements of the S3CannedAccessControlList enum 12697func S3CannedAccessControlList_Values() []string { 12698 return []string{ 12699 S3CannedAccessControlListPrivate, 12700 S3CannedAccessControlListPublicRead, 12701 S3CannedAccessControlListPublicReadWrite, 12702 S3CannedAccessControlListAwsExecRead, 12703 S3CannedAccessControlListAuthenticatedRead, 12704 S3CannedAccessControlListBucketOwnerRead, 12705 S3CannedAccessControlListBucketOwnerFullControl, 12706 } 12707} 12708 12709const ( 12710 // S3GlacierJobTierBulk is a S3GlacierJobTier enum value 12711 S3GlacierJobTierBulk = "BULK" 12712 12713 // S3GlacierJobTierStandard is a S3GlacierJobTier enum value 12714 S3GlacierJobTierStandard = "STANDARD" 12715) 12716 12717// S3GlacierJobTier_Values returns all elements of the S3GlacierJobTier enum 12718func S3GlacierJobTier_Values() []string { 12719 return []string{ 12720 S3GlacierJobTierBulk, 12721 S3GlacierJobTierStandard, 12722 } 12723} 12724 12725const ( 12726 // S3GranteeTypeIdentifierId is a S3GranteeTypeIdentifier enum value 12727 S3GranteeTypeIdentifierId = "id" 12728 12729 // S3GranteeTypeIdentifierEmailAddress is a S3GranteeTypeIdentifier enum value 12730 S3GranteeTypeIdentifierEmailAddress = "emailAddress" 12731 12732 // S3GranteeTypeIdentifierUri is a S3GranteeTypeIdentifier enum value 12733 S3GranteeTypeIdentifierUri = "uri" 12734) 12735 12736// S3GranteeTypeIdentifier_Values returns all elements of the S3GranteeTypeIdentifier enum 12737func S3GranteeTypeIdentifier_Values() []string { 12738 return []string{ 12739 S3GranteeTypeIdentifierId, 12740 S3GranteeTypeIdentifierEmailAddress, 12741 S3GranteeTypeIdentifierUri, 12742 } 12743} 12744 12745const ( 12746 // S3MetadataDirectiveCopy is a S3MetadataDirective enum value 12747 S3MetadataDirectiveCopy = "COPY" 12748 12749 // S3MetadataDirectiveReplace is a S3MetadataDirective enum value 12750 S3MetadataDirectiveReplace = "REPLACE" 12751) 12752 12753// S3MetadataDirective_Values returns all elements of the S3MetadataDirective enum 12754func S3MetadataDirective_Values() []string { 12755 return []string{ 12756 S3MetadataDirectiveCopy, 12757 S3MetadataDirectiveReplace, 12758 } 12759} 12760 12761const ( 12762 // S3ObjectLockLegalHoldStatusOff is a S3ObjectLockLegalHoldStatus enum value 12763 S3ObjectLockLegalHoldStatusOff = "OFF" 12764 12765 // S3ObjectLockLegalHoldStatusOn is a S3ObjectLockLegalHoldStatus enum value 12766 S3ObjectLockLegalHoldStatusOn = "ON" 12767) 12768 12769// S3ObjectLockLegalHoldStatus_Values returns all elements of the S3ObjectLockLegalHoldStatus enum 12770func S3ObjectLockLegalHoldStatus_Values() []string { 12771 return []string{ 12772 S3ObjectLockLegalHoldStatusOff, 12773 S3ObjectLockLegalHoldStatusOn, 12774 } 12775} 12776 12777const ( 12778 // S3ObjectLockModeCompliance is a S3ObjectLockMode enum value 12779 S3ObjectLockModeCompliance = "COMPLIANCE" 12780 12781 // S3ObjectLockModeGovernance is a S3ObjectLockMode enum value 12782 S3ObjectLockModeGovernance = "GOVERNANCE" 12783) 12784 12785// S3ObjectLockMode_Values returns all elements of the S3ObjectLockMode enum 12786func S3ObjectLockMode_Values() []string { 12787 return []string{ 12788 S3ObjectLockModeCompliance, 12789 S3ObjectLockModeGovernance, 12790 } 12791} 12792 12793const ( 12794 // S3ObjectLockRetentionModeCompliance is a S3ObjectLockRetentionMode enum value 12795 S3ObjectLockRetentionModeCompliance = "COMPLIANCE" 12796 12797 // S3ObjectLockRetentionModeGovernance is a S3ObjectLockRetentionMode enum value 12798 S3ObjectLockRetentionModeGovernance = "GOVERNANCE" 12799) 12800 12801// S3ObjectLockRetentionMode_Values returns all elements of the S3ObjectLockRetentionMode enum 12802func S3ObjectLockRetentionMode_Values() []string { 12803 return []string{ 12804 S3ObjectLockRetentionModeCompliance, 12805 S3ObjectLockRetentionModeGovernance, 12806 } 12807} 12808 12809const ( 12810 // S3PermissionFullControl is a S3Permission enum value 12811 S3PermissionFullControl = "FULL_CONTROL" 12812 12813 // S3PermissionRead is a S3Permission enum value 12814 S3PermissionRead = "READ" 12815 12816 // S3PermissionWrite is a S3Permission enum value 12817 S3PermissionWrite = "WRITE" 12818 12819 // S3PermissionReadAcp is a S3Permission enum value 12820 S3PermissionReadAcp = "READ_ACP" 12821 12822 // S3PermissionWriteAcp is a S3Permission enum value 12823 S3PermissionWriteAcp = "WRITE_ACP" 12824) 12825 12826// S3Permission_Values returns all elements of the S3Permission enum 12827func S3Permission_Values() []string { 12828 return []string{ 12829 S3PermissionFullControl, 12830 S3PermissionRead, 12831 S3PermissionWrite, 12832 S3PermissionReadAcp, 12833 S3PermissionWriteAcp, 12834 } 12835} 12836 12837const ( 12838 // S3SSEAlgorithmAes256 is a S3SSEAlgorithm enum value 12839 S3SSEAlgorithmAes256 = "AES256" 12840 12841 // S3SSEAlgorithmKms is a S3SSEAlgorithm enum value 12842 S3SSEAlgorithmKms = "KMS" 12843) 12844 12845// S3SSEAlgorithm_Values returns all elements of the S3SSEAlgorithm enum 12846func S3SSEAlgorithm_Values() []string { 12847 return []string{ 12848 S3SSEAlgorithmAes256, 12849 S3SSEAlgorithmKms, 12850 } 12851} 12852 12853const ( 12854 // S3StorageClassStandard is a S3StorageClass enum value 12855 S3StorageClassStandard = "STANDARD" 12856 12857 // S3StorageClassStandardIa is a S3StorageClass enum value 12858 S3StorageClassStandardIa = "STANDARD_IA" 12859 12860 // S3StorageClassOnezoneIa is a S3StorageClass enum value 12861 S3StorageClassOnezoneIa = "ONEZONE_IA" 12862 12863 // S3StorageClassGlacier is a S3StorageClass enum value 12864 S3StorageClassGlacier = "GLACIER" 12865 12866 // S3StorageClassIntelligentTiering is a S3StorageClass enum value 12867 S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING" 12868 12869 // S3StorageClassDeepArchive is a S3StorageClass enum value 12870 S3StorageClassDeepArchive = "DEEP_ARCHIVE" 12871) 12872 12873// S3StorageClass_Values returns all elements of the S3StorageClass enum 12874func S3StorageClass_Values() []string { 12875 return []string{ 12876 S3StorageClassStandard, 12877 S3StorageClassStandardIa, 12878 S3StorageClassOnezoneIa, 12879 S3StorageClassGlacier, 12880 S3StorageClassIntelligentTiering, 12881 S3StorageClassDeepArchive, 12882 } 12883} 12884 12885const ( 12886 // TransitionStorageClassGlacier is a TransitionStorageClass enum value 12887 TransitionStorageClassGlacier = "GLACIER" 12888 12889 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 12890 TransitionStorageClassStandardIa = "STANDARD_IA" 12891 12892 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value 12893 TransitionStorageClassOnezoneIa = "ONEZONE_IA" 12894 12895 // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value 12896 TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" 12897 12898 // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value 12899 TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" 12900) 12901 12902// TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum 12903func TransitionStorageClass_Values() []string { 12904 return []string{ 12905 TransitionStorageClassGlacier, 12906 TransitionStorageClassStandardIa, 12907 TransitionStorageClassOnezoneIa, 12908 TransitionStorageClassIntelligentTiering, 12909 TransitionStorageClassDeepArchive, 12910 } 12911} 12912